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

📄 sf.pas

📁 欢迎大家相互学习。delphi系统 四个文件夹分别对应书中的四个实例
💻 PAS
字号:
unit sf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, DB,
  DBTables, System.ComponentModel;

type
  Tsf_Form = class(TForm)
    xh_LEdit: TLabeledEdit;
    xm_LEdit: TLabeledEdit;
    xf_LEdit: TLabeledEdit;
    gyf_LEdit: TLabeledEdit;
    qtf_LEdit: TLabeledEdit;
    hj_LEdit: TLabeledEdit;
    cmdok: TButton;
    cmdclose: TButton;
    je_LEdit: TLabeledEdit;
    sfrq_DTP: TDateTimePicker;
    Label1: TLabel;
    yjsf_LEdit: TLabeledEdit;
    sfr_LEdit: TLabeledEdit;
    procedure cmdcloseClick(Sender: TObject);
    procedure cmdokClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  sf_Form: Tsf_Form;

implementation

uses main, sfgl;

{$R *.dfm}

procedure Tsf_Form.cmdcloseClick(Sender: TObject);
begin
    Close;
end;

procedure Tsf_Form.cmdokClick(Sender: TObject);
var
    hj,yjsf,je,xh,xm,sfr,sfrq,sqlstr:string;
begin
    je:=trim(je_LEdit.Text);
    hj:=trim(hj_LEdit.Text);
    yjsf:=trim(yjsf_LEdit.Text);
    if strtofloat(hj)-strtofloat(yjsf)<strtofloat(je) then
    begin
        ShowMessage('收费超额,请重新确认!');
        exit;
    end;
    sfr:=trim(sfr_LEdit.Text);
    if length(sfr)<1 then
    begin
        ShowMessage('请输入收费人!');
        exit;
    end;
    sfrq:=datetostr(sfrq_DTP.DateTime);
    xh:=trim(xh_ledit.Text);
    xm:=trim(xm_ledit.Text);
    sqlstr:='insert into [sfb] (xh,xm,sfje,sfrq,sfr)values('''+xh+''','''+xm;
    sqlstr:=sqlstr+ ''','+je+','''+sfrq+''','''+sfr+''')';
    with tquery.Create(nil) do
    begin
        try
        sessionName:=main_Form.Database1.SessionName;
        DatabaseName:=main_Form.Database1.DatabaseName;
        Close;
        SQL.Clear;
        SQL.Add(sqlstr);
        ExecSQL;
        finally
        Free;
        end;
    end;
    close;
end;

procedure Tsf_Form.FormCreate(Sender: TObject);
var
    xbdm,gydm,xh,sqlstr:string;
begin
    sfrq_DTP.DateTime:=now;
    xm_LEdit.Text:=sfgl_Form.Query1.fieldbyname('xm').AsString;
    xh_LEdit.Text:=sfgl_Form.Query1.fieldbyname('xh').AsString;
    xh:=sfgl_Form.Query1.fieldbyname('xh').AsString;
    with tquery.Create(nil) do
    begin
        try
        sessionName:=main_Form.Database1.SessionName;
        DatabaseName:=main_Form.Database1.DatabaseName;
        sqlstr:='select isnull(sum(sfje),0) as yjsf from [sfb] where(xh='''+xh+''')';
        Close;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        yjsf_LEdit.Text:=fieldbyname('yjsf').AsString;
        xbdm:=sfgl_Form.Query1.fieldbyname('xbdm').AsString;
        sqlstr:='select * from [xbdm] where(xbdm='''+xbdm+''')';
        Close;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        xf_LEdit.Text:=fieldbyname('xf').AsString;
        qtf_LEdit.Text:=fieldbyname('qtf').AsString;
        gydm:=sfgl_Form.Query1.fieldbyname('gydm').AsString;
        sqlstr:='select * from [gydm] where(gydm='''+gydm+''')';
        Close;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        gyf_LEdit.Text:=fieldbyname('sfje').AsString;
        finally
        Free;
        end;
    end;
    hj_LEdit.Text:=floattostr(strtofloat(xf_LEdit.Text)+strtofloat(gyf_LEdit.Text)+strtofloat(qtf_LEdit.Text));
    je_LEdit.Text:=floattostr(strtofloat(hj_LEdit.Text)-strtofloat(yjsf_LEdit.Text));
end;

procedure Tsf_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;

end.

⌨️ 快捷键说明

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