Алексей Халецкий

Алексей Халецкий (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Godex DT2x печать через Delphi
 
Цитата
Олег Плюснин написал:
Это не просто параметр от балды, это ГОСТ (ISO). Есть ширина тонкой полоски и соотношение толстой к тонкой. Второй параметр для CODE128 не изменяется, только первый параметр.
Поставьте GoLabel, поиграйтесь в нем. А потом формат и настройки можно будет использовать.
Я бы вообще не трогал никакие библиотеки (а мы их и не используем никогда, т.к. ущербные), а средствами языка (в данном случае Дельфи) открываете порт и туда посылаете набор команд. Этот набор команд можно сделать шаблоном. Отдельно сервисная утилита, которая общается с принтером - настраивает и открывает порты, шлет данные, получает ответы и т.д. И отдельно шаблоны, которые можно наготовить в GoLabel, причем даже не вникая в язык принтера. Хотя там очень просто разобраться даже без документации.
Я понимаю, что использование библиотеки не всегда "есть хорошо", но сильно разбираться и вникать времени нет. Последний вопрос к Вам остался, теперь точно последний :D Как передать принтеру задание отрезать этикету?
Godex DT2x печать через Delphi
 
Цитата
Олег Плюснин написал:
Играйтесь с параметром Narrow.
Интересный какой-то параметр получается... Ставлю ему значение 1 - штрих-код маленький, ставлю 2 - уже не влезает в этикетку. Иных путей нет?
Изменено: Алексей Халецкий - 01.12.2017 15:13:18
Godex DT2x печать через Delphi
 
По большей части разобрался. но появился вопрос, надеюсь, что последний...
Я передаю принтеру задание mPrinter.PrintBarCode_Detail(mPrinter.BarCode_Code128_Subset, 203, 1, 1, 3, 95, 1, 1,PChar('F1D'+ORG+'000'+IntToStr(p))); Не могу понять, как мне сделать более широким штрих-код
Godex DT2x печать через Delphi
 
Цитата
Олег Плюснин написал:
1. Функция openport возвращает результат своей работы. Посмотрите, у Вас порт не открывается. В качестве параметра нужно передавать имя принтера, а не порта. Что-то типа openport('GODEX EZ-DT-2');.
2. Это старая dll, производитель давно использует новую - ezio.dll . Внутри архива масса примеров.
Спасибо огромное! Буду разбираться)
Godex DT2x печать через Delphi
 
Добрый день! Не могу заставить принтер печатать. Написал код, вроде соответствует мануалам, но принтер молчит. Вот пример кода:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


const
TestLib = 'ezweb.dll';


procedure openport(name:PChar); stdcall; external TestLib ;
procedure beginjob(a, b, c, d, e, f:Integer); stdcall; external TestLib;
procedure endjob; stdcall; external TestLib;
procedure sendcommand(command:PChar); stdcall; external TestLib;
procedure closeport; stdcall; external TestLib;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
openport('USB001'); // 0-> LPT1; 1-> COM1; 2->COM2
beginjob(40, 7, 2, 0, 2, 0);
sendcommand('^XSET,CODEPAGE,16');
sendcommand('^Q719,3');
sendcommand('^W27');
sendcommand('^H10');
sendcommand('^P1');
sendcommand('^S2');
sendcommand('^AD');
sendcommand('^C1');
sendcommand('^R0');
sendcommand('~Q+0');
sendcommand('^O0');
sendcommand('^D0');
sendcommand('^E12');
sendcommand('~R200');
sendcommand('^L');
sendcommand('Dy2-me-dd');
sendcommand('Th:m:s');
sendcommand('BE,30,42,3,7,100,0,1,123456789012');
sendcommand('E');
endjob();
closeport();
end;

end.
Страницы: 1