亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? harmware.~pas

?? 能對電子式電能表通過485接口進行通訊測試的軟件
?? ~PAS
?? 第 1 頁 / 共 3 頁
字號:
unit HarmWare;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseFrm, TFlatSpeedButtonUnit, ExtCtrls, TFlatPanelUnit, SPComm,
  cpEventRecord, cpEventProgram, cpBurthCurve645, cpGerenralWrite, cpComm,
  cpDL645, StdCtrls, TFlatComboBoxUnit, ComCtrls, TFlatCheckBoxUnit,
  TFlatEditUnit, cpCheckEdit, TFlatGroupBoxUnit,Math;

const WM_STARTREAD=WM_USER+100;
const WM_STOPREAD=WM_USER+101;

const Zero = '0-9次';
const First = '10-19次';
const Second = '20-29次';
const Third = '30-39次';
const Fourth = '40-49次';
const Lines = 30;
//const ModelPass = '000000000000';//'9A5E16D23F85';
                 // 
type
 PSingle = ^Single;

type
  THarmForm = class(TBaseForm)
   procedure CommReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    procedure FEB_ReadClick(Sender: TObject);
    procedure SelectAll_CB0Click(Sender: TObject);
    procedure TV_BreadPosClick(Sender: TObject);
    procedure TV_EventClick(Sender: TObject);
    procedure FSB_StopClick(Sender: TObject);
    procedure FSB_StopMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FlatPanel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FEB_WriteClick(Sender: TObject);
    procedure FCB_SunSelectAllClick(Sender: TObject);
    procedure CB_Byte3Change(Sender: TObject);
    procedure FlatCheckBox1Click(Sender: TObject);
    procedure TV_BreadPosChange(Sender: TObject; Node: TTreeNode);
    procedure TV_EventChange(Sender: TObject; Node: TTreeNode);
    procedure RichEditDblClick(Sender: TObject);
    
  private
    FMarkCode :string;
    RecieveStr:string;
    FEventRecord : TEventRecord ;
    FBurThData : TBurthenRecord;
    FReadFlag: boolean;
    procedure WMStartReadProc(var Mas:TMessage);Message WM_STARTREAD;
    procedure WMStopReadProc(var Mas:TMessage);Message WM_STOPREAD;
    procedure SendFrame(SendStr :string);
    procedure ShowBurthenData();
    Function  GetBurthenMode2(): string;
   // Function  TwoPower()
    { Private declarations }
  public
    { Public declarations }
    DataString :string;
    AppMessage :string;
  end;

  Function HexToFloat(HexStr : string):single;

var
  HarmForm: THarmForm;

implementation
//-----------------------------------------------------------------------------------
{$R *.dfm}
procedure THarmForm.WMStopReadProc(var Mas:TMessage);
begin
  FSB_Stop.Enabled := false;
  FEB_Read.Enabled := true;
  if((PageIndex=0) or (PageIndex=2)or(PageIndex=8)) then
     FEB_Write.Enabled := true ;
  Screen.Cursor := crDefault;
  Comm.StopComm;
end;
//-----------------------------------------------------------------------------------
procedure THarmForm.WMStartReadProc(var Mas:TMessage);
var
  i,j:byte;
  low,high : string;
  Third,Fourth : string;
  SendStr :string;
  MarkCode : string;
  tmp : integer;
begin
  Screen.Cursor := crHourGlass;
  case Mas.WParam of
   0:begin   //上下限值
      high := 'C4';
      if Mas.LParam>CountVale then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_Valve[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        low := IntToHex($20+Mas.LParam-1,2);
        if FReadFlag then //讀數據
        begin
          shqDl645.MarkCode := high+low;
          shqDl645.Datalen := CE_Valve[Mas.LParam].Tag;
          shqDl645.DecimalDigit := 0;
          SendStr:=shqdl645.OutPutStr;
        end
        else begin            //寫數據
           cpGeneralWrite.PassWord := PassWord2;
           cpGeneralWrite.PassPope := '01';
           cpGeneralWrite.MarkCode := high+low;
           cpGeneralWrite.DataLen := CE_Valve[Mas.LParam].Tag;
           cpGeneralWrite.SetData := Trim(CE_Valve[Mas.LParam].Text);
           SendStr:=cpGeneralWrite.OutPutStr;
        end;
        sendframe(SendStr);
      end
      else  begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   1:begin       //電能量
      high := '90';
      if Mas.LParam>CountElect then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_Electry[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        Third := IntToHex(($8+(ControlIndex-1) div 4),1);
        Fourth := IntToHex(($0+(ControlIndex-1) mod 4),1);
        low := Third+Fourth;
        shqDl645.MarkCode := high+low; 
        shqDl645.Datalen := 4;//TabSheet_Elect.Tag;
        shqDl645.DecimalDigit := 2;
        SendStr:=shqdl645.OutPutStr;
        sendframe(SendStr);
      end
      else
      begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   2:begin          //遲續時間
      high := 'C4';
      if Mas.LParam>CountDelay then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_DelayTime[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        low := IntToHex($40+Mas.LParam-1,2);
        if FReadFlag then //讀數據
        begin
          shqDl645.MarkCode := high+low;
          shqDl645.Datalen := 2;
          shqDl645.DecimalDigit := 0;
          SendStr:=shqdl645.OutPutStr;
        end
        else begin   //寫數據
          cpGeneralWrite.PassWord := PassWord2;
          cpGeneralWrite.PassPope := '01';
          cpGeneralWrite.MarkCode := high+low;
          cpGeneralWrite.SetData :=Trim(CE_DelayTime[Mas.LParam].Text);
          cpGeneralWrite.DataLen := 2;
          SendStr:=cpGeneralWrite.OutPutStr;
        end;
        sendframe(SendStr);
      end
      else begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   3:begin        //電流電壓畸變率
      high := 'B6';
      if Mas.LParam>CountVoltCurr then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_VolCurr[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        Third := IntToHex(($7+(ControlIndex-1) div 3),1);
        Fourth := IntToHex(($0+(ControlIndex-1) mod 3),1);
        low := Third+Fourth;
        shqDl645.MarkCode := high+low;
        shqDl645.Datalen := 2;
        if  (ControlIndex<7) then
          shqDl645.DecimalDigit := 2
        else 
          shqDl645.DecimalDigit := 1;
        SendStr:=shqdl645.OutPutStr;
        sendframe(SendStr);
      end
      else
      begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   4:begin      //幅值相位
        if(Mas.LParam>1) then
          PostMessage(Handle,WM_STOPREAD,0,0)
        else begin
          shqDl645.MarkCode := FMarkCode ;
          shqDl645.Datalen := 4;
          SendStr:=shqdl645.OutPutStr;
          sendframe(SendStr);
        end;
     end;
   5:begin    //斷相記錄
      if Mas.LParam>CountBreak then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_Break[Mas.LParam].CheckBox.Checked then
      begin
        High := 'B7';
        ControlIndex := Mas.LParam;
        Third := IntToHex(($1+(ControlIndex-1) div 4),1);
        Fourth := IntToHex(($0+(ControlIndex-1) mod 4),1);
        low := Third+Fourth;
        shqDl645.MarkCode := high+low;
        shqDl645.Datalen := CE_Break[Mas.LParam].Tag;
        shqDl645.DecimalDigit := 0;
        SendStr:=shqDl645.OutPutStr;
        sendframe(SendStr);
      end
      else
      begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   6:begin    //事件記錄
      if Mas.LParam>CountEvent then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else
      if CE_EventTime[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        MarkCode := IntToHex(StrToInt('$'+FMarkCode)+ControlIndex-1,4);
        if(FMarkCode='E000') then
        begin
          cpEventProgram.Datalen := TV_Event.Tag;
          cpEventProgram.MarkCode := MarkCode;
          cpEventProgram.FieldLen := '1,1';
          cpEventProgram.FieldDecimal := '0,0';
          SendStr:=  cpEventProgram.OutPutStr;
        end
        else begin
          cpEventRecord.Datalen := TV_Event.Tag;
          cpEventRecord.FieldLen :='4';
          cpEventRecord.FieldDecimal :='0';
          cpEventRecord.MarkCode := MarkCode;
          SendStr:=cpEventRecord.OutPutStr;
        end;
        sendframe(SendStr);
      end
      else
      begin
         ControlIndex := ControlIndex+1;
         PostMessage(Handle,WM_STARTREAD,PageIndex,ControlIndex);
      end;
     end;
   7:begin    //負荷曲線
      if(Mas.LParam>1) then
      begin
        PostMessage(Handle,WM_STOPREAD,0,0);
        exit;
      end;
       i:= RG_Select.ItemIndex;
       MarkCode := IntToHex($D110+i,4);
       BurthCurve645.Block := 1;
       BurthCurve645.MarkCode := MarkCode;
       BurthCurve645.TimePoint :='';
       if(i=0) then
         BurthCurve645.TimePoint := Trim(FE_Time.Text);
        SendStr:=BurthCurve645.OutPutStr;
        sendframe(SendStr);
     end;
   8:begin   //其它參數
      if Mas.LParam>CountOther then
         PostMessage(Handle,WM_STOPREAD,0,0)
      else if CE_Others[Mas.LParam].CheckBox.Checked then
      begin
        ControlIndex := Mas.LParam;
        shqDl645.Datalen := 2;
        cpGeneralWrite.DataLen := 2;
        if ControlIndex<6 then
           MarkCode := IntToHex($C450+ControlIndex-1,4);
        case ControlIndex of
          1: begin
             Third := Trim(ChEdit_RepairAG.Text)+Trim(ChEdit_RepairAR.Text)
                     +Trim(ChEdit_RepairAB.Text)+Trim(ChEdit_RepairAX.Text);
             shqDl645.Datalen := 4;
             cpGeneralWrite.DataLen := 16;
             end;
          2: begin
             Third := Trim(ChEdit_RepairBG.Text)+Trim(ChEdit_RepairBR.Text)
                      +Trim(ChEdit_RepairBB.Text)+Trim(ChEdit_RepairBX.Text);
             shqDl645.Datalen := 4;
             cpGeneralWrite.DataLen := 16;
             end;
          3: begin
             Third := Trim(ChEdit_RepairCG.Text)+Trim(ChEdit_RepairCR.Text)
                      +Trim(ChEdit_RepairCB.Text)+Trim(ChEdit_RepairCX.Text);
             shqDl645.Datalen := 4;
             cpGeneralWrite.DataLen := 16;
             end;
          4: begin
             Third := Trim(CE_Others[Mas.LParam].Text);
             shqDl645.Datalen := 4;
             cpGeneralWrite.DataLen := 16;
             end;
          5: begin
               Third := Trim(CE_Others[Mas.LParam].Text);
               shqDl645.Datalen := 1;
               cpGeneralWrite.DataLen := 1;
             end;
          6..8:begin
                Third := Trim(CE_Others[Mas.LParam].Text);
                MarkCode := IntToHex($C520+ControlIndex-6,4);
               end;
          9:begin
             MarkCode := 'C718';
             shqDl645.Datalen := 8;
             cpGeneralWrite.DataLen := 8;
             Third :=Trim(ChEdit_DSP.Text);
             if (Third='') then
             begin
               for i:=1 to 4 do
                 if FCB_MeterMode[i].ItemIndex<0 then
                    FCB_MeterMode[i].ItemIndex:=0;

               Third := IntToHex((FCB_MeterMode[1].ItemIndex+FCB_MeterMode[2].ItemIndex*2
                        +FCB_MeterMode[3].ItemIndex*4 +FCB_MeterMode[4].ItemIndex*8),2);
             end;
            end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
六月婷婷色综合| 一区二区三区在线看| 欧美日韩一区久久| 91看片淫黄大片一级| 成人av网址在线| 成人高清在线视频| 成人av电影在线网| 色综合av在线| 欧美三级资源在线| 91精品国产综合久久婷婷香蕉| 欧美日韩一区高清| 91精品国产一区二区三区| 日韩欧美在线网站| 久久精品夜色噜噜亚洲aⅴ| 国产欧美日韩另类视频免费观看| 国产欧美日韩视频在线观看| 中文字幕中文字幕中文字幕亚洲无线| 中文字幕日韩一区| 亚洲国产精品影院| 国产呦精品一区二区三区网站| 国产一区二区三区四| a亚洲天堂av| 欧美午夜精品久久久| 欧美一级黄色大片| 国产日产亚洲精品系列| 亚洲狼人国产精品| 美国精品在线观看| av激情亚洲男人天堂| 欧美性色综合网| 久久蜜臀精品av| 一级女性全黄久久生活片免费| 日本不卡123| 99久久99久久免费精品蜜臀| 91精品在线一区二区| 国产日本欧洲亚洲| 三级在线观看一区二区| 国产成人在线影院| 欧美精品粉嫩高潮一区二区| 国产亚洲精品精华液| 亚洲福利视频导航| 国产精品77777竹菊影视小说| 色婷婷精品大在线视频 | 欧美一级二级在线观看| 日韩精品中文字幕一区二区三区| 国产精品美女www爽爽爽| 日本成人中文字幕在线视频| 成人中文字幕合集| 日韩亚洲欧美在线| 亚洲一二三区不卡| 成人精品免费看| 日韩欧美你懂的| 亚洲国产视频网站| av亚洲精华国产精华精| 久久综合色之久久综合| 亚洲va在线va天堂| 一本色道久久综合精品竹菊| 国产亚洲欧美日韩在线一区| 人人精品人人爱| 欧美日韩精品系列| 亚洲综合清纯丝袜自拍| 不卡大黄网站免费看| 国产日韩欧美精品综合| 国产麻豆午夜三级精品| 日韩欧美高清dvd碟片| 日本最新不卡在线| 欧美日韩性生活| 亚洲一区电影777| 欧美视频在线一区二区三区| 亚洲欧美色一区| 99精品视频一区二区三区| 欧美激情在线一区二区| 国产激情一区二区三区| 国产亚洲精品aa午夜观看| 国产在线国偷精品免费看| 精品成人在线观看| 国模娜娜一区二区三区| 久久夜色精品国产噜噜av| 精品影视av免费| 精品国产凹凸成av人网站| 久久国产麻豆精品| 久久五月婷婷丁香社区| 国产美女久久久久| 国产精品久久午夜| 91影视在线播放| 亚洲永久免费视频| 337p亚洲精品色噜噜| 麻豆91在线播放| 久久久久国产精品麻豆ai换脸 | 亚洲欧美一区二区三区国产精品| 成人动漫视频在线| 综合在线观看色| 欧美三电影在线| 蜜臀av一区二区在线免费观看 | 成人av综合一区| 亚洲精品国产品国语在线app| 在线免费观看日本一区| 午夜精品久久久久久久久| 日韩一区二区三区电影在线观看| 美女视频黄a大片欧美| 久久久91精品国产一区二区三区| 成人激情小说网站| 日韩国产一二三区| 国产校园另类小说区| 91久久精品一区二区二区| 免费不卡在线视频| 亚洲欧美在线观看| 777a∨成人精品桃花网| 国产一区二区三区黄视频 | 91成人网在线| 久久er99热精品一区二区| 国产精品全国免费观看高清| 色一情一乱一乱一91av| 久久99国产精品久久99果冻传媒| 国产片一区二区| 欧美日韩国产免费| 国产成人av网站| 视频在线观看一区二区三区| 欧美激情综合五月色丁香| 欧美福利视频一区| 99国产精品久久久久| 免费看日韩精品| 亚洲精品菠萝久久久久久久| 精品国偷自产国产一区| 欧美四级电影网| 99在线精品一区二区三区| 久久不见久久见免费视频7 | 精品久久人人做人人爽| 99精品国产99久久久久久白柏| 麻豆成人91精品二区三区| 亚洲电影一区二区三区| 国产精品国产馆在线真实露脸 | 在线视频国内自拍亚洲视频| 国产成人免费9x9x人网站视频| 亚洲不卡av一区二区三区| 亚洲欧美另类综合偷拍| 国产精品日产欧美久久久久| 欧美不卡一二三| 91精品国产手机| 欧美日韩卡一卡二| 在线欧美日韩精品| 色88888久久久久久影院野外| 国产成人免费视频网站| 精品一区二区在线看| 蜜臂av日日欢夜夜爽一区| 亚洲资源中文字幕| 一区二区三区精品| 亚洲精品欧美激情| 亚洲免费观看高清完整版在线观看熊| 国产亚洲综合性久久久影院| 欧美精品一区二区三区蜜桃| 91精品国产综合久久久久| 91麻豆精品国产91久久久久久 | 欧美一级在线观看| 91.麻豆视频| 日韩三级视频在线看| 日韩欧美成人一区二区| 日韩免费成人网| 亚洲精品一区二区在线观看| 精品国产露脸精彩对白| www日韩大片| 国产精品进线69影院| 亚洲欧美日韩国产综合| 亚洲宅男天堂在线观看无病毒| 夜夜嗨av一区二区三区中文字幕 | 欧美中文字幕一区| 欧美日韩精品系列| 精品对白一区国产伦| 日本一区二区三区在线观看| 1区2区3区欧美| 亚洲成av人片观看| 久久99蜜桃精品| 粉嫩欧美一区二区三区高清影视 | 亚洲国产日韩在线一区模特| 亚洲综合色自拍一区| 日韩精品亚洲一区| 国产乱人伦偷精品视频不卡| 成人av网站在线| 精品视频全国免费看| 欧美xxxxx牲另类人与| 中文字幕成人网| 亚洲成av人片在线观看| 精品一区二区久久| 日本高清视频一区二区| 91麻豆精品91久久久久久清纯| 久久精品亚洲精品国产欧美kt∨| 国产精品久久久久久久久久久免费看 | 中文字幕欧美三区| 一区二区三区国产| 久久国产乱子精品免费女| 97se亚洲国产综合自在线| 91麻豆精品国产91久久久资源速度 | 欧美性色欧美a在线播放| 精品久久久久久亚洲综合网| 亚洲欧洲另类国产综合| 日本va欧美va精品发布| 色综合久久久久久久久| 亚洲精品在线免费观看视频| 亚洲日本电影在线| 国产精品99久久久久久久女警 | 国产精品久久久久婷婷二区次|