2014-11-07 3 views
0

После долгого простоя .... решил обратиться за помощью.Чтение последней строки в Tmemo в delphi

Я пытаюсь прочитать последнюю строку, отправленную Tmemo в Delphi. Я отправляю строки кода один за другим в dev. доски объявлений. Совет нуждается в разных строках кода, присланных ему каждый раз. Моя конечная цель - прочитать последнюю строку dev. доска отправляет обратно.

например

Set ATT = 7 --- >> \ отправляется Dev. доска

Дев. Ответы Совета

O.K < ----- \ полученные от dev. доска

отправьте следующую строку кода. "ATT = набор 7" команда посыла

Или

E.R.R

снова.


До сих пор у меня есть большая часть того, что мне нужно для работы. Я просто не могу заставить 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; 

ShowMessage только там для моей ссылки ... Я знаю, что прыгающий данные, которые он получает обратно только для справки.

Странно, что это работает иногда, и это линии. Граф отскакивает письма иногда и поэтому я думаю, что я буду об этом полном неправильном пути ...

ответ

6

Вы читаете в конце прошлого MemoRxData.Lines, так как это с нулем:

ll2 := MemoRxData.Lines.Count - 1; 

ComPort1.WriteStr(MemoRxData.Lines[ll2] + #13#10; 

(Ваши имена переменных ужасны, BTW. ll2 просто ужасно читать. Вы должны использовать значащие, легко читаемые имена переменных вместо таких ужасных ярлыков.)

+3

Кен прав. И убедитесь, что ll2 всегда больше 0 – asir6

+0

@asir - Что случилось с .Lines [0]? –

+0

Привет, Кен, спасибо, не верю, что я не пробовал это ... так устал вчера вечером, когда я отправил свой вопрос, а LL означает, что LastLine у ​​меня было имя переменной LastLine, но устало было печатать LastLine все время, пытаясь различные варианты, поэтому изменили его на LL, но теперь он вернулся к последней строке. Большое спасибо. –

Смежные вопросы