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

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

?? co_main.~pas

?? 很好用的串口通信工具軟件。Comport目錄下是用到的通信控件。
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號:
  finally
    Mem_Hex.Lines.Add(FmtNow + Dats);
    FreeMem(Buffer);
  end;
  LinkToTrigger(TriggerBuff);
end;

procedure TFrm_Main.LinkToTrigger(var buf: string);
var i, j, PacketLen: Integer;
  Item: TTriggerItem;
begin
  for i:=0 to FTrigger.Count-1 do
  begin
    Item := FTrigger[i];
    if not Item.Actived then
      Continue;
    j := Pos(Item.TriggerHead, Buf);
    PacketLen := j + Item.TriggerLen - 1;
    if (j > 0) and (length(Buf) >= PacketLen) then
    begin
      Mem_Info.Lines.Add(FmtNow + ' 觸發: ' + Item.TriggerName);
      Delete(Buf, 1, PacketLen);
      Sleep(Item.RespondeDelay);
      ComPort.WriteStr(Item.RespondeData);
      Break;
    end;
  end;
end;

procedure TFrm_Main.ComPortError(Sender: TObject; Errors: TComErrors);
begin
  Sb.Panels[0].Text := '接收錯誤';
end;

procedure TFrm_Main.ComPortDSRChange(Sender: TObject; OnOff: Boolean);
begin
  if ONOff then
    Sb.Panels[2].Text := 'DSR On'
  else
    Sb.Panels[2].Text := 'DSR Off';
end;

procedure TFrm_Main.ComPortCTSChange(Sender: TObject; OnOff: Boolean);
begin
  if ONOff then
    Sb.Panels[1].Text := 'CTS On'
  else
    Sb.Panels[1].Text := 'CTS Off';
end;

procedure FitFormSize(Frm: TCustomForm);
var i, Px, Py: Integer;
begin
   with Frm do
   begin
     Px := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
     Py := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
     Width := MulDiv(Width, Px, 96);
     Height := MulDiv(Height, Py, 96);
     for i:=0 to ControlCount-1 do
     begin
       Controls[i].Width := MulDiv(Controls[i].Width, Px, 96);
       Controls[i].Height := MulDiv(Controls[i].Height, Py, 96);;
     end;
   end;
end;

procedure TFrm_Main.FormCreate(Sender: TObject);
var
  Port, Br, cmd: string;
  iCmd: Integer;
begin
  Caption := sVerInfo;
  FitFormSize(Self);
  Inis := TIniFile.Create(GetCurrentDir + '\Comm.ini');
  Port := Inis.ReadString('系統參數', '串口', 'COM1');
  FTrigger := TTrigger.Create(TTriggerItem);
  ComBo_Port.ItemIndex := ComBo_Port.Items.IndexOf(Port);
  BR := Inis.ReadString('系統參數', '速率', '9600');
  Combo_BaudRate.ItemIndex := Combo_BaudRate.Items.IndexOf(Br);
  CB_DTR.Checked := Inis.ReadBool('系統參數', 'DTR', False);
  CB_RTS.Checked := Inis.ReadBool('系統參數', 'RTS', False);
  CB_CRLF.Checked := Inis.ReadBool('系統參數', 'CRLF', False);
  CB_Hex.Checked := Inis.ReadBool('系統參數', '十六進制', False);
  Cb_DataBits.ItemIndex := Cb_DataBits.Items.IndexOf(Inis.ReadString('系統參數', '數據位', '8'));
  Cb_StopBits.ItemIndex := Cb_StopBits.Items.IndexOf(Inis.ReadString('系統參數', '停止位', '1'));
  Cb_ParityBits.ItemIndex := Cb_ParityBits.Items.IndexOf(Inis.ReadString('系統參數', '校驗位', 'NONE'));
  FTriggerFileName := Inis.ReadString('系統參數', 'Triggerfn', '');
  if (FTriggerFileName <> '') and (FileExists(FTriggerFileName)) then
  try
    FTrigger.LoadFromFile(FTriggerFileName);
  except
    FTRigger.Clear;
    FTriggerFileName := '';
  end;
  for iCmd := 0 to cmdBuffCapacity do
  begin
    cmd := Inis.ReadString('系統參數', 'Command#' + IntToStr(iCmd), '');
    if (cmd <> '') and (CB_CMD.Items.IndexOf(cmd) = -1) then
      CB_CMD.Items.Add(cmd);
  end;
  CB_CMD.ItemIndex := 0;
  SetCommStatus;
end;

procedure TFrm_Main.FormDestroy(Sender: TObject);
var
  iCmd: Integer;
begin
  Inis.WriteBool('系統參數', 'DTR', CB_DTR.Checked);
  Inis.WriteBool('系統參數', 'CRLF', CB_CRLF.Checked);
  Inis.WriteBool('系統參數', 'RTS', CB_RTS.Checked);
  Inis.WriteBool('系統參數', '十六進制', CB_Hex.Checked);
  Inis.writeString('系統參數', '速率', Combo_BaudRate.Text);
  Inis.writeString('系統參數', '串口', Combo_Port.Text);
  Inis.writeString('系統參數', 'Triggerfn', FTriggerFileName);
  Inis.writeString('系統參數', '數據位', DataBitsToStr(ComPort.DataBits));
  Inis.writeString('系統參數', '停止位', StopBitsToStr(ComPort.StopBits));
  Inis.writeString('系統參數', '校驗位', ParityBitsToStr(ComPort.Parity.Bits));

  for iCMD := 1 to cmdBuffCapacity do
    if iCMD <= CB_CMD.items.Count then
      Inis.writeString('系統參數', 'Command#' + IntToStr(iCMD), CB_CMD.items[iCMD - 1])
    else
      Inis.writeString('系統參數', 'Command#' + IntToStr(iCMD), '');
  ComPort.Close;
  FTrigger.Free;
end;

procedure TFrm_Main.ComPortAfterOpen(Sender: TObject);
begin
  CB_RTS.OnClick(self);
  CB_DTR.OnClick(self);
  SetCommStatus;
end;

procedure TFrm_Main.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssAlt]) and (Key = $58) then
  begin
    if btn_Exit.Enabled then
      btn_Exit.Click;
    Key := 0;
  end;

  if Shift = [] then
  begin
    case Key of
      VK_F2:
        begin
          if Btn_Open.Enabled then
            btn_Open.Click;
          Key := 0;
        end;
      VK_F3:
        begin
          if Btn_close.Enabled then
            btn_Close.Click;
          Key := 0;
        end;
      VK_F4:
        begin
          if Btn_Send.Enabled then
            btn_Send.Click;
          Key := 0;
        end;
      VK_F5:
        begin
          if Btn_Clear.Enabled then
            btn_Clear.Click;
          Key := 0;
        end;
      VK_F6:
        begin
          Key := 0;
        end;
      VK_F7:
        begin
          if Btn_Trigger.Enabled then
            btn_Trigger.Click;
          Key := 0;
        end;
    end;
  end;
end;

procedure TFrm_Main.Panel1Resize(Sender: TObject);
begin
  CB_CMD.Width := (Sender as TPanel).Width - 110;
end;

procedure TFrm_Main.SetCommStatus;
begin
  Btn_Open.Enabled := not ComPort.Connected;
  Btn_Close.Enabled := ComPort.Connected;
end;

procedure TFrm_Main.btn_ClearCmdClick(Sender: TObject);
begin
  CB_CMD.Items.Clear;
end;

procedure TFrm_Main.CB_CMDKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = Chr(VK_RETURN) then
    btn_Send.Click;
end;

procedure TFrm_Main.btn_TriggerClick(Sender: TObject);
begin
  Show_Trigger(FTrigger, FTriggerFileName);
end;

procedure TFrm_Main.Cb_DataBitsChange(Sender: TObject);
begin
  ComPort.DataBits := StrToDataBits(CB_DataBits.Text);
end;

procedure TFrm_Main.CB_StopBitsChange(Sender: TObject);
begin
  ComPort.StopBits := StrToStopBits(Cb_StopBits.Text);
end;

procedure TFrm_Main.Cb_ParityBitsChange(Sender: TObject);
begin
  ComPort.Parity.Bits := StrToParityBits(cb_ParityBits.Text);
end;

procedure TFrm_Main.ComPortAfterClose(Sender: TObject);
begin
  SetCommStatus;
end;

procedure TFrm_Main.tbAutoSendClick(Sender: TObject);
var
  mst:string;
begin
  if FAutoSend then
  begin
    FAutoSend:=false;
    tbAutoSend.Down := false;
  end else
  begin
    if FAutoIntervel<=0 then
      FAutoIntervel:=1000;
    mst:=inttostr(FAutoIntervel);
    if InputQuery('設置時間間隔', '循環發送時間間隔(ms):   ', mst) then
    begin
      try
        TimerAutoSend.Enabled := false;
        FAutoIntervel := strtoint(mst);
        TimerAutoSend.Interval :=FAutoIntervel;
        FAutoSend:=True;
        tbAutoSend.Down := true;
        Btn_SendClick(nil);
        TimerAutoSend.Enabled := true;
      except
        showmessage('輸入時間不正確!');
        exit;
      end;
    end else
    begin
      FAutoSend:=false;
      tbAutoSend.Down := false;
      TimerAutoSend.Enabled := false;
    end;
  end;
end;

procedure TFrm_Main.TimerAutoSendTimer(Sender: TObject);
begin
  if (not FAutoSend) then
  begin
    TimerAutoSend.Enabled := false;
    exit;
  end;
  TimerAutoSend.Enabled := false;
  try
    Btn_SendClick(nil);
  finally
    if (FAutoSend) then
      TimerAutoSend.Enabled := true
    else
      TimerAutoSend.Enabled := false;
  end;
end;

procedure TFrm_Main.tbByteSendClick(Sender: TObject);
begin
  Show_ByteSend;
  if ByteSend.IsEnable then
  begin
    ByteSend.CurByte := ByteSend.StartByte;
    ByteSend.CurCount := 0;
    TimerByteSend.Enabled := false;
    TimerByteSend.Interval := ByteSend.SendIntervel ;
    ComPort.WriteStr(chr(ByteSend.CurByte));
    IntSendByte;
    TimerByteSend.Enabled := true;
  end;
end;

procedure TFrm_Main.TimerByteSendTimer(Sender: TObject);
begin
  if (not ByteSend.IsEnable) then
  begin
    TimerByteSend.Enabled := false;
    exit;
  end;
  TimerByteSend.Enabled := false;
  try
    if ByteSend.IsEnable then
    begin
      ComPort.WriteStr(chr(ByteSend.CurByte));
      IntSendByte;
    end;
  finally
    if (ByteSend.IsEnable) then
      TimerByteSend.Enabled := true
    else
      TimerByteSend.Enabled := false;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区四区| 久久久精品一品道一区| 久久电影国产免费久久电影| 亚洲丝袜制服诱惑| 欧美日韩三级一区二区| 成av人片一区二区| 久久精品国产久精国产| 亚洲成人在线免费| 欧美国产激情一区二区三区蜜月| 在线91免费看| 欧美日韩在线播放| 日本精品视频一区二区三区| 丰满亚洲少妇av| 国产在线视频不卡二| 美女脱光内衣内裤视频久久网站 | 欧美精品v国产精品v日韩精品| 国产iv一区二区三区| 久久99久久99小草精品免视看| 国产精品福利影院| 国产免费观看久久| 亚洲国产经典视频| 日韩一卡二卡三卡国产欧美| 欧洲一区在线观看| 欧美色图一区二区三区| 在线国产电影不卡| 99热99精品| av影院午夜一区| 97se亚洲国产综合自在线不卡| 国产高清一区日本| 国产91对白在线观看九色| 久久精品国产久精国产爱| 蜜桃精品视频在线| 毛片av一区二区| 韩国精品一区二区| 成人妖精视频yjsp地址| 国产aⅴ综合色| 色综合久久中文综合久久牛| 一本久久综合亚洲鲁鲁五月天| 97久久精品人人澡人人爽| 色猫猫国产区一区二在线视频| 91黄色免费观看| 精品国产一区二区三区忘忧草 | 中文字幕制服丝袜一区二区三区| 樱桃视频在线观看一区| 久久99久久99| 在线观看91视频| 国产精品免费视频观看| 日本一区中文字幕| 在线观看三级视频欧美| 亚洲精品在线电影| 日日噜噜夜夜狠狠视频欧美人| 99精品国产视频| 久久综合五月天婷婷伊人| 午夜精品福利一区二区蜜股av| 国产91精品一区二区| 日韩免费看网站| 亚洲国产成人91porn| 91视频国产资源| 国产精品三级在线观看| 国产激情一区二区三区四区| 正在播放亚洲一区| 亚洲一区二区偷拍精品| 91亚洲永久精品| 国产精品乱码久久久久久 | 久久新电视剧免费观看| 日日摸夜夜添夜夜添国产精品| 91亚洲国产成人精品一区二区三| 久久久精品一品道一区| 久久国产精品72免费观看| 欧美视频完全免费看| 亚洲欧洲www| 成人午夜免费电影| 国产精品妹子av| 波多野结衣中文一区| 欧美激情在线免费观看| 国产成人在线视频播放| 久久婷婷久久一区二区三区| 麻豆精品视频在线观看视频| 日韩视频一区二区三区在线播放 | 国产精品1024| 久久久午夜精品| 国产福利不卡视频| 亚洲国产精品激情在线观看 | 中文字幕在线免费不卡| 成人国产亚洲欧美成人综合网| 日本一区二区三区在线观看| 丁香啪啪综合成人亚洲小说| 久久精品男人天堂av| 成人av网站在线观看免费| 国产精品久久久久影院色老大| 成a人片国产精品| 一区二区视频免费在线观看| 欧美在线观看视频一区二区| 亚洲成av人片一区二区梦乃| 欧美一级片免费看| 国产成人精品亚洲777人妖| 国产精品理论在线观看| 色94色欧美sute亚洲线路二| 午夜精品免费在线| 精品国产乱码久久久久久久久| 国产不卡视频在线观看| 亚洲欧美色一区| 7777精品伊人久久久大香线蕉最新版 | 蜜臀精品久久久久久蜜臀| 久久先锋影音av| 91丝袜美腿高跟国产极品老师 | 久久国产精品99精品国产| 26uuu久久天堂性欧美| 成人黄色电影在线 | 国产中文字幕一区| 亚洲视频你懂的| 欧美日韩在线一区二区| 国产资源精品在线观看| 亚洲欧美日韩一区二区| 欧美区在线观看| 国产69精品久久777的优势| 亚洲一二三四区不卡| 欧美精品一区二区三区在线| 91国在线观看| 国产99久久久久久免费看农村| 亚洲国产视频直播| 国产欧美日韩一区二区三区在线观看| 日本道色综合久久| 国产裸体歌舞团一区二区| 亚洲夂夂婷婷色拍ww47 | 99久久婷婷国产| 麻豆国产一区二区| 亚洲激情av在线| 国产欧美日韩麻豆91| 欧美一区二区三区在线电影| 91免费视频网| 国产成人免费高清| 美女视频一区二区| 午夜精品久久久久影视| 亚洲精品乱码久久久久久黑人| 久久久亚洲高清| 欧美一二区视频| 欧美日韩成人综合| 91久久精品一区二区二区| 成人三级伦理片| 国产精品 欧美精品| 久草热8精品视频在线观看| 香蕉加勒比综合久久| 亚洲精品videosex极品| 亚洲欧洲日韩av| 久久久精品tv| 久久久久久久久久久久久女国产乱| 欧美人牲a欧美精品| 欧美制服丝袜第一页| av不卡在线播放| 成人av免费在线播放| 国产福利视频一区二区三区| 国产乱子伦视频一区二区三区| 久久国产婷婷国产香蕉| 毛片av中文字幕一区二区| 日本欧美一区二区三区| 日韩高清中文字幕一区| 天堂久久一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲午夜久久久久久久久电影院| 尤物av一区二区| 亚洲国产一区二区a毛片| 午夜精品久久久久久久99水蜜桃| 亚洲一区二区三区激情| 亚洲一区二区三区四区在线| 亚洲一区二区3| 天堂av在线一区| 精品制服美女久久| 国产传媒欧美日韩成人| 丁香五精品蜜臀久久久久99网站| av中文字幕不卡| 色先锋久久av资源部| 欧美色老头old∨ideo| 欧美在线观看禁18| 欧美一区二区三区在线观看| 精品国产免费一区二区三区四区| 久久久久久电影| 亚洲免费在线视频一区 二区| 亚洲午夜久久久久久久久电影院| 免费成人在线网站| 丁香五精品蜜臀久久久久99网站| 色成年激情久久综合| 91精品国产色综合久久久蜜香臀| 久久亚洲精华国产精华液| 亚洲欧美日本韩国| 日本人妖一区二区| 成人网页在线观看| 欧美日韩一二区| 国产亚洲欧美日韩在线一区| 亚洲欧美另类在线| 久久成人久久鬼色| 91蝌蚪porny| 久久天天做天天爱综合色| 亚洲天堂成人在线观看| 美女国产一区二区三区| 99久久99久久久精品齐齐| 91精品国产综合久久久久久| 国产精品久久久久精k8| 蜜桃av一区二区三区| 色哟哟国产精品|