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

📄 unit22.pas

📁 停车厂管理系统 麻雀虽小 但是五脏齐全
💻 PAS
字号:
unit Unit22;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;

type
  Ttckwh = class(TForm)
    Edit1: TEdit;
    Label26: TLabel;
    Edit2: TEdit;
    Label27: TLabel;
    Edit3: TEdit;
    DBGrid6: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Label25: TLabel;
    adot_card: TADOTable;
    adoq_recharge: TADOQuery;
    adot_carstop: TADOTable;
    adot_customers: TADOTable;
    DataSource1: TDataSource;
    procedure Edit1Exit(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid6CellClick(Column: TColumn);
    procedure FormCanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  tckwh: Ttckwh;

implementation

uses Unit18, Unit1, Unit11;

{$R *.dfm}

procedure Ttckwh.Edit1Exit(Sender: TObject);
begin
  adot_card.Open;
   if edit1.Text<>'' then
   begin
    if not adot_card.Locate('cardid',edit1.Text,[locaseInsensitive]) then
      begin
      showmessage('此停车卡无效,请重新输入卡号') ;
      edit1.Clear;
      edit1.SetFocus;
      end
      else
      edit2.Text:=adot_card.fieldByName('storemoney').Value;  //显示此卡的余额
   end;
end;

procedure Ttckwh.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
    if not(key in['0'..'9',#008]) then
    begin
      key:=#0;
     end
end;

procedure Ttckwh.Button1Click(Sender: TObject);
var
   money: single;
begin
    if (trim(edit1.Text)<>'') and (trim(edit3.Text)<>'') then
    begin
   money:=strtofloat(edit2.Text)+strtofloat(edit3.Text);
   adot_card.Edit;
   adot_card.FieldByName('storemoney').Value:=money;
   adot_card.Post;
   showmessage('预存金额成功!');
   adoq_recharge.Close;
   adoq_recharge.SQL.Clear;
   if trim(adot_card.FieldByName('customerclass').Value)='临时用户' then
   adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,0,:opname)')
   else
   adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,1,:opname)');
   adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
   adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat(trim(edit3.Text));
   adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
   adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
   adoq_recharge.ExecSQL;   //把收费金额记录起来供查询

   with ccdy do
   begin
     qrlabel3.Caption:=trim(edit1.Text);
     qrlabel5.Caption:=trim(edit3.Text);
     qrlabel11.Caption:=floattostr(strtofloat(edit2.Text)+strtoint(edit3.Text));
     qrlabel9.Caption:=trim(user);
     quickrep1.Print;
   end ;//打印充值收据

  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
   end
   else
   showmessage('请输入完整信息!');

end;

procedure Ttckwh.Button2Click(Sender: TObject);
begin
   if (edit1.Text<>'') then
     begin  //如果停车没有在使用,则可以删除出
       if  not adot_carstop.Locate('cardid',edit1.Text,[locaseInsensitive]) then
       begin
         if not adot_customers.Locate('cardid',edit1.Text,[locaseInsensitive]) then
         begin
           if messagedlg('您确定要删除该停车卡',mtconfirmation,[mbno,mbok],0)=mrok then
           begin
           adot_card.Edit;
           adot_card.Delete;
           showmessage('停车卡删除成功!'+#10+'退还余额:'+edit2.Text+'元');
           adoq_recharge.Close;
           adoq_recharge.SQL.Clear;
           adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,0,:opname)');
           adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
           adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat('-'+trim(edit2.Text));
           adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
           adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
           adoq_recharge.ExecSQL;   //把退还余额记录起来供查询
           end
         end
         else
           begin
             if messagedlg('该卡有用户信息,将会删除用户信息',mtconfirmation,[mbok,mbno],0)=mrok then
             begin
             adot_customers.Edit;
             adot_customers.Delete;
             adot_card.Edit;
             adot_card.Delete;
             showmessage('停车卡删除成功!'+#10+'退还余额:'+edit2.Text+'元');
             adoq_recharge.Close;
             adoq_recharge.SQL.Clear;
             adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,1,:opname)');
             adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
             adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat('-'+trim(edit2.Text));
             adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
             adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
             adoq_recharge.ExecSQL;   //把退还余额记录起来供查询
             end;
           end ;
           edit1.Clear;
           edit2.Clear;
           edit3.Clear;
       end
       else
         showmessage('该停车卡正在使用中,不能删除');
     end
   else
   begin
     showmessage('请输入您要删除的停车卡号');
     edit1.SetFocus;
   end;
end;

procedure Ttckwh.FormShow(Sender: TObject);
begin
begin
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
end;
end;

procedure Ttckwh.DBGrid6CellClick(Column: TColumn);
begin
if   not (adot_card.FieldByName('cardid').Value=null) then
  begin
  edit1.text:=trim(adot_card.FieldByName('cardid').Value);
  edit2.Text:=trim(floattostr(adot_card.FieldByName('storemoney').Value));
  end;
end;

procedure Ttckwh.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
Resize:=false;
end;

procedure Ttckwh.FormActivate(Sender: TObject);
begin
  adot_customers.Open;
  adot_card.Open;
  adot_carstop.Open;
end;

procedure Ttckwh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  adot_customers.Close;
  adot_card.Close;
  adot_carstop.Close;
end;

end.

⌨️ 快捷键说明

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