Форум: "Потрепаться";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизСчитыватель штрихкода Найти похожие ветки
← →
kyn66 © (2005-07-06 11:44) [0]Есть-ли какой софт, чтобы получать данные со считывателя штрихкода. Дали разбираться с ним, подключил, на штрихкоде пикает.... а что дальше, как узнать чего он там ссчитал
← →
DiamondShark © (2005-07-06 11:54) [1]Интерфейс какой?
← →
Ilya39 © (2005-07-06 11:54) [2]Интерфейс какой у считывателя?
← →
sniknik © (2005-07-06 11:54) [3]пикает...и ничего не происходит, значит он у тебя com-вский, скорее всего
это поможет
http://www.sbarcode.com/soft/comkey/comkey.html
← →
cosinus © (2005-07-06 11:57) [4]Попробуй открыть любой текстовый редактор (например notepad), установить в него курсор и считать штрих-код. Некоторые, насколько я знаю, так делают...
← →
kyn66 © (2005-07-06 12:19) [5]Подключен в гнездо клавиатуры
← →
DiamondShark © (2005-07-06 12:29) [6]
> Подключен в гнездо клавиатуры
Значит и считывать так, как будто с клавиатуры.
А вообще-то, желательно мануал к сканеру почитать. Там, обычно, написано, что он шлёт, и кой-какие настройки, например, какие скан-коды посылать -- обычные, или цифрового поля, какой ограничитель использовать, и т.п.
← →
kyn66 © (2005-07-06 12:44) [7]Действительно, в любое активное окно передает цифры кода, а что дальше с ними делать? 8-), ладно пусть начальство думает. Проверил - работает.
← →
Digitman © (2005-07-06 13:36) [8]
> что дальше с ними делать?
тут же делать соотв.запрос к "базе данных")
а зачем еще сканер нужен ?
← →
Shurrrraaa (2005-07-06 20:24) [9]где то в инете есть DLL-ка с примером как использовать barcode сканер в своих прогах.
В код проги включаешь небольшие описания и программно его подключаешь. Далее в проге достаточно отлавливать сообщения посылаемые DLL-кой и обрабатывать считанный штрихкод на свое усмотрение.
Сам пользовался таким способом год назад пришлось писать проги на делфе без дополнительных экзешников типа COMKEY.
Работает быстро и просто. Главное не забывать освобождать данных порт сканера для возможного использования другими прогами.
← →
Shurrrraaa (2005-07-06 20:25) [10]Если до выходных доживешь - может найду исходники
← →
kyn66 © (2005-07-12 15:23) [11]>> Shurrrraaa
ВЫходные прошли, как с исходником?
← →
ЯВ (2005-07-12 15:29) [12]кто-то другой не дожил :)
или забыл или запил или забил....
← →
shurrraaa (2005-07-17 17:33) [13]А саму DLL-ку не знаю куда выложить.
Под 98виндой работало а на хп нету сканера чтобы потестить.
Код обработчика на форме.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
wm_setbar = wm_user + 1;
sCom1: pchar = "COM1";
sCom2: pchar = "COM2";
sCom3: pchar = "COM3";
sCom4: pchar = "COM4";
cOk = 0; // успешно
cError = 1; // общая ошибка
cEr_In = 2; // неправ. входн. парам. ф-ии
cEr_STXETX = 3; // неправильное начало cSTXETX
cEr_XONXOFF = 4; // неправильное начало cXONXOFF
cEr_Term = 5; // неправильный терминатор
cEr_Win = 6; // не установлено окно для сообщений
cEr_Bs = 7; // поток уже стартовал
type
tTerminator = (cUni,cCR, cNONE, cLF, cSPACE, cCRLF, cTAB, cESC, cCTRLC, cSTXETX, cXONXOFF, cEOT);
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure WMSetBar(var Msg: TMessage); message WM_SetBar;
end;
var
Form1: TForm1;
function PORTOK: integer; stdcall; external "barcode.dll";
function INITOK: integer; stdcall; external "barcode.dll";
function SETCOMPORT(port, baud: integer): integer;stdcall;external "barcode.dll";
function CLOSECOMPORT: integer; stdcall; external "barcode.dll";
function SETTERM(tt: integer): integer; stdcall; external "barcode.dll";
function SETMES(w: HWND; m: UINT): integer; stdcall; external "barcode.dll";
function STARTBAR: integer; stdcall; external "barcode.dll";
function ENDBAR: integer; stdcall; external "barcode.dll";
implementation
{$R *.dfm}
procedure TForm1.WMSetBar(var Msg: TMessage);
var
s:string;
begin
if msg.wparam=0 then
begin
//А ВОТ ЗДЕСЬ ПОЛУЧАЕШЬ СЧИТАННЫЙ ШТРИХКОД И ДЕЛАЕШЬ С НИМ ЧТО ХОЧЕШЬ
s:=format("%s",[pchar(msg.lparam)]);
edit1.Text :=s;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if INITOK<>cOk then showmessage("Ошибка инициализации библиотеки.");
SetComPort(1, 9600); //настройки для сканера номер_порта, боде_рате
SetMes(Form1.handle, wm_setbar);
SetTerm(5);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
StartBar;
end;
procedure TForm1.FormHide(Sender: TObject);
begin
EndBar;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
EndBar;
end;
end.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.037 c