📄 gssr.pas
字号:
end;
end;
procedure TgssrForm.gs_ssQqExit(Sender: TObject);
begin
if gs_ssQq.Text=''then
begin
gs_ssQq.Text:='0';
end;
if not IsNumeric(gs_ssQq.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_ssQq.SetFocus;
end
else
begin
if(frac(strtofloat(gs_ssQq.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_ssQq.SetFocus;
end;
end;
Jisuan2;
end;
procedure TgssrForm.gs_ssTgExit(Sender: TObject);
begin
if gs_ssTg.Text=''then
begin
gs_ssTg.Text:='0';
end;
if not IsNumeric(gs_ssTg.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_ssTg.SetFocus;
end
else
begin
if(frac(strtofloat(gs_ssTg.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_ssTg.SetFocus;
end;
end;
Jisuan2;
end;
procedure TgssrForm.gs_ssGfExit(Sender: TObject);
begin
if gs_ssGf.Text=''then
begin
gs_ssGf.Text:='0';
end;
if not IsNumeric(gs_ssGf.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_ssGf.SetFocus;
end
else
begin
if(frac(strtofloat(gs_ssGf.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_ssGf.SetFocus;
end;
end;
Jisuan2;
end;
procedure TgssrForm.gs_elCpExit(Sender: TObject);
begin
if gs_elCp.Text=''then
begin
gs_elCp.Text:='0';
end;
if not IsNumeric(gs_elCp.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_elCp.SetFocus;
gs_elCp.SelectAll;
end
else
begin
if(frac(strtofloat(gs_elCp.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_elCp.SetFocus;
gs_elCp.SelectAll;
end;
end;
Jisuan3;
end;
procedure TgssrForm.gs_elCpSdExit(Sender: TObject);
begin
if gs_elCpSd.Text=''then
begin
gs_elCpSd.Text:='0';
end;
if not IsNumeric(gs_elCpSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_elCpSd.SetFocus;
gs_elCpSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_elCpSd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_elCpSd.SetFocus;
gs_elCpSd.SelectAll;
end;
end;
TsSdJisuan;
end;
procedure TgssrForm.gs_elfCpExit(Sender: TObject);
begin
if gs_elfCp.Text='' then
begin
gs_elfCp.Text:='0';
end;
if not IsNumeric(gs_elfCp.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_elfCp.SetFocus;
gs_elfCp.SelectAll;
end
else
begin
if(frac(strtofloat(gs_elfCp.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_elfCp.SetFocus;
gs_elfCp.SelectAll;
end;
end;
Jisuan3;
end;
procedure TgssrForm.gs_elfCpSdExit(Sender: TObject);
begin
if gs_elfCpSd.Text=''then
begin
gs_elfCpSd.Text:='0';
end;
if not IsNumeric(gs_elfCpSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_elfCpSd.SetFocus;
gs_elfCpSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_elfCpSd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_elfCpSd.SetFocus;
gs_elfCpSd.SelectAll;
end;
end;
TsSdJisuan;
end;
procedure TgssrForm.gs_scRwExit(Sender: TObject);
begin
if gs_scRw.Text=''then
begin
gs_scRw.Text:='0';
end;
if not IsNumeric(gs_scRw.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_scRw.SetFocus;
gs_scRw.SelectAll;
end
else
begin
if(frac(strtofloat(gs_scRw.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_scRw.SetFocus;
gs_scRw.SelectAll;
end;
end;
Jisuan3;
end;
procedure TgssrForm.gs_scRwSdExit(Sender: TObject);
begin
if gs_scRwSd.Text=''then
begin
gs_scRwSd.Text:='0';
end;
if not IsNumeric(gs_scRwSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_scRwSd.SetFocus;
gs_scRwSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_scRwSd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_scRwSd.SetFocus;
gs_scRwSd.SelectAll;
end;
end;
TsSdJisuan;
end;
procedure TgssrForm.gs_ybExit(Sender: TObject);
begin
if gs_yb.Text=''then
begin
gs_yb.Text:='0';
end;
if not IsNumeric(gs_yb.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_yb.SetFocus;
end
else
begin
if(frac(strtofloat(gs_yb.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_yb.SetFocus;
end;
end;
end;
procedure TgssrForm.gs_txExit(Sender: TObject);
begin
if gs_tx.Text=''then
begin
gs_tx.Text:='0';
end;
if not IsNumeric(gs_tx.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_tx.SetFocus;
end
else
begin
if(frac(strtofloat(gs_tx.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_tx.SetFocus;
end;
end;
end;
procedure TgssrForm.gs_jbExit(Sender: TObject);
begin
if gs_jb.Text=''then
begin
gs_jb.Text:='0';
end;
if not IsNumeric(gs_jb.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_jb.SetFocus;
end
else
begin
if(frac(strtofloat(gs_jb.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_jb.SetFocus;
end;
end;
Jisuan3;
tsSdJisuan;
zwcJisuan;
ZsdJisuan;
end;
procedure TgssrForm.Jisuan3; //Compute 'Taishi Gongshi'
var
gs_tsInt,gs_tsFrac,remain1:double;
begin
if (gs_cpXj.Text<>'')and (gs_elCp.Text<>'') and (gs_elfCp.Text<>'')and (gs_scRw.Text<>'') then
begin
gs_tsInt:=Int(strtofloat(gs_cpXj.Text))+Int(strtofloat(gs_elCp.Text))+
Int(strtofloat(gs_elfCp.Text))+Int(strtofloat(gs_scRw.Text));
gs_tsFrac:=Frac(strtofloat(gs_cpXj.Text))*100+Frac(strtofloat(gs_elCp.Text))*100+
Frac(strtofloat(gs_elfCp.Text))*100+Frac(strtofloat(gs_scRw.Text))*100;
remain1:=Int(gs_tsFrac/ 60.0);
gs_tsFrac:=(gs_tsFrac-remain1*60.0)/100.0;
gs_ts.text:=floattostr(gs_tsInt+gs_tsFrac+remain1);
end;
end;
procedure TgssrForm.TsSdJisuan; //Compute 'Taishi shidong Gongshi'
var
gs_tsSdInt,gs_tsSdFrac,tsSdRemain:double;
begin
if (gs_cpSd.Text<>'')and (gs_elCpSd.Text<>'') and (gs_elfCpSd.Text<>'')and (gs_scRwSd.Text<>'') then
begin
gs_tsSdInt:=Int(strtofloat(gs_cpSd.Text))+Int(strtofloat(gs_elCpSd.Text))+
Int(strtofloat(gs_elfCpSd.Text))+Int(strtofloat(gs_scRwSd.Text));
gs_tsSdFrac:=Frac(strtofloat(gs_cpSd.Text))*100+Frac(strtofloat(gs_elCpSd.Text))*100+
Frac(strtofloat(gs_elfCpSd.Text))*100+Frac(strtofloat(gs_scRwSd.Text))*100;
tsSdRemain:=Int(gs_tsSdFrac/ 60.0);
gs_tsSdFrac:=(gs_tsSdFrac-tsSdRemain*60.0)/100.0;
gs_tsSd.text:=floattostr(gs_tsSdInt+gs_tsSdFrac+tsSdRemain);
end;
end;
procedure TgssrForm.gs_bcCpExit(Sender: TObject);
begin
if gs_bcCp.Text=''then
begin
gs_bcCp.Text:='0';
end;
if not IsNumeric(gs_bcCp.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_bcCp.SetFocus;
gs_bcCp.SelectAll;
end
else
begin
if(frac(strtofloat(gs_bcCp.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_bcCp.SetFocus;
gs_bcCp.SelectAll;
end;
end;
ZwcJisuan;
end;
procedure TgssrForm.gs_bcCpSdExit(Sender: TObject);
begin
if gs_bcCpSd.Text=''then
begin
gs_bcCpSd.Text:='0';
end;
if not IsNumeric(gs_bcCpSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_bcCpSd.SetFocus;
gs_bcCpSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_bcCpSd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_bcCpSd.SetFocus;
gs_bcCpSd.SelectAll;
end;
end;
ZsdJisuan;
end;
procedure TgssrForm.gs_bcfCpExit(Sender: TObject);
begin
if gs_bcfCp.Text=''then
begin
gs_bcfCp.Text:='0';
end;
if not IsNumeric(gs_bcfCp.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_bcfCp.SetFocus;
gs_bcfCp.SelectAll;
end
else
begin
if(frac(strtofloat(gs_bcfCp.Text))*100)>60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_bcfCp.SetFocus;
gs_bcfCp.SelectAll;
end;
end;
ZwcJisuan;
end;
procedure TgssrForm.gs_bcfCpSdExit(Sender: TObject);
begin
if gs_bcfCpSd.Text=''then
begin
gs_bcfCpSd.Text:='0';
end;
if not IsNumeric(gs_bcfCpSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_bcfCpSd.SetFocus;
gs_bcfCpSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_bcfCpSd.Text))*100)>60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_bcfCpSd.SetFocus;
gs_bcfCpSd.SelectAll;
end;
end;
ZsdJisuan;
end;
procedure TgssrForm.ZwcJisuan; // 计算总完成工时
var
gs_zwcInt,gs_zwcFrac,zwcRemain:double;
begin
if (gs_ts.Text<>'')and (gs_bcCp.Text<>'') and (gs_bcfCp.Text<>'') then
begin
gs_zwcInt:=Int(strtofloat(gs_ts.Text))+Int(strtofloat(gs_bcCp.Text))+
Int(strtofloat(gs_bcfCp.Text));
gs_zwcFrac:=Frac(strtofloat(gs_ts.Text))*100+Frac(strtofloat(gs_bcCp.Text))*100+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -