Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Отправка служебных комманд на чековый принтер Samsung SRP350   Найти похожие ветки 

 
DelphiN! ©   (2005-05-18 11:19) [0]

Купили чековый принтер, поставили дрова, печатает как обычный принтер, однако нужно использовать некоторые служебные комманды, скажем для обрезки бумаги выезда бумаги ...

Вот напрмер в мануале написано что есть комманда :

Control Codes              Hex Codes          Notes
<HT>                              09                Horizontal tab

Пробовал отправиль данную комманду так :
var
f : TextFile;
begin
AssignFile(f,"LPT1");
Rewrite(f);
Writeln(f,#09);
Writeln(F,"Test");
CloseFile(F);
end;

и так :

var
f : TextFile;
begin
AssignFile(f,"LPT1");
Rewrite(f);
Writeln(f,"<HT>);
Writeln(F,"Test");
CloseFile(F);
end;

В первом случае на печать выводится слово Test (без табуляции), а во втором
<HT>
Test

Но табуляция не добавляется, почему ?

Как использовать служебные комманды ?


 
wal ©   (2005-05-18 11:45) [1]

Второй вариант фтопку, ибо <HT> - это не строка а символическое обозначение #$09.
Первый вариант работает так, как ты и написал - горизонтальная табуляция, перевод строки и уже с новой строки "Test".
Попробуй Wrieln(F, #09+"Test").

С уважением.


 
-=XP=- ©   (2005-05-18 11:46) [2]

Как-то через #27 - ESC-последовательности.
Когда-то, кажется, такое было?
См. документацию.


 
DelphiN! ©   (2005-05-18 15:31) [3]


>  [2] -=XP=- ©   (18.05.05 11:46)


Что за ESC последовательности, можно по подробней ...

И еще, почему когда печатаю вышеописанным способом русский текст из принтера вылазят какие-то иероглефы, а из блокнота русский текст печатается хорошо, как напечатать русский текст ?


 
wal ©   (2005-05-18 15:43) [4]

А в блокноте шрифт какой стоит?


 
DelphiN! ©   (2005-05-18 16:03) [5]

wal ©   (18.05.05 15:43) [4]

Lucida Console Русский
Пробовал так :
s := "Русский";
Writeln(f,s);
и
Writeln(f,PWideChar(s));
и
Writeln(f,PChar(s));

Но кракозябры везде


 
sniknik ©   (2005-05-18 16:09) [6]

Horizontal tab - это вообщето сдвиг по горизонтали, табуляция.
должно действовать в одной строке (если уж в доке есть), а не на разных строках.
вот так должно быть видно разницу
Writeln(F,#09"Test with tab");
Writeln(F,"Test without tab");


 
sniknik ©   (2005-05-18 16:11) [7]

или (по типу того чего хотелось в [0])
Write(F,#09);
Writeln(F,"Test with tab");
Writeln(F,"Test without tab");


 
DelphiN! ©   (2005-05-18 16:16) [8]

А что такое Esc последовательности ?
В документации есть комманда :

<ESC> d n        1B 64 n         Print and feed n lines

а еще есть всякие :

<FS> q n ….         1C 71 n …       Define NV bit image


 
-=XP=- ©   (2005-05-18 16:20) [9]

Esc-последовательности - это те, которые начинаются #27

Попробуйте Write(F, #27, "d", 10);


 
sniknik ©   (2005-05-18 17:10) [10]

> Print and feed n lines
печатать (видать то что в буфере) и прокрутить n строк
так (наверное)
Write(F,"Test "); //не печатает
Write(F,"Test "); //не печатает
Write(F,"Test "); //не печатает (нет завершающего #13 по которому буфер печатается... обычно)
Write(F,#$1B#$64#10); //а это и напечатает раннеее и прокрутит на 10 строк


 
DelphiN! ©   (2005-05-19 10:36) [11]

Всем огромнейшее спасибо !


 
DelphiN! ©   (2005-05-19 14:48) [12]

Забыл спросить, а как же делать с печатью русского языка ? Почему вместо русских букв иероглефы, а при печате из блокнота все отлично работает ...


 
wal ©   (2005-05-19 14:57) [13]

Точно иероглифы? может просто кодировка другая?


 
DelphiN! ©   (2005-05-19 14:59) [14]

Иероглефы, помоему китайские


 
sniknik ©   (2005-05-19 15:08) [15]

блокнот печатает через настронный принтер (пуск-настройка-принтеры) так? видать он посылает команду переключения раскладки, а ты нет. иши в мануале команду.


 
DelphiN! ©   (2005-05-20 07:18) [16]

Нашел в мануале 2-е

<ESC> % n   1B 25 n   Select/Cancel user-defined character set

<ESC> ? n    1B 3F n   Cancel user-defined characters

но поэксперементировал


 
DelphiN! ©   (2005-05-20 07:19) [17]

с ними и результатов это не дало ...


 
sniknik ©   (2005-05-20 08:43) [18]

чтобы печетать на определяемом-юзером фонте, его нужно иметь... загрузить. (имхо конечно, я твой принтер не знаю, так по общим принципам) вот, судя по всему до этой команды должно быть определение/загрузка юзерского фонта.
потом не обязательно печатать фонтом, у принтера наверняка есть графический режим, или печать задаваемых битовых масок (ну типа команда и дальше данные которые определяют строку посимвольно - первые 12 байт = 1 символ вторые 12 еще и т.д.). блокнот может печатать и так, графикой...
пошли 2 аналогичных блока текста, из блокнота и из nc(досовский такой старый знаеш?) и смотри на время за которое напечатают... графический режим чуть медленнее.

и еще попробуй не писать в порт а через тот же установленный принтер послать на печать, что выйдет?

в общем нужно разбиратся, у тебя мануал и принтер есть? вот и разбирайся ;о)).
а еше, раз уж это чековый принтер, в нем может быть фискалка и аклз(эклз? х.з.), фискалка включается до самого принтера, и может блокировать часть команд... (это к тому что и ее надо учитывать не счас так потом)


 
wal ©   (2005-05-20 09:08) [19]

PortMonitor"ом посмотри, что посылается, когда из блокнота печатаешь.

С уважением


 
ANB ©   (2005-05-20 09:27) [20]

Блокнот, похоже, гонит на принтер графическую копию, то есть русские буквы уже нарисованы. Ищи в мануале на принтер, поддерживает ли он русские буквы, и как переключить кодировку (многие обычные струйные не поддерживают, лазерные - тоже не все, или грузить шрифты надо, как для HP6L). Если поддержки русских шрифтов нет и как загружать не нашел - переходи на печать в графике, например, через TPrinter.



Страницы: 1 вся ветка

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.027 c
3-1115107611
jiny
2005-05-03 12:06
2005.06.06
Как запретить двигать колонки в DBgridEh


14-1116416994
alless
2005-05-18 15:49
2005.06.06
Файл .wma


14-1116321471
SNHD
2005-05-17 13:17
2005.06.06
Ищу Базы данных на Delphi 6


6-1111510899
LordNet
2005-03-22 20:01
2005.06.06
TWebBrowser


1-1116884166
grol
2005-05-24 01:36
2005.06.06
Работа с динамическими массивами!