?? tswh_form.pas
字號:
unit TSWH_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, TFlatRadioButtonUnit, TFlatMemoUnit,
TFlatComboBoxUnit, TFlatButtonUnit, TFlatEditUnit, TFlatGroupBoxUnit,
ComCtrls,DB,ADODB;
type
TTSWH_F = class(TForm)
TSWH_PC: TPageControl;
TSXGSC_TS: TTabSheet;
FlatGroupBox1: TFlatGroupBox;
Label16: TLabel;
DWBH_FE: TFlatEdit;
DW_FBtn: TFlatButton;
FlatGroupBox2: TFlatGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
BH_FE: TFlatEdit;
SM_FE: TFlatEdit;
ZZ_FE: TFlatEdit;
LB_FCB: TFlatComboBox;
CBRQ_FE: TFlatEdit;
CBS_FE: TFlatEdit;
DJ_FE: TFlatEdit;
SL_FE: TFlatEdit;
BZ_FM: TFlatMemo;
FlatGroupBox3: TFlatGroupBox;
FlatGroupBox4: TFlatGroupBox;
XG_FRBtn: TFlatRadioButton;
SC_FRBtn: TFlatRadioButton;
ZX_FBtn: TFlatButton;
TSLBBJ_TS: TTabSheet;
FlatGroupBox5: TFlatGroupBox;
LB_DG: TDBGrid;
Del_FBtn: TFlatButton;
FlatGroupBox8: TFlatGroupBox;
Label18: TLabel;
Label19: TLabel;
LBDM_FE: TFlatEdit;
LBMC_FE: TFlatEdit;
FlatGroupBox7: TFlatGroupBox;
LBXG_FRBtn: TFlatRadioButton;
LBTJ_FRBtn: TFlatRadioButton;
LBZX_FBtn: TFlatButton;
Close_Btn: TButton;
LB_DS: TDataSource;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Close_BtnClick(Sender: TObject);
procedure DW_FBtnClick(Sender: TObject);
procedure ZX_FBtnClick(Sender: TObject);
procedure LBXG_FRBtnClick(Sender: TObject);
procedure LBTJ_FRBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TSWH_PCChange(Sender: TObject);
procedure Del_FBtnClick(Sender: TObject);
procedure LBZX_FBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function CheckError:boolean;
end;
var
TSWH_F: TTSWH_F;
implementation
uses Share_Unit;
{$R *.dfm}
var
TSLB_T,TSXX_T:TADOTable;
//******************************************************************************
procedure TTSWH_F.FormCreate(Sender: TObject);
begin
TSLB_T:=TADOTable.Create(nil);
TSLB_T.Connection:=Connect;
TSLB_T.TableName:='圖書類別';
TSXX_T:=TADOTable.Create(nil);
TSXX_T.Connection:=Connect;
TSXX_T.TableName:='圖書信息';
LB_DS.DataSet:=TSLB_T;
LB_DG.Columns[0].FieldName:='類別';
LB_DG.Columns[1].FieldName:='類名';
TSLB_T.Open;
while not TSLB_T.Eof do
begin
LB_FCB.Items.Add(TSLB_T.FieldValues['類名']);
TSLB_T.Next;
end;
TSLB_T.First;
LB_FCB.ItemIndex:=0;
LBTJ_FRBtn.Checked:=true;
end;
//******************************************************************************
procedure TTSWH_F.Close_BtnClick(Sender: TObject);
begin
close;
end;
//******************************************************************************
procedure TTSWH_F.DW_FBtnClick(Sender: TObject); //定位
begin
TSXX_T.Open;
if TSXX_T.Locate('圖書編號',DWBH_FE.Text,[]) then
begin
BH_FE.Text:=DWBH_FE.Text;
SM_FE.Text:=TSXX_T.FieldValues['書名'];
ZZ_FE.Text:=TSXX_T.FieldValues['作者'];
CBRQ_FE.Text:=DateToStr(TSXX_T.FieldValues['出版日期']);
CBS_FE.Text:=TSXX_T.FieldValues['出版社'];
DJ_FE.Text:=FloatToStr(TSXX_T.FieldValues['定價']);
SL_FE.Text:=IntToStr(TSXX_T.FieldValues['總數(shù)量']);
BZ_FM.Text:=TSXX_T.FieldValues['備注'];
TSLB_T.Locate('類別',TSXX_T.FieldValues['類別'],[]);
LB_FCB.ItemIndex:=LB_FCB.Items.IndexOf(TSLB_T.FieldValues['類名']);
XG_FRBtn.Checked:=true;
ZX_FBtn.Enabled:=true;
end
else begin
MessageBox(handle,'記錄沒有找到,請檢查輸入的編號是否正確!','沒找到圖書記錄',MB_OK or MB_ICONERROR);
end;
end;
//******************************************************************************
function TTSWH_F.CheckError:boolean; //檢查輸入的數(shù)據(jù)是否有錯誤
begin
result:=false;
if SM_FE.Text='' then
begin
MessageBox(handle,'書名不能為空!','書名有誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if ZZ_FE.Text='' then
begin
MessageBox(handle,'作者不能為空!','作者有誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if CBS_FE.Text='' then
begin
MessageBox(handle,'出版社不能為空!','出版社有誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if DJ_FE.Text='' then
begin
MessageBox(handle,'定價不能為空!','定價有誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //判斷定價是否正確
StrToFloat(DJ_FE.Text);
except
MessageBox(handle,'定價不對!','定價錯誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //判斷日期格式是否正確
StrToDate(CBRQ_FE.Text);
except
MessageBox(handle,'日期格式不對,正確格式形如:2003-03-19或2003-3-19 !','日期錯誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //入庫數(shù)量必須為整數(shù)
StrToInt(SL_FE.Text);
except
MessageBox(handle,'入庫數(shù)量必須為大于0的整數(shù)!','數(shù)量錯誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
end;
//******************************************************************************
procedure TTSWH_F.ZX_FBtnClick(Sender: TObject); //執(zhí)行刪除圖書
var
Del_Flag:integer;
begin
if XG_FRBtn.Checked then
begin
if CheckError then exit;
TSXX_T.Locate('圖書編號',BH_FE.Text,[]);
TSXX_T.Edit;
TSLB_T.Locate('類名',LB_FCB.Text,[]);
TSXX_T.FieldByName('類別').AsString:=TSLB_T.FieldValues['類別'];
TSXX_T.FieldByName('書名').AsString:=SM_FE.Text;
TSXX_T.FieldByName('作者').AsString:=ZZ_FE.Text;
TSXX_T.FieldByName('出版日期').AsDateTime:=StrToDate(CBRQ_FE.Text);
TSXX_T.FieldByName('出版社').AsString:=CBS_FE.Text;
TSXX_T.FieldByName('定價').AsFloat:=StrToFloat(DJ_FE.Text);
TSXX_T.FieldByName('總數(shù)量').AsInteger:=StrToInt(SL_FE.Text);
TSXX_T.FieldByName('剩下數(shù)量').AsInteger:=StrToInt(SL_FE.Text);
TSXX_T.FieldByName('備注').AsString:=BZ_FM.Text;
TSXX_T.Post;
MessageBox(handle,'記錄已成功修改!!','修改成功',MB_OK or MB_ICONINFORMATION);
end
else begin
Del_Flag:=MessageBox(handle,'警告:刪除是永久的不可恢復(fù)的!確認(rèn)刪除嗎?','刪除確認(rèn)',MB_OKCANCEL or MB_ICONWarning);
if Del_Flag=IDCancel then exit;
TSXX_T.Locate('圖書編號',BH_FE.Text,[]);
TSXX_T.Delete;
MessageBox(handle,'記錄已成功刪除!','刪除成功',MB_OK or MB_ICONINFORMATION);
DWBH_FE.Text:='';
BH_FE.Text:='';
SM_FE.Text:='';
ZZ_FE.Text:='';
CBRQ_FE.Text:='';
CBS_FE.Text:='';
DJ_FE.Text:='';
SL_FE.Text:='';
SL_FE.Text:='';
BZ_FM.Text:='';
LB_FCB.ItemIndex:=0;
ZX_FBtn.Enabled:=false;
end;
end;
//******************************************************************************
procedure TTSWH_F.LBXG_FRBtnClick(Sender: TObject); //當(dāng)方式選中修改時
begin
LBDM_FE.Text:=LB_DG.DataSource.DataSet.FieldValues['類別'];
LBMC_FE.Text:=LB_DG.DataSource.DataSet.FieldValues['類名'];
LBZX_FBtn.Enabled:=true;
LBDM_FE.Enabled:=false;
end;
//******************************************************************************
procedure TTSWH_F.LBTJ_FRBtnClick(Sender: TObject); //當(dāng)方式選中添加時
begin
LBDM_FE.Text:='';
LBDM_FE.Enabled:=true;
LBMC_FE.Text:='';
end;
//******************************************************************************
procedure TTSWH_F.FormShow(Sender: TObject);
begin
TSWH_PC.ActivePage:=TSXGSC_TS;
end;
//******************************************************************************
procedure TTSWH_F.TSWH_PCChange(Sender: TObject);
begin
if TSWH_PC.ActivePage=TSXGSC_TS then
begin
LB_FCB.Items.Clear;
TSLB_T.Open;
TSLB_T.First;
while not TSLB_T.Eof do
begin
LB_FCB.Items.Add(TSLB_T.FieldValues['類名']);
TSLB_T.Next;
end;
TSLB_T.First;
LB_FCB.ItemIndex:=0;
end;
end;
//******************************************************************************
procedure TTSWH_F.Del_FBtnClick(Sender: TObject);
var
Del_Flag:integer;
begin
Del_Flag:=MessageBox(handle,'警告:刪除是永久的不可恢復(fù)的!確認(rèn)刪除嗎?','刪除確認(rèn)',MB_OKCANCEL or MB_ICONWarning);
if Del_Flag=IDCancel then exit;
LB_DG.DataSource.DataSet.Delete;
MessageBox(handle,'記錄已成功刪除!','刪除成功',MB_OK or MB_ICONINFORMATION);
LBDM_FE.Text:='';
LBDM_FE.Enabled:=true;
LBMC_FE.Text:='';
LBTJ_FRBtn.Enabled:=true;
end;
//******************************************************************************
procedure TTSWH_F.LBZX_FBtnClick(Sender: TObject); //類別的執(zhí)行操作
begin
if LBDM_FE.Text='' then
begin
MessageBox(handle,'類別代碼不能為空!','類別代碼錯誤',MB_OK or MB_ICONERROR);
exit;
end;
if LBMC_FE.Text='' then
begin
MessageBox(handle,'類別名稱不能為空!','類別名稱錯誤',MB_OK or MB_ICONERROR);
exit;
end;
if LBTJ_FRBtn.Checked then
begin
if TSLB_T.Locate('類別',LBDM_FE.Text,[]) then
begin
MessageBox(handle,'類別代碼已經(jīng)存在!','錯誤',MB_OK or MB_ICONERROR);
LBDM_FE.SetFocus;
exit;
end;
if TSLB_T.Locate('類名',LBMC_FE.Text,[]) then
begin
MessageBox(handle,'類別名稱已經(jīng)存在!','錯誤',MB_OK or MB_ICONERROR);
LBDM_FE.SetFocus;
exit;
end;
TSLB_T.Append;
TSLB_T.FieldByName('類別').AsString:=LBDM_FE.Text;
TSLB_T.FieldByName('類名').AsString:=LBMC_FE.Text;
TSLB_T.Post;
MessageBox(handle,'類型記錄添加成功!','添加成功',MB_OK or MB_ICONINFORMATION);
end
else begin
TSLB_T.Locate('類別',LBDM_FE.Text,[]);
TSLB_T.Edit;
TSLB_T.FieldByName('類名').AsString:=LBMC_FE.Text;
TSLB_T.Post;
MessageBox(handle,'類型記錄修改成功!','修改成功',MB_OK or MB_ICONINFORMATION);
end;
end;
//******************************************************************************
procedure TTSWH_F.FormDestroy(Sender: TObject);
begin
//TSLB_T.Close;
FreeAndNil(TSLB_T);
//TSXX_T.Close;
FreeAndNil(TSXX_T);
TSWH_F:=nil;
end;
//******************************************************************************
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -