![]() |
![]() |
|
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) и все необходимые получается ←
- и все необходимые управляющие коды с кодом до 32 таким же макаром через Alt ←M ←H ←@ а дальше как в (2) Alt 10 -возврат каретки Alt 13 - перевод строки ◙ ♪ |
|||
34
mr_fix
27.05.10
✎
20:54
|
+ (33) сорри, ← и аналогичное символами заменились управляющие коды при отправке сообщения на форум :)
|
|||
35
Ковычки
27.05.10
✎
23:46
|
это уже не смешно - через адинес к примеру
|
|||
36
sergeante
28.05.10
✎
09:44
|
Это уже не смешно, думалка то на что? Онторнет не только для того, чтобы вопросы задавать, но и для поиска информации. Тебе дали практически полное решение вопроса. Мелкие мелочи своим межушным нервным узлом мог бы додумать. А ты грузишь народ (25).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |