⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newreaderu.pas

📁 包含详细的代码设计,实现图书管理系统功能.是一个很好的实例
💻 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 + -