📄 hyklrunit.pas
字号:
unit hyklrUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, ComCtrls, Db, DBTables, Grids, DBGrids,
Menus;
type
ThyklrForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Query1: TQuery;
Panel2: TPanel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
GroupBox2: TGroupBox;
Label20: TLabel;
ajc: TEdit;
Label21: TLabel;
GroupBox3: TGroupBox;
Panel3: TPanel;
Memo2: TMemo;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label10: TLabel;
Label12: TLabel;
Label15: TLabel;
Label18: TLabel;
Label9: TLabel;
Label17: TLabel;
Label11: TLabel;
Label1: TLabel;
Label4: TLabel;
Label13: TLabel;
Label14: TLabel;
Label16: TLabel;
Label19: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
kh: TEdit;
mm: TEdit;
sfz: TEdit;
dw: TEdit;
dh: TEdit;
cze: TEdit;
qdxe: TEdit;
kzt: TEdit;
xh: TEdit;
jw: TEdit;
cw: TEdit;
tz: TEdit;
xf: TEdit;
bz: TEdit;
GroupBox4: TGroupBox;
Panel1: TPanel;
Memo1: TMemo;
BitBtn5: TBitBtn;
BitBtn7: TBitBtn;
fkrq: TDateTimePicker;
yxrq: TDateTimePicker;
ckr: TEdit;
klb: TComboBox;
ayb: TComboBox;
BitBtn4: TBitBtn;
BitBtn6: TBitBtn;
Query2: TQuery;
Label22: TLabel;
Label23: TLabel;
Query3: TQuery;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
Query4: TQuery;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure khKeyPress(Sender: TObject; var Key: Char);
procedure khExit(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure ajcChange(Sender: TObject);
procedure Query1AfterOpen(DataSet: TDataSet);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure bzDblClick(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
hyklrForm: ThyklrForm;
implementation
{$R *.DFM}
uses dataproc,icdate,hykprin;
procedure ThyklrForm.BitBtn2Click(Sender: TObject);
begin
bitbtn1.Enabled:=false;
kh.Text:='';mm.Text:='';ckr.Text:='';sfz.Text:='';dw.Text:='';
dh.Text:='';cze.Text:='0';xf.Text:='';qdxe.Text:='';kzt.Text:='';
klb.Text:='';xh.Text:='';jw.Text:='';
cw.Text:='';tz.Text:='';bz.Text:='';memo1.Text:='';ajc.Text:='';ayb.Text:='';klb.Text:='';
fkrq.DateTime:=now;yxrq.DateTime:=now;
end;
procedure ThyklrForm.BitBtn1Click(Sender: TObject);
var lskh:string;
begin
lskh:='';
/////////////////
query1.Active:=false;
query1.SQL.Clear;
query1.SQL.Add('insert into hykmx(卡号,IC卡号,密码,持卡人,身份证,单位,电话,储值,消费,签单限额,卡状态,卡类别,发卡日期,有效日期,喜好,忌讳,称谓,特征,备注)');
query1.SQL.Add('values (:kh,:nkh,:mm,:ckr,:sfz,:dw,:dh,:cz,:xf,:qdxe,:kzt,:klb,:fkrq,:yxrq,:xh,:jw,:cw,:tz,:bz)');
query1.RequestLive:=false;
query1.ParamByName('kh').asstring:=kh.Text;
lskh:=xdh('hykmx','','ic卡号',6);
if trim(lskh)='' then
begin
application.messagebox('操作有误,请重来!','提示信息',48);
exit;
end;
query1.ParamByName('nkh').asstring:=lskh;
query1.ParamByName('mm').asstring:=mm.Text;
query1.ParamByName('ckr').asstring:=ckr.Text;
query1.ParamByName('sfz').asstring:=sfz.Text;
query1.ParamByName('dw').asstring:=dw.Text;
query1.ParamByName('dh').asstring:=dh.Text;
if trim(cze.Text)='' then
query1.ParamByName('cz').ascurrency:=0
else
query1.ParamByName('cz').ascurrency:=strtofloat(cze.Text);
query1.ParamByName('xf').ascurrency:=0;
if trim(qdxe.Text)='' then
query1.ParamByName('qdxe').ascurrency:=0
else
query1.ParamByName('qdxe').ascurrency:=strtofloat(qdxe.Text);
query1.ParamByName('kzt').asstring:=kzt.Text;
query1.ParamByName('klb').asstring:=klb.Text;
query1.ParamByName('fkrq').asstring:=formatdatetime('yyyy-MM-dd',fkrq.DateTime);
query1.ParamByName('yxrq').asstring:=formatdatetime('yyyy-MM-dd',yxrq.DateTime);
query1.ParamByName('xh').asstring:=xh.Text;
query1.ParamByName('jw').asstring:=jw.Text;
query1.ParamByName('cw').asstring:=cw.Text;
query1.ParamByName('tz').asstring:=tz.Text;
query1.ParamByName('bz').asstring:=curper.name;
query1.Prepare;
query1.ExecSQL;
query1.Active:=false;
BitBtn6.Enabled:=true;
addlogo(curper.code,datetimetostr(now),kh.Text+'卡录入');
// bitbtn2click(nil);
end;
procedure ThyklrForm.khKeyPress(Sender: TObject; var Key: Char);
begin
if ((sender as tedit)=bz) then key:=#8;
if ((sender as tedit)=ajc) then
begin
if ((key<='9') and (key>='0')) then key:=#0;
end;
if (key=#13 ) then
selectnext(activecontrol,true ,true);
if ((sender as tedit)=cze)or((sender as tedit)=qdxe) then
if ((key>'9') or (key<'0')) then key:=#0;
end;
procedure ThyklrForm.khExit(Sender: TObject);
begin
if (trim(kh.Text)<>'')and(trim(klb.Text)<>'') then bitbtn1.Enabled:=true
else bitbtn1.Enabled:=false;
end;
procedure ThyklrForm.Panel1Click(Sender: TObject);
begin
groupbox4.Visible:=false;
end;
procedure ThyklrForm.PageControl1Change(Sender: TObject);
begin
////////////
bitbtn2click(nil);
if (PageControl1.ActivePage=TabSheet2) then
begin
query1.Active:=false;
query1.SQL.Clear;
query1.SQL.Add('select IC卡号,卡号,持卡人,储值,消费,(储值-消费) as 余额,卡类别,卡状态,发卡日期,备注 as 发卡人 from hykmx order by IC卡号,卡号,发卡日期');
// query1.SQL.Add('select * from hykmx order by 卡号');
// query1.RequestLive:=true;
query1.Prepare;
query1.Open;
// memo2.text:=query1.Fields[17].Asstring;
end;
end;
procedure ThyklrForm.ajcChange(Sender: TObject);
var tj:string;
begin
tj:='';
if trim(ajc.Text)<>'' then
begin
if tj ='' then tj:=' where 卡号>='''+trim(ajc.Text)+''' and 卡号<='''+trim(ajc.text)+chr(255)+''''
else tj:=tj+' and 卡号>='''+trim(ajc.Text)+''' and 卡号<='''+trim(ajc.text)+chr(255)+'''';
end;
if ayb.Text<>'' then
begin
if tj='' then tj:=' where 卡类别>='''+trim(ayb.text)+''' and 卡类别<='''+trim(ayb.text)+chr(255)+''''
else tj:=tj+' and 卡类别>='''+trim(ayb.text)+''' and 卡类别<='''+trim(ayb.text)+chr(255)+'''';
end;
query1.Active:=false;
query1.SQL.Clear;
// query1.SQL.Add('select * from hykmx '+tj+' order by 卡号');
query1.SQL.Add('select IC卡号,卡号,持卡人,储值,消费,(储值-消费) as 余额,卡类别,卡状态,发卡日期,备注 as 发卡人 from hykmx '+tj+' order by IC卡号, 卡号,发卡日期');
// query1.RequestLive:=true;
query1.Prepare;
query1.Open;
// Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';
end;
procedure ThyklrForm.Query1AfterOpen(DataSet: TDataSet);
begin
if (PageControl1.ActivePage=TabSheet2) then
begin
{ query1.Fields[0].DisplayWidth:=8;
query1.Fields[1].Visible:=false;
query1.Fields[2].DisplayWidth:=6;
query1.Fields[3].DisplayWidth:=8;
query1.Fields[4].DisplayWidth:=20;
query1.Fields[5].DisplayWidth:=20;
query1.Fields[6].DisplayWidth:=14;
query1.Fields[7].DisplayWidth:=12;
query1.Fields[8].DisplayWidth:=15;
query1.Fields[9].DisplayWidth:=10;
query1.Fields[10].DisplayWidth:=8;
query1.Fields[11].DisplayWidth:=8;
query1.Fields[12].DisplayWidth:=12;
query1.Fields[13].DisplayWidth:=12;
query1.Fields[14].DisplayWidth:=20;
query1.Fields[15].DisplayWidth:=10;
query1.Fields[16].DisplayWidth:=10;
query1.Fields[17].DisplayWidth:=8;
query1.Fields[18].DisplayWidth:=20; }
// query1.Fields[18].DisplayWidth:=20;
Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';
end;
end;
procedure ThyklrForm.DBGrid1DblClick(Sender: TObject);
begin
if dbgrid1.SelectedIndex=17then
groupbox3.Visible:=true;
// memo2.text:=query1.Fields[17].asstring;
end;
procedure ThyklrForm.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if dbgrid1.SelectedIndex=17 then
begin
hyklrForm.ShowHint:=true;
hyklrForm.Hint:='双击查看详情';
end
else hyklrForm.ShowHint:=false;
end;
procedure ThyklrForm.BitBtn5Click(Sender: TObject);
begin
if messagedlg('确信删除这条记录吗!!',mtwarning,[mbok,mbcancel],0)=mrok then
if trim(query1.FieldByName('卡号').asstring)<>'' then
begin
addlogo(curper.code,datetimetostr(now),trim(query1.FieldByName('卡号').asstring)+'卡删除');
query1.delete;
end;
end;
procedure ThyklrForm.BitBtn7Click(Sender: TObject);
begin
close;
end;
procedure ThyklrForm.bzDblClick(Sender: TObject);
begin
groupbox4.Visible:=true;
end;
procedure ThyklrForm.Panel3Click(Sender: TObject);
begin
groupbox3.Visible:=false;
end;
procedure ThyklrForm.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure ThyklrForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (dbgrid1.SelectedIndex=6)or(dbgrid1.SelectedIndex=7)or(dbgrid1.SelectedIndex=8)then
key:=#0;
end;
procedure ThyklrForm.BitBtn4Click(Sender: TObject);
var xkh,ls:string;
begin
if messagedlg('确信要为'+#13+'卡号:'+Query1.Fieldbyname('卡号').AsString+#13+'姓名:'+Query1.Fieldbyname('持卡人').AsString+#13+' 补卡吗?',mtwarning,[mbok,mbcancel],0)=mrcancel then
exit;
if messagedlg('请插入IC卡!',mtwarning,[mbok,mbcancel],0)=mrcancel then
exit;
xkh:=xdh('hykmx','','ic卡号',6);
ls:=new_ic(xkh,Query1.Fieldbyname('卡号').AsString,Query1.Fieldbyname('储值').AsString,Query1.Fieldbyname('消费').AsString);
if ls<>'ok' then
showmessage(ls)
else
begin
addlogo(curper.code,datetimetostr(now),xkh+'补卡');
Query2.ParamByName('pickh').asstring:=xkh;
Query2.ParamByName('pkh').asstring:=Query1.Fieldbyname('卡号').AsString;
Query2.ParamByName('pzt').asstring:='';
Query2.ExecSQL;
showmessage('补卡成功');
end;
end;
procedure ThyklrForm.BitBtn6Click(Sender: TObject);
var xkh,ls:string;
begin
if messagedlg('请插入IC卡!',mtwarning,[mbok,mbcancel],0)=mrcancel then
exit;
xkh:=xdh('hykmx','','ic卡号',6);
ls:=new_ic(xkh,kh.Text,'0','0');
if ls<>'ok' then
showmessage(ls)
else
begin
Query2.ParamByName('pickh').asstring:=xkh;
Query2.ParamByName('pkh').asstring:=kh.Text;
Query2.ParamByName('pzt').asstring:='';
Query2.ExecSQL;
showmessage('发卡成功');
end;
end;
procedure ThyklrForm.FormShow(Sender: TObject);
begin
groupbox3.Visible:=false;
groupbox4.Visible:=false;
bitbtn2click(nil);bitbtn1.Enabled:=false;
query3.Active:=false;
query3.SQL.Clear;
query3.SQL.Add('select distinct 卡类型 from xflxk');
query3.RequestLive:=false;
query3.Prepare;
query3.Open;
klb.Items.Clear;
ayb.Items.Clear;
query3.First;
while not query3.Eof do
begin
klb.Items.Add(query3.fields[0].asstring);
ayb.Items.Add(query3.fields[0].asstring);
query3.Next;
end;
query3.Active:=false;
PageControl1.ActivePage:=TabSheet1;
end;
procedure ThyklrForm.DBGrid1CellClick(Column: TColumn);
begin
if query1.Active=true then Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';
end;
procedure ThyklrForm.BitBtn8Click(Sender: TObject);
begin
application.CreateForm(Thykprinform,hykprinform);
hykprinform.hide;
//hykprinform.Table1.Active:=false;
//hykprinform.Table1.Active:=true;
hykprinform.qr1.preview ;
//preview ;
//print;
hykprinform.Close;
hykprinform.free;
end;
procedure ThyklrForm.BitBtn9Click(Sender: TObject);
begin
if messagedlg('确信要为'+#13+'卡号:'+Query1.Fieldbyname('卡号').AsString+#13+'姓名:'+Query1.Fieldbyname('持卡人').AsString+#13+' 挂失吗?',mtwarning,[mbok,mbcancel],0)=mrcancel then
exit;
query4.Active:=false;
query4.SQL.Clear;
query4.SQL.Add('update hykmx set 卡状态=''挂失'' where 卡号='''+trim(Query1.Fieldbyname('卡号').AsString)+'''');
query4.Prepare;
query4.ExecSQL;
showmessage('挂失成功');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -