Angel_Smerti
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Genri Помоги соединить твой скрипт: Цитата: [Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program [Files] Source: Files\*; DestDir: {app} [Сode] const NeedSize = 20; //Прописать, сколько мегабайт необходимо DRIVE_UNKNOWN = 0; DRIVE_NO_ROOT_DIR = 1; DRIVE_REMOVEABLE = 2; DRIVE_FIXED = 3; DRIVE_REMOTE = 4; DRIVE_CDROM = 5; DRIVE_RAMDISK = 6; var ListBox: TListBox; function GetLogicalDrives: DWORD; external 'GetLogicalDrives@kernel32.dll stdcall'; function GetDriveType(nDrive: String): Longint; external 'GetDriveTypeA@kernel32.dll stdcall'; procedure ListBoxOnClick(Sender: TObject); var NewLetter, OldString: String; i: Integer; begin for i:= 0 to ListBox.Items.Count-1 do begin if ListBox.Selected[i] then begin NewLetter:= Copy(ListBox.Items[i], 0, 1); OldString:= Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text)); WizardForm.DirEdit.Text:= NewLetter + OldString; end; end; end; procedure InitializeWizard(); var Path: String; FreeMB, TotalMB: Cardinal; drives: DWORD; i: integer; begin ListBox:= TListBox.Create(WizardForm); ListBox.Top:= 120; ListBox.Width:= 300; ListBox.Height:= ScaleY(90); ListBox.Parent:= WizardForm.SelectDirPage; ListBox.OnClick:= @ListBoxOnClick; drives:= GetLogicalDrives(); for i:= 0 to 31 do begin if (drives and (1 shl i)) > 0 then begin Path:= chr(ord('A')+i)+':'; if GetDriveType(Path) = DRIVE_FIXED then begin GetSpaceOnDisk(Path, True, FreeMB, TotalMB); ListBox.Items.Add(Path + ' - Всего: ' + IntToStr(TotalMB) + 'Мб - Свободно: ' + IntToStr(FreeMB) + 'Мб'); end; end; end; end; function NextButtonClick(CurPageID: Integer): Boolean; var Path: String; FreeMB, TotalMB: Cardinal; begin Result:= True; if CurPageID = wpSelectDir then begin Path:= ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Path, True, FreeMB, TotalMB); if FreeMB < NeedSize then begin MsgBox('Недостаточно места на диске!', mbInformation, MB_OK) Result:= False; end; end; end; | Со скриптом: Цитата: [Setup] WizardImageFile=compiler:winxp.bmp WizardSmallImageFile=compiler:winxp.bmp [Code] procedure InitializeWizard(); var Page: TWizardPage; begin WizardForm.BackButton.BringToFront; WizardForm.NextButton.BringToFront; WizardForm.CancelButton.BringToFront; WizardForm.InnerNotebook.BringToFront; end; | Оба скрипта взяты с этого сайта и так как я в программировании просто профан, то сам с этим не справлюсь. Простое слияние выдает ошибку, потому что во всех скриптах есть строка с переменной: procedure InitializeWizard();. |