设为首页 加入收藏

TOP

Delphi - 采用第三方控件TMS、SPComm开发串口调试助手(二)
2019-09-04 00:59:57 】 浏览:374
Tags:Delphi 采用 第三方 控件 TMS SPComm 开发 串口 调试 助手
gbSerialParams: TRzGroupBox; 14 gbMsg: TRzGroupBox; 15 mmMsg: TMemo; 16 gbPortSet: TRzGroupBox; 17 gbSendMsg: TRzGroupBox; 18 lbCom: TLabel; 19 lbStopBit: TLabel; 20 lbByteSize: TLabel; 21 lbCheckBit: TLabel; 22 lbBaudRate: TLabel; 23 comMain: TComm; 24 cbbCOM: TComboBox; 25 cbbStopBit: TComboBox; 26 cbbByteSize: TComboBox; 27 cbbBaudRate: TComboBox; 28 cbbCheckBit: TComboBox; 29 gbMsgSendParams: TRzGroupBox; 30 gbMsgSendList: TRzGroupBox; 31 cbByte: TRzCheckBox; 32 cbAutoSend: TRzCheckBox; 33 lbCT: TLabel; 34 edtTime: TEdit; 35 advBtnConfirm: TAdvGlassButton; 36 advBtnConnect: TAdvGlassButton; 37 AdvGlassButton1: TAdvGlassButton; 38 lbMs: TLabel; 39 mmSendMsg: TMemo; 40 statusBar: TRzStatusBar; 41 clock: TRzClockStatus; 42 versionStatus: TRzVersionInfoStatus; 43 mqStatus: TRzMarqueeStatus; 44 progressBar: TRzProgressBar; 45 connectStatus: TRzStatusPane; 46 timerMain: TTimer; 47 procedure advBtnConnectClick(Sender: TObject); 48 procedure comMainReceiveData(Sender: TObject; Buffer: Pointer; 49 BufferLength: Word); 50 procedure advBtnConfirmClick(Sender: TObject); 51 procedure SendHex(S: string); 52 procedure AdvGlassButton1Click(Sender: TObject); 53 procedure timerMainTimer(Sender: TObject); 54 private 55 { Private declarations } 56 public 57 { Public declarations } 58 end; 59 60 var 61 MainFrm: TMainFrm; 62 63 implementation 64 65 {$R *.dfm} 66 67 procedure TMainFrm.SendHex(S: string); 68 var 69 s2: string; 70 buf1: array[0..50000] of char; 71 i: integer; 72 begin 73 s2 := ''; 74 for i := 1 to length(s) do 75 begin 76 if ((copy(s, i, 1) >= '0') and (copy(s, i, 1) <= '9')) or ((copy(s, i, 1) >= 'a') and (copy(s, i, 1) <= 'f')) 77 or ((copy(s, i, 1) >= 'A') and (copy(s, i, 1) <= 'F')) then 78 begin 79 s2 := s2 + copy(s, i, 1); 80 end; 81 end; 82 for i := 0 to (length(s2) div 2 - 1) do 83 buf1[i] := char(strtoint('$' + copy(s2, i * 2 + 1, 2))); 84 comMain.WriteCommData(buf1, (length(s2) div 2)); 85 mmMsg.Lines.Add('MsgSend[' + S + ']'); 86 end; 87 88 89 procedure TMainFrm.advBtnConnectClick(Sender: TObject); 90 var 91 serialPortNO: string; 92 begin 93 try 94 with comMain do 95 begin 96 StopComm; 97 serialPortNO := Copy(cbbCOM.Text, 4, Length(cbbCOM.Text) - 3); 98 BaudRate := StrToInt(cbbBaudRate.Text); 99 // ByteSize := TByteSize(cbbByteSize.ItemIndex); 100 // StopBits := TStopBits(cbbStopBit.ItemIndex); 101 // Parity := TParity(cbbCheckBit.ItemIndex); 102 if StrToInt(serialPortNO) > 9 then 103 begin 104 CommName := '//./' + cbbCOM.Text; 105 end 106 else 107 begin 108 CommName := cbbCOM.Text; 109 end; 110 comMain.StartComm; 111 connectStatus.Caption := 'Connected'; 112 connectStatus.FillColor := clLime; 113 advBtnConnect.Enabled := False; 114 gbSendMsg.Enabled := True; 115 end; 116 except 117 connectStatus.Caption := 'Not Connected'; 118 connectStatus.FillColor := clRed; 119 gbSendMsg.Enabled := False; 120 end; 121 122 end; 123 124 procedure TMainFrm.comMainReceiveData(Sender: TObject; Buffer: Pointer; 125 BufferLength: Word); 126 var 127 S: string; 128 I, L: INTEGER; 129 RBUF: array[0..2048] of BYTE; 130 begin 131 Move(Buffer^, pchar(@rbuf)^, BufferLength); 132 L := BufferLength; 133 for I := 0 to L - 1 do 134 begin 135 S := S +
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Delphi - 创建SuperDll 持续更新 下一篇Delphi - 互斥对象下实现系统的单..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目