Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

innonewbie

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#define NeedSize                        "400427"  
 
[Setup]  
AppName=NeedSize  
AppVerName=TotalNeedSize  
DefaultDirName={pf}\NeedSize  
DefaultGroupName=NeedSize  
 
[Code]  
//******************************************* [ начало Место для установки ] ***************************************************//  
 
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;  
 
var  
FreeMB, TotalMB: Cardinal;  
NeedSize:Integer;
NeedSpaceLabel,FreeSpaceLabel: TLabel;  
 
Function MbOrTb(Byte: Extended): String;  
begin  
if Byte < 1024 then Result:= NumToStr(Byte) + ' Мб' else  
  if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' Гб' else  
     Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' Тб';  
end;  
 
procedure GetFreeSpaceCaption(Sender: TObject);  
var  
Path: String;  
begin  
Path := ExtractFileDrive(WizardForm.DirEdit.Text);  
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);  
NeedSpaceLabel.Caption := 'Необходимо места на диске: '+ MbOrTb(NeedSize);  
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ MbOrTb(FreeMB);  
WizardForm.NextButton.Enabled:= (FreeMB>NeedSize);  
if (FreeMB<NeedSize) then  
   FreeSpaceLabel.Font.Color:=clRed else  
   FreeSpaceLabel.Font.Color:=WizardForm.Font.Color;  
end;  
 
procedure InitializeWizard();  
begin  
NeedSize := {#NeedSize};  
 
WizardForm.DiskSpaceLabel.Hide;  
 
FreeSpaceLabel := TLabel.Create(WizardForm);  
FreeSpaceLabel.Parent := WizardForm.SelectDirPage;  
FreeSpaceLabel.SetBounds(ScaleX(5), ScaleY(220), ScaleX(209), ScaleY(13));
 
NeedSpaceLabel := TLabel.Create(WizardForm);  
NeedSpaceLabel.Parent := WizardForm.SelectDirPage;  
NeedSpaceLabel.SetBounds(ScaleX(5), ScaleY(200), ScaleX(209), ScaleY(13));  
 
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;  
end;  
 
//******************************************* [ конец Место для установки ] ***************************************************//  
 
procedure CurPageChanged(CurPageID: Integer);  
begin  
  if CurPageID = wpSelectDir then GetFreeSpaceCaption(nil);  
end;  
 

Всего записей: 168 | Зарегистр. 30-12-2010 | Отправлено: 18:52 10-10-2014
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru