Вопрос Зацикленная печатная машинка, как сделать ?

EvilAlex

Старожил
Всем добрых уток! Подскажите пожалуйста, как зациклить эффект печатно машинки в скрипте ниже ?

Код:
; Интересный эффект для Вашего инсталлятора, эффект печатной машинки...
; Для нормальной работы у Вас должен быть установлен набор от 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: TLabel;
  txt1: string;
  i: Integer;
  tmr1: TTimer;

procedure tmr1Timer(Sender: TObject);
begin
  tmr1.Enabled:= False;

  txt1:= '...';

  lbl1.Caption:= '';
  for i:= 1 to Length(txt1) do begin
    if Application.Terminated then Break; // контроль закрытия приложения и выход из цикла
    lbl1.Caption:= lbl1.Caption + txt1[i];
    Application.ProcessMessages;
    Sleep(1000); // время задержки между показом букв
  end;
end;

procedure CreateComponents;
begin
// скрываем стандартные Label'ы
  WizardForm.WelcomeLabel1.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;

  tmr1:= TTimer.Create(WizardForm);
  with tmr1 do begin
    Interval:= 1000; // время задержки перед началом показа текста
    OnTimer:= @tmr1Timer;
  end;
end;

procedure InitializeWizard();
begin
  CreateComponents;
end;
 

sergey3695

Ветеран
Модератор
EvilAlex,
Код:
var
  lbl1: TLabel;
  txt1: string;
  i: Integer;
  tmr1: TTimer;

procedure tmr1Timer(Sender: TObject);
begin
  i:= i+1;
  if i>Length(txt1) then
  begin
    lbl1.Caption:= '';
    i:= 0;
  end else
  lbl1.Caption:= lbl1.Caption + txt1[i];
end;

procedure CreateComponents;
begin
  txt1:= '-sleep';
\\..
p.s. от серого, к серому :D
 
Сверху