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

📄 faceinfo_unt.pas

📁 煤矿行业采掘接替计划自动生成系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      exit;
    end;
  if DBEdit2.Text='' then
    begin
      showmessage('请确定该回采面的采高!');
      DBEdit2.SetFocus;
      exit;
    end;
  if DBEdit3.Text='' then
    begin
      showmessage('请确定该回采面的面长!');
      DBEdit3.SetFocus;
      exit;
    end;
  if DBEdit11.Text='' then
    begin
      showmessage('请确定检修时间!');
      DBEdit11.SetFocus;
      exit;
    end;
  if (DBEdit9.Text='') then
    begin
      showmessage('请确定平均日产量!');
      DBEdit9.SetFocus;
      exit;
    end;
  with Base_DataS.DataSet do
    begin
      PushL:=FieldByName('Push_Length').AsInteger;
      MinedL:=FieldByName('Finish_Length').AsInteger;
      FaceL:=FieldByName('Face_Length').AsInteger;
      AverageDayOut:=FieldByName('Day_OutPut').AsInteger;
      //CycleOut:=FieldByName('Cycle_OutPut').AsInteger;
      H:=FieldByName('Mine_Height').AsFloat;
      Consistency:=FieldByName('Consistency').AsFloat;
      DayProg:=FieldByName('Day_Progress').AsFloat;
      RepairT:=FieldByName('Repair_Time').AsInteger;
      CycleOut:=round(FaceL*H*DayProg*Consistency);
      TaskT:=round(((PushL-MinedL)/(DayProg))/(AverageDayOut/CycleOut))+RepairT;
      Edit;
      FieldByName('Cycle_OutPut').AsInteger:=CycleOut;
      FieldByName('TaskTime').AsInteger:=TaskT;//总工期,包括检修时间
    end;
  inherited;

end;

procedure TFaceInfo_Frm.DBLookupComboBox3KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
State1,Push_L:integer;
begin
  if key=VK_RETURN then
    begin
      if DBLookUpComboBox3.Text='' then
        begin
          showmessage('请确定该回采面的状态!');
          DBLookUpComboBox3.SetFocus;
          exit;
        end;
      //根据工作面的状态指定已采长度
      if DBEdit4.Text='' then
        begin
          showmessage('请确定该回采面的推进长度!');
          DBEdit4.SetFocus;
          exit;
        end;
      State1:=MineState_DataS.DataSet.fieldbyname('State_Id').AsInteger;
      Push_L:=strtoint(DBEdit4.Text);
      Base_DataS.DataSet.Edit;
      if State1=0 then //如果已经回采完毕,则已采长度等于推进长度
          Base_DataS.DataSet.FieldByName('Finish_Length').AsInteger:=Push_L;
      if State1=2 then //如果是待采状态,则已采长度为0
          Base_DataS.DataSet.FieldByName('Finish_Length').AsInteger:=0;

      DBEdit7.SetFocus;
    end;

end;

procedure TFaceInfo_Frm.DBEdit9KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
H,p,W,L,Remain:single;
TaskT,Day_OutPut,Cycle_OutPut:integer;
RollerW:single;
begin
  if key=VK_RETURN then
    begin
      if DBEdit4.Text='' then
        begin
          showmessage('请确定该回采面的推进长度!');
          DBEdit4.SetFocus;
          exit;
        end;
      if DBEdit7.Text='' then
        begin
          showmessage('请确定该回采面已经回采的长度,若是新回采面请输入0!');
          DBEdit7.SetFocus;
          exit;
        end;
      if DBEdit6.Text='' then
        begin
          showmessage('请确定该回采面的比重!');
          DBEdit6.SetFocus;
          exit;
        end;
      if DBEdit2.Text='' then
        begin
          showmessage('请确定该回采面的采高!');
          DBEdit2.SetFocus;
          exit;
        end;
      if DBEdit3.Text='' then
        begin
          showmessage('请确定该回采面的面长!');
          DBEdit3.SetFocus;
          exit;
        end;
      if VarIsNull(Base_DataS.DataSet.fieldbyName('Technic_Type').Value) then
        begin
          showmessage('请确定该回采面的回采工艺!');
          DBLookUpComboBox1.SetFocus;
          exit;
        end;
      Day_OutPut:=-1;
      if DBEdit9.Text<>'' then Day_OutPut:=strtoint(DBEdit9.Text); //平均日产量
      //计算日进度
      RollerW:=-1;
      if Base_DataS.DataSet.FieldByName('Technic_Type').AsInteger=3 then
        RollerW:=0.6;//对于综采面,指定滚筒宽度为0.6米
      H:=strtofloat(DBEdit2.Text);
      W:=strtofloat(DBEdit3.Text);
      //L:=L1-L2;
      p:=strtofloat(DBEdit6.Text);
      //p:=Coal_DataS.DataSet.FieldByName('Density').AsFloat;
      L:=-1;
      if (abs(Day_OutPut)>10E-5)and(abs(W*H*p)>10E-5) then L:=Day_OutPut/(W*H*p);
      if abs(L)>10E-5
        then
          begin
            if abs(RollerW)>1E-7 then L:=round(L/RollerW)*RollerW;
            Cycle_OutPut:=trunc(W*L*H*p);
            Base_DataS.DataSet.Edit;
            Base_DataS.DataSet.FieldByName('Day_Progress').AsFloat:=L;
            Base_DataS.DataSet.FieldByName('Cycle_OutPut').AsInteger:=Cycle_OutPut;
          end
        else
          begin
          end;
      //计算工期
      {Remain:=-1;

      if DBEdit8.Text<>'' then Remain:=strtofloat(DBEdit8.Text);
      TaskT:=0;
      if (abs(Remain)>10E-5)and(abs(Day_OutPut)>10E-5) then TaskT:=round(10000*Remain/Day_OutPut);
      if TaskT>0 then
        begin
          Base_DataS.DataSet.Edit;
          Base_DataS.DataSet.FieldByName('TaskTime').AsInteger:=TaskT;
        end;}
      DBEdit5.SetFocus; 
    end;

end;

procedure TFaceInfo_Frm.DBLookupComboBox4KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
 if key=VK_RETURN then DBEdit7.SetFocus;

end;

procedure TFaceInfo_Frm.DBEdit7KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
L,L1,L2:integer;
H,p,W,Remain:single;
begin
  if key=VK_RETURN then
    begin
      if DBEdit4.Text='' then
        begin
          showmessage('请确定该回采面的推进长度!');
          DBEdit4.SetFocus;
          exit;
        end;
      if DBEdit7.Text='' then
        begin
          showmessage('请确定该回采面已经回采的长度,若是新回采面请输入0!');
          DBEdit7.SetFocus;
          exit;
        end;
      if DBEdit6.Text='' then
        begin
          showmessage('请确定该回采面的比重!');
          DBEdit6.SetFocus;
          exit;
        end;
      if DBEdit2.Text='' then
        begin
          showmessage('请确定该回采面的采高!');
          DBEdit2.SetFocus;
          exit;
        end;
      if DBEdit3.Text='' then
        begin
          showmessage('请确定该回采面的面长!');
          DBEdit3.SetFocus;
          exit;
        end;
      L1:=strtoint(DBEdit4.Text); //工作面设计长度
      L2:=strtoint(DBEdit7.Text); //工作面已采长度
      if L2>L1 then
        begin
          showmessage('工作面的已采长度不能大于设计的推进长度,请修改!');
          exit;
        end;
      //计算剩余储量
      H:=strtofloat(DBEdit2.Text);
      W:=strtofloat(DBEdit3.Text);
      L:=L1-L2;
      p:=strtofloat(DBEdit6.Text);
      //p:=Coal_DataS.DataSet.FieldByName('Density').AsFloat;
      Remain:=H*W*L*p/10000;
      Base_DataS.DataSet.Edit;
      Base_DataS.DataSet.FieldByName('Remain_Reserve').AsFloat:=Remain;
      DBEdit8.SetFocus;
    end;

end;

procedure TFaceInfo_Frm.DBEdit8KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_RETURN then DBEdit9.SetFocus;

end;

procedure TFaceInfo_Frm.FormCreate(Sender: TObject);
begin
  inherited;
  try
    Area_ADOQ.Active:=true;
  except
    showmessage('数据库连接有问题!(数据控件Area_ADOQ连接有问题)');
  end;
end;

procedure TFaceInfo_Frm.DBEdit6KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_RETURN then DBLookupComboBox2.SetFocus;
end;

procedure TFaceInfo_Frm.DBEdit10KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then BitBtn3.SetFocus;

end;

procedure TFaceInfo_Frm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  FaceParaAdjust:=false;  //当关闭回采面窗体时,使回采面参数调整状态为假
end;

procedure TFaceInfo_Frm.DBEdit4Exit(Sender: TObject);
var
L:integer;
begin
  if FaceParaAdjust then
     begin
       L:=strtoint(DBEdit4.Text)-strtoint(DBEdit7.Text);
       //if (L>0)and(strtofloat(DBEdit5.Text)<>0) then
         //DBEdit10.Text:=inttostr(round(L/strtofloat(DBEdit5.Text)));
     end;

end;

procedure TFaceInfo_Frm.DBEdit11KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=VK_RETURN then DBEdit10.SetFocus;

end;

end.

⌨️ 快捷键说明

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