Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


audiofeel,

читать дальше »
Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
    ssPostInstall:
    begin
      SaveStringToFile(ExpandConstant('{app}')+'\durdom.ini', MyEdit.Text + #13#10, true);
      SaveStringToFile(ExpandConstant('{app}')+'\durdom.ini', MyEdit1.Text, true);
    end;
  end;
end;


///P.S.////////////////////////////////////////////////////////////////////////////////////////////////////////////

//ssPostInstall: это шаг установки (CurStep: TSetupStep) объявлять его дважды, по меньшей мере не имеет смысла.
//Если у вас несколько задач, выполняющихся на этапах установки, пишите так:
//
//procedure CurStepChanged(CurStep: TSetupStep);
//begin
//  case CurStep of
//    ssInstall:
//    begin
//      действие 1;
//      действие 2;
//      и т.д.
//    end;
//    ssPostInstall:
//    begin
//      действие 1;
//      действие 2;
//      и т.д.
//    end;
//  end;
//end;
//
//Если не понятны действия с case, пишите, как привыкли:
//procedure CurStepChanged(CurStep: TSetupStep);
//begin
//if CurStep = ssPostInstall then
//...
//
//В данном случае больше сила привычки, нежели необходимость.


Цитата Nightwishh:
Спасибо за помощь! а посмотрите я для GroupEdit я правильно сделал? »
Мне не за что, пример не мой.
Пару мелочей пропустили. Так будет правильно:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.

[Code]
#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

const
  MAX_PATH = 260;
  MAX_PATH_LEN = 55;

var
  PathLabel: TLabel;

function PathCompactPathEx(pszOut: String; pszSrc: String; cchMax: UINT; dwFlags: DWORD): BOOL; external 'PathCompactPathEx{#A}@shlwapi.dll stdcall';

function ShortPath(Input: String; Length: Integer): String;
begin
  Result := StringOfChar(#32, 260);
  PathCompactPathEx(Result, Input, Length, 0);
end;

procedure GroupEditOnChange(Sender: TObject);
begin
  PathLabel.Caption := ShortPath(#32 + TEdit(Sender).Text, 55);
end;

procedure InitializeWizard();
begin
  PathLabel := TLabel.Create(nil);
  with PathLabel do
  begin
    Parent:= WizardForm.SelectProgramGroupPage;
    Caption := ShortPath(#32 + WizardForm.GroupEdit.Text, 55);
    Transparent := True;
    Font.Size := 9;
    Left := WizardForm.GroupEdit.Left;
    Top := WizardForm.GroupEdit.Top + Round((WizardForm.GroupEdit.Height - Height) div 2);
  end;
  WizardForm.GroupEdit.OnChange := @GroupEditOnChange;
  WizardForm.GroupEdit.Hide;
end;

[Icons]
Name: {group}\1; Filename: {app}\fjhjk.exe; WorkingDir: {app}; Flags: createonlyiffileexists


Цитата neorom:
Да хочу, но чтоби проценти возрастали при возрастании процес бара, а не получаэться. »
А откуда, по вашему, берутся эти цифры? Проценты пересчитываются с текущей позиции прогресс-бара, начиная с начальной точки и заканчивая конечной, кстати тут вам об этом уже говорили, это касается обоих примеров. Разница в тех примерах только в способе реализации. И не важно, какой из примеров вы будете использовать, в свой скрипт вставлять все придется руками, самому. Программы, которая прочитает наши мысли и все сделает за нас еще не придумали.

Последний раз редактировалось saurn, 09-04-2013 в 09:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:19, 09-04-2013 | #132