Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как намутить такое, что бы............................


Man In Red ©   (2001-12-15 20:12:00) 

У меня такой вопрос:
На форме лежат RichEdit и Timer. Так вот, в RichEdite, есть текст,
и таймер каждую секунду по одному символу в тексте выделяет.

1. Как сделать, чтобы когда выделился последний символ в тексте, таймер автоматически останавливался?

2. И как сделать что бы каретка переходила на новую строку ( Если конечно есть еще одна строка, а если нет то таймер останавливался, конечно ), если выделенный символ был последним в строке?

Очень прошу, помогите, заранее благодарен!


Man In Red   (2001-12-16 13:29:00) [1]

НЕТ, ТЫ НЕ ПОНЯЛ!
КАЖДУЮ СЕКУНДУ ВЫДЕЛЯЕТСЯ ТОЛЬКО ОДИН СИМВОЛ, СНАЧАЛА ПЕРВЫЙ ВЫДЕЛИЛСЯ ПОТОМ ВТОРОЙ, ТРЕТИЙ И Т. Д.....................


KilkennyCat   (2001-12-16 06:56:00) [2]

Елементарно. Для стандартного RichEdit. (Delphi 5 tested)

procedure TForm1.Button1Click(Sender: TObject); // нажатие кнопки
begin
richedit1.SelStart := 0; // устанавливаем каретку в начало
richedit1.SetFocus; // отнимаем фокус у кнопки
timer1.Enabled := true // запускаем!
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
a : longint;
begin
a := richedit1.SelLength; // сохраним старое значение
//увеличиваем выделение на один символ
richedit1.SelLength := richedit1.SelLength + 1;
// проверяем упирание в конец строки
if a = richedit1.SelLength then begin
// пытаемся перейти на другую
richedit1.SelLength := richedit1.SelLength + 2;
// Проверяем, не уперлись ли при переходе
if a = richedit1.SelLength then begin
// уперлись, однако. Значит, конец текста. Отключаем таймер.
timer1.Enabled := false;
// сообщаем юзеру, а то он не догадается....
showmessage("Баста, карапузики!")
end
end
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо