Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

POS Принтер


Страницы:   1 2 3

Raisa ©   (2016-07-25 16:26:00) 

var prn : System.Text;
begin
//ASCII   GS V  m
//Hex     1D 42 m
//Decimal 29 66 m
//Edit1.Text:='COM1';
try
  AssignFile(prn,trim(Edit1.Text));
  Rewrite(prn);
  Write(prn,#29#86#0#5);//
except
  ShowMessage('Ошибка!');
end;

CloseFile(prn);


DayGaykin   (2016-08-01 11:40:00) [21]


> По поводу твоего кода из #25. Параметры СОМ-порта, т.е.
> DCB нужно задавать до его открытия! До, а не после как у
> тебя.

А как, если хендла нет?


Kilkennycat   (2016-08-01 11:21:00) [22]


> Я даже не знаю, сколько кабелей должно идти от этого принтера  к компьютеру.


В этом случае Вам предложен идеальный вариант: DayGaykin ©   (27.07.16 13:46) [18]


sniknik   (2016-08-01 07:58:00) [23]

> CommHandle := CreateFile('COM1',GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,
       FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);
компорт вроде не так задается, а так - \\.\COM1, и даже проверять, смотреть старые программы не буду, это из первой же ссылке в инете.


Германн   (2016-08-01 01:19:00) [24]


> Я даже не знаю, сколько кабелей должно идти от этого принтера
> к компьютеру.
>

А это уже совсем плохо. Вам лучше отказаться от этой работы и сосредоточиться на чём-то другом.


Германн   (2016-08-01 01:02:00) [25]


>  DayGaykin ©   (31.07.16 11:51) [24]
>
> Да и команду mode никто не отменял.

Кстати да. Сей вариант тоже стоит проверить, если кому нужно.


Германн   (2016-08-01 00:56:00) [26]


> Kilkennycat ©   (31.07.16 02:46) [23]
>
>
> > Германн ©   (31.07.16 01:27) [22]
>
> Разве? А почему ж мне приходилось их менять в диспетчере
> устройств, дабы работала кучка девайсов, софт к которым
> был написан с расчетом (а проще говоря - криво) на изменение
> именно таким способом?

Шутку юмора понял. :)


> Raisa   (01.08.16 00:39) [25]
>
> У меня по-прежнему ничего не получается.
> Ни один из примеров, найденных в Интернете, не работает.
>
> Приведу кусок из программы, взятой из Интернета.

90% кода в интернете - говно см. http://www.gunsmoker.ru/2010/05/90.html

По поводу твоего кода из #25. Параметры СОМ-порта, т.е. DCB нужно задавать доего открытия! До, а не после как у тебя.


Raisa   (2016-08-01 00:39:00) [27]

У меня по-прежнему ничего не получается.
Ни один из примеров, найденных в Интернете, не работает.
Приведу кусок из программы, взятой из Интернета.


procedure PortInit;
 var
  ThreadID:dword;
 begin
 //создание и инициализация порта
 KolByte:=0;

 //создание порта и получение его хэндла
 CommHandle := CreateFile('COM1',GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);

 //ставим маску - "по пришествии определенного символа"
 SetCommMask(CommHandle,EV_RXFLAG);

 //построение DCB
  GetCommState(CommHandle,DCB);
  DCB.BaudRate:=CBR_9600;
  DCB.Parity:=NOPARITY;
  DCB.ByteSize:=8;
  DCB.StopBits:=OneStopBit;
  DCB.EvtChar:=chr(13);//задание символа для флага
  //устанавливаем DCB
  SetCommState(CommHandle,DCB);
  //создаем параллельный поток
  //там будет вертеться процедура приема строки
  //с порта - ReadComm
  CommThread := CreateThread(nil,0,@ReadComm,nil,0,ThreadID);
 end;



Я даже не знаю, сколько кабелей должно идти от этого принтера к компьютеру.


DayGaykin   (2016-07-31 11:51:00) [28]

Да и команду mode никто не отменял.


Kilkennycat   (2016-07-31 02:46:00) [29]


> Германн ©   (31.07.16 01:27) [22]

Разве? А почему ж мне приходилось их менять в диспетчере устройств, дабы работала кучка девайсов, софт к которым был написан с расчетом (а проще говоря - криво) на изменение именно таким способом?


Германн   (2016-07-31 01:27:00) [30]


> sniknik ©   (29.07.16 16:05) [21]
>
> > А СОМ-порт непременно под каждую программу следует настраивать?
>
> параметры с которыми обращаешься с ним из программы должны
> совпадать с настройками в винде

Ну на всякий случай. Настроек СОМ-порта в винде не существует.


sniknik   (2016-07-29 16:05:00) [31]

> А СОМ-порт непременно под каждую программу следует настраивать?
параметры с которыми обращаешься с ним из программы должны совпадать с настройками в винде и устройстве. т.е. если в принтере стоит скорость 9600 бод, а пытаешься работать на 115200 то ничего не выйдет.
+ если порт занят, например тем же драйвером печати которым печатали из блокнота, то тоже ничего не выйдет.


KSergey   (2016-07-29 14:32:00) [32]

> Kilkennycat ©   (27.07.16 08:46) [17]
> > Принтер же работал раньше.
> В Вашей программе?

А СОМ-порт непременно под каждую программу следует настраивать?
Я просто уточняю, сам не работал ни разу.


iop   (2016-07-27 15:00:00) [33]

Принтер же работал раньше.

следовательно он обязан работать сегодня.
завтра он обязан работать потому что обязан работать сегодня (потому что работал вчера).
послезавтра...... ну вы понели.

единожны что-то напечатавший принтер бессмертен.


DayGaykin   (2016-07-27 13:46:00) [34]

Могу подключиться по тимвьюверу и при вас написать программу-пример на делфи, которая будет печатать на этом принтере. Не более чем за час.

Не бесплатно. Если интересно пишите на почту. 77@vilker.ru


Kilkennycat   (2016-07-27 08:46:00) [35]


> Raisa   (27.07.16 00:11) [15]
> Не понимаю, зачем нужно проверять положение dip switch.

На принтере, например, кто-то установил скорость передачи 9600 и проверку
четности. Вы уверены, что работаете с ком-портом именно с такими параметрами?
http://www.microridge.com/comtestserial.htm- поможет.


> Принтер же работал раньше.

В Вашей программе?


> В списке принтеров появился

ну и обращайтесь тогда к принтеру из списка, как блокнот.


Raisa   (2016-07-27 00:27:00) [36]

В списке принтеров появился. Попробовала печать из блокнота. Напечатал текст из блокнота на двух метрах бумаги.


Raisa   (2016-07-27 00:11:00) [37]

Не понимаю, зачем нужно проверять положение dip switch. Принтер же работал раньше.

Уже второй месяц я мучаюсь со стоящим на моем столе POS принтером.

Сегодня соединила принтер с компьютером еще одним кабелем,  к компьютеру USB-порт.

Результата нет....  Помогите, пожалуйста.


DayGaykin   (2016-07-26 20:16:00) [38]


> Игорь Шевченко ©   (25.07.16 18:15) [3]
>
> > AssignFile - морально устаревшая функция.
>
>
> Я-то, дурак, использую. Не знал.

Не буду спорить.


Kilkennycat   (2016-07-26 09:47:00) [39]


> 700, как я понял, драйвера не нужны, у него только ком-порт.

ошибся, могут быть и дргие интерфейсы...

http://kiosksoft.ru/в Инструкция принтера Citizen PPU 700 на 33 странице указано положение дипсвичей


Kilkennycat   (2016-07-26 09:44:00) [40]

так а принтер-то citizen-ppu-700ii или просто 700? просто 700, как я понял, драйвера не нужны, у него только ком-порт.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо