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

📄 transferunit.pas

📁 delphi6.0版本的主要用于学样、网吧的计费系统的源码
💻 PAS
字号:
unit TransferUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, DB, ADODB, Menus;

type
  TTransferForm = class(TForm)
    pnl1: TPanel;
    pnl5: TPanel;
    lblFindKh: TLabel;
    edtFind: TEdit;
    btn1: TButton;
    lv1: TListView;
    spl1: TSplitter;
    pnl3: TPanel;
    grp1: TGroupBox;
    grp2: TGroupBox;
    btn2: TButton;
    btnClose: TButton;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    edtName1: TEdit;
    edtName2: TEdit;
    edtPass1: TEdit;
    edtBlance1: TEdit;
    edtPass2: TEdit;
    edtBlance2: TEdit;
    ds1: TDataSource;
    qryCardtb: TADOQuery;
    con1: TADOConnection;
    lbl7: TLabel;
    lbl8: TLabel;
    edtBC: TEdit;
    edtBR: TEdit;
    btnZR: TButton;
    btnZC: TButton;
    pm1: TPopupMenu;
    x1: TMenuItem;
    N1: TMenuItem;
    procedure btnCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnZCClick(Sender: TObject);
    procedure btnZRClick(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure edtBlance1KeyPress(Sender: TObject; var Key: Char);
    procedure edtBlance1Exit(Sender: TObject);
  private
    function GetString(sql: string): variant;
    function Exesql(sql: string): variant;
    procedure ClearText;
  public
    { Public declarations }
  end;

var
  TransferForm: TTransferForm;
  Cardnb1, Cardnb2, balance1, balance2: string; //转出 转入的卡号和余额

implementation

{$R *.dfm}

procedure TTransferForm.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TTransferForm.FormShow(Sender: TObject);
var j: integer;
begin
  j := 0;
  qryCardtb.Close;
  qryCardtb.SQL.Clear;
  qryCardtb.SQL.Add('select nbcardno,wbcardno,name,studentcardno,balance from cardtb where cardkind = 0 ');
  qryCardtb.Prepared;
  qryCardtb.Open;
  lv1.Items.Clear;
  while not qryCardtb.eof do
  begin
    lv1.Items.Add;
    lv1.Items.Item[j].Caption := (qryCardtb.Fields[0].AsString);
    lv1.Items.Item[j].SubItems.Add(qryCardtb.Fields[1].AsString);
    lv1.Items.Item[j].SubItems.Add(qryCardtb.Fields[2].AsString);
    lv1.Items.Item[j].SubItems.Add(qryCardtb.Fields[3].AsString);
    lv1.Items.Item[j].SubItems.Add(qryCardtb.Fields[4].AsString);
    qryCardtb.next;
    j := J + 1;
  end;
  if not qryCardtb.IsEmpty then
    lv1.ItemS.Item[0].Selected := TRUE;
  ClearText;



end;

procedure TTransferForm.btnZCClick(Sender: TObject);
var cb1: string;
begin
  if lv1.Selected = nil then exit;
  Cb1 := lv1.Selected.Caption;
  if cb1 = cardnb2 then
  begin
    application.MessageBox('与转出帐号重复,请重新选择', '提示', 48);
    exit;
  end;
  Cardnb1 := lv1.Selected.Caption;
  edtname1.Text := lv1.Selected.SubItems.Strings[1];
  edtPass1.Text := '';
  balance1 := lv1.Selected.SubItems.Strings[3];

end;

procedure TTransferForm.btnZRClick(Sender: TObject);
var cb2: string;
begin
  if lv1.Selected = nil then exit;
  cb2 := lv1.Selected.Caption;
  if cardnb1 = cb2 then
  begin
    application.MessageBox('与转入帐号重复,请重新选择', '提示', 48);
    exit;
  end;
  Cardnb2 := lv1.Selected.Caption;
  Cardnb2 := lv1.Selected.Caption;
  edtname2.Text := lv1.Selected.SubItems.Strings[1];
  edtPass2.Text := '';
  balance2 := lv1.Selected.SubItems.Strings[3];
end;

procedure TTransferForm.btn1Click(Sender: TObject);
var
  i: Integer;
  p: TPoint;
begin
  if Lv1.Selected = nil then Lv1.ItemIndex := 0;
  for i := Lv1.Selected.Index + 1 to Lv1.Items.Count - 1 do
    if Pos(edtFind.Text, Lv1.Items[i].SubItems[1]) <> 0 then
    begin
      Lv1.Items[i].Selected := True;
      Lv1.ItemIndex := i;
      Lv1.SetFocus;
      Exit;
    end;
  MessageBox(Handle, '搜索到最后,没有找到!', '提示', MB_ICONWARNING);
  Lv1.ItemIndex := 0;
end;

procedure TTransferForm.btn2Click(Sender: TObject);
var pass1, pass2: string;
begin
  if (edtName1.Text = '') or (edtName2.Text = '') then
  begin
    Application.MessageBox('请选择用户!', '提示', 48);
    exit;
  end;
  Pass1 := Getstring('select Password from cardtb where nbcardno = ' + #39 + cardnb1 + #39);
  Pass2 := Getstring('select Password from cardtb where nbcardno = ' + #39 + cardnb2 + #39);
  if pass1 <> edtPass1.Text then
  begin
    Application.MessageBox('转出帐号密码出错,请重新输入!', '提示', 48);
    edtPass1.Text := '';
    exit;
  end;
  if pass2 <> edtPass2.Text then
  begin
    Application.MessageBox('转入帐号密码出错,请重新输入!', '提示', 48);
    edtPass2.Text := '';
    exit;
  end;
  Exesql('update cardtb set balance = ' + trim(EdtBc.Text) + ' where nbCardno =' + #39 + Cardnb1 + #39);
  Exesql('update cardtb set balance = ' + trim(EdtBr.Text) + ' where nbCardno =' + #39 + Cardnb2 + #39);
  clearText;
  formshow(sender);
  application.MessageBox('转帐成功!', '提示', 48);
end;

procedure TTransferForm.edtBlance1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9', '.', #8, #13]) then
  begin
    key := #0;
    beep;
  end;
  edtBlance2.Text := edtBlance1.Text;
end;

procedure TTransferForm.edtBlance1Exit(Sender: TObject);
begin
  if edtblance1.Text = '' then exit;
  edtBlance2.Text := edtBlance1.Text;
  if (edtName2.Text = '') or (edtName1.Text = '') then
  begin
    Application.MessageBox('请您选择转入的用户!', '提示', 48);
    edtBlance1.Text := '';
    edtBlance2.Text := '';
    exit;
  end;
  if StrTofloat(edtBlance1.Text) > StrTofloat(balance1) then
  begin
    Application.MessageBox('您没有足够的余额,请重新输入!', '提示', 48);
    exit;
  end;
  edtBC.Text := floatTostr(StrTofloat(balance1) - StrTofloat(edtBlance1.Text));
  edtBR.Text := floatTostr(StrTofloat(balance2) + StrTofloat(edtBlance1.Text));
end;

function TTransferForm.GetString(sql: string): variant;
var
  TmQuery: TAdoQuery;
begin
  try
    TmQuery := TAdoQuery.Create(self);
    TmQuery.Connection := con1;
    TmQuery.SQL.Clear;
    TmQuery.SQL.Add(sql);
    TmQuery.Prepared;
    TmQuery.Open;
    Result := TmQuery.Fields[0].value;
  finally
    TmQuery.Free;
  end;


end;

procedure TTransferForm.ClearText;
begin
  edtName1.Text := '';
  edtPass1.Text := '';
  edtBlance1.Text := '';
  edtName2.Text := '';
  edtPass2.Text := '';
  edtBlance2.Text := '';
  edtBc.Text := '';
  edtBr.Text := '';
  Cardnb1 := '';
  Cardnb2 := '';
  balance1 := '';
  balance2 := '';
end;

function TTransferForm.Exesql(sql: string): variant;
var
  TmQuery: TAdoQuery;
begin
  try
    TmQuery := TAdoQuery.Create(self);
    TmQuery.Connection := con1;
    TmQuery.SQL.Clear;
    TmQuery.SQL.Add(sql);
    TmQuery.Prepared;
    TmQuery.ExecSQL;
  finally
    TmQuery.Free;
  end;

end;

end.

⌨️ 快捷键说明

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