Ветеран
Сообщения: 1133
Благодарности: 581
|
Профиль
|
Отправить PM
| Цитировать
Вот, реализовал интересный эффект - эффект печатной машинки, т.е. текст на мастере появляется не сразу, а по одной букве, что создаёт эффект того, что текст печатается...
Скрипт
Код:
; Интересный эффект для Вашего инсталлятора, эффект печатной машинки...
; Для нормальной работы у Вас должен быть установлен набор от Restools http://restools.hanzify.org/
; Подразумеваю под словом набор - InnoCompiler и ISCmplr, последние версии Вы можете найти на сайте Restools.
; Автор: Serega, http://forum.oszone.net/member.php?userid=88670
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
Code]
var
lbl1, lbl2: TLabel;
txt1, txt2: string;
i: Integer;
tmr1: TTimer;
procedure tmr1Timer(Sender: TObject);
begin
tmr1.Enabled:= False;
txt1:= WizardForm.WelcomeLabel1.Caption;
txt2:= WizardForm.WelcomeLabel2.Caption;
lbl1.Caption:= '';
for i:= 1 to Length(txt1) do begin
if Application.Terminated then Break; // контроль закрытия приложения и выход из цикла
lbl1.Caption:= lbl1.Caption + txt1[i];
Application.ProcessMessages;
Sleep(100); // время задержки между показом букв
end;
lbl2.Caption:= '';
for i:= 1 to Length(txt2) do begin
if Application.Terminated then Break; // контроль закрытия приложения и выход из цикла
lbl2.Caption:= lbl2.Caption + txt2[i];
Application.ProcessMessages;
Sleep(60); // время задержки между показом букв
end;
end;
procedure CreateComponents;
begin
// скрываем стандартные Label'ы
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
// задаём свои Label'ы
lbl1:= TLabel.Create(WizardForm);
with lbl1 do begin
Left:= WizardForm.WelcomeLabel1.Left;
Top:= WizardForm.WelcomeLabel1.Top;
Width:= WizardForm.WelcomeLabel1.Width;
Height:= WizardForm.WelcomeLabel1.Height;
AutoSize:= WizardForm.WelcomeLabel1.AutoSize;
WordWrap:= WizardForm.WelcomeLabel1.WordWrap;
Font.Style:= WizardForm.WelcomeLabel1.Font.Style;
Font.Size:= WizardForm.WelcomeLabel1.Font.Size;
Font.Color:= WizardForm.WelcomeLabel1.Font.Color;
Transparent:= True;
Caption:= '';
Parent:= WizardForm.WelcomePage;
end;
lbl2:=TLabel.Create(WizardForm);
with lbl2 do begin
Left:= WizardForm.WelcomeLabel2.Left;
Top:= WizardForm.WelcomeLabel2.Top;
Width:= WizardForm.WelcomeLabel2.Width;
Height:= WizardForm.WelcomeLabel2.Height;
AutoSize:= WizardForm.WelcomeLabel2.AutoSize;
WordWrap:= WizardForm.WelcomeLabel2.WordWrap;
Font.Style:= WizardForm.WelcomeLabel2.Font.Style;
Font.Size:= WizardForm.WelcomeLabel2.Font.Size;
Font.Color:= WizardForm.WelcomeLabel2.Font.Color;
Transparent:= True;
Caption:= '';
Parent:= WizardForm.WelcomePage;
end;
tmr1:= TTimer.Create(WizardForm);
with tmr1 do begin
Interval:= 500; // время задержки перед началом показа текста
OnTimer:= @tmr1Timer;
end;
end;
procedure InitializeWizard();
begin
CreateComponents;
end;
|
-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.
Последний раз редактировалось Serega, 08-06-2009 в 22:36.
Причина: орфография
Отправлено: 18:24, 02-04-2009
| #553
|