?? newreaderu.pas
字號:
unit NewReaderU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, Buttons, ExtDlgs, ExtCtrls,
jpeg;
type
TNewReaderF = class(TForm)
name: TEdit;
shenfen: TEdit;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText7: TStaticText;
sex: TComboBox;
edu: TComboBox;
typee: TComboBox;
save: TBitBtn;
exit: TBitBtn;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
StaticText11: TStaticText;
StaticText13: TStaticText;
StaticText14: TStaticText;
homep: TEdit;
handp: TEdit;
bp: TEdit;
oicq: TEdit;
email: TEdit;
address: TEdit;
GroupBox3: TGroupBox;
StaticText1: TStaticText;
ID: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure exitClick(Sender: TObject);
function CSave:boolean;
procedure saveClick(Sender: TObject);
private
{ Private declarations }
procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
public
{ Public declarations }
function GetCardId:String;
procedure CShowMessage(temp:Tform;Title,Mes:string);
end;
var
NewReaderF: TNewReaderF;
PicName:string;
implementation
uses strUtils,DataModule,ShowMessageU,Shareu, MainU;
{$R *.dfm}
procedure TNewReaderF.WMNCPaint(var Msg: TWMNCPaint);
begin
inherited;
draw(NewReaderF);
end;
//獲得讀者卡號
function TNewReaderF.GetCardId:String;
var
CurDate,CurYear,CurMonth:string;
Query:TADOQuery;
begin
Curdate:=leftstr(datetimetostr(now),pos(' ',datetimetostr(now)));
CurYear:=leftstr(curdate,4);
CurMonth:=leftstr(rightstr(curdate,length(curdate)-pos('-',curdate)),pos('-',rightstr(curdate,length(curdate)-pos('-',curdate)-1)));
if length(Curmonth)=1 then Curmonth:='0'+Curmonth;
Query:=TADOQuery.Create(self);
Query.Connection:=dm.ADOConnection1;
Query.SQL.Text:='select max(ReaderCardID) as ReaderCardID from Reader_Info' +
' where left(ReaderCardID,6)=''' + curyear+curmonth+'''';
query.Open;
if query.FieldByName('ReaderCardID').AsString ='' then //
begin
result:=curyear+curmonth+'0001';
end
else if query.FieldByName('ReaderCardID').AsString <>'' then
begin
result:=inttostr(strtoint(query.FieldByName('ReaderCardID').AsString)+1);
end;
query.Close;
query.Free;
end;
procedure TNewReaderF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
NewReaderF:=nil;
Action:=cafree;
end;
procedure TNewReaderF.FormCreate(Sender: TObject);
begin
caption:='讀者登記';
Icon:=mainf.Icon;
{dm.ADOStoredProc1.Close;
dm.ADOStoredProc1.Parameters[1].DataType:=ftstring;
dm.ADOStoredProc1.Parameters[1].Direction:=pdoutput;
dm.ADOStoredProc1.ExecProc;
id.Text:=dm.ADOStoredProc1.Parameters.ParamValues['@CardID']; }
id.Text:=GetCardId;
end;
procedure TNewReaderF.exitClick(Sender: TObject);
begin
close;
end;
function TNewReaderF.CSave:boolean;
begin
dm.adodataset2.CommandType:=cmdtext;
dm.adodataset2.CommandText:='select * from reader_info';
try
dm.ADOConnection1.BeginTrans ;
dm.adodataset2.Open;
dm.adodataset2.Insert;
dm.adodataset2.FieldByName('readercardid').Value:=trim(id.Text);
dm.adodataset2.FieldByName('name').Value:=trim(name.text);
dm.adodataset2.FieldByName('id').Value:=trim(shenfen.Text);
dm.adodataset2.FieldByName('sex').Value:=sex.ItemIndex;
dm.adodataset2.FieldByName('educationid').Value:=edu.ItemIndex;
dm.adodataset2.FieldByName('curdate').Value:=now;
dm.adodataset2.FieldByName('readertypeid').Value:=typee.ItemIndex;
if picname<>'' then
(dm.adodataset2.FieldByName('pic') as TBlobField).LoadFromFile(picname);
dm.adodataset2.Post;
dm.adodataset2.Close;
dm.adodataset2.CommandText:='select * from reader_relation';
dm.adodataset2.Open;
dm.adodataset2.Insert;
dm.adodataset2.FieldByName('readercardid').Value:=trim(id.Text);
dm.adodataset2.FieldByName('homephone').Value:=trim(homep.Text);
dm.adodataset2.FieldByName('HandPhone').Value:=trim(handp.Text);
dm.adodataset2.FieldByName('Bp').Value:=trim(bp.Text);
dm.adodataset2.FieldByName('QQ').Value:=trim(oicq.Text);
dm.adodataset2.FieldByName('EMAIL').Value:=trim(email.Text);
dm.adodataset2.FieldByName('Address').Value:=trim(address.Text);
dm.adodataset2.Post;
dm.adodataset2.Close;
dm.ADOConnection1.CommitTrans;
CShowMessage(newreaderf,'提示!','保存成功!');
result:=true;
except
dm.ADOConnection1.RollbackTrans;
CShowMessage(newreaderf,'提示!','保存失敗!');
result:=false;
end;
dm.adodataset2.Close;
end;
procedure TNewReaderF.saveClick(Sender: TObject);
begin
if CSave then
begin
if messagedlg('繼續增加讀者!',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
CClearData(NewReaderF);
formcreate(sender);
name.SetFocus;
end
else
close;
end;
end;
procedure TNewReaderF.CShowMessage(temp:Tform;Title,Mes:string);
begin
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -