SV-SoftWareСоветыпопрограммированиюиподключениюкассовыхаппаратов исканеровштрих кодов кPC.Многиефирмыпродают дляразличныхкассовыхаппаратовсвоидрайвера,некоторыедрайвераидут вместе сприкладнойпрограммой -например в 1Сестьдрайвера нанекоторыемоделикассовыхаппаратов исканеровштрих кодов.Хотя многиепрограммистыпишут своипрограммы ивозникаютвопросы поповодупрограммногоиаппаратногоподключения.Попробуюответить нанекоторыевопросы ипривестинемного кодаиспользуемогодлянаписаниясофта.Прииспользованииприподключениичерез COM port естьособенностиегоиспользования.Распайкакабеля при 9-pinразьёме Com port's PCПримероткрытия Comпорта сканер штрихкодов обработкасобытий используя Win APIУправляющиекоды ипоследовательностикодов нанекоторыекассовыеаппараты.Чтоделать еслинетдокументациипоуправляющимкодам накассовыйаппарат.Подключениесканераштрих-кодов.Примерпрограммына кассовыйаппарат исканерштрих-кодов.Ссылки накомпонентыдляобработки ипечатиштрих-кодов.Обычно схемаподключения дана в паспорте аппарата.Приведенаясхема используется с ККМ Меркурий 111ФОткрытие сканер штрихкодов обработка Comпорта.....HANDLE hCom;OVERLAPPED o;BOOL fSuccess;DWORD dwEvtMask;hCom = CreateFile("COM1",GENERIC_READ | GENERIC_WRITE,0, /* exclusive access */NULL, /* no security attrs */OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);if (hCom == INVALID_HANDLE_VALUE) {/* Deal with the error. */}/* Set the event mask. */fSuccess = SetCommMask(hCom, EV_CTS | EV_DSR);if (!fSuccess) {/* deal with error */}/* Create an event object for use in WaitCommEvent. */o.hEvent = CreateEvent(NULL, /* no security attributes */FALSE, /* auto reset event */FALSE, /* not signaled */NULL /* no name */);assert(o.hEvent);if (WaitCommEvent(hCom, &dwEvtMask, &o)) {if (dwEvtMask & EV_DSR) {/** . . .*/}if (dwEvtMask & EV_CTS) {/** . . .*/}}The following example opens a handle to COM1 and fills in a DCB structure with the current configuration. The DCB structure is then modified and used to reconfigure the device. DCB dcb;HANDLE hCom;DWORD dwError;BOOL fSuccess;hCom = CreateFile("COM1",GENERIC_READ | GENERIC_WRITE,0, /* comm devices must be opened w/exclusive-access */NULL, /* no security attrs */OPEN_EXISTING, /* comm devices must use OPEN_EXISTING */0, /* not overlapped I/O */NULL /* hTemplate must be NULL for comm devices */);if (hCom == INVALID_HANDLE_VALUE) {dwError = GetLastError();/* handle error */}/** Omit the call to SetupComm to use the default queue sizes.* Get the current configuration.*/fSuccess = GetCommState(hCom, &dcb);if (!fSuccess) {/* Handle the error. *}/* Fill in the DCB: baud=9600, 8 data bits, no parity, 1 stop bit. */dcb.BaudRate = 9600;dcb.ByteSize = 8;dcb.Parity = NOPARITY;dcb.StopBits = ONESTOPBIT;fSuccess = SetCommState(hCom, &dcb);if (!fSuccess) {/* Handle the error. *}Following are the functions used with communications devices. BuildCommDCB BuildCommDCBAndTimeouts ClearCommBreakClearCommError CommConfigDialog DeviceIoControlEscapeCommFunction GetCommConfig GetCommMaskGetCommModemStatus GetCommProperties GetCommStateGetCommTimeouts GetDefaultCommConfig PurgeCommSetCommBreak SetCommConfig SetCommMaskSetCommState SetCommTimeouts SetDefaultCommConfigSetupComm TransmitCommChar WaitCommEvent Более подробно описано вHelp-е Win32 Programmer's Reference поставляемый вместе сCBuilder or Delphi. Лучше конечно написать Vxd сканер штрихкодов еёиспользовать. Примеры написания Vxd Выможете прочитать на дисках поставляемых сжурналом Компьютер пресс за прошлый год.Где в инете лежит не знаю. Можновоспользоваться сканер штрихкодов компонентами стороннихразработчиков, тем более что они в основном- бесплатны сканер штрихкодов поставляются с исходнымтекстом. Управляющиекодовые последовательности для кассовыхаппаратовМеркурийSamsungTest program forMercury 111FВнимание!Автор этойстатьи не несёт ответственности заточность предоставляемой информации поуправляющим кодам на кассовые аппараты! Выможете их использовать только на свой страхи риск!Чтоделать еслинетдокументациипоуправляющимкодам накассовыйаппарат.В этой ситуацииесть 3 метода решения проблемы: Первый исамый банальный сканер штрихкодов простой запроситьдокументацию у производителя сканер штрихкодов как правилони чего не получить! Второй сканер штрихкодов порой болеедостоверный в информации - это взятьтестовую программу которая поставляется саппаратом , загрузить монитор портов ипросмотреть все команды которымиобменивается аппарат с PC. Монитор портоввы можете скачать по этой ссылке portmon98.zip .Третий метод можно не описывать -разбираться в программе аппарата - долго ине у всех хватит квалификации.При подключенииаппарата к PC - обратите внимание на скоростьобмена Com порта, некоторые аппаратыиспользуют скорость 4800, другие 19200, дажеодна сканер штрихкодов тажа модель может использоватьразные скорости обмена - взависимости отверсии прошивки программы.Подключениесканераштрих-кодов.Подключение сканеравообще не представляет сложности иобработка его аналогична выше сказанному.Для CBuilder and Delphi есть компоненты freewareкоторыми вы можете воспользоваться .Примерпрограммына кассовыйаппарат исканерштрих-кодов.example.zipСсылки накомпонентыдляобработки ипечатиштрих-кодов.1.2. Автор этойстраницы будет благодарен если Вы можетеподелиться информацией на другие кассовыеаппараты !Страницапока еще не доконца сделана , так-чтосмотрите еёпозже!! Home26 Февраля 2002 @pochta.ru@front.ru@hotbox.ru@land.ru@pochtamt.ru@rbcmail.ru почтаразделылуковичный цветэлектросчетчик сэтрешетка оконпомидор купляхолодильник оптомзолотник 264-27-00золотник 264-27-00ферромолибденколодец канализационный пластиковыйморозильный ларьэкстракт корень лопух сух.выделение кислородазалог костроматрехфазный электросчетчиккислородкадровый владимирвспучивающийся краскаэлектрокамин dimplex model plasma (sp9)деловой костюмкомпания доминикестопный пластырьсистема дымоудаленияорганизация видеоконференциямашина r-600рассылка адресмужчина выходноймаршрутизаторпротив ракбестраншейный облицовкасенсорный экранорганизация видеоконференцияmastercardtrinity hi-fiкатетервитрина мороженыйштукатурка фасадныйром доставкарадиодоступлекарство ракпланирование деньвино заказдлинный нардкислотостойкий краскаленинградский вокзал билетдиспетчеризациянеймингмрт коленный суставpkiвспучивающийся краскадоставка канцелярияtag heuerкружкаэтнический психологиясанфаянсрегестрация пбоюлградирня вентиляторные грдkiev apartments serviceуслуга костромасканер штрихкодов