📄 pay.pas
字号:
unit pay;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables, Mask, DBCtrls, ExtCtrls, ComCtrls;
type
Tpayfm = class(TForm)
Image1: TImage;
DataSource1: TDataSource;
Button2: TButton;
Button1: TButton;
Query1: TQuery;
ComboBox1: TComboBox;
DateTimePicker1: TDateTimePicker;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit9: TEdit;
PrintDialog1: TPrintDialog;
Database1: TDatabase;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit9KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1Click(Sender: TObject);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
payfm: Tpayfm;
implementation
{$R *.DFM}
{小键盘控制光标}
procedure Tpayfm.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_Right then
combobox1.SetFocus;
if key=vk_down then
edit2.SetFocus;
end;
procedure Tpayfm.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_Right then
edit6.SetFocus;
if key=vk_down then
edit3.SetFocus;
if key=vk_up then
edit1.setfocus;
end;
procedure Tpayfm.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_Right then
edit7.SetFocus;
if key=vk_down then
edit4.SetFocus;
if key=vk_up then
edit2.setfocus;
end;
procedure Tpayfm.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_Right then
datetimepicker1.SetFocus;
if key=vk_down then
edit9.SetFocus;
if key=vk_up then
edit3.setfocus;
end;
procedure Tpayfm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_left then
edit1.setfocus;
if key=vk_right then
edit6.setfocus;
end;
procedure Tpayfm.Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_up then
combobox1.setfocus;
if key=vk_left then
edit2.setfocus;
if key=vk_down then
edit7.setfocus;
end;
procedure Tpayfm.Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_up then
edit6.setfocus;
if key=vk_left then
edit3.setfocus;
if key=vk_down then
datetimepicker1.setfocus;
end;
procedure Tpayfm.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_up then
edit7.setfocus;
if key=vk_left then
edit4.setfocus;
if key=vk_down then
edit9.setfocus;
end;
procedure Tpayfm.Edit9KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_up then
datetimepicker1.setfocus;
if key=vk_left then
edit4.setfocus;
if key=vk_right then
datetimepicker1.setfocus;
end;
{print & writebase}
procedure Tpayfm.Button1Click(Sender: TObject);
begin
{check null}
begin
if (edit1.text='')then
begin
showmessage('请填写付款金额!');
edit1.setfocus;
exit;
end;
if (edit2.text='')then
begin
showmessage('请填写付款科目!');
edit2.setfocus;
exit;
end;
if (edit3.text='')then
begin
showmessage('请填写资金来源!');
edit3.setfocus;
exit;
end;
if (edit4.text='')then
begin
showmessage('请填写资金目标!');
edit4.setfocus;
exit;
end;
if (combobox1.text='')then
begin
showmessage('请选择付款方式!');
combobox1.setfocus;
exit;
end;
if (edit6.text='')then
begin
showmessage('请填写交款人!');
edit6.setfocus;
exit;
end;
if (edit7.text='')then
begin
showmessage('请填写收款人!');
edit7.setfocus;
exit;
end;
{insert base }
begin
if combobox1.text='现金' then
begin
query1.close;
query1.sql.Clear ;
query1.sql.Add('insert into ');
query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
query1.sql.Add('iothnum,isource,caim,iinhand,');
query1.sql.Add('ireason,cpname,dptime,');
query1.sql.Add('crname,drtime,cmemo )');
query1.sql.Add('values(:tsum,:cash,:bill,');
query1.sql.Add(':card,:oth,:bnum,:cnum,');
query1.sql.Add(':onum,:sorc,:aim,:inhand,');
query1.sql.Add(':rea,:pname,:ptime,');
query1.sql.Add(':rname,:rtime,:mmo)');
query1.parambyname('rea').asinteger:=strtoint(edit2.text);
query1.parambyname('aim').asstring:=edit4.text;
query1.parambyname('inhand').asinteger:=0;
query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
query1.parambyname('tsum').asfloat:=-strtofloat(edit1.text);
query1.parambyname('cash').asfloat:=-strtofloat(edit1.Text);
query1.parambyname('bill').asfloat:=0;
query1.parambyname('card').asfloat:=0;
query1.parambyname('oth').asfloat:=0;
query1.parambyname('mmo').asstring:=edit9.text;
query1.parambyname('bnum').asinteger:=0;
query1.parambyname('cnum').asinteger:=0;
query1.parambyname('onum').asinteger:=0;
query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('pname').asstring:=edit6.Text;
query1.parambyname('rname').asstring:=edit7.text;
query1.execsql;
end;
if combobox1.text='支票' then
begin
query1.close;
query1.sql.Clear ;
query1.sql.Add('insert into ');
query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
query1.sql.Add('iothnum,isource,caim,iinhand,');
query1.sql.Add('ireason,cpname,dptime,');
query1.sql.Add('crname,drtime,cmemo )');
query1.sql.Add('values(:tsum,:cash,:bill,');
query1.sql.Add(':card,:oth,:bnum,:cnum,');
query1.sql.Add(':onum,:sorc,:aim,:inhand,');
query1.sql.Add(':rea,:pname,:ptime,');
query1.sql.Add(':rname,:rtime,:mmo)');
query1.parambyname('rea').asinteger:=strtoint(edit2.text);
query1.parambyname('aim').asstring:=edit4.text;
query1.parambyname('inhand').asinteger:=1;
query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
query1.parambyname('tsum').asfloat:=-strtofloat(edit1.text);
query1.parambyname('cash').asfloat:=0;
query1.parambyname('bill').asfloat:=-strtofloat(edit1.Text);
query1.parambyname('card').asfloat:=0;
query1.parambyname('oth').asfloat:=0;
query1.parambyname('mmo').asstring:=edit9.text;
query1.parambyname('bnum').asinteger:=1;
query1.parambyname('cnum').asinteger:=0;
query1.parambyname('onum').asinteger:=0;
query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('pname').asstring:=edit6.Text;
query1.parambyname('rname').asstring:=edit7.text;
query1.execsql;
end;
if combobox1.text='信用卡' then
begin
query1.close;
query1.sql.Clear ;
query1.sql.Add('insert into ');
query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
query1.sql.Add('iothnum,isource,caim,iinhand,');
query1.sql.Add('ireason,cpname,dptime,');
query1.sql.Add('crname,drtime,cmemo )');
query1.sql.Add('values(:tsum,:cash,:bill,');
query1.sql.Add(':card,:oth,:bnum,:cnum,');
query1.sql.Add(':onum,:sorc,:aim,:inhand,');
query1.sql.Add(':rea,:pname,:ptime,');
query1.sql.Add(':rname,:rtime,:mmo)');
query1.parambyname('rea').asinteger:=strtoint(edit2.text);
query1.parambyname('aim').asstring:=edit4.text;
query1.parambyname('inhand').asinteger:=1;
query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
query1.parambyname('tsum').asfloat:=-strtofloat(edit1.text);
query1.parambyname('cash').asfloat:=0;
query1.parambyname('bill').asfloat:=0;
query1.parambyname('card').asfloat:=-strtofloat(edit1.Text);
query1.parambyname('oth').asfloat:=0;
query1.parambyname('mmo').asstring:=edit9.text;
query1.parambyname('bnum').asinteger:=0;
query1.parambyname('cnum').asinteger:=1;
query1.parambyname('onum').asinteger:=0;
query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('pname').asstring:=edit6.Text;
query1.parambyname('rname').asstring:=edit7.text;
query1.execsql;
end;
if combobox1.text='其他票据' then
begin
query1.close;
query1.sql.Clear ;
//tmpsql:='insert into zjlshtab(msum,mcashsum,mbillsum,mcardsum,mothsum,ibillnum,iothnum,isource,caim,crname,drtime,cmemo)';
//tmpsql:=tmpsql+' values(:tsum,:cash,:bill,:card,:oth,:bnum,:onum,:sorc,lee,1,:pname,:ptime,:rname,:rtime,:mmo)';
query1.sql.Add('insert into ');
query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
query1.sql.Add('iothnum,isource,caim,iinhand,');
query1.sql.Add('ireason,cpname,dptime,');
query1.sql.Add('crname,drtime,cmemo )');
query1.sql.Add('values(:tsum,:cash,:bill,');
query1.sql.Add(':card,:oth,:bnum,:cnum,');
query1.sql.Add(':onum,:sorc,:aim,:inhand,');
query1.sql.Add(':rea,:pname,:ptime,');
query1.sql.Add(':rname,:rtime,:mmo)');
query1.parambyname('rea').asinteger:=strtoint(edit2.text);
query1.parambyname('aim').asstring:=edit4.text;
query1.parambyname('inhand').asinteger:=1;
query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
query1.parambyname('tsum').asfloat:=-strtofloat(edit1.text);
query1.parambyname('cash').asfloat:=0;
query1.parambyname('bill').asfloat:=0;
query1.parambyname('card').asfloat:=0;
query1.parambyname('oth').asfloat:=-strtofloat(edit1.Text);
query1.parambyname('mmo').asstring:=edit9.text;
query1.parambyname('bnum').asinteger:=0;
query1.parambyname('cnum').asinteger:=0;
query1.parambyname('onum').asinteger:=1;
query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
query1.parambyname('pname').asstring:=edit6.Text;
query1.parambyname('rname').asstring:=edit7.text;
//query1.sql.add(tmpsql);
//showmessage(tmpsql);
query1.execsql;
end;
end;
{print}
{begin
PrintDialog1.Execute ;
print;
end; }
end;
payfm.close;
payfm.Release ;
end;
procedure Tpayfm.Button2Click(Sender: TObject);
begin
payfm.close;
payfm.Release ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -