Имя: Пароль:
IT
Админ
Esc/pos
0 Curiosa
 
27.05.10
11:14
Доброго вам дня!
Возникла проблема с печатью на термопринтере. Как осуществить вывод, т.е каким способом подать pos команду на com порт?
1 ДенисЧ
 
27.05.10
11:17
Открыть файл COM1: и писать туда?
2 sergeante
 
27.05.10
13:16
эммм...

copy /B file.txt com1:

нихт?
3 Curiosa
 
27.05.10
15:22
ТОгда на печать выйдет содержимое файла, сама команда не выполнится. Вот пример из мануала: http://img451.imageshack.us/i/prog6ji.jpg/
4 ДенисЧ
 
27.05.10
15:26
(3) Кто тебе мешает послать в порт chr$(&h1b) ?
5 smaharbA
 
27.05.10
15:28
<nul set /p ?>com1:
6 Curiosa
 
27.05.10
15:50
Насколько я понял это некая переменная char, где ее значение задать?
Посылаю - выпечатывается chr$(&h1b).
<nul set /p ?>com1: - отказано в доступе.
7 sergeante
 
27.05.10
15:53
(6) тебе бинарный файл посылать надо. А файл сформировать чем-нибудь необходимо естесственно.
8 Иду
 
27.05.10
15:57
я в winhex-се, файлик/и создал - сохранил, файлик в термопринтер copy делаю (он нечитабелен но все отрабатывает нормально. Через вбс, чтобы окошки не прыгали
Const OverwriteExisting = True
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\Termo\init" , "com1"
а в init - содержится:
@
M1
первая строка это и есть h1b
9 Иду
 
27.05.10
16:02
winhex - это программа такая. Универсальный кекс-редактор.
10 Curiosa
 
27.05.10
16:30
> Const OverwriteExisting = True....
Это на чем написано ? winhex?
11 Curiosa
 
27.05.10
16:30
т.е в winhex-e
12 Curiosa
 
27.05.10
16:56
Проблема не в выводе текста, нужно распечатать изображение.
13 smaharbA
 
27.05.10
17:02
(8) кстати фсо может само писать в сом
14 smaharbA
 
27.05.10
17:03
изображение готовое или сформировать в графике ескейпами ?
15 Curiosa
 
27.05.10
17:07
Что значит оформлять в графике ескейпами?
16 smaharbA
 
27.05.10
17:10
(15) как в примере из (3)
17 Curiosa
 
27.05.10
17:12
(16) Мне одно не понять, это где-то компилировать надо, или просто какой-то командой выдать бинарник на печать?
18 Иду
 
27.05.10
17:21
(13) Оно то да, но этой писанине уже лет шесть, а работает=не трожь.
(17) Это ты Epson OPOS командами логотип решил вставить? Есть и приблуды по преобразованию битмапов, но оно такое кривое оттеда выходить (псевдографика), что и пробовать не надо.
Ничего "компилировать" не надо
качаешь чото типа
http://winhex.en.softonic.com/
набираеш свои буквоцифры, файл-сохранить как AllFiles и copy то что получилось в com порт. Всё.
19 Иду
 
27.05.10
17:25
(10) Не помню я, для чего
Const OverwriteExisting = True
может для реализации печати в com-порт, "одновременно", с нескольких компов чото было...
а может просто пива перепил.
20 Иду
 
27.05.10
17:29
+(19) это текстовое содержимое файла (к примеру) inittermo.vbs по расширению,
он обрабатывается vbs сервером практически любой вынь машинки. На w98-й (помнится) какие-то замороки были.
21 Curiosa
 
27.05.10
17:45
По описанию принтер должен печатать штрих код, наверное он способен и на графику.Есть идеи?  Качество уже второй вопрос.

Я имел в виду куда прописывать:
Const OverwriteExisting = True
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\Termo\init" , "com1"

Почему записывать файлы нужно через winhex?
22 sergeante
 
27.05.10
17:49
Const OverwriteExisting = True
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\Termo\init" , "com1"

Это пишется в текстовый файл с расширением .vbs
Он нужен только для вывода содержимого C:\Termo\init на ком-порт
Можно просто в командной строке выполнить "copy /B C:\Termo\init com1:"

А вот сам двоичный файл C:\Termo\init надо создать - "набить" инфой которую будешь отсылать принтеру. Те самые &h1b и подобное.
23 Curiosa
 
27.05.10
17:49
Попробовал все вышеперечисленное, возникла проблема: принтер печатает последнюю строку документа в следующей печати, с чем это может быть связяно?
24 Иду
 
27.05.10
17:55
(23) Пустую строку с Энтером ему запуливай после печати.
Это можно в блокноте соорудить. Поймет.
25 Curiosa
 
27.05.10
18:02
Вот что к принтеру прилогается относитьельно штрихкода.
Barcode control commands

Select barcode height
Format? ASCII        ? GS   h      n
        Metrication  : 29   104    n
        Hexadecimal  : 1D   68     n  
Notes?n specifies the number of dots in the vertical direction?n is 162.

Print barcode        
Format? ASCII      ? GS    k        m     n     d1…..dk
       Metrication ? 29   107      m     n     d1…..dk
       Hexadecimal ? 1D   6B            m     n       d1…..dk      
Notes?    m=69        CODE39    ?<=n<=255 n indicates the number of barcode bytes.
d1 … dk indicates barcode bytes.
Это как можно использовать для его печати?
26 Гость из Мариуполя
 
гуру
27.05.10
18:08
просто тупо писать из 1С в текстовый файлик в ДОС-кодировке что-то типа (возьмем пример из (3):
Текст.КодоваяСтраница(1);
Текст.ДобавитьСтроку(Симв(27)+"@"); // инициализация
Текст.ДобавитьСтроку(Симв(27)+"a"+Симв(1)); // центрировать позицию
Текст.ДобавитьСтроку(Симв(27)+"!"+Симв(0)); // выбрать шрифт A
Текст.ДобавитьСтроку("Январь 14, 2002  15:00");
Текст.ДобавитьСтроку(Симв(27)+"d"+Симв(3)); // прогнать три строчки
Текст.ДобавитьСтроку(Симв(27)+"a"+Симв(0)); // прижать влево
Текст.ДобавитьСтроку(Симв(27)+"!"+Симв(1)); // выбрать шрифт B

и т.д.

а потом этот файлик запульнуть согласно (2)

в ДОС-кодировке, напомню.
27 Curiosa
 
27.05.10
18:12
Как это писать из 1С?
28 Гость из Мариуполя
 
гуру
27.05.10
18:18
(27) как, как... пальчиками по клавиатуре.
открой синтаксис-помощник и прочитай про "Текст".
29 Гость из Мариуполя
 
гуру
27.05.10
18:20
ну или ЖКК, глава - "Работа с текстом".
30 Curiosa
 
27.05.10
18:22
Не очень тебя понимаю, дай ссылку пжл
31 Гость из Мариуполя
 
гуру
27.05.10
18:31
в (22) тебе сказали - файлик нужно набить инфой.
в (26) тебе показали, как можно набить его инфой.

блин, первоначальный вопрос о чем был - как выдать ESC последовательность или как работать с текстовыми файлами?

Книга знаний: Текстовые файлы;

Книга знаний: Пример чтения и записи текстовых файлов (Scripting.FileSystemObject);
32 Curiosa
 
27.05.10
18:36
Угу, первоночально  они и до сих пор вопрос как выдать ESC последовательность, если конкретнее через что ее написать.
33 mr_fix
 
27.05.10
20:49
(32)В текстовом редакторе набираешь жмешь Alt и набираешь на цифровой клавиатуре  27 (код клавиши Esc) и все необходимые получается &#8592;
- и все необходимые управляющие коды с кодом до 32  таким же макаром через Alt
&#8592;M &#8592;H &#8592;@
а дальше как в (2) Alt 10 -возврат каретки Alt 13 - перевод строки &#9689; &#9834;
34 mr_fix
 
27.05.10
20:54
+ (33) сорри, &#8592 и аналогичное символами заменились управляющие коды при отправке сообщения на форум :)
35 Ковычки
 
27.05.10
23:46
это уже не смешно - через адинес к примеру
36 sergeante
 
28.05.10
09:44
Это уже не смешно, думалка то на что? Онторнет не только для того, чтобы вопросы задавать, но и для поиска информации. Тебе дали практически полное решение вопроса. Мелкие мелочи своим межушным нервным узлом мог бы додумать. А ты грузишь народ (25).