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

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

Аватара для nik1967

Старожил


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

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


ErikPshat,
Скрытый текст

Код: Выделить весь код
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[Files]
Source: 7z.exe; Flags: dontcopy;

[code]
var
  UnpackButton: TButton;
  PathTmp: String;

procedure UnpackButtonClick(Sender: TObject);
var
  FileName: String;
  ResultCode: Integer;
begin
  if not FileExists(PathTmp+'7z.exe') then ExtractTemporaryFile('7z.exe');
  // Set the initial filename
  FileName := '';
  if GetOpenFileName('', FileName, '', 'Archives Files (*.zip)|*.zip|All Files|*.*', 'zip') then
  begin
    // Successful; user clicked OK
    // FileName contains the selected filename
    MsgBox('Выбран архив: '+FileName, mbInformation, MB_OK);
  end;
  if not ShellExec('open', ExpandConstant('{tmp}\7z.exe'), 'x -y '+FileName, ExpandConstant('{src}'), 0, ewnowait, ResultCode) then
  MsgBox(ExpandConstant('{code:NotFileOnDiskMsg}'), mbCriticalError,MB_OK);
end;

procedure InitializeWizard();
begin
  PathTmp:= ExpandConstant('{tmp}\');
  UnpackButton:= TButton.Create(WizardForm);
  with UnpackButton do begin
    Parent:= WizardForm;
    SetBounds(ScaleX(10), ScaleY(327), ScaleX(75), ScaleY(25));
    Caption:= 'Распаковать';
    OnClick:= @UnpackButtonClick;
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 12:03, 31-07-2018 | #80