📄 basefrm.~pas
字号:
CB_Byte0: TFlatComboBox;
CB_Byte1: TFlatComboBox;
CB_Byte2: TFlatComboBox;
CB_Byte3: TFlatComboBox;
ChEdit_MeterMode4: TCheckedEdit;
ChEdit_DSP: TCheckedEdit;
ChEdit_HRepair: TCheckedEdit;
ChEdit_NRepair: TCheckedEdit;
RichEdit: TListBox;
TV_Event: TTreeView;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Label69: TLabel;
Label70: TLabel;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label80: TLabel;
Label82: TLabel;
FE_HarmOutElect: TFlatEdit;
FE_BaseOutElect: TFlatEdit;
procedure FormShow(Sender: TObject);
procedure PageControlChange(Sender: TObject);
procedure SB_CloseClick(Sender: TObject);
procedure RichEditDblClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
protected
FdataBit : TByteSize;
FStopBit : TStopBits;
FParity : TParity;
PageIndex :byte;
ControlIndex :byte;
CE_Valve : array[1..CountVale] of TCheckedEdit;
CE_Electry: array[1..CountElect] of TCheckedEdit;
CE_DelayTime: array[1..CountDelay] of TCheckedEdit;
CE_VolCurr: array[1..CountVoltCurr] of TCheckedEdit;
CE_Break: array[1..CountBreak] of TCheckedEdit;
FE_BreadPos : array[1..CountBreadPos] of TFlatEdit;
LB_BreadPos : array[1..CountBreadPos] of TLabel;
CE_EventTime: array[1..CountEvent] of TCheckedEdit;
FE_Value1: array[1..CountEvent] of TFlatEdit;
CE_Others: array[1..CountOther] of TCheckedEdit;
CB_BurthMode2 : array[1..45] of TFlatCheckBox;
FCB_MeterMode :array[1..4] of TFlatComboBox;
// FCB_BurthMode :array[1..48] of TFlatComboBox;
RecieveStr:string;
PassWord1,PassWord2,PassWord3,Address:string;
FOrderDelay :integer;
FWordDelay : integer;
public
{ Public declarations }
end;
procedure Delay(MSecs: Longint);
var
BaseForm: TBaseForm;
m_iMsgID : Integer;
implementation
{$R *.dfm}
procedure Delay(MSecs: Longint);
var
FirstTickCount, nowtime: Longint;
begin
FirstTickCount := GetTickCount;
repeat
Application.ProcessMessages; { allowing access to other controls, etc. }
nowtime := GetTickCount;
until (nowtime - FirstTickCount >= MSecs) or (nowtime < FirstTickCount);
end;
procedure TBaseForm.FormShow(Sender: TObject);
var
Reg: TRegistry;
icom,ibaud,idata,istop,icheck:integer;
OrderDelay ,WordDelay :string;
begin
try
Reg := TRegistry.Create;;
Reg.RootKey := HKEY_CURRENT_USER;
if (Reg.OpenKey('\Software\test485\test485\test',false)) then
begin
icom :=Reg.ReadInteger('COMPORT');
ibaud :=Reg.ReadInteger('BAUD');
idata :=Reg.ReadInteger('DATA');
istop :=Reg.ReadInteger('STOP');
icheck:=Reg.ReadInteger('CHECK');
Address:=Reg.ReadString('DEVICE');
PassWord1:=Reg.ReadString('PassWord1');
PassWord2:=Reg.ReadString('PassWord2');
PassWord3:=Reg.ReadString('PassWord3');
OrderDelay :=Reg.ReadString('mlddsj');//('mlys');
WordDelay :=Reg.ReadString('fszjys');
Reg.CloseKey;
end;
finally
Reg.Free;
end;
if(OrderDelay='') then
FOrderDelay := 1500
else
FOrderDelay := StrToInt(OrderDelay);
if(WordDelay='') then
FWordDelay:= 20
else
FWordDelay := StrToInt(WordDelay);
case idata of
5 : FDataBit := _5;
6 : FDataBit := _6;
7 : FDataBit := _7;
else FDataBit := _8;
end;
case icheck of
1: FParity := None;
2: FParity := Odd;
4: FParity := Mark;
5: FParity := Space;
else FParity := Even;
end;
Comm.StopComm;
Comm.CommName := 'com'+IntToStr(icom);
Comm.ByteSize := FDataBit;
Comm.StopBits := _1;
Comm.BaudRate := ibaud;
Comm.Parity := FParity;
// try
Comm.StartComm;
// except
// end;
shqDl645.ComAddr :=Address;
cpGeneralWrite.ComAddr:=Address;
BurthCurve645.ComAddr:=Address;
cpEventRecord.ComAddr :=Address;
cpEventProgram.ComAddr :=Address;
CE_Valve[1]:=ChEdit_LoseVTop;
CE_Valve[2]:=ChEdit_OverVTop;
CE_Valve[3]:=ChEdit_OweVTop;
CE_Valve[4]:=ChEdit_DXVTop;
CE_Valve[5]:=ChEdit_NLoseVBut;
CE_Valve[6]:=ChEdit_DLCTop;
CE_Valve[7]:=ChEdit_DLCBut;
CE_Valve[8]:=ChEdit_GDlTop;
CE_Valve[9]:=ChEdit_BigCTop;
CE_Valve[10]:=ChEdit_NoVolTop;
CE_Valve[11]:=ChEdit_Judge;
CE_Valve[12]:=ChEdit_DemTop;
CE_Valve[13]:=ChEdit_PowerFacTop;
CE_Valve[14]:=ChEdit_DemBerrTop;
CE_Valve[15]:=ChEdit_BerrVTop;
CE_Valve[16]:=ChEdit_BerrCTop;
CE_Valve[17]:=ChEdit_DissVTop;
CE_Valve[18]:=ChEdit_DisCTop;
CE_Valve[19]:=ChEdit_DisBanVTop;
CE_Valve[20]:=ChEdit_DisBanCTop;
CE_Electry[1] := ChEdit_BaseInZ;
CE_Electry[2] := ChEdit_BaseInA;
CE_Electry[3] := ChEdit_BaseInB;
CE_Electry[4] := ChEdit_BaseInC;
CE_Electry[5] := ChEdit_HarmInZ;
CE_Electry[6] := ChEdit_HarmInA;
CE_Electry[7] := ChEdit_HarmInB;
CE_Electry[8] := ChEdit_HarmInC;
CE_Electry[9] := ChEdit_HarmPZ;
CE_Electry[10] := ChEdit_HarmPA;
CE_Electry[11] := ChEdit_HarmPB;
CE_Electry[12] := ChEdit_HarmPC;
CE_Electry[13] := ChEdit_CoppZ;
CE_Electry[14] := ChEdit_CoppA;
CE_Electry[15] := ChEdit_CoppB;
CE_Electry[16] := ChEdit_CoppC;
CE_Electry[17] := ChEdit_IronZ;
CE_Electry[18] := ChEdit_IronA;
CE_Electry[19] := ChEdit_IronB;
CE_Electry[20] := ChEdit_IronC;
CE_Electry[21] := ChEdit_LoseZ;
CE_Electry[22] := ChEdit_LoseA;
CE_Electry[23] := ChEdit_LoseB;
CE_Electry[24] := ChEdit_LoseC;
CE_Electry[25] := ChEdit_HarmOutZ;
CE_Electry[26] := ChEdit_HarmOutA;
CE_Electry[27] := ChEdit_HarmOutB;
CE_Electry[28] := ChEdit_HarmOutC;
CE_Electry[29] := ChEdit_BaseOutZ;
CE_Electry[30] := ChEdit_BaseOutA;
CE_Electry[31] := ChEdit_BaseOutB;
CE_Electry[32] := ChEdit_BaseOutC;
CE_DelayTime[1] := ChEdit_FormerS;
CE_DelayTime[2] := ChEdit_FormerG;
CE_DelayTime[3] := ChEdit_FormerQ;
CE_DelayTime[4] := ChEdit_FormerDX;
CE_DelayTime[5] := ChEdit_FormerDL;
CE_DelayTime[6] := ChEdit_FormerGDL;
CE_DelayTime[7] := ChEdit_LatterS;
CE_DelayTime[8] := ChEdit_LatterG;
CE_DelayTime[9] := ChEdit_LatterQ;
CE_DelayTime[10] := ChEdit_LatterDX;
CE_DelayTime[11] := ChEdit_LatterDL;
CE_DelayTime[12] := ChEdit_LatterGDL;
CE_VolCurr[1] := ChEdit_HarmVoltA;
CE_VolCurr[2] := ChEdit_HarmVoltB;
CE_VolCurr[3] := ChEdit_HarmVoltC;
CE_VolCurr[4] := ChEdit_HarmCurrA;
CE_VolCurr[5] := ChEdit_HarmCurrB;
CE_VolCurr[6] := ChEdit_HarmCurrC;
CE_VolCurr[7] := ChEdit_VoltAberrA;
CE_VolCurr[8] := ChEdit_VoltAberrB;
CE_VolCurr[9] := ChEdit_VoltAberrC;
CE_VolCurr[10] := ChEdit_CurrAberrA;
CE_VolCurr[11] := ChEdit_CurrAberrB;
CE_VolCurr[12] := ChEdit_CurrAberrC;
FE_BreadPos[1] := FlatEdit1;
FE_BreadPos[2] := FlatEdit2;
FE_BreadPos[3] := FlatEdit3;
FE_BreadPos[4] := FlatEdit4;
FE_BreadPos[5] := FlatEdit5;
FE_BreadPos[6] := FlatEdit6;
FE_BreadPos[7] := FlatEdit7;
FE_BreadPos[8] := FlatEdit8;
FE_BreadPos[9] := FlatEdit9;
FE_BreadPos[10] := FlatEdit10;
LB_BreadPos[1] := Label4;
LB_BreadPos[2] := Label5;
LB_BreadPos[3] := Label6;
LB_BreadPos[4] := Label7;
LB_BreadPos[5] := Label8;
LB_BreadPos[6] := Label9;
LB_BreadPos[7] := Label10;
LB_BreadPos[8] := Label11;
LB_BreadPos[9] := Label12;
LB_BreadPos[10] := Label13;
CE_EventTime[1] := ChEdit_Time1;
CE_EventTime[2] := ChEdit_Time2;
CE_EventTime[3] := ChEdit_Time3;
CE_EventTime[4] := ChEdit_Time4;
CE_EventTime[5] := ChEdit_Time5;
CE_EventTime[6] := ChEdit_Time6;
CE_EventTime[7] := ChEdit_Time7;
CE_EventTime[8] := ChEdit_Time8;
CE_EventTime[9] := ChEdit_Time9;
CE_EventTime[10] := ChEdit_Time10;
FE_Value1[1] := ChEdit_Value11 ;
FE_Value1[2] := ChEdit_Value12 ;
FE_Value1[3] := ChEdit_Value13 ;
FE_Value1[4] := ChEdit_Value14 ;
FE_Value1[5] := ChEdit_Value15 ;
FE_Value1[6] := ChEdit_Value16 ;
FE_Value1[7] := ChEdit_Value17 ;
FE_Value1[8] := ChEdit_Value18;
FE_Value1[9] := ChEdit_Value19 ;
FE_Value1[10] := ChEdit_Value110 ;
CE_Others[1] := ChEdit_RepairAG;
CE_Others[2] := ChEdit_RepairBG;
CE_Others[3] := ChEdit_RepairCG;
CE_Others[4] := ChEdit_BaseVolt;
CE_Others[5] := ChEdit_BaseCurr;
CE_Others[6] := ChEdit_RecSpace7;
CE_Others[7] := ChEdit_RecSpace8;
CE_Others[8] := ChEdit_RecSpace9;
CE_Others[9] := ChEdit_DSP;
CE_Others[10] := ChEdit_MeterMode4;
CE_Others[11] := ChEdit_HRepair;
CE_Others[12] := ChEdit_NRepair;
CE_Others[13] := ChEdit_BurthMode2;
FCB_MeterMode[1] := CB_Byte0;
FCB_MeterMode[2] := CB_Byte1;
FCB_MeterMode[3] := CB_Byte2;
FCB_MeterMode[4] := CB_Byte3;
CB_BurthMode2[1] := FlatCheckBox1;
CB_BurthMode2[2] := FlatCheckBox2;
CB_BurthMode2[3] := FlatCheckBox3;
CB_BurthMode2[4] := FlatCheckBox4;
CB_BurthMode2[5] := FlatCheckBox5;
CB_BurthMode2[6] := FlatCheckBox6;
CB_BurthMode2[7] := FlatCheckBox7;
CB_BurthMode2[8] := FlatCheckBox8;
CB_BurthMode2[9] := FlatCheckBox9;
CB_BurthMode2[10] := FlatCheckBox10;
CB_BurthMode2[11] := FlatCheckBox11;
CB_BurthMode2[12] := FlatCheckBox12;
CB_BurthMode2[13] := FlatCheckBox13;
CB_BurthMode2[14] := FlatCheckBox14;
CB_BurthMode2[15] := FlatCheckBox15;
CB_BurthMode2[16] := FlatCheckBox16;
CB_BurthMode2[17] := FlatCheckBox17;
CB_BurthMode2[18] := FlatCheckBox18;
CB_BurthMode2[19] := FlatCheckBox19;
CB_BurthMode2[20] := FlatCheckBox20;
CB_BurthMode2[21] := FlatCheckBox21;
CB_BurthMode2[22] := FlatCheckBox22;
CB_BurthMode2[23] := FlatCheckBox23;
CB_BurthMode2[24] := FlatCheckBox24;
CB_BurthMode2[25] := FlatCheckBox25;
CB_BurthMode2[26] := FlatCheckBox26;
CB_BurthMode2[27] := FlatCheckBox27;
CB_BurthMode2[28] := FlatCheckBox28;
CB_BurthMode2[29] := FlatCheckBox29;
CB_BurthMode2[30] := FlatCheckBox30;
CB_BurthMode2[31] := FlatCheckBox31;
CB_BurthMode2[32] := FlatCheckBox32;
CB_BurthMode2[33] := FlatCheckBox33;
CB_BurthMode2[34] := FlatCheckBox34;
CB_BurthMode2[35] := FlatCheckBox35;
CB_BurthMode2[36] := FlatCheckBox36;
CB_BurthMode2[37] := FlatCheckBox37;
CB_BurthMode2[38] := FlatCheckBox38;
CB_BurthMode2[39] := FlatCheckBox39;
CB_BurthMode2[40] := FlatCheckBox40;
CB_BurthMode2[41] := FlatCheckBox41;
CB_BurthMode2[42] := FlatCheckBox42;
CB_BurthMode2[43] := FlatCheckBox43;
CB_BurthMode2[44] := FlatCheckBox44;
CB_BurthMode2[45] := FlatCheckBox45;
CE_Break[1] := ChEdit_BreakDegreeZ;
CE_Break[2] := ChEdit_BreakDegreeA;
CE_Break[3] := ChEdit_BreakDegreeB;
CE_Break[4] := ChEdit_BreakDegreeC;
CE_Break[5] := ChEdit_BreakTimesZ;
CE_Break[6] := ChEdit_BreakTimesA;
CE_Break[7] := ChEdit_BreakTimesB;
CE_Break[8] := ChEdit_BreakTimesC;
CE_Break[9] := ChEdit_LatelyBreakZ;
CE_Break[10] := ChEdit_LatelyBreakA;
CE_Break[11] := ChEdit_LatelyBreakB;
CE_Break[12] := ChEdit_LatelyBreakC;
CE_Break[13] := ChEdit_ResumeBreakZ;
CE_Break[14] := ChEdit_ResumeBreakA;
CE_Break[15] := ChEdit_ResumeBreakB;
CE_Break[16] := ChEdit_ResumeBreakC;
PageControl.ActivePageIndex := 0;
PageIndex := 0;
end;
procedure TBaseForm.PageControlChange(Sender: TObject);
begin
PageIndex :=PageControl.ActivePageIndex;
if((PageIndex=0) or (PageIndex=2)or(PageIndex=8)) then
FEB_Write.Enabled := true
else
FEB_Write.Enabled := false;
end;
procedure TBaseForm.SB_CloseClick(Sender: TObject);
begin
Close;
end;
procedure TBaseForm.RichEditDblClick(Sender: TObject);
begin
RichEdit.Clear;
end;
procedure TBaseForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
handle : HWND;
begin
handle:=FindWindow(nil,'多功能电表通讯规约测试软件');
try //发送消息通知主窗口重新初始化串口
PostMessage(handle,WM_INITCOMM,0,0);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -