?? door.pas
字號:
unit door;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BusinessSkinForm, DBCtrls, StdCtrls, xpGroupBox, bsSkinCtrls,
bsdbctrls, RzPanel, xpEdit, xpBitBtn, xpCombo, xpButton, ExtCtrls,
RzSplit, ComCtrls, xpPages, RzCmboBx, RzGroupBar, xpWindow, xpPanel,
bsDialogs, DB, ADODB, RzBorder, RzBckgnd, jpeg, RzButton, RzRadChk,
bsSkinBoxCtrls, RzEdit, Grids, DBGrids, MPlayer,mmsystem;
type
Tdoorerform = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
RzGroupBar1: TRzGroupBar;
RzGroup1: TRzGroup;
RzGroup2: TRzGroup;
RzPanel1: TRzPanel;
RzBackground2: TRzBackground;
Image1: TImage;
RzLEDDisplay2: TRzLEDDisplay;
ry1: TADOQuery;
ADOConnection1: TADOConnection;
Edit1: TxpEdit;
rySc1: TDataSource;
RzPanel2: TRzPanel;
bsSkinDBImage1: TbsSkinDBImage;
Image2: TImage;
bsSkinLabel6: TbsSkinLabel;
bsSkinLabel12: TbsSkinLabel;
bsSkinLabel13: TbsSkinLabel;
bsSkinLabel14: TbsSkinLabel;
bsSkinLabel15: TbsSkinLabel;
bsSkinLabel16: TbsSkinLabel;
bsSkinLabel17: TbsSkinLabel;
bsSkinLabel18: TbsSkinLabel;
bsSkinLabel19: TbsSkinLabel;
bsSkinLabel20: TbsSkinLabel;
bsSkinDBText1: TbsSkinDBText;
bsSkinDBText2: TbsSkinDBText;
bsSkinDBText3: TbsSkinDBText;
bsSkinDBText4: TbsSkinDBText;
bsSkinDBText5: TbsSkinDBText;
bsSkinDBText6: TbsSkinDBText;
bsSkinDBText7: TbsSkinDBText;
bsSkinDBText8: TbsSkinDBText;
bsSkinDBText9: TbsSkinDBText;
bsSkinDBText15: TbsSkinDBText;
Radio2: TRzRadioButton;
ComboBox1: TComboBox;
Radio1: TRzRadioButton;
info: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
doincomm: TADOCommand;
dooutCom: TADOCommand;
Timer1: TTimer;
countrs: TADOQuery;
countrsrs: TIntegerField;
opendoorCom: TADOCommand;
closedoor: TADOCommand;
ry1guest_id: TStringField;
ry1guest_name: TStringField;
ry1xb: TStringField;
ry1gj: TStringField;
ry1co_name: TStringField;
ry1address: TStringField;
ry1lx: TStringField;
ry1md: TStringField;
ry1zj_name: TStringField;
ry1zj_no: TStringField;
ry1photo: TBlobField;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure doin(var gst_id:string);
public
{ Public declarations }
end;
var
doorerform: Tdoorerform;
instr:string;
bimg1,bimg2,bimg3:timage;
implementation
{$R *.dfm}
procedure Tdoorerform.doin(var gst_id:string);
begin
//showmessage(instr);
ry1.Close;
ry1.Parameters.ParamByName('g_id').Value:=instr;
ry1.Open;
if ry1.IsEmpty then
begin
//警報
// BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);
PlaySound(pchar('.\malfound.wav'),application.Handle,SND_ASYNC) ;
image1.Picture.Bitmap:=bimg1.Picture.Bitmap;
showmessage('無此人記錄!請核查!');
end else
begin
if radio1.Checked then
begin
image1.Picture.Bitmap:=bimg3.Picture.Bitmap;
//記錄為已進入
TRY
PlaySound(pchar('.\ready.wav'),application.Handle,SND_ASYNC) ;
doincomm.Parameters.ParamByName('gstid').Value:=trim(instr);
doincomm.Parameters.ParamByName('door_no').Value:=copy(combobox1.Text,1,2);
doincomm.Execute;
EXCEPT
beep;
image1.Picture.Bitmap:=bimg1.Picture.Bitmap;
PlaySound(pchar('.\malfound.wav'),application.Handle,SND_ASYNC) ;
SHOWMESSAGE('該人員已經進場,請核查!');
END;
end else
begin
dooutcom.Parameters.ParamByName('gstid').Value:=trim(instr);
dooutcom.Execute;
PlaySound(pchar('.\ready.wav'),application.Handle,SND_ASYNC) ;
end;
end;
edit1.Text:='';
edit1.SetFocus;
end;
procedure Tdoorerform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
image1.Picture.Bitmap:=bimg2.Picture.Bitmap;
if (key=#122) and (length(trim(edit1.text))=1) then
begin
edit1.Text:='';
beep;
edit1.Text:='';
combobox1.SetFocus;
end;
if edit1.Text='00' then begin radio1.Checked:=true;edit1.Text:='';edit1.SetFocus;end;
if edit1.Text='11' then begin radio2.Checked:=true;edit1.Text:='';edit1.SetFocus;end;
if length(trim(edit1.Text+key))=10 then
begin
if combobox1.Text<>'' then
begin
instr:=trim(edit1.Text+key);
key:=#0;
doin(instr);
end else BEGIN EDIT1.Text:='';SHOwMESSAGE('請選擇門號后重新掃描該證件!');key:=#0;END;
end;
end;
procedure Tdoorerform.FormCreate(Sender: TObject);
begin
instr:='';
bimg1:=TImage.Create(self);
bimg2:=TImage.Create(self);
bimg3:=TImage.Create(self);
bimg1.Picture.LoadFromFile('.\red.bmp');
bimg2.Picture.LoadFromFile('.\he.bmp');
bimg3.Picture.LoadFromFile('.\green.bmp');
end;
procedure Tdoorerform.ComboBox1Change(Sender: TObject);
begin
try
opendoorcom.Parameters.ParamByName('doorname').Value :=trim(combobox1.Text);
opendoorcom.Execute;
EDIT1.Enabled:=TruE;
edit1.Text:='';
COMBOBOX1.Enabled:=FALSE;
edit1.SetFocus;
except
showmessage('該門號已被他人占用,請更換!');
end;
end;
procedure Tdoorerform.Timer1Timer(Sender: TObject);
begin
countrs.Active :=true;
rzleddisplay2.Caption:=countrsrs.AsString;
countrs.Active :=false;
info.Active :=false;
info.Active :=true;
info.Last;
end;
procedure Tdoorerform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
closedoor.Parameters.ParamByName('door').Value:=trim(combobox1.Text );
closedoor.Execute;
end;
procedure Tdoorerform.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then
begin
key:=#0;
beep;
ShowMessage('請選擇數字輸入值!');
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -