📄 unitorder0.pas
字号:
end;//end if
//close();
end; //SQL <> ''
SQL.Clear();
SQL.Add('Insert tx_Order(fd_SysTime, fd_LineID, fd_BianTaiID, fd_Time, fd_OrderIndex, fd_OrderType, fd_Val, fd_OrderFlag)Values(getdate(),');
SQL.Add(strLineID);
SQL.Add(',');
SQL.Add(strBianTaiID);
SQL.Add(','''',');
SQL.Add(strOrderIndex);
SQL.Add(',');
SQL.Add(strOrderType);
SQL.Add(',''');
SQL.Add(strVal);
SQL.Add(''',0)');
try
ExecSQL();
finally
end; //finally
end; //end with
end;
procedure TFormOrder0.SendOrderToServer();
var
OrderStr : string;
begin
OrderStr := char($EB) + char($90) + char($91) + '指令:' + IntToStr(OrderIndex) + ':' + IntToStr(OrderType) + ':';
MyModule.UDPClient.Send(OrderStr);
end;
procedure TFormOrder0.ShowLastMsg(StrMsg : string);
begin
//Self.Close();
//FormOrder3.WindowState:=wsMaximized; //窗体最大化显示
//FormOrder3.BorderStyle:=bsNone; //不要标题栏
//FormOrder3.Parent:=Panel; //父亲窗口
FormOrder3.Parent := FormMain.Panel;
FormOrder3.Width := FormMain.Panel.Width;
FormOrder3.Height := FormMain.Panel.Height;
FormOrder3.OrderIndex := OrderIndex;
FormOrder3.OrderType := OrderType;
FormOrder3.ListView.Items.Clear();
FormOrder3.OrderCount := ListView.Items.Count;
FormOrder3.OrderDelay := (FormMain.iWaitTime * 4);
//FormOrder3.ResetListColumnsTitle();
FormOrder3.ResetTabSheetVisible();
//FormOrder3.MemoMsg.Lines.Clear();
//FormOrder3.MemoMsg.Lines.Add(StrMsg);
FormOrder3.MemoMsg.Lines.Insert(0, StrMsg);
//定时器定时更新数据标志打开
FormOrder3.bTimerRefresh := True;
FormOrder3.Show();
end;
procedure TFormOrder0.SendUdpOrder(OrderType : Integer; StrMsg : string);
var
i : Integer;
begin
//得到最大指令号
OrderIndex := GetMaxOrderIndex();
//指令序号
//OrderType := 1;
//写入指令库
for i:=0 to ListView.Items.Count-1 do
begin
WriteTB_Order(ListView.Items[i].SubItems.Strings[1],
ListView.Items[i].Caption,
IntToStr(OrderIndex),
IntToStr(OrderType));
end;
//发送 '指令:1:1' 到服务器端
SendOrderToServer();
//显示指令处理结构信息视图
StrMsg := '第' + IntToStr(OrderIndex) + '号' + StrMsg + ' 共计:' + IntToStr(ListView.Items.Count) + '台区';
ShowLastMsg(StrMsg);
end;
Function TFormOrder0.GetLineID(LineName:string) : string;
var
i : integer;
begin
result := '0';
for i:=0 to (FormBasic1.ListView.Items.Count - 1) do
begin
if FormBasic1.ListView.Items[i].SubItems.Strings[0] = LineName then
begin
result := FormBasic1.ListView.Items[i].Caption;
break;
end;
end;
end;
procedure TFormOrder0.TreeCancelAllSel(Sender: TObject);
begin
if TreeView.Selected <> nil then
begin
TreeView.Selected.Selected := false;
end;
end;
procedure TFormOrder0.TreeMoveAllSel(Sender: TObject);
var
i : integer;
SelectedNode : TTreeNode;
ListItem : TListItem;
iPos : Integer;
BianTaiStr : string;
BianTaiID : string;
BianTaiName : string;
begin
for i:=0 to TreeView.SelectionCount-1 do
begin
SelectedNode := TreeView.Selections[i];
//Copy Delete Pos
if (SelectedNode <> nil) and (SelectedNode.Parent <> nil)then
begin
BianTaiStr := SelectedNode.Text;
iPos := Pos(')', BianTaiStr);
BianTaiID := Copy(BianTaiStr, 2, iPos-2);
BianTaiName := Copy(BianTaiStr, iPos+1, length(BianTaiStr));
ListItem := FormOrder0.ListView.Items.Add();
ListItem.Caption := BianTaiID;
ListItem.SubItems.Add(BianTaiName);
ListItem.SubItems.Add( GetLineID(SelectedNode.Parent.Text) );
ListItem.SubItems.Add( SelectedNode.Parent.Text );
end; // end if SelectNod <> nil
end; // end for
end; // end
procedure TFormOrder0.TreeMoveAll(Sender: TObject);
var
i : integer;
Node : TTreeNode;
ListItem : TListItem;
iPos : Integer;
BianTaiStr : string;
BianTaiID : string;
BianTaiName : string;
begin
for i:=0 to TreeView.Items.Count-1 do
begin
Node := TreeView.Items[i];
//Copy Delete Pos
if (Node <> nil) and (Node.Parent <> nil)then
begin
BianTaiStr := Node.Text;
iPos := Pos(')', BianTaiStr);
BianTaiID := Copy(BianTaiStr, 2, iPos-2);
BianTaiName := Copy(BianTaiStr, iPos+1, length(BianTaiStr));
ListItem := FormOrder0.ListView.Items.Add();
ListItem.Caption := BianTaiID;
ListItem.SubItems.Add(BianTaiName);
ListItem.SubItems.Add( GetLineID(Node.Parent.Text) );
ListItem.SubItems.Add( Node.Parent.Text );
end; // end if SelectNod <> nil
end; // end for
end; // end
procedure TFormOrder0.TreeMoveCurrSel(Sender: TObject);
var
SelectedNode : TTreeNode;
ListItem : TListItem;
iPos : Integer;
BianTaiStr : string;
BianTaiID : string;
BianTaiName : string;
begin
//Copy Delete Pos
SelectedNode := TreeView.Selected;
if (SelectedNode <> nil) and (SelectedNode.Parent <> nil)then
begin
BianTaiStr := SelectedNode.Text;
iPos := Pos(')', BianTaiStr);
BianTaiID := Copy(BianTaiStr, 2, iPos-2);
BianTaiName := Copy(BianTaiStr, iPos+1, length(BianTaiStr));
ListItem := FormOrder0.ListView.Items.Add();
ListItem.Caption := BianTaiID;
ListItem.SubItems.Add(BianTaiName);
ListItem.SubItems.Add( GetLineID(SelectedNode.Parent.Text) );
ListItem.SubItems.Add( SelectedNode.Parent.Text );
end;
end;
procedure TFormOrder0.ListRemoveCurrSel(Sender: TObject);
begin
if ListView.Selected <> nil then
begin
ListView.Selected.Delete();
end;
end;
procedure TFormOrder0.ListRemoveAll(Sender: TObject);
begin
ListView.Clear;
end;
procedure TFormOrder0.ListRemoveAllSel(Sender: TObject);
begin
if ListView.Selected <> nil then
begin
ListView.DeleteSelected;
end;
end;
procedure TFormOrder0.ListDeleteReSel(Sender: TObject);
var
i : Integer;
j : Integer;
begin
for i:=(ListView.Items.Count-1) downto 0 do
for j:=0 to i-1 do
begin
if ListView.Items[i].Caption = ListView.Items[j].Caption then
begin
ListView.Items[i].Delete();
break;
end;
end;
end;
procedure TFormOrder0.ListSeekCurSel(Sender: TObject);
begin
if ListView.Selected <> nil then
begin
with MyModule.AdoQuery do
begin
Close();
SQL.Clear();
SQL.Add('select * from tx_BianTai where fd_BianTaiID =' + ListView.Selected.Caption);
try
Open();
except
ExecSQL();
end;
if RecordCount <> 0 then
begin
FormBianTai.EditBianTaiID.Text := ListView.Selected.Caption;
//fd_CT
FormBianTai.EditDspCT.Text := Trim( FieldByName('fd_CT').AsString );
//fd_PT
FormBianTai.EditDspPT.Text := Trim( FieldByName('fd_PT').AsString );
//fd_DspMaxU
FormBianTai.EditDspMaxU.Text := Trim( FieldByName('fd_DspMaxU').AsString );
//fd_DspMinU
FormBianTai.EditDspMinU.Text := Trim( FieldByName('fd_DspMinU').AsString );
//fd_DspMaxT
FormBianTai.EditDspMaxT.Text := Trim( FieldByName('fd_DspMaxT').AsString );
//fd_DspMinT
FormBianTai.EditDspMinT.Text := Trim( FieldByName('fd_DspMinT').AsString );
//fd_DspMaxXB
FormBianTai.EditDspMaxXB.Text:= Trim( FieldByName('fd_DspMaxXB').AsString );
//fd_DspTQTime //投切间隔
FormBianTai.EditDspTQTime.Text := Trim( FieldByName('fd_DspTQTime').AsString );
//fd_DspLQTime //冷却时间
FormBianTai.EditDspLQTime.Text := Trim( FieldByName('fd_DspLQTime').AsString );
//ID3
FormBianTai.EditBianTaiID3.Text := ListView.Selected.Caption;
//Name3
FormBianTai.EditName3.Text := ListView.Selected.SubItems.Strings[0];
end;//end <> 0
end; //end with
FormBianTai.PageControl.Pages[0].TabVisible := false;
FormBianTai.PageControl.Pages[1].TabVisible := false;
FormBianTai.PageControl.Pages[2].TabVisible := true;
FormBianTai.Caption := '台区属性信息-修改DSP参数信息并选择发送相应指令';
FormBianTai.iSetInfo := 1;
FormBianTai.ShowModal();
if FormBianTai.iBtnClick = 1 then
begin
with MyModule.AdoQuery do
begin//with
SQL.Clear();
SQL.Add('UPDATE tx_BianTai SET fd_CT=''');
SQL.Add(FormBianTai.EditDspCT.Text);
SQL.Add(''',');
SQL.Add('fd_PT=''');
SQL.Add(FormBianTai.EditDspPT.Text);
SQL.Add(''',');
SQL.Add('fd_DspMaxU=');
SQL.Add(FormBianTai.EditDspMaxU.Text);
SQL.Add(',');
SQL.Add('fd_DspMinU=');
SQL.Add(FormBianTai.EditDspMinU.Text);
SQL.Add(',');
SQL.Add('fd_DspMaxT=');
SQL.Add(FormBianTai.EditDspMaxT.Text);
SQL.Add(',');
SQL.Add('fd_DspMinT=');
SQL.Add(FormBianTai.EditDspMinT.Text);
SQL.Add(',');
SQL.Add('fd_DspMaxXB=');
SQL.Add(FormBianTai.EditDspMaxXB.Text);
SQL.Add(',');
SQL.Add('fd_DspTQTime=');
SQL.Add(FormBianTai.EditDspTQTime.Text);
SQL.Add(',');
SQL.Add('fd_DspLQTime=');
SQL.Add(FormBianTai.EditDspLQTime.Text);
SQL.Add(' WHERE fd_BianTaiID=');
SQL.Add(ListView.Selected.Caption);
//ShowMessage(SQL.Text);
try
ExecSQL();
Finally
end; //finally
end; //with
end; //end if <> OK Click
end; //end if Select <> Nil
end;
procedure TFormOrder0.FormCreate(Sender: TObject);
begin
TreeView.ShowRoot := true;
TreeView.ShowButtons := true;
TreeView.ShowLines := True;
self.Caption := ' DSP参数调试';
end;
procedure TFormOrder0.BtnDspCTClick(Sender: TObject);
var
StrMsg : string;
begin
if ListView.Items.Count = 0 then
exit;
FormOrderMsg.PanelMsg.Caption := '设置DSP-CT变比';
FormOrderMsg.MyPos.iLeft := BtnDspCT.ClientOrigin.X;
FormOrderMsg.MyPos.iTop := BtnDspCT.ClientOrigin.Y;
FormOrderMsg.Width := 250;
FormOrderMsg.EditPara.Visible := False;
FormOrderMsg.ShowModal();
if FormOrderMsg.iBtnClick = 1 then
begin
OrderType := 51;
StrMsg := '指令:客户端向服务器发送指令(51):设置DSP-CT变比';
SendUdpOrder(OrderType, StrMsg);
end;
end;
procedure TFormOrder0.BtnDspPTClick(Sender: TObject);
var
StrMsg : string;
begin
if ListView.Items.Count = 0 then
exit;
FormOrderMsg.PanelMsg.Caption := '设置DSP-PT变比';
FormOrderMsg.MyPos.iLeft := BtnDspPT.ClientOrigin.X;
FormOrderMsg.MyPos.iTop := BtnDspPT.ClientOrigin.Y;
FormOrderMsg.Width := 250;
FormOrderMsg.EditPara.Visible := False;
FormOrderMsg.ShowModal();
if FormOrderMsg.iBtnClick = 1 then
begin
OrderType := 52;
StrMsg := '指令:客户端向服务器发送指令(52):设置DSP-PT变比';
SendUdpOrder(OrderType, StrMsg);
end;
end;
procedure TFormOrder0.BtnDspMaxUClick(Sender: TObject);
var
StrMsg : string;
begin
if ListView.Items.Count = 0 then
exit;
FormOrderMsg.PanelMsg.Caption := '设置DSP-电压控制上限';
FormOrderMsg.MyPos.iLeft := BtnDspMaxU.ClientOrigin.X;
FormOrderMsg.MyPos.iTop := BtnDspMaxU.ClientOrigin.Y;
FormOrderMsg.Width := 250;
FormOrderMsg.EditPara.Visible := False;
FormOrderMsg.ShowModal();
if FormOrderMsg.iBtnClick = 1 then
begin
OrderType := 53;
StrMsg := '指令:客户端向服务器发送指令(53):设置DSP-电压控制上限';
SendUdpOrder(OrderType, StrMsg);
end;
end;
procedure TFormOrder0.BtnDspMinUClick(Sender: TObject);
var
StrMsg : string;
begin
if ListView.Items.Count = 0 then
exit;
FormOrderMsg.PanelMsg.Caption := '设置DSP-电压控制下限';
FormOrderMsg.MyPos.iLeft := BtnDspMinU.ClientOrigin.X;
FormOrderMsg.MyPos.iTop := BtnDspMinU.ClientOrigin.Y;
FormOrderMsg.Width := 250;
FormOrderMsg.EditPara.Visible := False;
FormOrderMsg.ShowModal();
if FormOrderMsg.iBtnClick = 1 then
begin
OrderType := 54;
StrMsg := '指令:客户端向服务器发送指令(54):设置DSP-电压控制下限';
SendUdpOrder(OrderType, StrMsg);
end;
end;
procedure TFormOrder0.BtnDspMaxTClick(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -