Nasgul1987
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: [Setup] AppName=SlideShowOnBackground AppVerName=SlideShowOnBackground CreateAppDir=true DefaultDirName={pf}\Test [Code] const Comp1Size = 100; Comp2Size = 200; var FreeMB, TotalMB: Cardinal; NeedSize: Integer; NeedSpaceLabel, FreeSpaceLabel: TLabel; Comp1, Comp2: TCheckBox; procedure GetFreeSpaceCaption(Sender: TObject); var Path: String; begin Path := ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Path, True, FreeMB, TotalMB); if FreeMB > 1024 then FreeSpaceLabel.Caption := 'Ñâîáîäíî íà âûáðàííîì äèñêå: ' + FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else FreeSpaceLabel.Caption := 'Ñâîáîäíî íà âûáðàííîì äèñêå: ' + IntToStr(FreeMB)+ ' MB'; if FreeMB < NeedSize then WizardForm.NextButton.Enabled := False else WizardForm.NextButton.Enabled := True; end; procedure Comp1OnClick(Sender: TObject); begin if Comp1.Checked then NeedSize := NeedSize + Comp1Size else NeedSize := NeedSize - Comp1Size; NeedSpaceLabel.Caption := 'Òðåáóåòñÿ äëÿ óñòàíîâêè: ' + IntToStr(NeedSize) + ' MB'; if FreeMB < NeedSize then WizardForm.NextButton.Enabled := False else WizardForm.NextButton.Enabled := True; end; procedure Comp2OnClick(Sender: TObject); begin if Comp2.Checked then NeedSize := NeedSize + Comp2Size else NeedSize := NeedSize - Comp2Size; NeedSpaceLabel.Caption := 'Òðåáóåòñÿ äëÿ óñòàíîâêè: ' + IntToStr(NeedSize) + ' MB'; if FreeMB < NeedSize then WizardForm.NextButton.Enabled := False else WizardForm.NextButton.Enabled := True; end; procedure InitializeWizard(); begin NeedSize := 0; WizardForm.DiskSpaceLabel.Hide; NeedSpaceLabel := TLabel.Create(WizardForm); with NeedSpaceLabel do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(198); Width := ScaleX(209); Height := ScaleY(13); Caption := 'Òðåáóåòñÿ äëÿ óñòàíîâêè: ' + IntToStr(NeedSize) + ' MB'; end; FreeSpaceLabel := TLabel.Create(WizardForm); with FreeSpaceLabel do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(216); Width := ScaleX(209); Height := ScaleY(13); end; Comp1 := TCheckBox.Create(WizardForm); with Comp1 do begin Parent := WizardForm.SelectDirPage; Caption := 'Component 1'; Left := ScaleX(0); Top := ScaleY(136); Width := ScaleX(97); Height := ScaleY(17); TabOrder := WizardForm.DirBrowseButton.TabOrder + 1; OnClick := @Comp1OnClick; end; Comp2 := TCheckBox.Create(WizardForm); with Comp2 do begin Parent := WizardForm.SelectDirPage; Caption := 'Component 2'; Left := ScaleX(0); Top := ScaleY(160); Width := ScaleX(97); Height := ScaleY(17); TabOrder := Comp1.TabOrder + 1; OnClick := @Comp2OnClick; end; WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption; WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0; end; |
| Всего записей: 48 | Зарегистр. 09-07-2011 | Отправлено: 04:03 29-02-2012 | Исправлено: Nasgul1987, 04:26 29-02-2012 |
|