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

📄 frmrechargeableu.pas

📁 这是一款用java做的图书管理系统
💻 PAS
字号:
unit frmRechargeableU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls;

type
  TfrmRechargeable = class(TForm)
    Label1: TLabel;
    edLeaseNo: TEdit;
    Label2: TLabel;
    edName: TEdit;
    rbbtn2: TRadioButton;
    rabtn1: TRadioButton;
    Panel4: TPanel;
    Panel3: TPanel;
    Panel2: TPanel;
    Label11: TLabel;
    Panel1: TPanel;
    Label7: TLabel;
    Label6: TLabel;
    Label5: TLabel;
    Label4: TLabel;
    Label3: TLabel;
    Label10: TLabel;
    edBalance: TEdit;
    dtBagMoTim: TDateTimePicker;
    comBagMonth: TComboBox;
    bitOK: TBitBtn;
    bitCancel: TBitBtn;
    procedure bitCancelClick(Sender: TObject);
    procedure rabtn1Click(Sender: TObject);
    procedure rabtn1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure rbbtn2Click(Sender: TObject);
    procedure rbbtn2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure bitOKClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure comBagMonthChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Search(LeaseNO:String);
  end;

var
  frmRechargeable: TfrmRechargeable;

implementation

uses DMU, frmAddReaderU, frmReaderU;

{$R *.dfm}

procedure TfrmRechargeable.bitCancelClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmRechargeable.Search(LeaseNO: String);
begin
  Dm.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='Select LeaseNo,Name from Reader where LeaseNo='+QuotedStr(LeaseNo);
  Dm.adoTemp.Open;
  edLeaseNo.Text:=LeaseNo;
  edName.Text:=Dm.adoTemp.FieldByName('Name').AsString;
  Dm.adoTemp.Close;
end;

procedure TfrmRechargeable.rabtn1Click(Sender: TObject);
begin
  comBagMonth.Enabled:=rabtn1.Checked;
end;

procedure TfrmRechargeable.rabtn1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  comBagMonth.Enabled:=rabtn1.Checked;
end;

procedure TfrmRechargeable.rbbtn2Click(Sender: TObject);
begin
  comBagMonth.Enabled:=rabtn1.Checked;
end;

procedure TfrmRechargeable.rbbtn2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  comBagMonth.Enabled:=rabtn1.Checked;
end;

procedure TfrmRechargeable.bitOKClick(Sender: TObject);
var
  Money:Single;
  Str:String;
begin
  if edBalance.Text=''then
  begin
    MessageBox(0,'预付金不能为空','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
    edBalance.SetFocus;
    exit;
  end;
  if StrToFloat(edBalance.Text)<0 then
  begin
    MessageBox(0,'预付金不能为负数','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
    edBalance.SetFocus;
    exit;
  end;
  money:=0;
  Str:='为借书证号:'+edLeaseNo.Text+'姓名:'+edName.Text+'的用户冲值成功。'+chr(13)+'应收取';
//======================================
  Dm.adoRechargeable.Close;
  Dm.adoRechargeable.SQL.Clear;
  Dm.adoRechargeable.SQL.Text:='select * from Rechargeable';
  Dm.adoRechargeable.Open;

  DM.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='Select * from LoanOption';
  Dm.adoTemp.Open;

  Dm.adoTemp2.Close;
  Dm.adoTemp2.SQL.Clear;
  Dm.adoTemp2.SQL.Text:='Select * from Reader where LeaseNO='+QuotedStr(edLeaseNo.Text);
  Dm.adoTemp2.Open;

//============计算收费=========
  if Dm.adoTemp2.FieldByName('PressGold').AsString=''then  //按金
  begin
    Money:=Money+StrToFloat(Dm.adoTemp.FieldByName('PressGold').AsString);
    Str:=Str+chr(13)+'按金:'+Dm.adoTemp.FieldByName('PressGold').AsString+'元';
  end;

  Money:=Money+StrToFloat(edBalance.Text); //预付金
  Str:=Str+Chr(13)+'预付金:'+edBalance.Text+'元';

  if rabtn1.Checked then  //包月金
  begin
    Money:=Money+StrToInt(comBagMonth.Text)*StrToFloat(Dm.adoTemp.FieldByName('BagMonthMoney').AsString);
    Str:=Str+Chr(13)+comBagMonth.Text+'个月的包月金:'+FloatToStr(StrToFloat(comBagMonth.Text)*StrToFloat(Dm.adoTemp.FieldByName('BagMonthMoney').AsString))+'元';
  end;

  Str:=Str+Chr(13)+'共计人民币'+FloatToStr(Money)+'元';
  MessageBox(0,Pchar(Str),'提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);

//============保存信息=========
  Dm.adoRechargeable.Append;
  Dm.adoTemp2.Edit;

  Dm.adoRechargeable.FieldByName('LeaseNo').AsString:=edLeaseNo.Text;//借书证号

  if Dm.adoTemp2.FieldByName('PressGold').AsString=''then //按金
  begin
    Dm.adoRechargeable.FieldByName('PressGold').AsString:=Dm.adoTemp.FieldByName('PressGold').AsString;
    Dm.adoTemp2.FieldByName('PressGold').AsString:=Dm.adoTemp.FieldByName('PressGold').AsString;
  end;

  Dm.adoRechargeable.FieldByName('Balance').AsString:=edBalance.Text;//预付金
  if Dm.adoTemp2.FieldByName('Balance').AsString='' then
    Dm.adoTemp2.FieldByName('Balance').AsString:='0';
  Dm.adoTemp2.FieldByName('Balance').AsString:=FloatToStr(StrToFloat(Dm.adoTemp2.FieldByName('Balance').AsString)+StrToFloat(edBalance.Text));

  if rabtn1.Checked then //包月
  begin
    if comBagMonth.ItemIndex <>0 then
    begin
      Dm.adoRechargeable.FieldByName('BagMonthMoney').AsString:=FloatToStr(StrToInt(comBagMonth.Text)*StrToFloat(Dm.adoTemp.FieldByName('BagMonthMoney').AsString));//包月金
      Dm.adoTemp2.FieldByName('BagMonth').AsString:='0';//借阅方式改为包月制
      Dm.adoTemp2.FieldByName('BagMoTim').AsString:=DateToStr(dtBagMoTim.Date);//包月到期日
      if Dm.adoTemp2.FieldByName('BagMoStTim').AsString=''then
        Dm.adoTemp2.FieldByName('BagMoStTim').AsString:=DateToStr(Date);
    end
  end
  else
    Dm.adoTemp2.FieldByName('BagMonth').AsString:='1';


  Dm.adoRechargeable.FieldByName('WTWK').AsString:='0';//冲值性质 0为冲值

  Dm.adoRechargeable.FieldByName('Date').AsString:=DateTimeToStr(Date());//冲值日期
  Dm.adoTemp2.Post;
  Dm.adoRechargeable.Post;
//----------保存BalaCcou表-----
  Dm.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='Select * From BalaCcou';
  Dm.adoTemp.Open;

  Dm.adoTemp.Edit;
  Dm.adoTemp.FieldByName('Money').AsString:=FloatToStr(StrToFloat(Dm.adoTemp.FieldByName('Money').AsString)+Money);
  Dm.adoTemp.Post;   
//=============================

  Dm.adoTemp.Close;
  Dm.adoRechargeable.Close;
  Dm.adoTemp2.Close;

  if Dm.adoReader.Active then
    frmReader.Search();
  if Dm.adoAddReader.Active then
    frmAddReader.Search(edLeaseNo.Text);
  Close;
end;

procedure TfrmRechargeable.FormShow(Sender: TObject);
var
  MyDate:String;
begin
  edBalance.Text:='0';
  comBagMonth.ItemIndex:=0;
  rabtn1.Checked:=True;
//===============
  Dm.adoTemp2.Close;
  Dm.adoTemp2.SQL.Clear;
  Dm.adoTemp2.SQL.Text:='Select * from Reader where LeaseNO='+QuotedStr(edLeaseNo.Text);
  Dm.adoTemp2.Open;
  if Dm.adoTemp2.FieldByName('BagMoTim').AsString='' then
    dtBagMoTim.Date:=IncMonth(Date,comBagMonth.ItemIndex)
  else
    dtBagMoTim.Date:=IncMonth(Dm.adoTemp2.FieldByName('BagMoTim').AsDateTime,comBagMonth.ItemIndex);
//===============
  if Dm.adoTemp2.FieldByName('BagMoTim').AsString<>''then
  begin
    myDate:=Dm.adoTemp2.FieldByName('BagMoTim').AsString;
    if myDate>=DateTimeToStr(now) then
      rbbtn2.Enabled:=False
    else
      rbbtn2.Enabled:=True;
  end
  else
    rbbtn2.Enabled:=True;
  Dm.adoTemp2.Close;
end;

procedure TfrmRechargeable.comBagMonthChange(Sender: TObject);
begin
  Dm.adoTemp2.Close;
  Dm.adoTemp2.SQL.Clear;
  Dm.adoTemp2.SQL.Text:='Select * from Reader where LeaseNO='+QuotedStr(edLeaseNo.Text);
  Dm.adoTemp2.Open;
  if Dm.adoTemp2.FieldByName('BagMoTim').AsString='' then
    dtBagMoTim.Date:=IncMonth(Date(),comBagMonth.ItemIndex)
  else
    dtBagMoTim.Date:=IncMonth(Dm.adoTemp2.FieldByName('BagMoTim').AsDateTime,comBagMonth.ItemIndex);
  Dm.adoTemp2.Close;
  //ShowMessage(datetimetoStr(IncMonth(now,1)));
end;

end.

⌨️ 快捷键说明

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