uqtfy.pas
来自「很好的汽车管理系统 很实用的 谢谢合作」· PAS 代码 · 共 407 行
PAS
407 行
unit UQTFY;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, ComCtrls, DBCtrls,
ToolWin;
type
TQTFY = class(TForm)
Panel2: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Memo1: TMemo;
Edit2: TEdit;
DateTimePicker1: TDateTimePicker;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
procedure SpeedButton5Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Memo1Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
procedure ENA;
procedure DIS;
procedure CLS;
procedure Posting;
procedure GetAll;
function cansave:boolean;
procedure BH;
procedure tr;
{ Public declarations }
end;
var
QTFY: TQTFY;
implementation
uses UMain, UDM;
{$R *.dfm}
procedure TQTFY.tr;
var
i:integer;
begin
for i:=ComponentCount - 1 downto 0 do
if(Components[i] is TEdit) then
TEdit(Components[i]).Text:=trim(TEdit(Components[i]).Text);
end;
procedure TQTFY.BH;
var
s,m:string;
begin
with dm.QQTFY do
begin
Close;
SQL.Clear;
SQL.Add('Select max(bh) as 编号 From QTFY ');
Open;
end;
if dm.ADODSQTFY.FieldByName('bh').Value=null then
s:=s+'1'
else
begin
dm.ADODSQTFY.Last;
m:=Trim(DM.ADODSQTFY.Fieldbyname('bh').Value);
s:=inttostr(strtoint(m)+1);
end;
edit1.Text:=s;
end;
function TQTFY.CanSave: Boolean;
begin
if (Edit1.Text='') then
begin
Result:=False;
Application.MessageBox('编号不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end
else
if (Edit2.Text='') then
begin
Result:=False;
Application.MessageBox('请选择登记日期!','提示信息',0+MB_ICONINFORMATION);
exit;
end
else
if (Edit3.Text='') then
begin
Result:=False;
Application.MessageBox('费用名称不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end
else
if (Edit4.Text='') then
begin
Result:=False;
Application.MessageBox('费用内容不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end
else
if (Edit5.Text='') then
begin
Result:=False;
Application.MessageBox('金额不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit6.Text='') then
begin
Result:=False;
Application.MessageBox('经办人不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
end;
procedure TQTFY.GetAll;
begin
Edit1.Text:=DM.ADODSQTFY.FieldByName('bh').AsString;
Edit2.Text:=DM.ADODSQTFY.FieldByName('djrq').AsString;
Edit3.Text:=DM.ADODSQTFY.FieldByName('fymc').AsString;
Edit4.Text:=DM.ADODSQTFY.fieldByName('fymr').AsString;
Edit5.Text:=DM.ADODSQTFY.FieldByName('fyje').AsString;
Edit6.Text:=DM.ADODSQTFY.FieldByName('jbr').AsString;
Memo1.Text:=DM.ADODSQTFY.FieldByName('bz').AsString;
end;
procedure TQTFY.posting;
begin
if ActionCD='N' then
BEGIN
with DM.QQTFY do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO QTFY(djrq,fymc,fymr,fyje,jbr,bz,bh)');
SQL.Add('Values(:登记日期,:费用名称,:费用内容,:金额,:经办人,:备注,:编号)'); //
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=Edit6.Text;
Parameters.Items[5].Value:=Memo1.Text;
Parameters.Items[6].Value:=Edit1.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QQTFY do
begin
Close;
SQL.Clear;
SQL.Add('update QTFY Set djrq=:登记日期,');
SQL.Add('fymc=:费用名称,fymr=:费用内容,');
SQL.Add('fyje=:金额,jbr=:经办人,bz=:备注 Where bh=:编号');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=Edit6.Text;
Parameters.Items[5].Value:=Memo1.Text;
Parameters.Items[6].Value:=DM.ADODSQTFY.FieldByName('bh').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TQTFY.ENA;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is TEdit) then
begin
TEdit(Components[i]).Color:=clWindow;
TEdit(Components[i]).ReadOnly:=False;
end;
end;
DateTimePicker1.Color:=clWindow;
DateTimePicker1.Enabled:=true;
Memo1.Color := clWindow;
Memo1.ReadOnly := False;
SpeedButton1.Enabled:=False;
SpeedButton2.Enabled:=False;
SpeedButton3.Enabled:=True;
SpeedButton4.Enabled:=True;
Panel2.Enabled:=True;
end;
procedure TQTFY.DIS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is Tedit) then
begin
TEdit(Components[i]).Color:=$00d8d8d8;
TEdit(Components[i]).ReadOnly:=true;
end;
end;
DateTimePicker1.Color:=$00D8D8D8;
DateTimePicker1.Enabled:=False;
Memo1.Color := $00D8D8D8;
Memo1.ReadOnly := true;
SpeedButton1.Enabled:=True;
SpeedButton2.Enabled:=True;
SpeedButton3.Enabled:=False;
SpeedButton4.Enabled:=False;
Panel2.Enabled:=False;
end;
procedure TQTFY.CLS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if(Components[i] is tedit) then
TEdit(Components[i]).Clear;
end;
Memo1.Clear;
end;
procedure TQTFY.SpeedButton5Click(Sender: TObject);
begin
DIS;
ActionCD:='';
Close;
end;
procedure TQTFY.DateTimePicker1Change(Sender: TObject);
begin
Edit2.Text:=DateToStr(DateTimePicker1.Date);
end;
procedure TQTFY.SpeedButton1Click(Sender: TObject);
begin
CLS;
ENA;
ActionCD := 'N';
bh;
DateTimePicker1.Date:=now;
DateTimePicker1.SetFocus;
end;
procedure TQTFY.SpeedButton2Click(Sender: TObject);
begin
ENA;
ACtionCD := 'M';
end;
procedure TQTFY.SpeedButton3Click(Sender: TObject);
begin
if (cansave) then
begin
Posting;
DIS;
DM.ADODSQTFY.Close;
DM.ADODSQTFY.Open;
Application.MessageBox('保存成功!','提示!',64);
actioncd:='';
self.Close;
end;
end;
procedure TQTFY.SpeedButton4Click(Sender: TObject);
begin
DIS;
QTFY.GetAll;
ActionCd:='';
end;
procedure TQTFY.FormShow(Sender: TObject);
begin
DIS;
if ActionCD = 'M' then
GetAll
else if ActionCD = 'N' then
begin
CLS;
ENA;
end;
end;
procedure TQTFY.FormCreate(Sender: TObject);
begin
with DM.QQTFY do
begin
Close;
SQL.Clear;
SQL.Add('select * from QTFY');
Open;
end;
dm.ADODSQTFY.Open;
DateTimePicker1.Date:=DM.ADODSQTFY.FieldByName('djrq').AsDateTime;
end;
procedure TQTFY.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
GETALL;
end;
procedure TQTFY.Memo1Change(Sender: TObject);
begin
MEMO1.Text:=TRIM(MEMO1.Text);
end;
procedure TQTFY.Edit3Change(Sender: TObject);
begin
tr
end;
procedure TQTFY.Edit4Change(Sender: TObject);
begin
tr
end;
procedure TQTFY.Edit5Change(Sender: TObject);
begin
tr
end;
procedure TQTFY.Edit6Change(Sender: TObject);
begin
tr
end;
procedure TQTFY.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['0'..'9','a'..'z',#46]) then
key:=#0;
if key=#13 then
Edit4.SetFocus;
end;
procedure TQTFY.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['a'..'z','A'..'Z',#46]) then
key:=#0;
if key=#13 then
Edit5.SetFocus;
end;
procedure TQTFY.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.']) then
key:=#0;
if key=#13 then
Edit6.SetFocus;
end;
procedure TQTFY.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['0'..'9','a'..'z','A'..'Z',#46]) then
key:=#0;
if key=#13 then
memo1.SetFocus;
end;
procedure TQTFY.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit3.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?