📄 faceinfo_unt.pas
字号:
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 + -