阅读德尔福Tmemo中的最后一行

Stu*_*com 0 delphi tmemo tcomport

经过很长一段时间后......决定寻求帮助.

我正在尝试阅读发送到Delphi中的Tmemo的最后一行.我正在向开发人员逐个发送代码行.登上开发者.电路板每次都需要发送不同的代码行.我的最终目标是回读dev的最后一行.董事会发回来.

例如

设置ATT = 7 --- >> \发送到dev.板

开发.董事会回复

确定<----- \从dev收到.板

发送下一行代码.

要么

再次发送"set att = 7"命令.


到目前为止,我已经掌握了大部分需要工作的东西.我只是不能让Delphi阅读tmemo的最后一行.

我试过了

procedure TReaderProgrammer.Button3Click(Sender: TObject );
var 
  RxData : string; 
  LL : string; 
  ll2: system.integer;
begin
  LL:= memorxdata.lines.count.ToHexString;
  LL2:=memorxdata.Lines.Count;
  if ComPort1.Connected then
  begin
     showmessage(ll);
     ComPort1.WriteStr(memorxdata.Lines[ll2]+#13+#10);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

showmessage只供我自己参考...我知道它反弹它再次收到的数据仅供参考.

奇怪的是它有时会起作用,而那些线条.伯爵有时会反弹回信,所以我想我会以完全错误的方式解决这个问题......

Ken*_*ite 6

你正在阅读MemoRxData.Lines它的结尾,因为它是从零开始的:

ll2 := MemoRxData.Lines.Count - 1;

ComPort1.WriteStr(MemoRxData.Lines[ll2] + #13#10;
Run Code Online (Sandbox Code Playgroud)

(你的变量名很糟糕,顺便说一句.ll2读取它是非常可怕的.你应该使用有意义的,易于读取的变量名而不是那些可怕的快捷键.)

  • 肯是对的.并确保ll2总是大于0 (3认同)