|
#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
|
||||
|
||||
Спасибо огромное! Очень помогли)
|