Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1144756580
Nic
2006-04-11 15:56
2006.06.04
MS SQL Server: быстрый старт


3-1144513827
VadimSpb
2006-04-08 20:30
2006.06.04
Экспорт в Excel


2-1147861060
manevil
2006-05-17 14:17
2006.06.04
xml


15-1147352935
Alien1769
2006-05-11 17:08
2006.06.04
Вопросы по розрядной сортировке


3-1142248267
thvfrjd
2006-03-13 14:11
2006.06.04
проблема с DBLookupComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский