?? u_sys_wbs.pas
字號(hào):
unit U_sys_wbs;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Db, ADODB, Grids, DBGrids, StdCtrls, Buttons;
type
TF_sys_wbs = class(TForm)
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
procedure FormActivate(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit3Exit(Sender: TObject);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit4Exit(Sender: TObject);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit5Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_sys_wbs: TF_sys_wbs;
status:byte;
implementation
uses U_pub_data;
{$R *.DFM}
procedure TF_sys_wbs.FormActivate(Sender: TObject);
begin
WITH ADOQUERY1 DO
BEGIN
CLOSE;
sql.clear;
sql.add('select wbs_no as 編碼,wbs_means as 工程分項(xiàng)名稱,wbs_balance as 權(quán)值,sum_fee as 費(fèi)用,sum_labor as 人工時(shí),description as 說明 from wbs ' );
sql.add(' order by wbs_no');
open;
END;
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=true;
speedbutton3.Enabled:=true;
speedbutton4.Enabled:=false;
GroupBox1.Enabled :=false;
edit1.Text :=adoquery1.Fields[0].Text ;
edit2.Text :=adoquery1.Fields[1].Text ;
edit3.Text :=adoquery1.Fields[2].Text ;
edit4.Text :=adoquery1.Fields[3].Text ;
edit5.Text :=adoquery1.Fields[4].Text ;
edit6.Text :=adoquery1.Fields[5].Text ;
end;
procedure TF_sys_wbs.DBGrid1CellClick(Column: TColumn);
begin
edit1.Text :=adoquery1.Fields[0].Text ;
edit2.Text :=adoquery1.Fields[1].Text ;
edit3.Text :=adoquery1.Fields[2].Text ;
edit4.Text :=adoquery1.Fields[3].Text ;
edit5.Text :=adoquery1.Fields[4].Text ;
edit6.Text :=adoquery1.Fields[5].Text ;
end;
procedure TF_sys_wbs.SpeedButton5Click(Sender: TObject);
begin
close;
end;
procedure TF_sys_wbs.SpeedButton1Click(Sender: TObject);
begin
speedbutton1.Enabled :=false;
speedbutton2.Enabled :=false;
speedbutton3.Enabled :=false;
speedbutton4.Enabled :=true;
groupbox1.Enabled :=true;
edit1.Clear ;
edit2.Clear;
edit3.Clear ;
edit4.Clear;
edit5.Clear ;
edit6.Clear;
edit1.SetFocus ;
status:=0;
end;
procedure TF_sys_wbs.SpeedButton4Click(Sender: TObject);
begin
if status=0 then //按增加按紐時(shí)的保存
begin
try
with adoquery2 do
begin
close;
sql.clear;
sql.add('insert into wbs values(:p0,:p1,:p2,:p3,:p4,:p5)');
parameters[0].Value :=edit1.Text ;
parameters[1].Value :=edit2.Text ;
parameters[2].Value :=strtoint(edit3.Text) ;
parameters[3].Value :=strtofloat(edit4.Text) ;
parameters[4].Value :=strtofloat(edit5.Text) ;
parameters[5].Value :=edit6.Text ;
if messagedlg('是否真的保存?',mtconfirmation,[mbYes,mbNo],1)=mryes then
begin
ExecSQL;
showmessage('數(shù)據(jù)已經(jīng)保存!');
speedbutton4.Enabled :=false;
speedbutton1.Enabled :=true;
speedbutton2.Enabled :=true;
speedbutton3.Enabled :=true;
groupbox1.Enabled :=false;
FormActivate(self);
end
else
cancel;
end;
except
end;
end
else //按了修改按紐時(shí)的保存
begin
try
begin
with adoquery1 do
begin
Fields[0].AsString :=edit1.Text ;
Fields[1].asstring:=edit2.Text ;
Fields[2].asinteger:=strtoint(edit3.Text) ;
Fields[3].asfloat:=strtofloat(edit4.Text) ;
Fields[4].asfloat:=strtofloat(edit5.Text) ;
Fields[5].AsString :=edit6.Text ;
Post;
showmessage('修改成功!');
end;
dbgrid1.Enabled :=true;
speedbutton1.Enabled :=true;
speedbutton2.Enabled :=true;
speedbutton3.Enabled :=true;
FormActivate(self);
end;
except
showmessage('數(shù)據(jù)類型錯(cuò)誤,保存失敗!');
dbgrid1.Enabled :=true;
end;
end;
end;
procedure TF_sys_wbs.SpeedButton2Click(Sender: TObject);
begin
adoquery1.Edit;
groupbox1.Enabled :=true;
edit1.SetFocus ;
speedbutton1.Enabled :=false;
speedbutton2.Enabled :=false;
speedbutton3.Enabled :=false;
speedbutton4.Enabled :=true;
status:=1;
dbgrid1.Enabled :=false;
end;
procedure TF_sys_wbs.SpeedButton3Click(Sender: TObject);
begin
if messagedlg('是否真的刪除?',mtconfirmation,[mbYes,mbNo],1)=mryes then
adoquery1.delete;
//DBGrid1CellClick(Column);
end;
procedure TF_sys_wbs.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key<>chr(8) then
if (key<'0') or (key >'9') then
begin
showmessage('只能輸入數(shù)據(jù)!');
edit3.SetFocus ;
end;
end;
procedure TF_sys_wbs.Edit3Exit(Sender: TObject);
begin
if (edit3.Text <>'') and ((strtoint(edit3.Text)>100) or (strtoint(edit3.Text) <0)) then
begin
showmessage('只能輸入0~100的整數(shù)!');
edit3.SetFocus ;
end;
end;
procedure TF_sys_wbs.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key<>chr(8) then
if (key<'0') or (key >'9') then
begin
if (key<>'.') and (key<>'-') then
begin
showmessage('只能輸入數(shù)據(jù)!');
edit4.SetFocus ;
end;
end;
end;
procedure TF_sys_wbs.Edit4Exit(Sender: TObject);
begin
if (edit4.Text <>'') and ((strtoint(edit4.Text)>100) or (strtoint(edit4.Text) <0)) then
begin
showmessage('只能輸入數(shù)值!');
edit4.SetFocus ;
end;
end;
procedure TF_sys_wbs.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key<>chr(8) then
if (key<'0') or (key >'9') then
begin
if (key<>'.') and (key<>'-') then
begin
showmessage('只能輸入數(shù)據(jù)!');
edit5.SetFocus ;
end;
end;
end;
procedure TF_sys_wbs.Edit5Exit(Sender: TObject);
begin
if (edit5.Text <>'') and ((strtoint(edit5.Text)>100) or (strtoint(edit5.Text) <0)) then
begin
showmessage('只能輸入數(shù)值!');
edit5.SetFocus ;
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -