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

📄 gyswljkgl.pas

📁 《仓库管理系统》 开发语言:Delphi7.0 数据库:SQLServer2000 数据库文件:仓库管理系统_Data.MDF,仓库管理系统_Log.LDF(mingrisoft仓库管理系统Da
💻 PAS
字号:
unit gyswljkgl;

interface

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

type
  TForm43 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    ComboBox1: TComboBox;
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit3: TEdit;
    Label5: TLabel;
    DataSource1: TDataSource;
    BitBtn1: TBitBtn;
    SpeedButton2: TSpeedButton;
    Shape3: TShape;
    Label6: TLabel;
    Label7: TLabel;
    Shape1: TShape;
    Label8: TLabel;
    Shape2: TShape;
    Procedure Clear;//初始化
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3Exit(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Panel3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form43: TForm43;
  gysbh: String = ''; //记录供应商编号
  gysqc: String = ''; //记录供应商全称
implementation
  uses DataModal,ckglxt;
{$R *.dfm}

procedure TForm43.FormShow(Sender: TObject);
begin
  ComboBox1.Clear;
  with Data.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select distinct 供应商全称 from 供应商结款表');
    Open;
  end;
  while Not Data.ADOQuery1.Eof do
  begin
    ComboBox1.Items.Add(Data.ADOQuery1.FieldByName('供应商全称').Value);
    Data.ADOQuery1.Next;
  end;
  Clear;
end;

procedure TForm43.SpeedButton1Click(Sender: TObject);
begin
  if Trim(ComboBox1.Text)<>'' then
  begin
    with Data.ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 供应商结款表 where 供应商全称 = :a ');
      Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
      Open;
    end;
    if Data.ADOQuery1.FieldByName('供应商编号').Value = null then
      exit;
    DataSource1.DataSet := Data.ADOQuery1;
    gysbh := Data.ADOQuery1.FieldByName('供应商编号').Value;
    gysqc := Data.ADOQuery1.FieldByName('供应商全称').Value;
    if Data.ADOQuery1.FieldByName('欠款记账').Value <= 0 then
    begin
      label6.Caption := FloatToStr(ABS(Data.ADOQuery1.FieldByName('欠款记账').Value));
      label7.Caption := '0';
    end
    else
    begin
      label6.Caption := '0';
      label7.Caption := FloatToStr(Data.ADOQuery1.FieldByName('欠款记账').Value);
    end;
    SpeedButton2.Enabled := True;
  end;
end;

procedure TForm43.Edit3KeyPress(Sender: TObject; var Key: Char);
var
  mm: Boolean;
begin
  mm := (Key <#8)or(Key >#8)and(Key<#45)or(Key > #46)and(Key <#48)or(Key>#57);
  if mm then
    Key := #0;
end;

procedure TForm43.Edit3Exit(Sender: TObject);
begin
  if Trim(Edit3.Text)<>'' then
  begin
    if StrToFloat(Edit3.Text)<0 then
    begin
      Application.MessageBox('结款金额不能小于零。','提示',0+64);
      Edit3.Clear;
      Edit3.SetFocus;
      Exit;
    end
    else
    begin
      Try
        StrToFloat(Edit3.Text);
      Except
        Application.MessageBox('请输入合法数据。','提示',0+64);
        Edit3.Clear;
        Edit3.SetFocus;
      end;
    end;
  end;
end;

procedure TForm43.SpeedButton2Click(Sender: TObject);
begin
  label8.Caption := DateTimeToStr(Now());
  if (Trim(label6.Caption)<>'')and(Trim(label7.Caption)<>'')and(Trim(Edit3.Text)<>'')then
  begin
    Data.ADOConnection1.BeginTrans;
    Try
      with Data.ADOQuery4 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('update 供应商结款表 set 欠款记账 = 欠款记账 - :a , 付款合计 = 付款合计 + :b,结款时间 = Default where 供应商编号 = :c');
        Parameters.ParamByName('a').Value := StrToFloat(Edit3.Text);
        Parameters.ParamByName('b').Value := StrToFloat(Edit3.Text);
        Parameters.ParamByName('c').Value := Trim(gysbh);
        ExecSQL;
      end;
      with Data.ADOQuery4 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('insert 供应商结款记录表 values (:a ,:b,:c,Default,:d)');
        Parameters.ParamByName('a').Value := Trim(gysbh);
        Parameters.ParamByName('b').Value := Trim(gysqc);
        Parameters.ParamByName('c').Value := StrToFloat(Edit3.Text);
        Parameters.ParamByName('d').Value := Trim(czy);
        ExecSQL;
      end;
      Data.ADOConnection1.CommitTrans;
      Application.MessageBox('结款成功。','提示',0+64);
      Edit3.Clear;
      with Data.ADOQuery4 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select *  from  供应商结款表 where 供应商编号 = :c');
        Parameters.ParamByName('c').Value := Trim(gysbh);
        Open;
      end;
      DataSource1.DataSet := Data.ADOQuery4;
      if Data.ADOQuery4.FieldByName('欠款记账').Value <= 0 then
      begin
        label6.Caption := FloatToStr(ABS(Data.ADOQuery4.FieldByName('欠款记账').Value));
        label7.Caption := '0';
      end
      else
      begin
        label6.Caption := '0';
        label7.Caption := FloatToStr(Data.ADOQuery4.FieldByName('欠款记账').Value);
      end;
      SpeedButton2.Enabled :=False;
    Except
      Data.ADOConnection1.RollbackTrans;
      Application.MessageBox('系统出错。','提示',0+64);
    end;
  end;
end;

procedure TForm43.Clear;
begin
  ComboBox1.Text := '';
  DataSource1.DataSet := nil;
  Label6.Caption := '';
  Label7.Caption := '';
  Edit3.Clear;
  label8.Caption := DateTimeToStr(Now());
  SpeedButton2.Enabled := False;
end;

procedure TForm43.SpeedButton2MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SpeedButton2.Flat := False;
end;

procedure TForm43.Panel3MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  SpeedButton2.Flat := True;
end;

procedure TForm43.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clBlue;
end;

procedure TForm43.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clRed;
end;

procedure TForm43.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Trim(ComboBox1.Text)<>'' then
    if Key = VK_RETURN then
      SpeedButton1.OnClick(Sender);
end;

end.

⌨️ 快捷键说明

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