?? mc_kmsd.~pas
字號(hào):
unit MC_KMSD;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, StdCtrls, Mask, DBCtrls, DBTables, ExtCtrls, Grids, DBGrids, Buttons;
type
TKMSD = class(TForm)
GroupBox1: TGroupBox;
Table1: TTable;
Table1BDEDesigner: TStringField;
Label1: TLabel;
DBEdit1: TDBEdit;
DataSource1: TDataSource;
Bevel1: TBevel;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Table1BDEDesigner2: TFloatField;
Label2: TLabel;
DBEdit2: TDBEdit;
GroupBox2: TGroupBox;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
Query1: TQuery;
BitBtn5: TBitBtn;
Query2: TQuery;
BitBtn6: TBitBtn;
Query3: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
KMSD: TKMSD;
implementation
{$R *.DFM}
procedure TKMSD.BitBtn1Click(Sender: TObject); //添加或保存操作
begin
if BitBtn1.Caption='添加[&I]' then //添加科目
begin
Table1.Append;
DBEdit1.SetFocus;
BitBtn1.Caption:='保存[&S]';
BitBtn2.Caption:='取消[&U]';
DBGrid1.Enabled:=False;
End
Else //保存科目
begin
if (Length(DBEDit1.Text)=0)
or (Length(DBEdit2.Text)=0) then
begin
showMessage('請(qǐng)輸入新科目名和費(fèi)用標(biāo)準(zhǔn).');
End
Else
begin
BitBtn1.Caption:='添加[&I]';
BitBtn2.Caption:='刪除[&D]';
DBGrid1.Enabled:=True;
Table1.Post;
end;
end;
end;
procedure TKMSD.BitBtn2Click(Sender: TObject); //取消或刪除操作
begin
if BitBtn2.Caption='取消[&U]' then
begin
DBGrid1.Enabled:=False;
BitBtn1.Caption:='添加[&I]';
BitBtn2.Caption:='刪除[&D]';
Table1.Cancel;
End
Else
begin
If Table1.RecordCount <> 0 Then
if MessageDLG('是否刪除['+Table1.FieldByname('科目名').AsString+']的信息?'
,mtCustom,[mbYes,mbNO],0)=mrYes then
Table1.Delete;
end;
end;
procedure TKMSD.BitBtn6Click(Sender: TObject); //更新現(xiàn)收費(fèi)標(biāo)準(zhǔn)
begin
if MessageDLG('是否更新['+Table1.FieldByName('科目名').AsString+']的費(fèi)用信息'
,mtCustom,[mbYes,mbNo],0)=mrYes then
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Update 常用費(fèi)用 Set 收費(fèi)金額=:B where 費(fèi)用科目=:A'); //更新選定科目收費(fèi)
Query2.ParamByName('A').AsString:=Table1.FieldByName('科目名').AsString;
Query2.ParamByName('B').AsFloat:=Table1.FieldByName('費(fèi)用標(biāo)準(zhǔn)').AsFloat;
Try
Query2.ExecSQL;
ShowMessage('更新完畢.');
Except
ShowMessage('更新失敗.');
end;
end;
end;
procedure TKMSD.BitBtn4Click(Sender: TObject); //刪除現(xiàn)有收費(fèi)項(xiàng)
begin
If Query1.RecordCount <> 0 Then
if MessageDLG('是否刪除['+Query1.FieldByName('費(fèi)用科目').AsString+']的信息?'
,mtCustom,[mbYes,mbNo],0)=mrYes then
if MessageDLG('用戶的剩余金額也會(huì)被刪除,您真確認(rèn)刪除嗎?',mtCustom
,[mbYes,mbNo],0)=mrYes then
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 常用費(fèi)用 Where 費(fèi)用科目=:A'); //刪除選中費(fèi)用科目
Query2.ParamByName('A').AsString:=Query1.FieldByName('費(fèi)用科目').AsString;
Try
Query2.ExecSQL;
Query1.Close;
Query1.Open;
Except
ShowMessage('刪除失敗.');
end;
end;
end;
procedure TKMSD.BitBtn5Click(Sender: TObject); //添加新收費(fèi)項(xiàng)
begin
if Query1.Locate('費(fèi)用科目',Table1.FieldByName('科目名').AsString,[loCaseInsensitive]) then
ShowMessage('科目已經(jīng)存在')
Else
if MessageDLg('是否將['+Table1.FieldByName('科目名').AsString
+']的科目信息添加到常用費(fèi)用表中,并為其用戶初始化信息?',mtCustom
,[mbYes,mbNo],0)=mrYes then
begin
Query3.Close;
Query3.Open;
while not Query3.Eof do
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Insert 常用費(fèi)用(收費(fèi)編號(hào),戶主姓名,費(fèi)用科目,收費(fèi)金額,計(jì)費(fèi)起始日期,計(jì)費(fèi)終止日期,應(yīng)收金額,實(shí)收金額,剩余金額)');
Query2.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I)');
Query2.ParamByName('A').asString:=Query3.FieldByName('水表編號(hào)').AsString;
Query2.ParamByName('B').asString:=Query3.FieldByName('戶主姓名').AsString;
Query2.ParamByName('C').asString:=Table1.FieldByName('科目名').AsString;
Query2.ParamByName('D').asFloat:=Table1.FieldByName('費(fèi)用標(biāo)準(zhǔn)').AsFloat;
Query2.ParamByName('E').AsDateTime:=Date;
Query2.ParamByName('F').AsDateTime:=Date;
Query2.ParamByName('G').asFloat:=0;
Query2.ParamByName('H').asFloat:=0;
Query2.ParamByName('I').asFloat:=0;
Query2.ExecSQL;
Query3.Next;
end;
ShowMessage('添加完畢');
Query1.close;
Query1.Open;
end;
end;
procedure TKMSD.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TKMSD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
KMSD.Release;
KMSD:=Nil;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -