?? xsrk_form.pas
字號:
unit XSRK_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TFlatGroupBoxUnit, StdCtrls, TFlatEditUnit,
TFlatComboBoxUnit, TFlatMemoUnit, TFlatSpeedButtonUnit,DB,DBTables;
type
TXSRK_F = class(TForm)
FlatGroupBox1: TFlatGroupBox;
Label1: TLabel;
BH_FE: TFlatEdit;
Label2: TLabel;
Label3: TLabel;
SM_FE: TFlatEdit;
Label4: TLabel;
Label5: TLabel;
ZZ_FE: TFlatEdit;
Label6: TLabel;
Label7: TLabel;
LB_FCB: TFlatComboBox;
Label8: TLabel;
CBRQ_FE: TFlatEdit;
CBS_FE: TFlatEdit;
Label9: TLabel;
DJ_FE: TFlatEdit;
Label10: TLabel;
SL_FE: TFlatEdit;
Label11: TLabel;
Label12: TLabel;
BZ_FM: TFlatMemo;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
FlatSpeedButton1: TFlatSpeedButton;
FlatSpeedButton2: TFlatSpeedButton;
Label16: TLabel;
procedure FlatSpeedButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FlatSpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
function CheckError:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
XSRK_F: TXSRK_F;
implementation
uses
Common_Unit;
{$R *.dfm}
var
TSLB_T:TTable;
TSJBXX_Q:TQuery;
function IsNum(str:string):boolean;
var
i:integer;
begin
Result:= true;
for i:=1 to length(str) do
if not (ord(str[i]) in[48..57]) then
begin
result:=false;
exit;
end;
end;
//***********************************************************************************
procedure TXSRK_F.FlatSpeedButton2Click(Sender: TObject);
begin
close;
end;
//***********************************************************************************
procedure TXSRK_F.FormShow(Sender: TObject);
begin
TSLB_T.Open;
while not TSLB_T.Eof do
begin
LB_FCB.Items.Add(TSLB_T.FieldValues['ClassName']);
TSLB_T.Next;
end;
LB_FCB.ItemIndex:=0;
end;
//***********************************************************************************
function TXSRK_F.CheckError:boolean; //檢查輸入的數據是否有錯誤
begin
result:=false;
if (length(BH_FE.Text)<>13)or (not IsNum(BH_FE.Text)) then //圖書編號是否合法
begin
MessageBox(handle,'圖書編號即圖書的條形碼為13位數字!','圖書編號錯誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end
else begin
TSJBXX_Q.Close;
TSJBXX_Q.SQL.Clear;
TSJBXX_Q.SQL.Add('Select 1 From TSJBXX Where TSBH=:TXB');
TSJBXX_Q.ParamByName('TXB').AsString:=BH_FE.Text;
TSJBXX_Q.Open;
if TSJBXX_Q.RecordCount<>0 then
begin
MessageBox(handle,'你輸入的圖書編號已經存在!','編號重復',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
end;
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 //入庫數量必須為整數
StrToInt(SL_FE.Text);
except
MessageBox(handle,'入庫數量必須為大于0的整數!','數量錯誤',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
end;
//***********************************************************************************
procedure TXSRK_F.FormCreate(Sender: TObject);
begin
TSLB_T:=TTable.Create(nil);
TSLB_T.DatabaseName:=DataPath;
TSLB_T.TableName:='TSLB.DB';
TSJBXX_Q:=TQuery.Create(nil);
TSJBXX_Q.DatabaseName:=DataPath;
end;
//***********************************************************************************
procedure TXSRK_F.FlatSpeedButton1Click(Sender: TObject); //將信息提交進數據庫
begin
if CheckError then exit;
TSJBXX_Q.Close;
TSJBXX_Q.SQL.Clear;
TSJBXX_Q.SQL.Add('Insert Into TSJBXX(TSBH,Class,Name,Auther,OutDate,CBS,Cost,TotalNum,LastNum,BZ) ');
TSJBXX_Q.SQL.Add(' Values (:TSBH,:Class,:Name,:Auther');
TSJBXX_Q.SQL.Add(',:OutDate,:CBS,:Cost,:TotalNum,:LastNum,:BZ)');
TSJBXX_Q.ParamByName('TSBH').AsString:=BH_FE.Text;
TSLB_T.Locate('ClassName',LB_FCB.Text,[]);
TSJBXX_Q.ParamByName('Class').AsString:=TSLB_T.FieldValues['ClassID'];
TSJBXX_Q.ParamByName('Name').AsString:=SM_FE.Text;
TSJBXX_Q.ParamByName('Auther').AsString:=ZZ_FE.Text;
TSJBXX_Q.ParamByName('OutDate').AsDateTime:=StrToDate(CBRQ_FE.Text);
TSJBXX_Q.ParamByName('CBS').AsString:=CBS_FE.Text;
TSJBXX_Q.ParamByName('Cost').AsFloat:=StrToFloat(DJ_FE.Text);
TSJBXX_Q.ParamByName('TotalNum').AsInteger:=StrToInt(SL_FE.Text);
TSJBXX_Q.ParamByName('LastNum').AsInteger:=StrToInt(SL_FE.Text);
TSJBXX_Q.ParamByName('BZ').AsString:=BZ_FM.Text;
TSJBXX_Q.ExecSQL;
MessageBox(handle,'此圖書已經成功入庫!','入庫成功',MB_OK or MB_ICONINFORMATION);
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:='';
end;
//***********************************************************************************
procedure TXSRK_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
//***********************************************************************************
procedure TXSRK_F.FormDestroy(Sender: TObject);
begin
TSLB_T.Close;
TSJBXX_Q.Close;
FreeAndNil(TSLB_T);
FreeAndNil(TSJBXX_Q);
XSRK_F:=nil;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -