Чтение последней строки в Tmemo в Delphi
Попробовав очень долго.... решил обратиться за помощью.
Я пытаюсь прочитать последнюю строку, отправленную Tmemo в Delphi. Я посылаю строки кода одну за другой разработчику. подняться на борт Правлению нужны разные строки кода, отправляемые на него каждый раз. Моя конечная цель - прочитать последнюю строчку о разработчике. доска отправляет обратно.
НАПРИМЕР
Установите ATT = 7 --->> \ отправлено dev. доска
Девиация Правление отвечает
ОК <----- \ получен от разработчика. доска
отправьте следующую строку кода.
Или же
ERR
отправьте команду "set att = 7" еще раз.
До сих пор у меня есть большая часть того, что мне нужно работать. Я просто не могу заставить Дельфи прочесть последнюю строчку времени.
я пытался
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;
Showmessage предназначено только для моего собственного ознакомления... Я знаю, что оно перенаправляет данные, которые получает обратно, просто для справки.
Странно, иногда это работает, и это линии. Граф иногда тоже отскакивает, так что я думаю, что поступаю совершенно неправильно...
1 ответ
Ты читаешь за конец MemoRxData.Lines
, поскольку он начинается с нуля:
ll2 := MemoRxData.Lines.Count - 1;
ComPort1.WriteStr(MemoRxData.Lines[ll2] + #13#10;
(Ваши имена переменных ужасны, кстати. ll2
просто ужасно читать. Вы должны использовать значимые, легко читаемые имена переменных вместо таких ужасных ярлыков.)