Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Вниз

Сканер Штрих-кодов   Найти похожие ветки 

 
DelphiNew   (2003-12-17 12:12) [0]

Возникла такая проблема: Когда я считываю сканером код мне иногда приходят 2 строки, причём 2-ая строка мешает в работе. Сделал проверку по времени, т.е если за опред. промежуток времени приходит вторая строка то она не обработывается. Но после этого у меня считывается строка толька один раз, когда пытаюсь считать вторй раз ничего не происходит. Вот код:

procedure TFrmMain.OnGetDataFromScaner;
var
ScanSt: string;
T1,T2: TTime;
r: real;
begin
ScanerThread.Suspend;
T1:=Time;
if ReadTime=0 then
ReadTime:=Time-0.0007;
r:=T1-ReadTime;
if r<0.000001 then
begin
ScanerThread.Resume;
exit;
end;
ReadTime:=Time;
ScanSt:=copy(ScanerThread.StrResult,1,2);
showmessage (ScanerThread.StrResult);
FrmTara.IBQTar.Close;
FrmTara.IBQTar.SQL.Clear;
FrmTara.IBQTar.SQL.Add("select namecode, A1,EANCODE, A3, A4, JC1, PRICE from view_1500001");
FrmTara.IBQTar.SQL.Add("where eancode="""+ScanSt+"""");
FrmTara.IBQTar.Open;
if FrmTara.IBQTar.RecordCount <> 0 then
begin
FrmTara.IBQInsTar.ParamByName("NAMETARA").AsString:=FrmTara.IBQTarA1.AsString;
FrmTara.IBQInsTar.ParamByName("CODETARA").AsString:=ScanerThread.StrResult;
FrmTara.IBQInsTar.ParamByName("VES").AsFloat:=FrmTara.IBQTarA3.AsFloat;
FrmTara.IBQInsTar.ParamByName("NCTARA").AsInteger:=FrmTara.IBQTarNAMECODE.AsInteger;
FrmTara.IBQInsTar.ParamByName("LINKHEAD").AsInteger:=nc;
FrmTara.IBQInsTar.ParamByName("QUAN").AsInteger:=1;
FrmTara.IBQInsTar.ParamByName("VESTOTAL").AsFloat:=FrmTara.IBQTarA3.asFloat * StrToFloat(FrmTara.EdtVes.Text);
FrmTara.IBQInsTar.ParamByName("PRICE").AsFloat:=FrmTara.IBQTarPRICE.AsFloat;
FrmTara.IBQInsTar.ParamByName("SUMMATOTAL").AsFloat:=FrmTara.IBQTarPRICE.AsFloat * StrToFloat(FrmTara.EdtVes.Text);
FrmTara.IBQInsTar.ExecSQL;
FrmMain.IBTransaction1.Commit;
FrmMain.IBTransaction1.StartTransaction;
FrmMain.IBQSpec.Open;
end;
ScanerThread.Resume;
end;
Буду благодарен за все идеи


 
DelphiNew   (2003-12-17 12:16) [1]

Дополнение: Сканер подключен к com порту
и на всякий случай:

procedure TThread.Suspend;
var
OldSuspend: Boolean;
begin
OldSuspend := FSuspended;
try
FSuspended := True;
{$IFDEF MSWINDOWS}
CheckThreadError(Integer(SuspendThread(FHandle)) >= 0);
{$ENDIF}
{$IFDEF LINUX}
CheckThreadError(pthread_kill(FThreadID, SIGSTOP));
{$ENDIF}
except
FSuspended := OldSuspend;
raise;
end;
end;


 
Talla2k   (2003-12-18 00:45) [2]

Во первых,запрограммируй сканер ПРАВИЛЬНО!!!(с ним книжечка идет при покупке).
Во-вторых,скан-код ВСЕГДА ограничен chr($0d)!!!Соответственно,все что до chr($0d) это скан-код,а остальное ...
И еще сколько я не писал прог для работы со сканером такого никогда не было!!!Наверно с портом не правильно работаешь!ВОТ!!


 
tesseract   (2003-12-18 15:11) [3]

я вообще не вижу работы с портом. И хотелось бы взглянуть на то, что же пришло с порта.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
6-12472
S@b@k@.
2003-12-28 18:40
2004.03.05
IP адрес


14-12532
strannik_
2004-02-12 12:00
2004.03.05
snif


3-12298
diwin
2004-02-10 00:11
2004.03.05
как программно получить перечень таблиц?


4-12580
Marco
2003-12-26 22:33
2004.03.05
Named pipes


1-12343
Sungod
2004-02-22 13:36
2004.03.05
ShellTreeView отбражение файлов определённого типа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский