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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? trigger.pas

?? 很好用的串口通信工具軟件。Comport目錄下是用到的通信控件。
?? PAS
字號(hào):
unit Trigger;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst, TriggerUtil, ImgList, ComCtrls, ToolWin,
  ExtCtrls, Buttons;

type

  TFrm_Trigger = class(TForm)
    ToolBar: TToolBar;
    btn_Open: TToolButton;
    btn_Save: TToolButton;
    ToolButton2: TToolButton;
    ImgListMain: TImageList;
    btn_Add: TToolButton;
    btn_Delete: TToolButton;
    Panel1: TPanel;
    Panel2: TPanel;
    Ed_TriggerName: TEdit;
    Label1: TLabel;
    ed_TriggerData: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ed_RespondeData: TEdit;
    ed_RespondeDelay: TEdit;
    Label5: TLabel;
    cb_Active: TCheckBox;
    Label6: TLabel;
    ed_Conv: TEdit;
    SpeedButton1: TSpeedButton;
    Label7: TLabel;
    ed_TriggerLen: TEdit;
    tv_Trigger: TTreeView;
    ImageList_TV: TImageList;
    SaveDlg: TSaveDialog;
    OpenDlg: TOpenDialog;
    btn_SaveEdit: TButton;
    btn_CancelEdit: TButton;
    Panel3: TPanel;
    Button1: TButton;
    Button2: TButton;
    Bevel1: TBevel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure tv_TriggerChanging(Sender: TObject; Node: TTreeNode;
      var AllowChange: Boolean);
    procedure tv_TriggerChange(Sender: TObject; Node: TTreeNode);
    procedure btn_OpenClick(Sender: TObject);
    procedure btn_SaveClick(Sender: TObject);
    procedure btn_AddClick(Sender: TObject);
    procedure btn_DeleteClick(Sender: TObject);
    procedure btn_SaveEditClick(Sender: TObject);
    procedure btn_CancelEditClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure tv_TriggerDblClick(Sender: TObject);
  private
    { Private declarations }
    FTrigger: TTrigger;
    FFileName: string;
    procedure SetTrigger(value: TTrigger);
    procedure LoadFromTrigger;
    procedure SaveTriggerInfo(Node: TTreeNode = nil);
  published
    property Trigger: TTrigger read FTrigger write SetTrigger;
  end;

procedure Show_Trigger(oldTrigger: TTrigger; var TriggerFileName: string);

implementation

{$R *.dfm}

procedure Show_Trigger(oldTrigger: TTrigger; var TriggerFileName: string);
begin
  with TFrm_Trigger.Create(Application) do
  begin
    try
      Trigger := oldTrigger;
      FFileName := TriggerFileName;
      LoadFromTrigger;
      if ShowModal = mrOK then
      begin
        oldTrigger.Assign(Trigger);
        TriggerFileName := FFileName;
      end;
    finally
      Free;
    end;
  end;
end;

procedure TFrm_Trigger.SetTrigger(value: TTrigger);
begin
  FTrigger.Assign(value);
end;

procedure TFrm_Trigger.FormCreate(Sender: TObject);
begin
  FTrigger := TTrigger.Create(TTriggerItem);
end;

procedure TFrm_Trigger.FormDestroy(Sender: TObject);
begin
  FTrigger.Free;
end;

procedure TFrm_Trigger.LoadFromTrigger;
var i: Integer;
  Item: TTriggerItem;
  Node: TTreeNode;
begin
  for i := 0 to Trigger.Count - 1 do
  begin
    Item := Trigger[i];
    Node := tv_Trigger.Items.AddChild(nil, Item.TriggerName);
    Node.Data := Item;
    Node.ImageIndex := Integer(Item.Actived);
    Node.SelectedIndex := Node.ImageIndex;
    if i = 0 then Node.Selected := True;
  end;
end;

procedure TFrm_Trigger.SpeedButton1Click(Sender: TObject);
begin
  ed_Conv.Text := StrToHex(ed_Conv.Text);
  ed_Conv.SelectAll;
  ed_Conv.CopyToClipboard;
end;

procedure TFrm_Trigger.tv_TriggerChanging(Sender: TObject; Node: TTreeNode;
  var AllowChange: Boolean);
begin
  SaveTriggerInfo;
  AllowChange := True;
end;

procedure TFrm_Trigger.tv_TriggerChange(Sender: TObject; Node: TTreeNode);
var Item: TTriggerItem;
begin
  Item := TTriggerItem(Node.Data);
  if Item = nil then Exit;
  Ed_TriggerName.Text := Item.TriggerName;
  ed_TriggerData.Text := StrToHex(Item.TriggerHead);
  ed_TriggerLen.Text := IntToStr(Item.TriggerLen);
  ed_RespondeData.Text := StrToHex(Item.RespondeData);
  ed_RespondeDelay.Text := IntToStr(Item.RespondeDelay);
  cb_Active.Checked := Item.Actived;
end;

procedure TFrm_Trigger.SaveTriggerInfo(Node: TTreeNode = nil);
var Item: TTriggerItem;
  TriggerHead, RespondeData: string;
  TriggerLen, RespondeDelay: Integer;
begin
  if Node = nil then Node := TV_Trigger.Selected;
  if Node = nil then Exit;
  Item := TTriggerItem(Node.Data);
  TriggerHead := HexToStr(ed_TriggerData.Text);
  RespondeData := HexToStr(ed_RespondeData.Text);
  TriggerLen := StrToInt(ed_TriggerLen.Text);
  RespondeDelay := StrToInt(ed_RespondeDelay.Text);

  if TriggerHead = '' then
    raise Exception.Create('觸發(fā)數(shù)據(jù)頭不能為空');
  if TriggerLen <= 0 then
    raise Exception.Create('觸發(fā)數(shù)據(jù)長(zhǎng)度不能為0');

  Item.TriggerName := Ed_TriggerName.Text;
  Item.TriggerHead := TriggerHead;
  Item.TriggerLen := TriggerLen;
  Item.RespondeData := RespondeData;
  Item.RespondeDelay := RespondeDelay;
  Item.Actived := cb_Active.Checked;
  Node.Text := Item.TriggerName;
  Node.SelectedIndex := Integer(Item.Actived);
  Node.ImageIndex := Integer(Item.Actived);
end;

procedure TFrm_Trigger.btn_OpenClick(Sender: TObject);
begin
  if OpenDlg.Execute then
  begin
    Trigger.LoadFromFile(OpenDlg.FileName);
    FFileName := OpenDlg.FileName;
    LoadFromTrigger;
  end;
end;

procedure TFrm_Trigger.btn_SaveClick(Sender: TObject);
begin
  if FFileName = '' then
  begin
    if SaveDlg.Execute then
    begin
      if FileExists(SaveDlg.FileName) then
        if MessageBox(Handle, '文件已經(jīng)存在,覆蓋嗎?', '警告', MB_ICONWARNING + MB_YESNO + MB_APPLMODAL) = IDNo then
          Exit;
      FFileName := SaveDlg.FileName;
    end;
  end;
  SaveTriggerInfo;
  Trigger.SaveToFile(FFileName);
end;

procedure TFrm_Trigger.btn_AddClick(Sender: TObject);
var Item: TTriggerItem;
  Node: TTreeNode;
begin
  SaveTriggerInfo;
  Item := Trigger.Add as TTriggerItem;
  Node := tv_Trigger.Items.AddChild(nil, Item.TriggerName);
  Node.Data := Item;
  Node.ImageIndex := Integer(Item.Actived);
  Node.SelectedIndex := Node.ImageIndex;
  Node.Selected := True;
end;

procedure TFrm_Trigger.btn_DeleteClick(Sender: TObject);
var Item: TTriggerItem;
  Node: TTreeNode;
begin
  Node := Tv_Trigger.Selected;
  if Node = nil then Exit;
  Item := TTriggerItem(Node.Data);
  Tv_Trigger.Items.Delete(Node);
  Trigger.Delete(Item.ID);
end;

procedure TFrm_Trigger.btn_SaveEditClick(Sender: TObject);
begin
  SaveTriggerInfo;
end;

procedure TFrm_Trigger.btn_CancelEditClick(Sender: TObject);
begin
  if Tv_Trigger.Selected = nil then Exit;
  tv_TriggerChange(self, Tv_Trigger.Selected);
end;

procedure TFrm_Trigger.Button1Click(Sender: TObject);
begin
  SaveTriggerInfo;
  Trigger.SaveToFile(FFileName);
  ModalResult := mrOK;
end;

procedure TFrm_Trigger.tv_TriggerDblClick(Sender: TObject);
var Node: TTreeNode;
  Item: TTriggerItem;
begin
  Node := Tv_Trigger.Selected;
  if Node = nil then Exit;
  Item := TTriggerItem(Node.Data);
  Item.Actived := not Item.Actived;
  Node.ImageIndex := Integer(Item.Actived);
  Node.SelectedIndex := Node.ImageIndex;
  cb_Active.Checked := Item.Actived;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本美女一区二区三区| 蜜芽一区二区三区| 欧美成人精品1314www| eeuss国产一区二区三区| 奇米色一区二区| 亚洲免费观看在线视频| 亚洲精品在线三区| 欧美日韩一级大片网址| 99re这里只有精品6| 精品在线播放午夜| 亚洲第一激情av| 亚洲欧美在线另类| 久久久久久97三级| 欧美一区二区网站| 欧美色男人天堂| 99综合影院在线| 国产91高潮流白浆在线麻豆| 亚欧色一区w666天堂| 成人欧美一区二区三区在线播放| 欧美r级电影在线观看| 在线播放91灌醉迷j高跟美女 | 日韩欧美综合一区| 一本一道波多野结衣一区二区| 成人深夜在线观看| 国产毛片精品国产一区二区三区| 日本大胆欧美人术艺术动态| 亚洲一二三四区| 亚洲美女视频一区| 国产精品久久久久久久久果冻传媒 | 奇米色一区二区三区四区| 一区二区三区毛片| 一区二区三区中文免费| 成人欧美一区二区三区在线播放| 国产日产亚洲精品系列| 久久久精品日韩欧美| 久久久久久久综合狠狠综合| 日韩免费视频一区| 日韩久久久久久| 日韩欧美一级二级| 精品国产凹凸成av人导航| 日韩欧美激情在线| 日韩欧美亚洲国产另类| 欧美不卡一区二区| 久久亚洲精精品中文字幕早川悠里| 日韩一级二级三级精品视频| 欧美一级理论性理论a| 日韩女优视频免费观看| 久久综合丝袜日本网| 久久精品综合网| 国产精品视频看| 亚洲欧美偷拍三级| 亚洲综合自拍偷拍| 日韩精品一卡二卡三卡四卡无卡| 五月天丁香久久| 青青草原综合久久大伊人精品| 日本视频一区二区| 国产一区欧美一区| 成a人片国产精品| 在线观看国产91| 欧美一区二区视频免费观看| 日韩你懂的在线播放| 国产午夜精品福利| 国产精品久久久久影视| 一区二区免费看| 午夜免费久久看| 国产一区二区三区四区在线观看| 国产成人av影院| 色噜噜狠狠色综合欧洲selulu| 精品视频一区 二区 三区| 91精品欧美久久久久久动漫| 精品精品国产高清a毛片牛牛| 国产精品视频免费看| 亚洲电影中文字幕在线观看| 精品一区二区三区欧美| a美女胸又www黄视频久久| 欧美人牲a欧美精品| 久久毛片高清国产| 夜夜夜精品看看| 精品亚洲成a人| 色婷婷激情一区二区三区| 日韩欧美色综合网站| 亚洲欧洲av在线| 美女高潮久久久| 99久久久国产精品免费蜜臀| 欧美一区二区三区爱爱| 国产精品美女久久久久久| 丝袜亚洲另类丝袜在线| 成人蜜臀av电影| 91精品国产综合久久国产大片| 国产精品视频九色porn| 天堂久久久久va久久久久| 播五月开心婷婷综合| 欧美一区二区高清| 亚洲乱码国产乱码精品精的特点| 麻豆精品国产传媒mv男同| 色哟哟精品一区| 久久精品亚洲乱码伦伦中文| 日日夜夜精品视频免费| 97精品久久久久中文字幕| 精品国产一区a| 水蜜桃久久夜色精品一区的特点| 成人毛片在线观看| 精品久久久久一区| 亚洲国产日韩a在线播放| 丁香啪啪综合成人亚洲小说| 欧美一区二区三区在线观看| 一区二区三区精品| www.亚洲色图.com| 国产亚洲欧洲997久久综合| 日韩精彩视频在线观看| 欧洲色大大久久| 国产精品久久久久久久第一福利 | 麻豆成人在线观看| 欧美日韩在线播放| 亚洲欧美日韩国产手机在线| 国产.精品.日韩.另类.中文.在线.播放| 69堂亚洲精品首页| 亚洲国产成人91porn| 一本一道久久a久久精品综合蜜臀| 国产欧美中文在线| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美人与禽zozo性伦| 一区二区三区精品在线观看| 91女厕偷拍女厕偷拍高清| 中文在线免费一区三区高中清不卡| 久久精品99国产精品日本| 91精品欧美一区二区三区综合在| 亚洲午夜久久久久| 欧美性猛交xxxx黑人交| 夜夜精品浪潮av一区二区三区| 91丨九色丨黑人外教| 一区精品在线播放| 91视频免费看| 一区二区在线观看av| 在线看日本不卡| 洋洋av久久久久久久一区| 欧日韩精品视频| 亚洲综合一区二区| 欧美日韩免费在线视频| 午夜视频在线观看一区| 欧美一级在线视频| 六月丁香婷婷色狠狠久久| 精品91自产拍在线观看一区| 国产精品一二一区| 国产精品久久久久久久久久久免费看 | 韩国理伦片一区二区三区在线播放| 日韩久久久久久| 国产一二三精品| 国产精品国产三级国产普通话蜜臀| 99久久精品免费看| 一区二区理论电影在线观看| 欧美日韩国产高清一区二区三区 | 日韩一级二级三级| 国产一区二区三区免费播放| 欧美激情一区二区三区在线| 色哟哟欧美精品| 午夜国产不卡在线观看视频| 欧美tickling挠脚心丨vk| 懂色av中文字幕一区二区三区| 亚洲欧美日韩小说| 91精品久久久久久久99蜜桃 | 91精品国产乱| 国产不卡在线一区| 亚洲免费av在线| 欧美一区二区久久| 国产成人超碰人人澡人人澡| 一区二区三区日韩欧美精品| 欧美一级日韩免费不卡| 国产.欧美.日韩| 亚洲狠狠爱一区二区三区| 日韩久久久精品| 色综合激情久久| 蜜桃视频在线观看一区二区| 国产精品美女久久久久高潮| 欧美日韩国产色站一区二区三区| 国产美女精品人人做人人爽| 一区二区三区在线观看视频| 欧美成人免费网站| 色综合天天在线| 九色综合国产一区二区三区| 亚洲精品视频免费看| 精品捆绑美女sm三区| 99精品视频一区二区三区| 蜜臀av一区二区在线免费观看| 国产精品久久久久婷婷| 欧美一区二区三区免费在线看| 不卡影院免费观看| 免费成人在线观看| 日韩理论在线观看| 精品国产电影一区二区| 精品视频全国免费看| 丁香亚洲综合激情啪啪综合| 日韩电影一区二区三区四区| 亚洲女人小视频在线观看| 精品国产一区二区三区久久影院 | 日韩国产欧美在线视频| 一色桃子久久精品亚洲| 亚洲精品在线三区| 6080yy午夜一二三区久久| 一本大道久久a久久精品综合|