最近在做一个系统,需要条码扫描。
大家一般的话,使用什么网格控件作为录入?另外,扫描一个条码后,在delphi中 使用什么事件来触发数据库的查询操作的事件呢?
因为系统还需要可能手动输入条码,防止在条码不能识别的情况下,输入条码后用什么事件来触发呢?以前没做过条码,请大家指点下,有demo的更好,100分送上。
大家一般的话,使用什么网格控件作为录入?另外,扫描一个条码后,在delphi中 使用什么事件来触发数据库的查询操作的事件呢?
因为系统还需要可能手动输入条码,防止在条码不能识别的情况下,输入条码后用什么事件来触发呢?以前没做过条码,请大家指点下,有demo的更好,100分送上。
所以,在输入框的OnKeyPress事件里判断#13就可以了。
begin
inherited;
if not (Key in ['0'..'9',#8,#13]) then
Key:=#0;
if Key=#13 then
begin
if Length(Trim(cx_sn.Text))<>11 then
begin
MessageDlg('請檢查料號:沒有找到此料號的數據!',mtWarning,[mbOK],0);
cx_sn.SelectAll;
Exit;
end
else
begin
cxButton1Click(Sender);
end;
end;
end;帶條碼控件,用fastreport2.5就行
begin
if key=#13 then
begin
Edit_No.SelectAll;//保证下一次扫描可以完全显示新条码
checkNo;//自定义查询过程 查询Edit_No.text就可以
end;
Edit_No.SetFocus;
end;在条码不能识别时,你只需手动输入后在按回车就可以。网格控件,我觉得自带的stringgrid 和dbgrid 完全可以满足要求吧,如果特殊要求比较多,可以安装infopower4000控件,里面的网格控件比较多。
1、扫描枪本身就是一个键盘;
2、在KeyPress中定义事件即可。
3、扫描枪可以设置是否自动回车。这类问题以前的帖子多得很,楼主应该先找找以前的帖子。