Вопрос Текст на страницах

Yaroslav950

Участник
@DEAD KING, Создавать на каждой странице (а точнее показ). [CustomMessages] - вам уже показали как выглядит.
Код:
var
PageNameLabel,.........:TLabel;
procedure Wizard;
begin
PageNameLabel:=TLabel.Create(WizardForm);
  with PageNameLabel do begin
    AutoSize:= False;
    SetBounds(ScaleX(70), ScaleY(185), ScaleX(400), ScaleY(30));
    Transparent:=True;
    Font.Name:= 'Georgia';
    Font.Size:= 13;
    Font.Color:=$FFFFFF;
    Font.Style:=[fsBold];
    Parent:=WizardForm;
  end;

procedure InitializeWizard;
begin
Wizard;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Hide; \\не показ текста на форме
case CurPageID of
  wpWelcome:
PageNameLabel.Show;\\показ текста на опредленной странице.
end;
end;
 

Socolino

Новичок
Привет. Подскажите как это изменить ?
Размер чтобы не самому писать, а чтобы установщик посчитал сам размер файлов, все файлы загружаются по сети, но если можно вручную то ок
2025-01-15_205412.PNG
 

Хамик

Старожил
Скрыть значок:
Код:
WizardForm.WizardSmallBitmapImage.Hide;
Указать размер вручную:
Код:
[Messages]
ru.DiskSpaceMBLabel=Требуется как минимум 1.25 ГБ свободного дискового пространства.
en.DiskSpaceMBLabel=At least 1.25 ГБ of free disk space is required.
 

Crachlow

Старожил
В 6.ххх есть function DownloadTemporaryFileSize(const Url): Int64; получи размер на InitializeWizard(); или Setup а там присвой WizardForm.DiskSpaceLabel:=Intostr(xxx) для значка WizardForm.WizardSmallBitmapImage.Hide;
 

Cyberworm

Новичок
Скрыть значок:
Код:
WizardForm.WizardSmallBitmapImage.Hide;
Хм, а я использовал немного другие команды для скрытия стандартных изображений:
WizardForm.WizardBitmapImage.Visible := False
WizardForm.WizardBitmapImage2.Visible := False
WizardForm.WizardSmallBitmapImage.Visible := False
 

Leserg

Участник
Хм, а я использовал немного другие команды для скрытия стандартных изображений:
Их действие эквивалентно.
Вызов метода Hide осуществляет установку Visible := False.
Что вам удобнее (привычнее), то и используйте.
 

Socolino

Новичок
Скрыть значок:
Код:
WizardForm.WizardSmallBitmapImage.Hide;
Указать размер вручную:
Код:
[Messages]
ru.DiskSpaceMBLabel=Требуется как минимум 1.25 ГБ свободного дискового пространства.
en.DiskSpaceMBLabel=At least 1.25 ГБ of free disk space is required.
Не работает.
В 6.ххх есть function DownloadTemporaryFileSize(const Url): Int64; получи размер на InitializeWizard(); или Setup а там присвой WizardForm.DiskSpaceLabel:=Intostr(xxx) для значка WizardForm.WizardSmallBitmapImage.Hide;
А тут я не понял, у меня есть версия Inno Setup 6 function DownloadTemporaryFileSize(const Url): Int64;
Я просто не понял что куда делать нужно, это вставлять в секцию
Код:
Я только учусь мне бы подробнее об этом
 
Последнее редактирование:

Socolino

Новичок
Хм, а я использовал немного другие команды для скрытия стандартных изображений:
WizardForm.WizardBitmapImage.Visible := False
WizardForm.WizardBitmapImage2.Visible := False
WizardForm.WizardSmallBitmapImage.Visible := False
Спасибо, работает, изображений теперь нету, как надо)
 

Crachlow

Старожил
Не работает.

А тут я не понял, у меня есть версия Inno Setup 6 function DownloadTemporaryFileSize(const Url): Int64;
Я просто не понял что куда делать нужно, это вставлять в секцию
Код:
Я только учусь мне бы подробнее об этом
Код:
[Setup]
AppName=My New Grog
AppVerName=My Program v 1.5
DefaultDirName=.\My New Grog
OutputDir=.
Uninstallable=false
CreateUninstallRegKey=false
DirExistsWarning=false
DisableWelcomePage=false

[Code]
const
oneMB=1024*1024;


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 ByteOrTB(Bytes: Extended; noMB: Boolean): String; {{Перевод числа в значение бт/Кб/Мб/Гб/Тб (до 2х знаков после запятой)}
Begin
if not noMB then Result:= NumToStr(Int(Bytes)) +' Mb' else
if Bytes < 1024 then if Bytes = 0 then Result:= '0' else Result:= NumToStr(Int(Bytes)) +' Bt' else
if Bytes/1024 < 1024 then Result:= NumToStr(round((Bytes/1024)*10)/10) +' Kb' else
If Bytes/oneMB < 1024 then Result:= NumToStr(round(Bytes/oneMB*100)/100) +' Mb' else
If Bytes/oneMB/1000 < 1024 then Result:= NumToStr(round(Bytes/oneMB/1024*1000)/1000) +' Gb' else
Result:= NumToStr(round(Bytes/oneMB/oneMB*1000)/1000) +' Tb';
end;
procedure InitializeWizard();
var
  file1, file2: int64;
  begin
    file1:= DownloadTemporaryFileSize('https://dl.google.com/tag/s/appguid%3D%7B8A69D345-D564-463C-AFF1-A69D9E530F96%7D%26iid%3D%7B852D1F37-DBB1-2329-EC47-10EC16BC8A29%7D%26lang%3Dru%26browser%3D5%26usagestats%3D1%26appname%3DGoogle%2520Chrome%26needsadmin%3Dprefers%26ap%3Dx64-statsdef_1%26installdataindex%3Dempty/update2/installers/ChromeSetup.exe');
    file2:= DownloadTemporaryFileSize('https://jrsoftware.org/download.php/iscrypt.dll');
    //MsgBox(IntTostr(file2+file1), mbinformation, MB_OK)
    WizardForm.DiskSpaceLabel.Caption:='Required:'+'  '+ByteOrTB(file2+file1,true);
 end;
 

Socolino

Новичок
Код:
[Setup]
AppName=My New Grog
AppVerName=My Program v 1.5
DefaultDirName=.\My New Grog
OutputDir=.
Uninstallable=false
CreateUninstallRegKey=false
DirExistsWarning=false
DisableWelcomePage=false

[Code]
const
oneMB=1024*1024;


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 ByteOrTB(Bytes: Extended; noMB: Boolean): String; {{Перевод числа в значение бт/Кб/Мб/Гб/Тб (до 2х знаков после запятой)}
Begin
if not noMB then Result:= NumToStr(Int(Bytes)) +' Mb' else
if Bytes < 1024 then if Bytes = 0 then Result:= '0' else Result:= NumToStr(Int(Bytes)) +' Bt' else
if Bytes/1024 < 1024 then Result:= NumToStr(round((Bytes/1024)*10)/10) +' Kb' else
If Bytes/oneMB < 1024 then Result:= NumToStr(round(Bytes/oneMB*100)/100) +' Mb' else
If Bytes/oneMB/1000 < 1024 then Result:= NumToStr(round(Bytes/oneMB/1024*1000)/1000) +' Gb' else
Result:= NumToStr(round(Bytes/oneMB/oneMB*1000)/1000) +' Tb';
end;
procedure InitializeWizard();
var
  file1, file2: int64;
  begin
    file1:= DownloadTemporaryFileSize('https://dl.google.com/tag/s/appguid%3D%7B8A69D345-D564-463C-AFF1-A69D9E530F96%7D%26iid%3D%7B852D1F37-DBB1-2329-EC47-10EC16BC8A29%7D%26lang%3Dru%26browser%3D5%26usagestats%3D1%26appname%3DGoogle%2520Chrome%26needsadmin%3Dprefers%26ap%3Dx64-statsdef_1%26installdataindex%3Dempty/update2/installers/ChromeSetup.exe');
    file2:= DownloadTemporaryFileSize('https://jrsoftware.org/download.php/iscrypt.dll');
    //MsgBox(IntTostr(file2+file1), mbinformation, MB_OK)
    WizardForm.DiskSpaceLabel.Caption:='Required:'+'  '+ByteOrTB(file2+file1,true);
end;
У меня в скрипте вот так , я не знаю куда это прописать тут файлов много качать)
2025-01-19_232020.PNG
 

Crachlow

Старожил
Это для плагина idp. В 6.хх это не нужно. Тебе в этом случае достаточно сложить все цифры которые ты указал в конце и присвоить(c переводом в МБ) их WizardForm.DiskSpaceLabel.Caption
 

Socolino

Новичок
Это для плагина idp. В 6.хх это не нужно. Тебе в этом случае достаточно сложить все цифры которые ты указал в конце и присвоить(c переводом в МБ) их WizardForm.DiskSpaceLabel.Caption
То есть сложить все цифры, затем в >>> WizardForm.DiskSpaceLabel.Caption:='Required:'+' '+ByteOrTB(Тут писать число ?);
Или я не догоняю
2025-01-19_235010.PNG
 

Crachlow

Старожил
А чего ты 6 инно не возьмешь?
там вообще можно проще сделать
Код:
procedure InitializeWizard();
var
  linksfile: TArrayofString;
  sfilesize: int64;
  i: integer;
  begin
  sfilesize:=0
  linksfile:=['https://dl.google.com/tag/s/appguid%3D%7B8A69D345-D564-463C-AFF1-A69D9E530F96%7D%26iid%3D%7B852D1F37-DBB1-2329-EC47-10EC16BC8A29%7D%26lang%3Dru%26browser%3D5%26usagestats%3D1%26appname%3DGoogle%2520Chrome%26needsadmin%3Dprefers%26ap%3Dx64-statsdef_1%26installdataindex%3Dempty/update2/installers/ChromeSetup.exe',
'https://jrsoftware.org/download.php/iscrypt.dll']
  for i:=0 to Length(linksfile)-1 do
    sfilesize:= sfilesize+DownloadTemporaryFileSize(linksfile[i]);
    WizardForm.DiskSpaceLabel.Caption:='Required:'+'  '+ByteOrTB(sfilesize,true);
 end;
 
Сверху