pmgg.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 447 行
PAS
447 行
unit pmgg;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, Buttons, ExtCtrls, Db, ADODB, ComCtrls, Gauges;
type
TFormpmgg = class(TForm)
Panel5: TPanel;
RG1: TRadioGroup;
GroupBox3: TGroupBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label4: TLabel;
Label5: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
Qry1: TADOQuery;
Qry2: TADOQuery;
Label1: TLabel;
Panel1: TPanel;
Gauge1: TGauge;
Label3: TLabel;
GroupBox1: TGroupBox;
Label8: TLabel;
Label10: TLabel;
MaskEdit1: TMaskEdit;
Memo1: TMemo;
DateTimePicker1: TDateTimePicker;
ComboBox2: TComboBox;
Label2: TLabel;
Label6: TLabel;
ComboBox3: TComboBox;
Label7: TLabel;
Edit2: TEdit;
Label9: TLabel;
Edit3: TEdit;
Label11: TLabel;
ADOQuery1: TADOQuery;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Edit7: TEdit;
Label20: TLabel;
Label21: TLabel;
Edit8: TEdit;
procedure RG1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure ListBox1DblClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Formpmgg: TFormpmgg;
implementation
uses main,publicfunction,datamol,pieinput;
{$R *.DFM}
procedure TFormpmgg.RG1Click(Sender: TObject);
begin
if rg1.ItemIndex=0 then
begin
combobox1.enabled:=false;
listbox1.enabled:=false;
speedbutton1.enabled:=false;
speedbutton2.enabled:=false;
Listbox2.clear;
Qry1.close;
Qry1.sql.text:='Select gg_no,gg_name from piegg ';
Qry1.open;
while not Qry1.eof do
begin
listbox2.Items.Add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_no').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+
Qry1.fieldbyname('gg_name').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_name').asstring)));
Qry1.next;
end;
end else
begin
combobox1.enabled:=true;
listbox1.enabled:=true;
speedbutton1.enabled:=true;
speedbutton2.enabled:=true;
end;
end;
procedure TFormpmgg.ComboBox1Change(Sender: TObject);
begin
if length(combobox1.text)>11 then
begin
listbox1.Items.Clear;
Qry1.close;
Qry1.SQL.Text:='select gg_no,gg_name from piegg where gg_no='''+trim(copy(combobox1.text,1,20))+''' ';
Qry1.Open;
if Qry1.eof then
Application.MessageBox('没有该规格,规格编号有误','Error',mb_ok+mb_iconerror)
else begin
Qry1.close; //选出该部门所有的员工
Qry1.SQL.Clear;
Qry1.SQL.Text:='select gg_no,gg_name from piegg where gg_no='''+trim(copy(combobox1.text,1,20))+'''order by gg_no';
Qry1.Open;
while not Qry1.Eof do //不为空,就把它加入listbox1(工号,姓名,性别)中,等待user选择
begin
listbox1.Items.Add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_no').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+
Qry1.fieldbyname('gg_name').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_name').asstring)));
Qry1.Next;
end;
end;
Qry1.Close;
end;
end;
procedure TFormpmgg.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
listbox1.Items.Clear;
Qry1.close;
Qry1.SQL.Text:='select gg_no,gg_name from piegg where gg_no='''+trim(copy(combobox1.text,1,20))+'''order by gg_no';
Qry1.Open;
if Qry1.eof then
Application.MessageBox('没有该规格,规格编号有误','Error',mb_ok+mb_iconerror)
else begin
Qry1.SQL.Clear;
Qry1.SQL.Text:='select gg_no,gg_name from piegg where gg_no='''+trim(copy(combobox1.text,1,20))+'''order by gg_no';
Qry1.Open;
Qry1.Open;
while not Qry1.Eof do //不为空,就把它加入listbox1(工号,姓名,性别)中,等待user选择
begin
listbox1.Items.Add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_no').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+
Qry1.fieldbyname('gg_name').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_name').asstring)));
Qry1.Next;
end;
end;
Qry1.Close;
end;
end;
procedure TFormpmgg.Edit1KeyPress(Sender: TObject; var Key: Char);
var
i,p:integer;
have:boolean;
begin
if key=#13 then
begin
have:=false;
p:=-1;
for i:=0 to Listbox2.Items.Count-1 do
begin
if ansicomparetext(trim(copy(listbox2.items[i],1,20)),Edit1.text)=0 then
begin
have:=true;
p:=i;
end;
end;
if not have then
begin
Qry1.Close;
Qry1.sql.text:='Select gg_no,gg_name from piegg where ggno='''+Edit1.text+''' ';
Qry1.open;
if not Qry1.eof then
begin
listbox2.Items.Add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_no').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+
Qry1.fieldbyname('gg_name').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_name').asstring)));
listbox2.ItemIndex:=Listbox2.Items.count-1;
end else
Application.MessageBox('没有该规格编号','Error',mb_ok+mb_iconerror);
end;
listbox2.ItemIndex:=p;
edit1.Clear;
end;
end;
procedure TFormpmgg.ListBox1DblClick(Sender: TObject);
begin
if listbox2.items.indexof(listbox1.items[listbox1.itemindex])<0 then
listbox2.items.add(listbox1.items[listbox1.itemindex]);
end;
procedure TFormpmgg.SpeedButton1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
begin
if listbox1.Selected[i] then
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.Items.add(listbox1.items[i]);
end;
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure TFormpmgg.SpeedButton2Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.items.add(listbox1.items[i]);
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure TFormpmgg.SpeedButton3Click(Sender: TObject);
var i,j,k:integer;
list:TStringList;
begin
j:=0;
list:=TStringList.Create;
for i:=0 to listbox2.items.count-1 do
list.add(listbox2.items[i]);
//for i:=0 to listbox2.items.count-1 do
// begin
//j:=i;
//break;
//end;
k:=0;
for i:=0 to listbox2.items.count-1 do
if listbox2.Selected[i] then
begin
j:=i;
list.delete(j-k);
inc(k);
end;
listbox2.items.clear;
for i:=0 to list.Count-1 do
listbox2.Items.Add(list.Strings[i]);
for i:=0 to list.count-1 do
if j=list.count then
begin
listbox2.selected[j-1]:=true;
end else
begin
listbox2.selected[j]:=true;
break;
end ;
// else
// begin
//listbox2.itemindex:=j;
//listbox2.selected[j]:=true
// end;
////////////////////////////////
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure TFormpmgg.SpeedButton4Click(Sender: TObject);
begin
listbox2.clear;
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure TFormpmgg.FormCreate(Sender: TObject);
begin
datetimepicker1.date:=now;
listbox1.items.clear;
listbox2.items.clear;
Qry1.close;
Qry1.sql.text:='Select gg_no,gg_name from piegg ';
Qry1.open;
combobox1.items.clear;
combobox2.items.clear;
combobox3.items.clear;
While not Qry1.eof do
begin
Combobox1.Items.add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+Qry1.fieldbyname('gg_no').asstring);
qry1.next;
end;
// Qry1.close;
//Qry1.sql.text:='Select * from lab01010 ';
//Qry1.open;
end;
procedure TFormpmgg.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
Selectnext(activecontrol,true,true);
end;
end;
procedure TFormpmgg.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0042');
end;
end;
procedure TFormpmgg.DateTimePicker1CloseUp(Sender: TObject);
begin
maskedit1.text:=datetostr(datetimepicker1.date);
end;
procedure TFormpmgg.Button1Click(Sender: TObject);
var i,ygbhcd,id:integer;
hangh:string;
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='delete pie02013 where pm_no='''+Formpieset.ADOpie_procnopm_no.asstring+''' ';
adoquery1.execsql;
adoquery1.Close;
with datamod do
begin
//if not isdate(maskedit1.text) then
// begin
// application.messagebox('请输入正确的日期,否则将不能保存!','Warning',mb_ok+mb_iconwarning);
// maskedit1.setfocus;
// exit;
// end; //if
Panel1.Visible:=true;
Gauge1.MaxValue:=Listbox2.Items.Count;
Gauge1.Progress :=0;
adopublic.open;
//ygbhcd:=adopublicworknolength.AsInteger;
// adoquery1.close;
//adoquery1.sql.clear;
//adoQuery1.sql.text:='Insert into pie (diaono,rq,ndept,odept,diaodongtime,diaodongtime2,diaodongtime3,diaodongtime4,gongzl,memo,operater,cdate,money) '+
// 'Select '+edit8.text+','''+maskedit1.text+''','''+combobox3.text+''','''+combobox2.text+''','+edit2.text+','+edit4.text+','+edit5.text+','+edit6.text+','+edit3.text+','''+memo1.text+''','''+pubworkname+''','''+formatdatetime('yyyy/mm/dd',date)+''','''+edit7.text+''' ';
//adoquery1.execsql;
For i:=0 to Listbox2.Items.Count -1 do
begin
hanGh:=Copy(Listbox2.Items[i],1,20 );
try
Query1.close;
Query1.sql.clear;
//query1.sql.text:='insert into saldiaodong2(workno,rq,ndept,odept,operater,cdate) select '''+hanGh+''','''+maskedit1.text+''','''+combobox3.text+''','''+combobox2.text+''','''+pubworkname+''','''+formatdatetime('yyyy/mm/dd',date)+''' ';
Query1.sql.text:='Insert into pie02013(pm_no,gg_no,gg_name) '+
'Select '''+Formpieset.ADOpie_procnopm_no.asstring+''',a.gg_no,a.gg_name from piegg a where a.gg_no='''+hanGh+''' ';
Query1.execsql;
except
end;
Gauge1.AddProgress(1);
end;
//for
panel1.visible:=false;
adopublic.close;
formpieset.ADOpie_procno.close;
Formpieset.ADOpie_procno.open;
formpieset.adopm_gg.close;
Formpieset.ADOpm_gg.open;
end; //with
id:=Application.messagebox('继续新增吗?','请问',mb_yesnocancel+mb_iconquestion);
if id=6 then //Yes
close
// adodataset1.append
else if id=7 then //No
close;
end;
procedure TFormpmgg.Edit3Exit(Sender: TObject);
begin
//edit7.text:=(((edit2.text).asinteger+1.5*(edit4.text).asinteger+2*(edit5.text).asinteger+3*(edit6.text).asinteger)*(edit3.text).asinteger).asstring;
edit7.text:=floattostr((strtofloat(edit2.text)+strtofloat(edit4.text)*1.5+strtofloat(edit5.text)*2+strtofloat(edit6.text)*3)*strtofloat(edit3.text));
end;
procedure TFormpmgg.Edit1Exit(Sender: TObject);
var
i,p:integer;
have:boolean;
begin
// if key=#13 then
///begin
have:=false;
p:=-1;
for i:=0 to Listbox2.Items.Count-1 do
begin
if ansicomparetext(trim(copy(listbox2.items[i],1,20)),Edit1.text)=0 then
begin
have:=true;
p:=i;
end;
end;
if not have then
begin
Qry1.Close;
Qry1.sql.text:='Select gg_no,gg_name from piegg where gg_no='''+Edit1.text+'''';
Qry1.open;
if not Qry1.eof then
begin
listbox2.Items.Add(Qry1.fieldbyname('gg_no').asstring+copychar(' ',Qry1.fieldbyname('gg_no').size-length(Qry1.fieldbyname('gg_no').asstring))+' '+
Qry1.fieldbyname('gg_name').asstring+copychar(' ',Qry1.fieldbyname('gg_name').size-length(Qry1.fieldbyname('gg_name').asstring)));
listbox2.ItemIndex:=Listbox2.Items.count-1;
end else
Application.MessageBox('没有该规格编号','Error',mb_ok+mb_iconerror);
end;
listbox2.ItemIndex:=p;
edit1.Clear;
label1.caption:=inttostr(listbox2.items.count);
label1.update;
//end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?