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

📄 gzgl.pas

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

interface

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

type
  Tgzgl_Form = class(TForm)
    GroupBox1: TGroupBox;
    bmdm_CBox: TComboBox;
    ygbh_CBox: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    cmdok: TButton;
    cmdclose: TButton;
    Label4: TLabel;
    rq_DTP: TDateTimePicker;
    StatusBar1: TStatusBar;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    gzbh_LEdit: TLabeledEdit;
    xm_LEdit: TLabeledEdit;
    gzrq_DTP: TDateTimePicker;
    zwdm_CBox: TComboBox;
    zcdm_CBox: TComboBox;
    ygbh_LEdit: TLabeledEdit;
    ListView1: TListView;
    zwgz_LEdit: TLabeledEdit;
    zcgz_LEdit: TLabeledEdit;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure bmdm_CBoxChange(Sender: TObject);
    procedure cmdokClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cmdcloseClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  gzgl_Form: Tgzgl_Form;

implementation

uses main, modigz;

{$R *.dfm}

procedure Tgzgl_Form.FormCreate(Sender: TObject);
begin
    rq_DTP.DateTime:=now;
    with TQuery.Create(nil) do
    try
    Close;
    SQL.Clear;
    SQL.Add('select * from bmdm order by bmdm');
    Open;
    First;
    while not Eof do
    begin
        bmdm_cbox.Items.Add(fieldbyname('bmmc').AsString);
        Next;
    end;
    bmdm_CBox.ItemIndex:=0;
    Close;
    SQL.Clear;
    SQL.Add('select * from zwdm order by zwdm');
    Open;
    First;
    while not Eof do
    begin
        zwdm_cbox.Items.Add(fieldbyname('zwmc').AsString);
        Next;
    end;
    zwdm_CBox.ItemIndex:=0;
    Close;
    SQL.Clear;
    SQL.Add('select * from zcdm order by zcdm');
    Open;
    First;
    while not Eof do
    begin
        zcdm_cbox.Items.Add(fieldbyname('zcmc').AsString);
        Next;
    end;
    zcdm_CBox.ItemIndex:=0;
    finally
    Free;
    end;
end;

procedure Tgzgl_Form.bmdm_CBoxChange(Sender: TObject);
var
    bmdm,sqlstr:string;
begin
    bmdm:=inttostr(bmdm_CBox.ItemIndex);
    sqlstr:='select bh,xm from ygb where(bmdm='''+bmdm+''')';
    with TQuery.Create(nil) do
    try
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    First;
    ygbh_CBox.Items.Clear;
    ListView1.Items.Clear;
    while not Eof do
    begin
        ygbh_cbox.Items.Add(fieldbyname('bh').AsString+'&'+fieldbyname('xm').AsString);
        Next;
    end;
    if ygbh_CBox.Items.Count> 0 then
    begin
        cmdok.Enabled:=true;
        ygbh_CBox.ItemIndex:=0;
    end
    else
        cmdok.Enabled:=false;
    finally
    Free;
    end;
end;

procedure Tgzgl_Form.cmdokClick(Sender: TObject);
var
    i:integer;
    zwdm,zcdm,gzbh,ygbh,sqlstr:string;
    ListItem: TListItem;
    zgz:real;
begin
    gzbh:=formatdatetime('yyyymmdd',rq_DTP.DateTime);
    gzbh:=copy(gzbh,1,6);
    sqlstr:='select * from gzb where(gzbh='''+gzbh+''')';
    with TQuery.Create(nil) do
    try
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    if recordcount = 0 then
    begin
        ShowMessage('该月的工资表还没有创建,请选择其它月份!');
        exit;
    end;
    gzbh_LEdit.Text:=gzbh;
    i:=pos('&',trim(ygbh_CBox.Text));
    ygbh:=copy(trim(ygbh_CBox.Text),1,i-1);
    sqlstr:='select * from ygb where(bh='''+ygbh+''')';
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    ygbh_LEdit.Text:=fieldbyname('bh').AsString;
    xm_LEdit.Text:=fieldbyname('xm').AsString;
    gzrq_DTP.DateTime:=fieldbyname('gzrq').AsDateTime;
    zwdm_CBox.ItemIndex:=fieldbyname('zwdm').AsInteger;
    zcdm_CBox.ItemIndex:=fieldbyname('zcdm').AsInteger;
    sqlstr:='select * from gzb where(gzbh='''+gzbh+''')and(ygbh='''+ygbh+''')';
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    ListView1.Items.Clear;
    while not Eof do
    begin
        with listview1 do
        begin
            listitem:=Items.Add;
            listitem.Caption:=fieldbyname('gzmc').AsString;
            listitem.SubItems.Add(fieldbyname('gzje').AsString);
            listitem.SubItems.Add(fieldbyname('gzdm').AsString);
        end;
        Next;
    end;
    zwdm:=inttostr(zwdm_CBox.ItemIndex);
    sqlstr:='select * from zwdm where(zwdm='''+zwdm+''')';
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    zwgz_LEdit.Text:=fieldbyname('zwgz').AsString;
    zcdm:=inttostr(zcdm_CBox.ItemIndex);
    sqlstr:='select * from zcdm where(zcdm='''+zcdm+''')';
    Close;
    SQL.Clear;
    SQL.Add(sqlstr);
    Open;
    zcgz_LEdit.Text:=fieldbyname('zcgz').AsString;
    finally
    Free;
    end;
    zgz:=strtofloat(zwgz_ledit.Text)+strtofloat(zcgz_LEdit.Text);
    for i:=0 to ListView1.Items.Count-1 do
    begin
        zgz:=zgz+strtofloat(ListView1.Items[i].SubItems[0]);
    end;
    StatusBar1.SimpleText:=xm_LEdit.Text+'的实发工资为:'+format('%2f',[zgz]);
end;

procedure Tgzgl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=caFree;
    mainform.N42.Enabled:=true;
end;

procedure Tgzgl_Form.cmdcloseClick(Sender: TObject);
begin
    close;
end;

procedure Tgzgl_Form.N1Click(Sender: TObject);
begin
    Application.CreateForm(Tmodigz_form, modigz_Form);
    modigz_form.ShowModal;
end;

end.

⌨️ 快捷键说明

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