?? grxx_u.pas
字號:
unit grxx_u;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Mask, DBCtrls, ADODB, Buttons, ExtCtrls, ExtDlgs,StrUtils;
type
Tfrm_grxx = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource2: TDataSource;
ADOTable1bh: TAutoIncField;
ADOTable1xm: TWideStringField;
ADOTable1xb: TWideStringField;
ADOTable1sfzh: TWideStringField;
ADOTable1mz: TWideStringField;
ADOTable1csrq: TDateTimeField;
ADOTable1dz: TWideStringField;
ADOTable1gzdw: TWideStringField;
ADOTable1bzrq: TDateTimeField;
ADOTable1zyxq: TDateTimeField;
ADOTable1bz: TWideMemoField;
ADOTable1xp: TWideStringField;
GroupBox1: TGroupBox;
Label1: TLabel;
kh_DBEdit: TDBEdit;
Label2: TLabel;
xm_DBEdit: TDBEdit;
Label3: TLabel;
Label4: TLabel;
sfzh_DBEdit: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
GroupBox2: TGroupBox;
DBMemo1: TDBMemo;
xp_Image: TImage;
xb_DBComboBox: TDBComboBox;
ADOTable1kh: TWideStringField;
ADOTable1jkzk: TWideStringField;
Label11: TLabel;
Label12: TLabel;
DBEdit1: TDBEdit;
Panel1: TPanel;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Shape1: TShape;
OpenPictureDialog1: TOpenPictureDialog;
clear_tupian: TSpeedButton;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
ADOTable1jdr: TWideStringField;
ADOTable1jdrq: TDateTimeField;
Label24: TLabel;
DBEdit3: TDBEdit;
Label25: TLabel;
DBEdit11: TDBEdit;
kxdh_ComboBox: TComboBox;
Label23: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure xp_ImageDblClick(Sender: TObject);
procedure ADOTable1AfterScroll(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure clear_tupianClick(Sender: TObject);
procedure ADOTable1BeforePost(DataSet: TDataSet);
procedure kh_DBEditExit(Sender: TObject);
procedure xm_DBEditExit(Sender: TObject);
procedure sfzh_DBEditExit(Sender: TObject);
procedure kxdh_ComboBoxChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_grxx: Tfrm_grxx;
implementation
uses public_u, surehope_api, sfsb_u, DES, LOGIN_U;
{$R *.dfm}
procedure Tfrm_grxx.ADOTable1BeforePost(DataSet: TDataSet);
begin
adotable1.FieldByName('jdr').AsString:=userxm_v;
adotable1.FieldByName('jdrq').AsDateTime:=now;
end;
procedure Tfrm_grxx.BitBtn1Click(Sender: TObject);
var
Buf_ascii:array[0..16] of char; // 250個字符串緩沖區
buf_hex:array[0..300] of char; //300個HEX數據緩沖區
kh_length:integer;
kh_des,en_strhex:string;
begin
if kh_dbedit.Text='' then
begin
messagebox(0,'請輸入卡號','個人信息',mb_iconerror+mb_ok);
exit;
end;
if openport()=1 then exit; //操作失敗則退出
kh_length:=length(trim(kh_dbedit.Text));
kh_length_filter_xk(kh_length,buf_hex); //判斷卡號的長度數,如果不滿10則取第2位數,否則兩位數都取.
kh_DES:='sunrise'; //DES密鑰
en_strhex:=encrystrhex(kh_dbedit.Text,kh_des); //返回卡號加密8字節的16個HEX字符
strpcopy(buf_ascii,en_strhex); //把加密卡號寫入IC卡1區0-7位置(8字節)字符串數組緩沖區
if (Wr_asc(1,0,8,Buf_ascii)=SURE_HOPE_OK) and (wr_asc(1,13,1,buf_hex)=sure_hope_ok) then
begin
MessageBox(0,'寫卡成功!',pchar('卡號:'+kh_dbedit.text),mb_iconinformation+mb_ok);
end
else
MessageBox(0,'寫卡失敗!','寫卡',mb_iconerror+mb_ok);
Close_com; //關閉串口
end;
procedure Tfrm_grxx.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_grxx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (datasource2.DataSet.State=dsedit) or (datasource2.DataSet.State=dsinsert) then
begin
if messagebox(0,'是否保存數據?','提示信息',mb_iconquestion+MB_YESNO)=IDYES then
datasource2.DataSet.Post;
end;
self.Free;
end;
procedure Tfrm_grxx.FormCreate(Sender: TObject);
begin
adoconnection1.ConnectionString:=format(frm_sfsb.connstr,[frm_sfsb.dbfilename,'tjz929']);
if not datasource2.DataSet.Active then
datasource2.DataSet.Open;
kxdh_combobox.Text:=cardtype_str(cardtype_num_v);
end;
procedure Tfrm_grxx.kh_DBEditExit(Sender: TObject);
begin
if kh_dbedit.Text='' then
begin
messagebox(0,'請輸入卡號!','個人信息錄入',mb_iconwarning+mb_ok);
kh_dbedit.SetFocus;
end;
end;
procedure Tfrm_grxx.kxdh_ComboBoxChange(Sender: TObject);
begin
cardtype_num_v:=cardtype_num(kxdh_combobox.Text);
frm_sfsb.ADOTable1.Edit; //把卡型代碼字符提交到數據庫
frm_sfsb.ADOTable1.FieldByName('cardtype').AsString:=kxdh_combobox.Text;
frm_sfsb.ADOTable1.Post;
end;
procedure Tfrm_grxx.xm_DBEditExit(Sender: TObject);
begin
if xm_dbedit.Text='' then
begin
messagebox(0,'請輸入姓名!','個人信息錄入',mb_iconwarning+mb_ok);
xm_dbedit.SetFocus;
end;
end;
procedure Tfrm_grxx.sfzh_DBEditExit(Sender: TObject);
begin
if sfzh_dbedit.Text='' then
begin
messagebox(0,'請輸入身份證號!','個人信息錄入',mb_iconwarning+mb_ok);
sfzh_dbedit.SetFocus;
end;
end;
procedure Tfrm_grxx.clear_tupianClick(Sender: TObject);
begin
datasource2.DataSet.Edit;
adotable1.FieldByName('xp').Value:='';
//datasource2.DataSet.Post;
xp_image.Picture.Graphic:=nil;
end;
procedure Tfrm_grxx.xp_ImageDblClick(Sender: TObject);
var
xp_path,filename_str:string;
begin
if openpicturedialog1.execute then
begin
xp_path:=openpicturedialog1.FileName;
xp_image.Picture.LoadFromFile(xp_path);
//取出圖片的文件名
filename_str:=extractfilename(openpicturedialog1.FileName);
xp_path:=extractfilepath(application.ExeName)+'images\'+filename_str;
try
xp_image.Picture.SaveToFile(xp_path);
datasource2.DataSet.Edit;
adotable1.FieldByName('xp').Value:='images\'+filename_str;
except on E: Exception do
showmessage(e.Message);
end;
end;
end;
procedure Tfrm_grxx.ADOTable1AfterScroll(DataSet: TDataSet);
var
xp_path:string;
begin
xp_path:=adotable1.FieldByName('xp').AsString;
if xp_path<>'' then
begin
try
xp_path:=extractfilepath(application.ExeName)+xp_path;
xp_image.Picture.LoadFromFile(xp_path);
except
on E: Exception do
begin
showmessage(e.Message);
xp_image.Picture.Graphic:=nil;
datasource2.DataSet.Edit;
adotable1.FieldByName('xp').AsString:='';
end;
end;
end
else
xp_image.Picture.Graphic:=nil;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -