Форум: "Основная";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Внизобратная нумерация строк в memo Найти похожие ветки
← →
tickler (2006-04-26 12:44) [0]Здравствуйте, можно ли сделать так, чтобы строки с младшим индексом в memo были в низу.
← →
Сергей М. © (2006-04-26 12:50) [1]Нельзя.
Но что мешает заполнить MEMO в обратном порядке следования строк и обращаться в последствии к этим строкам через свою специальную ф-цию ?
function MyGetStringFromMemo(Memo: TMemo; Index: Integer): String;
begin
with Memo do
Result := Lines[Prev(Lines.Count) - Index];
end;
?
← →
tickler (2006-04-26 13:11) [2]> Что мешает?
В программе memo используется как форма для вывода текста, и находится в самом низу экрана, выставленная по первой строке. Если memo будет заполняться сверху вниз, то новый текст просто не будет видно.
← →
Юрий Зотов © (2006-04-26 13:24) [3]> tickler (26.04.06 13:11) [2]
> новый текст просто не будет видно.
И поэтому Вы хотите заставить бедного юзера читать снизу вверх? Не думаю, что он сильно обрадуется такому сверхоригинальному решению.
Добавляйте строки как обычно, но после каждого добавления прокручивайте текст до конца, вот и весь вопрос.
← →
jack128 © (2006-04-26 13:57) [4]
> Не думаю, что он сильно обрадуется такому сверхоригинальному
> решению.
Вообще то подобное решение совсем не оригинальное, а самое что ни наесть обычное. Пример - http://www.delphimaster.ru/cgi-bin/forum.pl?n=0 ;-)
← →
tickler (2006-04-26 14:07) [5]
> И поэтому Вы хотите заставить бедного юзера читать снизу вверх?
Бедный юзер будет читать как обычно. Вся эта фигня с обратной нумерацией задумана только для того, чтобы текст выравнивался не по первой, а по последней строке (если учесть, что последняя строка будет нулевой, сделать это не сложно).
Вообще, это нужно для программы показа субтитров, чтобы сабы были всегда внизу экрана.
← →
Юрий Зотов © (2006-04-26 14:17) [6]> jack128 © (26.04.06 13:57) [4]
1. Поправь ссылку.
2. Обратное следование строк в Memo - обычное решение?
> tickler (26.04.06 14:07) [5]
> Бедный юзер будет читать как обычно
При обратной нумерации строк? Это как же оно так получится?
← →
tickler (2006-04-26 14:40) [7]Элементарно, Юрий. если новые строки вставлять инсертом в нулевую строку.
Вот мемо с обратной нумерацией:
...
3
2
1
0
Вот к примеру отрывок из субтитров:
Здрасти
Меня зовут
Вася
В итоге получаем:
...
3
2 Здрасти
1 Меня зовут
0 Вася
← →
Юрий Зотов © (2006-04-26 15:08) [8]> tickler (26.04.06 14:40) [7]
Это мечты. А реалии таковы, что стандартный Memo будет показывать строки в порядке их нумерации в Lines, и никак иначе. В каком порядке и куда именно Вы их будете туда вставлять - это дело хозяйское, но показыватся они будут все равно в порядке нумерации. То есть, после вставки 3-х строк инсертом в нулевую строку получим:
Вася
Меня зовут
Здрасти
И бедный юзер будет-таки вынужден читать текст именно снизу вверх. А чтобы его не мучать - либо сильно изгаляемся и пишем свой Memo, либо смотрим [2] и пишем всего 1 дополнительную строку кода.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c