Как узнать, отображает ли TMemo последнюю строку?
 Добавлено: 05.08.2019 11:11:41
Добавлено: 05.08.2019 11:11:41Мне надо выводить лог в Memo, и если видна последняя строка, чтобы новый текст добавлялся с прокруткой всего текста в конец (нормальное поведение TMemo). А если последние строки не видны (например, юзер сдвинул ScrollBar вверх и просматривает предыдущие сообщения), то текст чтобы добавлялся в TMemo, но окно не прокручивалось. 
Для отключения прокрутки окна вывод сделал так:
Как задать условие?
==============================
И еще вопрос, чтобы не заводить отдельную тему. Как переименовать ноду в TXMLDocument?
			Для отключения прокрутки окна вывод сделал так:
- Код: Выделить всё
- if ( <видна последняя строка> ) then
 Memo1.Lines.Add(s) // текст прокручивается
 else
 begin
 Memo1.BeginUpdate;
 Memo1.Lines.Add(s); // текст не прокручивается при добавлении
 Memo1.EndUpdate;
 end;
Как задать условие?
==============================
И еще вопрос, чтобы не заводить отдельную тему. Как переименовать ноду в TXMLDocument?
- Код: Выделить всё
- procedure TForm1.RenameNode(var node:TDOMNode);
 var
 s : WideString;
 begin
 s := WideString(InputBox('Имя ноды', 'Введите новое имя ноды', ''));
 if isCorrectName(s) then
 node.NodeName := s; // компилятор ругается - "Error: No member is provided to access property" (свойство NodeName только на чтение)
 end;