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

📄 gssr.pas

📁 制造企业工时定额管理之录入
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    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 + -