📄 khwljkgl.pas
字号:
unit khwljkgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons, ExtCtrls, DB;
type
TForm45 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
SpeedButton1: TSpeedButton;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
Panel3: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
SpeedButton2: TSpeedButton;
Edit3: TEdit;
DataSource1: TDataSource;
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 ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form45: TForm45;
khbh: String = ''; //记录客户编号
khqc: String = '';//记录客户全称
implementation
uses DataModal,spxsgl;
{$R *.dfm}
procedure TForm45.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 TForm45.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.RecordCount <1 then
Exit
else
begin
DataSource1.DataSet := Data.ADOQuery1;
khbh := Data.ADOQuery1.FieldByName('客户编号').Value;
khqc := Data.ADOQuery1.FieldByName('客户全称').Value;
if Data.ADOQuery1.FieldByName('欠款记账').Value <= 0 then
begin
label7.Caption := FloatToStr(abs(Data.ADOQuery1.FieldByName('欠款记账').Value));
label6.Caption := '0';
end
else
begin
label7.Caption := '0';
label6.Caption := FloatToStr(Data.ADOQuery1.FieldByName('欠款记账').Value);
end;
end;
SpeedButton2.Enabled := True;
Edit3.SetFocus;
end;
end;
procedure TForm45.Edit3KeyPress(Sender: TObject; var Key: Char);
var
mm: Boolean;
begin
mm := (Key <#8)or(Key >#8)and(Key<#46)or(Key > #46)and(Key <#48)or(Key>#57);
if mm then
Key := #0;
end;
procedure TForm45.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 TForm45.SpeedButton2Click(Sender: TObject);
begin
label8.Caption := DateTimeToStr(Now());
if (Trim(label7.Caption)<>'')and(Trim(label6.Caption)<>'')and(Trim(Edit3.Text)<>'')then
begin
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(khbh);
ExecSQL;
end;
with Data.ADOQuery4 do
begin
Close;
SQL.Clear;
SQL.Add('insert 客户结款记录表 values(:a ,:b,:c,default,:d)');
Parameters.ParamByName('a').Value := Trim(khbh);
Parameters.ParamByName('b').Value := Trim(khqc);
Parameters.ParamByName('c').Value := StrToFloat(Edit3.Text);
Parameters.ParamByName('d').Value := Trim(czy);
ExecSQL;
end;
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(khbh);
Open;
end;
DataSource1.DataSet := Data.ADOQuery4;
if Data.ADOQuery4.FieldByName('欠款记账').Value <= 0 then
begin
label7.Caption := FloatToStr(abs(Data.ADOQuery4.FieldByName('欠款记账').Value));
label6.Caption := '0';
end
else
begin
label7.Caption := '0';
label6.Caption := FloatToStr(Data.ADOQuery4.FieldByName('欠款记账').Value);
end;
ComboBox1.SetFocus;
SpeedButton2.Enabled :=False;
Except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end;
end;
procedure TForm45.Clear;
begin
ComboBox1.Text := '';
DataSource1.DataSet := nil;
Label7.Caption := '';
Label6.Caption := '';
Edit3.Clear;
label8.Caption := DateTimeToStr(Now());
SpeedButton2.Enabled := False;
end;
procedure TForm45.SpeedButton2MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
SpeedButton2.Flat := False;
end;
procedure TForm45.Panel3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
SpeedButton2.Flat := True;
end;
procedure TForm45.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ReTurn then
SpeedButton1.OnClick(Sender);
end;
procedure TForm45.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = Vk_ReTurn)and(SpeedButton2.Enabled = True) then
SpeedButton2.OnClick(Sender);
end;
procedure TForm45.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(sender).Font.Color := clRed;
end;
procedure TForm45.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(sender).Font.Color := clBlue;
end;
procedure TForm45.DBGrid1CellClick(Column: TColumn);
begin
if DBGrid1.DataSource <> Nil then
if DBGrid1.DataSource.DataSet<> Nil then
if DBGrid1.DataSource.DataSet.RecordCount>0 then
begin
khbh := Data.ADOQuery1.FieldByName('客户编号').Value;
khqc := Data.ADOQuery1.FieldByName('客户全称').Value;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -