![]() |
|
|
#1
|
||||
|
||||
|
Есть некая записанная строка например в Label-е. Нужно добиться её появления по буквам таким способом: сначала справа выбегает первая буква, фиксируется у левого края формы. Потом следом выбегает вторая буква, подбегает к первой, встает рядом. Потом идет третья буква, она подбегает к первым двум, также встает рядом. И так далее всю строку.
Подскажите, как это можно организовать? Я пытался так: 2 строки Label, первая стоит у края, вторая бегает туда-сюда. Изначально в первой ничего нету, а второй присваиваем первую букву строки. Когда 2я подбегает к концу 1ой, эта буква присваивается к 1 строке, а вторая возвращается на исходную и уже бежит со второй буквой. На практике нифига не получилось, только большой код с кучей ошибок из-за каких-то недочетов с таймером которые я не осилил понять =\ Может есть какие-нибудь другие идеи? Подскажите пожалуйста. Или может есть какой-нибудь вариант мой способ нормальнорабочим сделать? =\ На что нужно обратить внимание? (свой код-наработку к сожалению сжог в порывах страсти )Последний раз редактировалось lopata39, 07.11.2016 в 23:51. |
|
#2
|
||||
|
||||
|
Зря жгли, из пепла дольше возрождать
![]() Цитата:
Код:
...
var
i: integer;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
i:= 1;
Label1.Caption:= '';
Label2.Caption:= Edit1.Text[1];
Label2.Left:= ClientWidth - Label2.Width;
Timer1.Interval:= 10;
Timer1.Enabled:= true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label2.Left:= Label2.Left - 10;
Label2.Visible:= Label2.Left < ClientWidth - Label2.Width;
if Label2.Left <= Label1.Width then
begin
Label1.Caption:= Label1.Caption + Label2.Caption;
inc(i);
if Edit1.Text[i] <> ' ' then
Label2.Caption:= Edit1.Text[i] else
begin
inc(i);
Label2.Caption:= ' ' + Edit1.Text[i];
end;
Label2.Left:= ClientWidth - Label2.Width;
end;
if i > Length(Edit1.Text) then Timer1.Enabled:= false;
end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
lopata39 (12.11.2016)
| ||
|
#3
|
||||
|
||||
|
Спасибо огромное! Очень помогли)
|