📄 gzgl.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 + -