Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [69] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

Gnom_aka_Lexander
01-04-2012, 16:44
Raf-9600, В каком смысле? Если менять язык инсталлятора на ходу, то это страшное дело - абсолютно все надписи нужно перерисовывать заново - это долгий процесс, и на слабых компах вызовет дикие тормоза.
по предложенным тобой примерам:
Проверка кириллицы в пути - слегка правленый вариант товарища VoLT:
[Setup]
AppName = MyApp
AppVername = MyApp
DefaultDirName = {pf}\MyApp

[*Code]

function IsAnsi(S: string): boolean;
begin
if CompareStr(AnsiLowercase(S), Uppercase(S)) = 0 then
if CompareStr(Lowercase(S), AnsiLowercase(S)) = 0 then
Result := True;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = wpSelectDir then
if not (IsAnsi(WizardForm.DirEdit.Text)) then
begin
MsgBox('В пути установки присуствуют русские символы'+#13#10+'Пожалуйста, повторите ввод.', mbError, mb_Ok);
Result := False;
end;
end;
Скрипт для вывода данных о винтах - слегка правленный вариант от YURSHAT(требует get_hw_caps.dll):
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
Source: compiler:Dll Pack\get_hw_caps.dll; Flags: dontcopy

[*Code]

var
DirList: TNewListBox;
Text: TNewStaticText;

function GetHardDriveFreeSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';
function GetHardDriveName(hdd: integer): PAnsiChar;
external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
function GetHardDriveTotalSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';
function GetHardDrivesCount(): Integer; external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';

function NumToStr(Float: Extended): string;
begin
Result:=Format('%.2n', [Float]);
StringChange(Result, ',', '.');
while ((Result[Length(Result)]='0')
or (Result[Length(Result)]='.'))
and (Pos('.',Result)>0) do
SetLength(Result,Length(Result)-1);
end;

function TBorGBorMB(Float: Extended): string;
// функция определения ТБ, ГБ или МБ
begin
if Float<1024 then Result:=NumToStr(Float)+' MB'
else if (Float/1024)<1024 then Result:=NumToStr(Float/1024)+' GB'
else if (Float/(1024*1024))<1024 then Result:=NumToStr(Float/(1024*1024))+' TB'
end;

procedure ListBoxOnClick(Sender: TObject);
var
NewLetter, OldString: string;
begin
with TNewListBox(Sender) do
begin
NewLetter := Copy(Items[ItemIndex], 0, 1);
OldString := Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
WizardForm.DirEdit.Text := NewLetter + OldString;
end;
end;

procedure InitializeWizard();
var
i : Integer;
begin
{ DirList }
DirList := TNewListBox.Create(WizardForm);
with DirList do
begin
Parent := WizardForm.SelectDirPage;
SetBounds(ScaleX(0),ScaleY(112),ScaleX(417),ScaleY(97));
ItemHeight := 13;
ItemIndex := 0;
for i:= 0 to GetHardDrivesCount() - 1 do
Items.Add(GetHardDriveName(i)+ ' ' + 'Свободно: ' + IntToStr((GetHardDriveFreeSpace(i)*100) div GetHardDriveTotalSpace(i)) + '% '+'('+ TBorGBorMB(GetHardDriveFreeSpace(i))+')'+' '+'из'+' '+TBorGBorMB(GetHardDriveTotalSpace(i)));
OnClick := @ListBoxOnClick;
end;
end;
На описания тоже гдето есть скрипт более оптимальный и в плане производительности и в плане косячности работы, за авторством Shegorat, но лень искать (эти два под рукой просто были).

Johny777
01-04-2012, 16:50
Проверка кириллицы в пути - слегка правленый вариант товарища VoLT: »
а в чём разница?
(у себя использую тот, что страницей назад и если оно того стоит поменяю на твой)

Gnom_aka_Lexander
01-04-2012, 16:54
Johny777, Все у тебя правильно, и опора идет по позиции прогрессбара, как раз. просто у тебя обновление по окончании копирования предидущего файла. делай эту процедуру в таймере, чтоб обновлялась позиция с минимальными интервалами.
а в чём разница? »
В скорости работы. И это не мой, это VolT-а. нет у меня привычки чужие наработки присваивать.

Johny777
01-04-2012, 17:21
Лександер,
извиняюсь за неточный оборот речи
под словом "твой" имелось в виду не авторство, а твой пример (или готовый "пример из твоего сообщения"). Коточе в таком смысле
Да и бред говорить что он твой(авторство) после того как ты сам сказал, что "правленый вариант товарища VoLT"
нет у меня привычки чужие наработки присваивать »
и в мыслях не было!
Скажу честно.
У меня 90% функций скрипта - чужие примеры и я благодарен их авторам (хотя многих даже не знаю, тк взял из коллекции скриптов).
А то что твои скрипты кое кто воровал я в курсе. Тк перечитывал предыдущие ветки в поисках знаний и примеров. И можешь не поверить, но у меня нет ни одного того скрипта с сам знаешь какого сайта, тк они там "грязные"

R.i.m.s.k.y.
01-04-2012, 18:07
У меня 90% функций скрипта »
у всех так...
...мы все учились понемногу чему-нибудь и как-нибудь...

JHeavy
01-04-2012, 19:54
Здравствуйте у меня небольшой вопрос по копированию файла из секции [Components]. Как сделать так чтобы если выбирая компоненты a и b, компонент b копируется одну папку, а если b и с, то компонент b копируется в другую папку. И все три файла разные.

Raf-9600
01-04-2012, 20:09
Johny777, R.i.m.s.k.y., благодарю, ваши примеры мне пригодились.
Лександер, опубликованный вами скрипт проверяющий "некорректные" символы в пути установки, выглядит более универсальным, но по непонятным мне причинам, он жалуется на некорректные символы, даже если в пути установки только буквы латиницы.
А скрипт для вывода сведений о винчестерах мне больше по душе тот, к которому я привык, к тому же для него не нужны дополнительные библиотеки.

Собсно с используемым мной скриптом для вывода сведений о винчестерах возникла трудность. Я бы хотел добавить в него мультиязычность по средствам CustomMessages, но я не ориентируюсь в "правописании". Может ли кто-нибудь показать пример решения этой проблемы?

На всякий случай копирую скрипт о котором речь:
var
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel: TLabel;
n: Integer;
VolumeName, FileSystemName: String;
VolumeSerialNo, MaxComponentLength, FileSystemFlags: Longint;
ListBox: TListBox;
StartMenuTreeView: TStartMenuFolderTreeView;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True; end;

procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := 'Требуется как минимум '+ FloatToStr(round(NeedSize/1024*100)/100) + ' Гб свободного дискового пространства.' else
NeedSpaceLabel.Caption := 'Требуется как минимум '+ IntToStr(NeedSize)+ ' Мб свободного дискового пространства.';end;

const oneMB= 1024*1024;
function GetLogicalDrives: DWord; external 'GetLogicalDrives@kernel32.dll stdcall';
function GetDriveType(nDrive: String): Longint; external 'GetDriveTypeA@kernel32.dll stdcall';
function GetVolumeInformation(PathName,VolumeName: PChar; VolumeNameSize,VolumeSerialNumber,MaxComponentLength,FileSystemFlags: Longint; FileSystemName: PChar; FileSystemNameSize: Longint): Longint; external 'GetVolumeInformationA@kernel32.dll stdcall';
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';

Function ByteOrTB(Bytes: Extended; noMB: Boolean): String; { Перевод числа в значение бт/Кб/Мб/Гб/Тб (до 3х знаков после запятой)}
Begin
if not noMB then Result:= FloatToStr(Int(Bytes)) +' Мб' else
if Bytes < 1024 then Result:= FloatToStr(Int(Bytes)) +' Бт' else
if Bytes/1024 < 1024 then Result:= FloatToStr(round((Bytes/1024)*10)/10) +' Кб' else
If Bytes/oneMB < 1024 then Result:= FloatToStr(round(Bytes/oneMB*100)/100) +' Мб' else
If Bytes/oneMB/1000 < 1024 then Result:= FloatToStr(round(Bytes/oneMB/1024*1000)/1000) +' Гб' else
Result:= FloatToStr(round(Bytes/oneMB/oneMB*1000)/1000) +' Тб'
StringChange(Result, ',', '.')
End;

Function DelSP(String: String): String; { Удаление начальных, конечных и повторных пробелов }
Begin while (Pos(' ', String) > 0) do Delete(String, Pos(' ', String), 1); Result:= Trim(String); End;

Function CutString(String: String; MaxLength: Longint): String; { Обрезать строку до заданного кол-ва символов}
Begin
if Length(String) > MaxLength then Result:= Copy(String, 1, 6) +'...'+ Copy(String, Length(String) - MaxLength +9, MaxLength)
else Result:= String;
End;

Procedure GetDiskInfo(Disk: String);
Begin
FileSystemName:= StringOfChar(' ', 32); VolumeName:= StringOfChar(' ', 256);
GetVolumeInformation(Disk, VolumeName, 255, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, 31);
FileSystemName:= DelSp(FileSystemName); VolumeName:= DelSp(VolumeName); if VolumeName='' then VolumeName:='без метки';
End;

Procedure ListBoxRefresh; var FreeB, TotalB: Cardinal; Path, String: string; Begin
ListBox.Items.Clear
for n:= 1 to 31 do // диск 'А' пропустить
if (GetLogicalDrives and (1 shl n)) > 0 then
if (GetDriveType(Chr(ord('A') + n) +':\') = 2) or (GetDriveType(Chr(ord('A') + n) +':\') = 3) then
if GetSpaceOnDisk(Chr(ord('A') + n) +':\', True, FreeMB, TotalMB) then ListBox.Items.Add(Chr(ord('A') + n) +':');
for n:= 0 to ListBox.Items.Count -1 do begin
Path:= Copy(ListBox.Items[n],1,2) +'\' { если в накопителе нет диска, пропустить обновление }
if GetSpaceOnDisk(Path, False, FreeB, TotalB) and GetSpaceOnDisk(Path, True, FreeMB, TotalMB) then begin GetDiskInfo(Path);
if FreeB >= $7FFFFFFF then String:= PadL(ByteOrTB(FreeMB*oneMB, true),10) else String:= PadL(ByteOrTB(FreeB, true),10);
if TotalB >= $7FFFFFFF then begin TotalB:= TotalMB; FreeB:= FreeMB; String:= PadL(ByteOrTB(TotalMB*oneMB, true),11) +' всего -'+ String end else String:= PadL(ByteOrTB(TotalB, true),11) +' всего| '+ String;
ListBox.Items[n]:= Copy(Path,1,2) + String + PadL(FloatToStr(round(FreeB/TotalB*100)),3)+ '% своб|'+ PadL(FileSystemName,5)+ '| '+ CutString(VolumeName,9); end; end;
End;

Procedure ObjectOnClick(Sender: TObject); Begin
Case TObject(Sender) of
ListBox: for n:= 0 to ListBox.Items.Count-1 do if ListBox.Selected[n] then WizardForm.DirEdit.Text:= Copy(ListBox.Items[n],1,1) +Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text))
StartMenuTreeView: if StartMenuTreeView.Directory <> '' then WizardForm.GroupEdit.Text:= StartMenuTreeView.Directory else WizardForm.GroupEdit.Text:= '{#SetupSetting("DefaultGroupName")}'
WizardForm.NoIconsCheck: begin WizardForm.GroupEdit.Enabled:= not(WizardForm.GroupEdit.Enabled); StartMenuTreeView.Enabled:= WizardForm.GroupEdit.Enabled; WizardForm.GroupBrowseButton.Enabled:= WizardForm.GroupEdit.Enabled end;
end; End;

procedure InitializeWizard();
begin
NeedSize := 6100; //Здесь указывается место для приложения
WizardForm.DiskSpaceLabel.Hide;
NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(220);
Width := ScaleX(209);
Height := ScaleY(13);
end;
ListBox:= TListBox.Create(WizardForm)
ListBox.SetBounds(WizardForm.DirEdit.Left, WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + 8, WizardForm.DirBrowseButton.Left + WizardForm.DirBrowseButton.Width - WizardForm.DirEdit.Left, WizardForm.DiskSpaceLabel.Top - (WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + 12))
ListBox.Font.Size:= 9
ListBox.Font.Style:= []
ListBox.Font.Name:= 'Courier New';
ListBox.OnClick:= @ObjectOnClick;
ListBox.Parent:= WizardForm.SelectDirPage;
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpSelectDir then
begin
GetNeedSpaceCaption;
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
ListBoxRefresh
end;
end;

Gnom_aka_Lexander
01-04-2012, 20:18
он жалуется на некорректные символы »
{pf}\MyApp »
Скорей всего в этой строчке пробел - проверь. При копировании с форумов такое бывает

Johny777
01-04-2012, 20:20
Raf-9600,
пример использования самописных констант в коде

[CustomMessages]
Russian.upd_hl2=обновить Half-Life 2
English.upd_hl2=Update Half-Life2

[Languages]
Name: Russian; MessagesFile: compiler:Languages\Russian.isl;
Name: English; MessagesFile: compiler:Languages\English.isl;

[ code]
Caption := ExpandConstant('{cm:upd_hl2}');
+++++++++++++++++++++++++++++++++++++++
другой пример для запрета кириллицы в пути
Russian.rus_symbol_1=В пути установки присутствуют русские буквы, что недопустимо
English.rus_symbol_1=The installation path contains Russian letters, which is unacceptable

Russian.rus_symbol_2=Пожалуйста, повторите ввод.
English.rus_symbol_2=Please try again.

[ code]
MsgBox(ExpandConstant('{cm:rus_symbol_1}' #13#13 '{cm:rus_symbol_2}'), mbError, mb_Ok);

Raf-9600
01-04-2012, 20:33
Скорей всего в этой строчке пробел - проверь. При копировании с форумов такое бывает »
Удалил все пробелы, проблема осталась =\

Johny777, благодарю, вроде разобрался.

R.i.m.s.k.y.
01-04-2012, 20:38
Собсно с используемым мной скриптом для вывода сведений о винчестерах возникла трудность. Я бы хотел добавить в него мультиязычность по средствам CustomMessages, но я не ориентируюсь в "правописании". Может ли кто-нибудь показать пример решения этой проблемы? »

мой пример разбери внимательно, он и с CustomMessages, и в коде он расшифровывается и в не_в_коде

Johny777, Raf-9600, блеать, кто вас научил пустую строчку делать #13#13??!!11
#13 всего лишь опускает курсор по вертикали на строчку ниже но позиция по горизонтали остается таже самая!!11
в ДОСнах!!11
т.е. пример+#13+строка№2 канонически даст на выходе
пример
строка№2
тк курсор надо переводить в начало строки, это называется "возврат каретки"
т.е. правильно пример+#13#10+строка№2 даст на выходе
пример
строка№2
нужна пустая строка? #13#10+#13#10
Вообще #13#10 забейте как константу один раз и не парьтесь!!!
Не, #13#13 конечно работает пока виндовый-оконный-рендер понимает, но ведь он может и вернуться к исходному пониманию!

Johny777
01-04-2012, 20:59
#13#10 »
думаешь она так часто используется?
у меня только в проверке кириллицы
и насчёт
правильно пример+#13#10+строка№2 »
спасибо
я протупил
вот как у меня например в одном из rtf созданном в дизайнере>

{ RichEditViewer8 }
RichEditViewer8 := TRichEditViewer.Create(WizardForm);
with RichEditViewer8 do
begin
Name := 'RichEditViewer8';
Parent := Part1_ScrollBox;
Left := ScaleX(0);
Top := ScaleY(2728);
Width := ScaleX(244);
Height := ScaleY(382);
BorderStyle := bsNone;
Color := clHighlight;
RTFText := '{\rtf1\fbidis\ansi\ansicpg1251\deff0{\fonttbl{\f0\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman CYR;}{\f1\fnil\fcharset134 Tahoma;}}' + #13#10 +
'\viewkind4\uc1\pard\ltrpar\nowidctlpar\lang1049\f0\fs24 \''cf\''ee\''ec\''e8\''ec\''ee \''ef\''ee\''eb\''ff \''ef\''ee\''e4\''e0\''e2\''eb\''e5\''ed\''e8\''ff \par' + #13#10 +
'\''c0\''eb\''fc\''ff\''ed\''f1, \''ef\''f0\''e5\''e4\''ef\''ee\''eb\''ee\''e6\''e8\''f2\''e5\''eb\''fc\''ed\''ee, \par' + #13#10 +
'\''ef\''f0\''e0\''ea\''f2\''e8\''ea\''f3\''e5\''f2 \''ea\''ee\''ed\''f2\''f0\''ee\''eb\''fc \''f0\''e0\''e7\''f3\''ec\''e0 \par' + #13#10 +
'\''e8 \''e7\''e0\''ec\''e5\''ed\''f3 \''ef\''e0\''ec\''ff\''f2\''e8, \''ea\''e0\''ea \''ed\''e0\''ec \par' + #13#10 +
'\''f1\''f2\''e0\''ed\''ee\''e2\''e8\''f2\''f1\''ff \''e8\''e7\''e2\''e5\''f1\''f2\''ed\''ee \''ef\''f0\''e8 \par' + #13#10 +
'\''f0\''e0\''e7\''e3\''ee\''e2\''ee\''f0\''e0 \''f1 \''ee\''e4\''ed\''e8\''ec \''e8\''e7 \par' + #13#10 +
'\''ab\''e3\''f0\''e0\''e6\''e4\''e0\''ed\''bb \''ed\''e0 \''e2\''ee\''ea\''e7\''e0\''eb\''e5, \par' + #13#10 +
'\''ea\''ee\''f2\''ee\''f0\''fb\''e9, \''e2\''fb\''ef\''e8\''e2 \''e2\''ee\''e4\''f3, \''e7\''e0\''e1\''fb\''eb \par' + #13#10 +
'\''ea\''e0\''ea \''ee\''ed \''f1\''fe\''e4\''e0 \''ef\''ee\''ef\''e0\''eb. \par' + #13#10 +
'\''cd\''e0\''ef\''f0\''e0\''f8\''e8\''e2\''e0\''e5\''f2\''f1\''ff \''e2\''fb\''e2\''ee\''e4, \par' + #13#10 +
'\''f7\''f2\''ee \''f2\''e0\''ea\''e8\''ec \''f1\''ef\''ee\''f1\''ee\''e1\''ee\''ec \''c0\''eb\''fc\''ff\''ed\''f1 \par' + #13#10 +
'\''f5\''ee\''f7\''e5\''f2, \''f7\''f2\''ee\''e1\''fb \''eb\''fe\''e4\''e8 \''e7\''e0\''e1\''fb\''eb\''e8, \par' + #13#10 +
'\''ef\''ee\''f7\''e5\''ec\''f3 \''ee\''ed\''e8 \''ed\''e5\''ed\''e0\''e2\''e8\''e4\''ff\''f2 \''e8\''f5 \''e8 \par' + #13#10 +
'\''f1\''eb\''e5\''e4\''ee\''e2\''e0\''eb\''e8 \''e7\''e0 \''ed\''e8\''ec\''e8 \''ed\''e0 \''ef\''f3\''f2\''e8 \''ea \par' + #13#10 +
'\''f1\''ee\''e7\''e4\''e0\''ed\''e8\''fe \''ed\''ee\''e2\''ee\''e3\''ee \''e8 \''e3\''ee\''f2\''ee\''e2\''ee\''e3\''ee \par' + #13#10 +
'\''ea \''ef\''e5\''f0\''e5\''e2\''ee\''f1\''ef\''e8\''f2\''e0\''ed\''e8\''fe \''f0\''e0\''e7\''f3\''ec\''e0. \par' + #13#10 +
' \''cf\''f0\''ee\''f6\''e5\''f1\''f1 \''f1\''f2\''e8\''f0\''e0\''ed\''e8\''ff \''e2\''ee\''f1\''ef\''ee\''ec\''e8\''ed\''e0\''ed\''e8\''e9, \''ef\''f0\''ee\''ef\''e0\''e3\''e0\''ed\''e4\''fb \''c0\''eb\''fc\''ff\''ed\''f1\''e0 \''e8 \''e7\''e0\''ec\''e5\''ed\''fb \''ef\''e0\''ec\''ff\''f2\''e8 \''ef\''f0\''e5\''e4\''f1\''f2\''e0\''e2\''eb\''ff\''e5\''f2 \''ed\''e0\''ec \''f1\''ee\''eb\''e4\''e0\''f2\''e0 \''ed\''e5 \''f1\''ef\''ee\''f1\''ee\''e1\''ed\''ee\''e3\''ee \''ea \''f1\''ee\''ef\''f0\''ee\''f2\''e8\''e2\''eb\''e5\''ed\''e8\''fe \par' + #13#10 +
'\pard\ltrpar\f1\fs16\par' + #13#10 +
'}' + #13#10 +
'';
end;

везде через + пишется а раньше не замечал
что правда удобно через константу использовать это цвет
const
ColorA = $48c1ca;

R.i.m.s.k.y.
02-04-2012, 07:59
А чем Серегин конвертер не угодил? Проверял лично, хексовые записи он единственный конвертит адекватно »
хексовые записи я оставляю в reg-файле и импортирую через reg import
у меня есть подозрение что толстые бинарные/хексовые записи инно не заносит в реестр полностью а обрубает концовку
пример такой записи
"FilterData"=hex:02,00,00,00,01,00,80,ff,03,00,00,00,00,00,00,00,30,70,69,33,\
00,00,00,00,00,00,00,00,6f,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,\
00,00,00,98,07,00,00,a8,07,00,00,31,74,79,33,00,00,00,00,b8,07,00,00,a8,07,\
00,00,32,74,79,33,00,00,00,00,b8,07,00,00,c8,07,00,00,33,74,79,33,00,00,00,\
00,b8,07,00,00,d8,07,00,00,34,74,79,33,00,00,00,00,b8,07,00,00,e8,07,00,00,\
35,74,79,33,00,00,00,00,98,07,00,00,f8,07,00,00,36,74,79,33,00,00,00,00,98,\
07,00,00,08,08,00,00,37,74,79,33,00,00,00,00,98,07,00,00,18,08,00,00,38,74,\
79,33,00,00,00,00,98,07,00,00,28,08,00,00,39,74,79,33,00,00,00,00,98,07,00,\
00,38,08,00,00,3a,74,79,33,00,00,00,00,98,07,00,00,48,08,00,00,3b,74,79,33,\
00,00,00,00,98,07,00,00,58,08,00,00,3c,74,79,33,00,00,00,00,98,07,00,00,68,\
08,00,00,3d,74,79,33,00,00,00,00,98,07,00,00,d8,07,00,00,3e,74,79,33,00,00,\
00,00,98,07,00,00,78,08,00,00,3f,74,79,33,00,00,00,00,98,07,00,00,88,08,00,\
00,40,74,79,33,00,00,00,00,98,07,00,00,98,08,00,00,41,74,79,33,00,00,00,00,\
98,07,00,00,a8,08,00,00,42,74,79,33,00,00,00,00,98,07,00,00,b8,08,00,00,43,\
74,79,33,00,00,00,00,98,07,00,00,c8,08,00,00,44,74,79,33,00,00,00,00,98,07,\
00,00,d8,08,00,00,45,74,79,33,00,00,00,00,98,07,00,00,e8,08,00,00,46,74,79,\
33,00,00,00,00,98,07,00,00,f8,08,00,00,47,74,79,33,00,00,00,00,98,07,00,00,\
08,09,00,00,48,74,79,33,00,00,00,00,98,07,00,00,18,09,00,00,49,74,79,33,00,\
00,00,00,98,07,00,00,28,09,00,00,4a,74,79,33,00,00,00,00,98,07,00,00,38,09,\
00,00,4b,74,79,33,00,00,00,00,98,07,00,00,48,09,00,00,4c,74,79,33,00,00,00,\
00,98,07,00,00,58,09,00,00,4d,74,79,33,00,00,00,00,98,07,00,00,68,09,00,00,\
4e,74,79,33,00,00,00,00,98,07,00,00,78,09,00,00,4f,74,79,33,00,00,00,00,98,\
07,00,00,88,09,00,00,50,74,79,33,00,00,00,00,98,07,00,00,98,09,00,00,51,74,\
79,33,00,00,00,00,98,07,00,00,a8,09,00,00,52,74,79,33,00,00,00,00,98,07,00,\
00,b8,09,00,00,53,74,79,33,00,00,00,00,98,07,00,00,c8,09,00,00,54,74,79,33,\
00,00,00,00,98,07,00,00,d8,09,00,00,55,74,79,33,00,00,00,00,98,07,00,00,e8,\
09,00,00,56,74,79,33,00,00,00,00,98,07,00,00,e8,07,00,00,57,74,79,33,00,00,\
00,00,98,07,00,00,f8,09,00,00,58,74,79,33,00,00,00,00,98,07,00,00,08,0a,00,\
00,59,74,79,33,00,00,00,00,98,07,00,00,18,0a,00,00,5a,74,79,33,00,00,00,00,\
98,07,00,00,28,0a,00,00,5b,74,79,33,00,00,00,00,98,07,00,00,38,0a,00,00,5c,\
74,79,33,00,00,00,00,98,07,00,00,48,0a,00,00,5d,74,79,33,00,00,00,00,98,07,\
00,00,58,0a,00,00,5e,74,79,33,00,00,00,00,98,07,00,00,68,0a,00,00,5f,74,79,\
33,00,00,00,00,98,07,00,00,78,0a,00,00,60,74,79,33,00,00,00,00,98,07,00,00,\
88,0a,00,00,61,74,79,33,00,00,00,00,98,07,00,00,98,0a,00,00,62,74,79,33,00,\
00,00,00,98,07,00,00,a8,0a,00,00,63,74,79,33,00,00,00,00,98,07,00,00,b8,0a,\
00,00,64,74,79,33,00,00,00,00,98,07,00,00,c8,0a,00,00,65,74,79,33,00,00,00,\
00,98,07,00,00,d8,0a,00,00,66,74,79,33,00,00,00,00,98,07,00,00,e8,0a,00,00,\
67,74,79,33,00,00,00,00,98,07,00,00,f8,0a,00,00,68,74,79,33,00,00,00,00,98,\
07,00,00,08,0b,00,00,69,74,79,33,00,00,00,00,98,07,00,00,18,0b,00,00,6a,74,\
79,33,00,00,00,00,98,07,00,00,28,0b,00,00,6b,74,79,33,00,00,00,00,98,07,00,\
00,38,0b,00,00,6c,74,79,33,00,00,00,00,98,07,00,00,c8,07,00,00,6d,74,79,33,\
00,00,00,00,98,07,00,00,48,0b,00,00,6e,74,79,33,00,00,00,00,98,07,00,00,58,\
0b,00,00,6f,74,79,33,00,00,00,00,98,07,00,00,68,0b,00,00,70,74,79,33,00,00,\
00,00,98,07,00,00,78,0b,00,00,71,74,79,33,00,00,00,00,98,07,00,00,88,0b,00,\
00,72,74,79,33,00,00,00,00,98,07,00,00,98,0b,00,00,73,74,79,33,00,00,00,00,\
98,07,00,00,a8,0b,00,00,74,74,79,33,00,00,00,00,98,07,00,00,b8,0b,00,00,75,\
74,79,33,00,00,00,00,98,07,00,00,c8,0b,00,00,76,74,79,33,00,00,00,00,98,07,\
00,00,d8,0b,00,00,77,74,79,33,00,00,00,00,98,07,00,00,e8,0b,00,00,78,74,79,\
33,00,00,00,00,98,07,00,00,f8,0b,00,00,79,74,79,33,00,00,00,00,98,07,00,00,\
08,0c,00,00,7a,74,79,33,00,00,00,00,98,07,00,00,18,0c,00,00,7b,74,79,33,00,\
00,00,00,98,07,00,00,28,0c,00,00,7c,74,79,33,00,00,00,00,98,07,00,00,38,0c,\
00,00,7d,74,79,33,00,00,00,00,98,07,00,00,48,0c,00,00,7e,74,79,33,00,00,00,\
00,98,07,00,00,58,0c,00,00,7f,74,79,33,00,00,00,00,98,07,00,00,68,0c,00,00,\
80,74,79,33,00,00,00,00,98,07,00,00,78,0c,00,00,81,74,79,33,00,00,00,00,98,\
07,00,00,88,0c,00,00,82,74,79,33,00,00,00,00,98,07,00,00,98,0c,00,00,83,74,\
79,33,00,00,00,00,98,07,00,00,a8,0c,00,00,84,74,79,33,00,00,00,00,98,07,00,\
00,b8,0c,00,00,85,74,79,33,00,00,00,00,98,07,00,00,c8,0c,00,00,86,74,79,33,\
00,00,00,00,98,07,00,00,d8,0c,00,00,87,74,79,33,00,00,00,00,98,07,00,00,e8,\
0c,00,00,88,74,79,33,00,00,00,00,98,07,00,00,f8,0c,00,00,89,74,79,33,00,00,\
00,00,98,07,00,00,08,0d,00,00,8a,74,79,33,00,00,00,00,98,07,00,00,18,0d,00,\
00,8b,74,79,33,00,00,00,00,98,07,00,00,28,0d,00,00,8c,74,79,33,00,00,00,00,\
98,07,00,00,38,0d,00,00,8d,74,79,33,00,00,00,00,98,07,00,00,48,0d,00,00,8e,\
74,79,33,00,00,00,00,98,07,00,00,58,0d,00,00,8f,74,79,33,00,00,00,00,98,07,\
00,00,68,0d,00,00,90,74,79,33,00,00,00,00,98,07,00,00,78,0d,00,00,91,74,79,\
33,00,00,00,00,98,07,00,00,88,0d,00,00,92,74,79,33,00,00,00,00,98,07,00,00,\
98,0d,00,00,93,74,79,33,00,00,00,00,98,07,00,00,a8,0d,00,00,94,74,79,33,00,\
00,00,00,98,07,00,00,b8,0d,00,00,95,74,79,33,00,00,00,00,98,07,00,00,c8,0d,\
00,00,96,74,79,33,00,00,00,00,98,07,00,00,d8,0d,00,00,97,74,79,33,00,00,00,\
00,98,07,00,00,e8,0d,00,00,98,74,79,33,00,00,00,00,98,07,00,00,f8,0d,00,00,\
99,74,79,33,00,00,00,00,98,07,00,00,08,0e,00,00,9a,74,79,33,00,00,00,00,98,\
07,00,00,18,0e,00,00,9b,74,79,33,00,00,00,00,98,07,00,00,28,0e,00,00,9c,74,\
79,33,00,00,00,00,98,07,00,00,38,0e,00,00,9d,74,79,33,00,00,00,00,98,07,00,\
00,48,0e,00,00,9e,74,79,33,00,00,00,00,98,07,00,00,58,0e,00,00,31,70,69,33,\
08,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,\
00,00,00,98,07,00,00,a8,07,00,00,32,70,69,33,00,00,00,00,00,00,00,00,04,00,\
00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,00,00,00,68,0e,00,00,a8,07,00,\
00,31,74,79,33,00,00,00,00,78,0e,00,00,a8,07,00,00,32,74,79,33,00,00,00,00,\
78,0e,00,00,88,0e,00,00,33,74,79,33,00,00,00,00,98,07,00,00,98,0e,00,00,76,\
69,64,73,00,00,10,00,80,00,00,aa,00,38,9b,71,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,6a,91,0b,ed,4d,04,d1,11,aa,78,00,c0,4f,c3,1d,60,26,80,6d,\
e0,46,db,cf,11,b4,d1,00,80,5f,6c,bb,ea,41,56,43,31,00,00,10,00,80,00,00,aa,\
00,38,9b,71,57,56,43,31,00,00,10,00,80,00,00,aa,00,38,9b,71,58,56,49,44,00,\
00,10,00,80,00,00,aa,00,38,9b,71,78,76,69,64,00,00,10,00,80,00,00,aa,00,38,\
9b,71,44,49,56,58,00,00,10,00,80,00,00,aa,00,38,9b,71,64,69,76,78,00,00,10,\
00,80,00,00,aa,00,38,9b,71,44,58,35,30,00,00,10,00,80,00,00,aa,00,38,9b,71,\
64,78,35,30,00,00,10,00,80,00,00,aa,00,38,9b,71,48,32,36,34,00,00,10,00,80,\
00,00,aa,00,38,9b,71,68,32,36,34,00,00,10,00,80,00,00,aa,00,38,9b,71,61,76,\
63,31,00,00,10,00,80,00,00,aa,00,38,9b,71,43,43,56,31,00,00,10,00,80,00,00,\
aa,00,38,9b,71,48,32,36,33,00,00,10,00,80,00,00,aa,00,38,9b,71,68,32,36,33,\
00,00,10,00,80,00,00,aa,00,38,9b,71,44,49,56,33,00,00,10,00,80,00,00,aa,00,\
38,9b,71,64,69,76,33,00,00,10,00,80,00,00,aa,00,38,9b,71,4d,50,34,33,00,00,\
10,00,80,00,00,aa,00,38,9b,71,6d,70,34,33,00,00,10,00,80,00,00,aa,00,38,9b,\
71,4d,50,34,32,00,00,10,00,80,00,00,aa,00,38,9b,71,6d,70,34,32,00,00,10,00,\
80,00,00,aa,00,38,9b,71,4d,50,34,31,00,00,10,00,80,00,00,aa,00,38,9b,71,6d,\
70,34,31,00,00,10,00,80,00,00,aa,00,38,9b,71,4d,50,34,56,00,00,10,00,80,00,\
00,aa,00,38,9b,71,6d,70,34,76,00,00,10,00,80,00,00,aa,00,38,9b,71,4d,50,34,\
53,00,00,10,00,80,00,00,aa,00,38,9b,71,6d,70,34,73,00,00,10,00,80,00,00,aa,\
00,38,9b,71,53,45,44,47,00,00,10,00,80,00,00,aa,00,38,9b,71,73,65,64,67,00,\
00,10,00,80,00,00,aa,00,38,9b,71,57,4d,56,31,00,00,10,00,80,00,00,aa,00,38,\
9b,71,77,6d,76,31,00,00,10,00,80,00,00,aa,00,38,9b,71,57,4d,56,32,00,00,10,\
00,80,00,00,aa,00,38,9b,71,77,6d,76,32,00,00,10,00,80,00,00,aa,00,38,9b,71,\
57,4d,56,33,00,00,10,00,80,00,00,aa,00,38,9b,71,77,6d,76,33,00,00,10,00,80,\
00,00,aa,00,38,9b,71,77,76,63,31,00,00,10,00,80,00,00,aa,00,38,9b,71,56,50,\
35,30,00,00,10,00,80,00,00,aa,00,38,9b,71,76,70,35,30,00,00,10,00,80,00,00,\
aa,00,38,9b,71,56,50,36,30,00,00,10,00,80,00,00,aa,00,38,9b,71,76,70,36,30,\
00,00,10,00,80,00,00,aa,00,38,9b,71,56,50,36,31,00,00,10,00,80,00,00,aa,00,\
38,9b,71,76,70,36,31,00,00,10,00,80,00,00,aa,00,38,9b,71,56,50,36,32,00,00,\
10,00,80,00,00,aa,00,38,9b,71,76,70,36,32,00,00,10,00,80,00,00,aa,00,38,9b,\
71,56,50,36,46,00,00,10,00,80,00,00,aa,00,38,9b,71,76,70,36,66,00,00,10,00,\
80,00,00,aa,00,38,9b,71,46,4c,56,34,00,00,10,00,80,00,00,aa,00,38,9b,71,66,\
6c,76,34,00,00,10,00,80,00,00,aa,00,38,9b,71,48,46,59,55,00,00,10,00,80,00,\
00,aa,00,38,9b,71,68,66,79,75,00,00,10,00,80,00,00,aa,00,38,9b,71,33,49,56,\
32,00,00,10,00,80,00,00,aa,00,38,9b,71,33,69,76,32,00,00,10,00,80,00,00,aa,\
00,38,9b,71,33,49,56,58,00,00,10,00,80,00,00,aa,00,38,9b,71,33,69,76,78,00,\
00,10,00,80,00,00,aa,00,38,9b,71,80,eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,\
a7,70,81,eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,a7,70,4d,50,47,32,00,00,10,\
00,80,00,00,aa,00,38,9b,71,6d,70,67,32,00,00,10,00,80,00,00,aa,00,38,9b,71,\
45,4d,32,56,00,00,10,00,80,00,00,aa,00,38,9b,71,65,6d,32,76,00,00,10,00,80,\
00,00,aa,00,38,9b,71,4d,4d,45,53,00,00,10,00,80,00,00,aa,00,38,9b,71,6d,6d,\
65,73,00,00,10,00,80,00,00,aa,00,38,9b,71,56,50,33,31,00,00,10,00,80,00,00,\
aa,00,38,9b,71,76,70,33,31,00,00,10,00,80,00,00,aa,00,38,9b,71,54,53,43,43,\
00,00,10,00,80,00,00,aa,00,38,9b,71,74,73,63,63,00,00,10,00,80,00,00,aa,00,\
38,9b,71,43,52,41,4d,00,00,10,00,80,00,00,aa,00,38,9b,71,63,72,61,6d,00,00,\
10,00,80,00,00,aa,00,38,9b,71,41,56,52,4e,00,00,10,00,80,00,00,aa,00,38,9b,\
71,61,76,72,6e,00,00,10,00,80,00,00,aa,00,38,9b,71,46,50,53,31,00,00,10,00,\
80,00,00,aa,00,38,9b,71,66,70,73,31,00,00,10,00,80,00,00,aa,00,38,9b,71,57,\
4d,56,50,00,00,10,00,80,00,00,aa,00,38,9b,71,77,6d,76,70,00,00,10,00,80,00,\
00,aa,00,38,9b,71,57,56,50,32,00,00,10,00,80,00,00,aa,00,38,9b,71,77,76,70,\
32,00,00,10,00,80,00,00,aa,00,38,9b,71,4d,4a,50,47,00,00,10,00,80,00,00,aa,\
00,38,9b,71,6d,6a,70,67,00,00,10,00,80,00,00,aa,00,38,9b,71,4d,4a,50,41,00,\
00,10,00,80,00,00,aa,00,38,9b,71,6d,6a,70,61,00,00,10,00,80,00,00,aa,00,38,\
9b,71,41,4d,56,56,00,00,10,00,80,00,00,aa,00,38,9b,71,53,50,35,58,00,00,10,\
00,80,00,00,aa,00,38,9b,71,44,56,53,44,00,00,10,00,80,00,00,aa,00,38,9b,71,\
64,76,73,64,00,00,10,00,80,00,00,aa,00,38,9b,71,44,56,32,35,00,00,10,00,80,\
00,00,aa,00,38,9b,71,64,76,32,35,00,00,10,00,80,00,00,aa,00,38,9b,71,44,56,\
35,30,00,00,10,00,80,00,00,aa,00,38,9b,71,64,76,35,30,00,00,10,00,80,00,00,\
aa,00,38,9b,71,43,44,56,43,00,00,10,00,80,00,00,aa,00,38,9b,71,63,64,76,63,\
00,00,10,00,80,00,00,aa,00,38,9b,71,43,44,56,35,00,00,10,00,80,00,00,aa,00,\
38,9b,71,63,64,76,35,00,00,10,00,80,00,00,aa,00,38,9b,71,44,56,49,53,00,00,\
10,00,80,00,00,aa,00,38,9b,71,64,76,69,73,00,00,10,00,80,00,00,aa,00,38,9b,\
71,50,44,56,43,00,00,10,00,80,00,00,aa,00,38,9b,71,70,64,76,63,00,00,10,00,\
80,00,00,aa,00,38,9b,71,59,56,31,32,00,00,10,00,80,00,00,aa,00,38,9b,71,49,\
59,55,56,00,00,10,00,80,00,00,aa,00,38,9b,71,59,55,59,32,00,00,10,00,80,00,\
00,aa,00,38,9b,71,59,55,59,56,00,00,10,00,80,00,00,aa,00,38,9b,71,55,59,56,\
59,00,00,10,00,80,00,00,aa,00,38,9b,71,56,59,55,59,00,00,10,00,80,00,00,aa,\
00,38,9b,71,7e,eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,a7,70,7d,eb,36,e4,4f,\
52,ce,11,9f,53,00,20,af,0b,a7,70,7c,eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,\
a7,70,7b,eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,a7,70,74,78,74,73,00,00,10,\
00,80,00,00,aa,00,38,9b,71,08,eb,87,e4,26,6b,e9,4b,9d,d3,99,34,34,d3,13,fd,\
3e,a5,eb,04,30,93,6c,43,91,33,55,3e,c8,70,31,dc,2d,80,6d,e0,46,db,cf,11,b4,\
d1,00,80,5f,6c,bb,ea

Ivan_009
02-04-2012, 13:45
Как растянуть выделенную область через редактор форм в расширенной версии Inno Setup подскажите пожалуйста :drug:

Johny777
02-04-2012, 14:41
Ivan_009,
а вот тут косяк
растянуть можно только так
http://rghost.ru/37366152/image.png (http://rghost.ru/37366152.view)

alert30
02-04-2012, 19:05
Ivan_009, сделаю короткую запись от Johny777: где квадратики (вверх-вниз-вправо-влево-диагональ), можешь изменить как-угодно.

Johny777
02-04-2012, 20:21
Лександер,
использую твою выкатывающуюся панель с предыдущей ветки

var
Panel3: TPanel;

procedure ConsoleButtonClick(Sender: TObject);
var
i:integer;
begin
i:=Panel3.Left;
If i= -Panel3.Width then
begin
MnuItem.Caption := ExpandConstant('{cm:Console0}');
while True do
begin
Panel3.Left:= ScaleX(i);
//ComponentsPage.Surface.Repaint;
if i=0 then Break;
i:=i+1;
end;
end else
begin
while True do
begin
Panel3.Left:= ScaleX(i);
//ComponentsPage.Surface.Repaint;
if i=-Panel3.Width then Break;
i:=i-1;
end;
MnuItem.Caption := ExpandConstant('{cm:Console1}');
end;
end;


если эта строка задействована, то очень некрасиво мелькает страница
//ComponentsPage.Surface.Repaint;
вроде есть решение в виде WizardForm.DoubleBuffered := True, которая доступна только в Unicode. Но у меня ANSI
может есть другое решение?

Gnom_aka_Lexander
02-04-2012, 20:23
Есть ,поищи, я выкладывал этот-же пример но на таймере - там более плавно и вроде без репайнта нормально отрисовывается.

Johny777
03-04-2012, 15:36
использую флаг onlyifdoesntexist, тк общие файлы много весят и иногда просто нужно сменить озвучку, но заметил, что если файл не тот, но имеет то же название, то он пропускается.
хотел сделать две радиокнопки "дополнять" и "перезаписывать" (или "простая установка" и "ремонт")
так не работает
Flags: {code:flags}

---------------------------
Ошибка компиляции
---------------------------
Строка 8:

Parameter "Flags" includes an unknown flag.
---------------------------
ОК
---------------------------

может дублировать строки?
например
Source: steamapps\common half-life 2\*; DestDir: {app}; Flags: другие флаги onlyifdoesntexist; AfterInstall: ExtLog(); BeforeInstall: AddToMemo; Check: make_hl2 and addon
Source: steamapps\common half-life 2\*; DestDir: {app}; Flags: другие флаги ; AfterInstall: ExtLog(); BeforeInstall: AddToMemo; Check: make_hl2 and overwrite
где addon это
function addon: Boolean;
begin
Result:=addonRadiobutton.Checked;
end;
ну и если .Checked, то эта строка
те же махинации для другой
но не знаю. Как-то странно получается
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
не может у кого есть идеи?
нашёл решение

вот кому пригодится
(проверено)


[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=none
OutputDir=.


[Files]
; один и тот же файл 2 раза, но без флага onlyifdoesntexist
Source: setup\setup-1.bin; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension onlyifdoesntexist; Check: skip
Source: setup\setup-1.bin; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Check: ow

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D003010E002000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010 D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724 E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C6963697457696 4746803F1010E4578706C696369744865696768740339010000F110544E65774E6F7465626F6F6B5061676509496E6E65725 06167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544E65774E6F74656 26F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B4C6963656E7365506167650D4 578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6F6B5 06167650D53656C656374446972506167650D4578706C69636974576964746803A1010E4578706C696369744865696768740 3ED00000F544E6577526164696F427574746F6E144F7665727772697465526164696F427574746F6E044C656674022803546 F7003800005576964746802710648656967687402110743617074696F6E120A0000003F04350440043504370430043F04380 441044C0407436865636B656409085461624F7264657202050754616253746F700900000F544E6577526164696F427574746 F6E0F536B6970526164696F427574746F6E044C656674022803546F7003A0000557696474680279064865696768740211074 3617074696F6E1421000000D0BFD180D0BED181D182D0B0D18F20D183D181D182D0B0D0BDD0BED0B2D0BAD0B0085461624F7 2646572020600000000000000

[ Code]
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
OverwriteRadioButton: TNewRadioButton;
SkipRadioButton: TNewRadioButton;

procedure RedesignWizardForm;
begin
{ OverwriteRadioButton }
OverwriteRadioButton := TNewRadioButton.Create(WizardForm);
with OverwriteRadioButton do
begin
Name := 'OverwriteRadioButton';
Parent := WizardForm.SelectDirPage;
Left := ScaleX(40);
Top := ScaleY(128);
Width := ScaleX(113);
Height := ScaleY(17);
Caption := 'перезапись';
Checked := True;
TabStop := True;
end;

{ SkipRadioButton }
SkipRadioButton := TNewRadioButton.Create(WizardForm);
with SkipRadioButton do
begin
Name := 'SkipRadioButton';
Parent := WizardForm.SelectDirPage;
Left := ScaleX(40);
Top := ScaleY(160);
Width := ScaleX(121);
Height := ScaleY(17);
Caption := 'простая установка';
end;

OverwriteRadioButton.TabOrder := 5;
SkipRadioButton.TabOrder := 6;

{ ReservationBegin }
// Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;
// Не изменять эту секцию. Она создана автоматически.
{ RedesignWizardFormEnd } // Не удалять эту строку!

procedure InitializeWizard();
begin
RedesignWizardForm;
end;


function skip: Boolean;
begin
Result:=SkipRadioButton.Checked;
end;
function ow: Boolean;
begin
Result:=OverwriteRadioButton.Checked;
end;


размер больше не становится, тк MergeDuplicateFiles по умолчанию true, но идёт двойная распаковка, если строка относится ещё к чему-то. Например к чекбоксу :(

R.i.m.s.k.y.
03-04-2012, 15:44
Johny777, да можно делать две такие строчки
если файл пропускается - смотри на флаг ignoreversion




© OSzone.net 2001-2012