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

📄 readermanage.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit ReaderManage;
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin,ExtCtrls,buttons, ADODB, ImgList,MYclass,
  ExtDlgs,inputbox, MyComboBox;

type
  TReaderForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Edit3: TEdit;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    Image1: TImage;
    Edit1: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    ComboBox2: TComboBox;
    SpeedButton3: TSpeedButton;
    TabSheet2: TTabSheet;
    Panel2: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Edit2: TEdit;
    Memo2: TMemo;
    GroupBox2: TGroupBox;
    Image2: TImage;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    ComboBox4: TComboBox;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton1: TSpeedButton;
    Edit11: TEdit;
    Label8: TLabel;
    Edit12: TEdit;
    Label10: TLabel;
    Edit13: TEdit;
    Edit14: TEdit;
    OPDialog1: TOpenPictureDialog;
    ComboBox3: TMyComboBox;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure TabSheet1Show(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Image1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox31Select(Sender: TObject);
    procedure showfield;
    procedure Customshowfield(const field,str:string);
    procedure SpeedButton9Click(Sender: TObject);
    procedure ComboBox2Select(Sender: TObject);
    procedure ComboBox4Select(Sender: TObject);
    procedure ComboBox31KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox4KeyPress(Sender: TObject; var Key: Char);
    procedure setedit(value:Boolean);
    procedure writefield(test:boolean;fieldname:string;value:variant);
    procedure SpeedButton10Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure imagetotable;
    procedure kindchange;
    function  Dateadd(Vardate:Tdatetime;varmonth:integer):Tdatetime;
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure Edit11KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit12KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
    procedure Edit13KeyPress(Sender: TObject; var Key: Char);
    procedure Edit14KeyPress(Sender: TObject; var Key: Char);
    procedure Edit10KeyPress(Sender: TObject; var Key: Char);
 private
   procedure WMPAINT1(var msg:TMESSAGE);message WM_PAINT;
   procedure WMNCPAINT1(var msg:TWMNCPAINT);message WM_NCPAINT;
   procedure Active(var msg:Tmessage);message WM_ACTIVATE;
   procedure WMNCLBUTTONDBLCLK1(var msg:Tmessage);message WM_NCLBUTTONDBLCLK;
       { Private declarations }
  public
    titleBmp:Tbitmap;
    { Public declarations }
  end;

var
   cardinfo:RCarkKindinfo;
   recordmemory:string;
   imagechanged:boolean;

implementation

uses MainForm,DataModule;
{$R *.dfm}
function MyShowmessage(text:Pchar):boolean; external 'resource.dll';

procedure TReaderForm.WMNCLBUTTONDBLCLK1(var msg:Tmessage);
begin
  //
end;
procedure TReaderForm.Active(var msg:Tmessage);
begin
  self.WMPAINT1(msg);
end;

procedure TReaderForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  params.Style:=params.Style-WS_SYSMENU;
end;

procedure TReaderForm.WMPAINT1(var msg:TMESSAGE);
begin
  sendmessage(self.Handle,WM_NCPAINT,0,0);
  inherited;
end;

procedure TReaderForm.WMNCPAINT1(var msg:TWMNCPAINT);
var
  dc1:HDC;
  y,frame:integer;
  oldbrush:HBrush;
  oldpen,pen:HPEN;
  canvas:Tcanvas;
begin
  canvas:=Tcanvas.Create;
  dc1:=getwindowdc(Handle);
  y:=GetSystemMetrics(SM_CYSIZE);
  frame:=GetSystemMetrics(SM_CYSIZEFRAME);
  oldbrush:=selectobject(dc1,getstockobject(null_brush));
  pen:=createpen(PS_SOLID,1,rgb(155,155,155));
  oldpen:=selectobject(dc1,pen);
  RoundRect(dc1,0,0,Width,Height,12,12);
  pen:=createpen(PS_SOLID,frame*2-5,rgb(255,255,255));
  selectobject(dc1,pen);
  RoundRect(dc1,2,2,Width-2,Height-2,8,10);
  StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
  canvas.Handle:=dc1;
  canvas.Brush.Style:=bsclear;
  canvas.TextOut(frame*3,(y-frame)div 2,self.Caption);
  selectobject(dc1,oldbrush);
  selectobject(dc1,oldpen);
  deleteObject(pen);
  canvas.Handle:=0;
  canvas.Free;
  releasedc(Handle,dc1);
end;

procedure TReaderForm.FormCreate(Sender: TObject);
begin
  titlebmp:=Tbitmap.Create;
  titlebmp.LoadFromResourceName(main.resource,'TItle');
end;

procedure TReaderForm.TabSheet1Show(Sender: TObject);
begin
  combobox2.Clear;
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select KindName from lendcardKind');
    open;
    while not eof do
    begin
      combobox2.Items.Add(fieldbyname('kindname').AsString);
      next;
    end;
  end;
end;

procedure TReaderForm.SpeedButton3Click(Sender: TObject);
begin
  close;
end;

procedure TReaderForm.SpeedButton11Click(Sender: TObject);
begin
  data.PublicQuery.Close;
  close;
end;

procedure TReaderForm.SpeedButton1Click(Sender: TObject);
var
  i:integer;
begin
  try
    if (trim(Edit11.Text)<>'')And(trim(Edit1.Text)<>'')and(trim(Edit12.Text)<>'')and(trim(Edit12.Text)<>'') then
    begin
      with data.PublicQuery do
      begin
        close;
        sql.Clear;
        sql.Add('select * from lendcardinfo where cardid=:cardid');
        parameters.ParamByName('cardid').Value:=edit11.Text;
        open;
        if recordcount>0 then
        begin
          myshowmessage('输入的卡号重复!!');
          exit;
        end;
        close;
        sql.Clear;
        sql.Add('insert into Lendcardinfo ');
        sql.Add('values(:CardID,:Name,:ID,:Picture,:Live,:Worker,:Phone,:CardKind,1,:Enddate,:CreateDate,:Memo,0,null)');
        parameters.ParamByName('CardID').Value:=edit11.Text;
        parameters.ParamByName('Name').Value:=edit3.Text;
        parameters.ParamByName('ID').Value:=edit1.Text;
        parameters.ParamByName('Picture').Assign(image1.Picture);
        parameters.ParamByName('Live').Value:=edit6.Text;
        parameters.ParamByName('Worker').Value:=edit5.Text;
        parameters.ParamByName('Phone').Value:=edit12.Text;
        parameters.ParamByName('CardKind').Value:=combobox2.Text;
        parameters.ParamByName('EndDate').Value:=dateadd(date,cardinfo.TimeLong);
        parameters.ParamByName('CreateDate').Value:=date;
        parameters.ParamByName('Memo').Value:=memo1.Text;
        execsql;
        close;
        sql.Clear;
        sql.Add('insert into lendcardrecord values(:CardID,:Worker,:CardKind,:consignDate,:Timelong,:Memo)');
        parameters.ParamByName('CardID').Value:=edit11.Text;
        parameters.ParamByName('Worker').Value:=edit5.Text;
        parameters.ParamByName('CardKind').Value:=combobox2.Text;
        parameters.ParamByName('consignDate').Value:=date;
        parameters.ParamByName('Timelong').Value:=cardinfo.TimeLong;
        parameters.ParamByName('Memo').Value:=memo1.Text;
        execsql;
      end;
      myshowmessage('添加完成!!');
      for i:=0 to panel1.ControlCount-1 do
      begin
        if panel1.Controls[i] is Tedit then
        (panel1.Controls[i] as Tedit).Clear;
      end;
      image2.Picture.Assign(nil);
      memo1.Clear;
    end;
  except
    myshowmessage('系统错误!!');
  end;
end;

procedure TReaderForm.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    Edit3.SetFocus;
  end;
  key:=#0;
end;

procedure TReaderForm.Image1Click(Sender: TObject);
begin
  if opdialog1.Execute then
    image1.Picture.LoadFromFile(opdialog1.FileName);
end;

procedure TReaderForm.FormShow(Sender: TObject);
begin
  combobox3.Clear;
  combobox4.Clear;
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select KindName from lendcardKind');
    open;
    while not eof do
    begin
      combobox4.Items.Add(fieldbyname('kindname').AsString);
      next;
    end;
      close;
      sql.Clear;
      sql.Add('select * from LendCardInfo');
      open;
    while not eof do
    begin
      combobox3.Items.Add(fieldbyname('CardID').AsString);
      next;
    end;
  end;
  showfield;
end;

procedure TReaderForm.ComboBox31Select(Sender: TObject);
begin
  if speedbutton9.Enabled then
    customshowfield('cardid',(sender as TMycombobox).Text);
end;

procedure TReaderForm.showfield;
begin
  if data.PublicQuery.Active then
  begin
    with data.PublicQuery do
    begin
      combobox3.Text:=fieldbyname('cardid').AsString;
      recordmemory:=combobox3.Text;
      if fieldbyname('usesing').AsInteger=0 then
      begin
        label11.Font.Color:=clred;
      end
      else
      begin
        label11.Font.Color:=clWindowText;
      end;
      combobox4.Text:=fieldbyname('cardkind').AsString;
      edit2.Text:=fieldbyname('name').AsString;
      edit7.Text:=fieldbyname('ID').AsString;
      edit8.Text:=fieldbyname('CreateDate').AsString;
      edit9.Text:=fieldbyname('enddate').AsString;
      edit13.Text:=fieldbyname('Phone').AsString;
      edit14.Text:=fieldbyname('worker').AsString;
      edit10.Text:=fieldbyname('Live').AsString;
      memo2.Text:=fieldbyname('memo').AsString;
      image2.Picture.Assign(nil);
      image2.Picture.Assign(fieldbyname('picture'));
      if fieldbyname('usesing').AsInteger = 0 then
        speedbutton16.Caption:='&P恢复使用'
      else   speedbutton16.Caption:='&P报停';
      ComboBox4Select(combobox4);
    end;
  end;
end;

procedure TreaderForm.Customshowfield(const field,str:string);
begin
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from lendcardinfo where '+field+'=:value');
    parameters.ParamByName('value').Value:=str;
    open;
    if recordcount <1 then
    begin
      myshowmessage('对不起!没有找到您所输入的纪录!');
    end;
  end;
  showfield;
end;

procedure TReaderForm.SpeedButton9Click(Sender: TObject);
begin
  if edit2.Text <>'' then
  begin      // star
    setedit(true);
    speedbutton9.Enabled:=false;
    speedbutton12.Caption:='&C取消';
  end;   //star
end;

procedure TReaderForm.ComboBox2Select(Sender: TObject);
begin
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from Lendcardkind where KindName=:kindname');
    parameters.ParamByName('kindname').Value:=(sender as Tcombobox).Text;
    open;
    cardinfo.Deposit:=fieldbyname('deposit').asfloat;
    cardinfo.Rent:=fieldbyname('rent').AsFloat;
    cardinfo.AllowNum:=fieldbyname('allownum').AsInteger;
    cardinfo.TimeLong:=fieldbyname('timelong').AsInteger;
  end;
end;

procedure TReaderForm.ComboBox4Select(Sender: TObject);
begin
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from Lendcardkind where KindName=:kindname');
    parameters.ParamByName('kindname').Value:=(sender as Tcombobox).Text;
    open;
    cardinfo.Deposit:=fieldbyname('deposit').asfloat;
    cardinfo.Rent:=fieldbyname('rent').AsFloat;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -