1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

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

Тема в разделе "Inno Setup", создана пользователем EvilAlex, 15 авг 2018.

  1. Ветеран

    Регистрация:
    18 авг 2011
    Сообщения:
    205
    Симпатии:
    93
    Всем добрых уток! Подскажите пожалуйста, как зациклить эффект печатно машинки в скрипте ниже ?

    Код (Inno):
    ; Интересный эффект для Вашего инсталлятора, эффект печатной машинки...
    ; Для нормальной работы у Вас должен быть установлен набор от 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;
     
  2. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.185
    Симпатии:
    759
    EvilAlex,
    Код (Inno):
    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
     
    EvilAlex нравится это.

Поделиться этой страницей