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

Crachlow

Старожил
Посмотреть вложение 9354
Посмотреть вложение 9355

Серый цвет Текст в середине, картинка просто скрыта, но отображение текста где - то в середине )
Чего у тебя все как то не получается. Все нормально и с idp плагином работает
2025-01-22_203059.png2025-01-22_200617.png2025-01-22_203251.png
 

Socolino

Новичок
Чего у тебя все как то не получается. Все нормально и с idp плагином работает
У меня не отображает в целом общий размер, файлы загружаются с сервера. Как сделать чтобы показывало сколько места? У меня показывает только, нужно как минимум 3 гб, а после установки 7 гигабайт.
Представим. Человек устанавливает репак и видит, о как минимум 3 гига надо, а максимум ? 20 ?)
321.PNG
 
Последнее редактирование:

Crachlow

Старожил
Тебе же приводил пример где отредактировать размер. WizardForm.DiskSpaceLabel.Caption вручную, ты как размер то еще при помощи idp или dwinshs получишь динамически?
 

Socolino

Новичок
Тебе же приводил пример где отредактировать размер. WizardForm.DiskSpaceLabel.Caption вручную, ты как размер то еще при помощи idp или dwinshs получишь динамически?

WizardForm.DiskSpaceLabel.Caption:='Required:'+' '+InttoStr(Round(1024/1024))+ ' Mb'; <<<<ТАК?
Всё дошло, указать размер вручную , короче сложить общий размер из всех файлов, но размер всё же будет не точным, надо чтобы четко прописать размер.

6.PNG
7.PNG
 
Последнее редактирование:

Socolino

Новичок
Чего у тебя все как то не получается.
В конце установки (серый фон) и буквы в центре, картинка что была слева убрана с помощью кода, это выглядит не очень.
И с помощью этого кода, у меня жестко зависает установщик.
 

Crachlow

Старожил
В конце установки (серый фон) и буквы в центре, картинка что была слева убрана с помощью кода, это выглядит не очень.
И с помощью этого кода, у меня жестко зависает установщик.
тут хз как Extended переводить в строку чтобы дробную часть прописать FloatToStr ищет точку, а там после деления запятая будет. пропиши в ручную.
это видимо от стиля зависит, а так:
Код:
[Setup]
AppVersion=1.5
AppName=My Prog
DefaultDirName=.\My Prog
OutputDir=.
Uninstallable=false
CreateUninstallRegKey=false
SetupStyleFile="compiler:Styles\Carbon.vsf"
DisableWelcomePage=false
// тут путь к idp.iss
#include "C:\Users\ADMIN\Documents\My ISO Files\idpsetup-1.5.1\{app}\idp.iss"

[Messages]
ButtonNext=Accept
ButtonCancel=Bay
ButtonBack=Prev
ButtonInstall=Go
ButtonFinish=Chao

[Run]
Filename: "{app}\license.txt"; Description: "Перейти на сайт"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Запустить обновление"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер с модом"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер без модом"; Flags: postinstall shellexec unchecked

[Code]
// тут @Химик хороший вариант предложил
procedure CheckMod(Sender: TObject);
begin
  case WizardForm.RunList.ItemIndex of
    2: WizardForm.RunList.Checked[3] := False;
    3: WizardForm.RunList.Checked[2] := False;
    4: WizardForm.RunList.ItemIndex
  end;
end;

procedure InitializeWizard();
var
Summa: string;
begin
    //WizardForm.Width:=600
    //WizardForm.Height:=480
    WizardForm.WizardSmallBitmapImage.Hide;
    WizardForm.WizardBitmapImage.Hide;
    WizardForm.WizardBitmapImage2.Hide;
    Summa:='187.65'
    WizardForm.DiskSpaceLabel.Caption:='Required:'+'  ' +Summa+  ' Mb';
    WizardForm.DirEdit.AutoSelect:=False

    idpAddFileSize('https://www.han-soft.com/releases/uninshs/uninshs.zip', ExpandConstant('{tmp}\uninshs.zip'),1048576);
    idpAddFileSize('https://www.han-soft.com/releases/dwinshs/dwinshs.zip', ExpandConstant('{tmp}\dwinshs.zip'),1048576);
    idpAddFileSize('https://drive.usercontent.google.com/download?id=1aqO040xLdyiGhWZ5Ig20JDc0O0-eyyPj&export=download&confirm=t&uuid=4c3c7657-3995-496f-b5f5-63f4fc513923', ExpandConstant('{tmp}\AvP_patch.exe'),1048576);

    idpDownloadAfter(wpReady);
    idpSetOption('DetailedMode',   '1');
    idpSetOption('DetailsButton',  '0');
    WizardForm.RunList.OnClick := @CheckMod;
end;
 

Crachlow

Старожил
и буквы в центре, картинка что была слева убрана с помощью кода, это выглядит не очень.
Код:
var
  FinishedHeadingLabel: TLabel;
........................
procedure InitializeWizard();
   WizardForm.WelcomeLabel1.Left:=ScaleX(100)
    WizardForm.WelcomeLabel2.Left:=ScaleX(100)
    WizardForm.FinishedHeadingLabel.Hide;
    WizardForm.FinishedLabel.Left :=ScaleX(130)
    WizardForm.RunList.Left:=ScaleX(150)

    FinishedHeadingLabel:= TLabel.Create(WizardForm);
    FinishedHeadingLabel.AutoSize:= False;
     with WizardForm.FinishedHeadingLabel do
     FinishedHeadingLabel.SetBounds(WizardForm.FinishedHeadingLabel.Left-50, WizardForm.FinishedHeadingLabel.Top, WizardForm.FinishedHeadingLabel.Width, WizardForm.FinishedHeadingLabel.Height);
     FinishedHeadingLabel.Font:= WizardForm.FinishedHeadingLabel.Font
     FinishedHeadingLabel.Font.Color:= clGreen;
     FinishedHeadingLabel.Transparent:= True;
     FinishedHeadingLabel.WordWrap:= true;
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption;
     FinishedHeadingLabel.Parent:= WizardForm.FinishedPage
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption
 

Socolino

Новичок
Код:
var
  FinishedHeadingLabel: TLabel;
........................
procedure InitializeWizard();
   WizardForm.WelcomeLabel1.Left:=ScaleX(100)
    WizardForm.WelcomeLabel2.Left:=ScaleX(100)
    WizardForm.FinishedHeadingLabel.Hide;
    WizardForm.FinishedLabel.Left :=ScaleX(130)
    WizardForm.RunList.Left:=ScaleX(150)

    FinishedHeadingLabel:= TLabel.Create(WizardForm);
    FinishedHeadingLabel.AutoSize:= False;
     with WizardForm.FinishedHeadingLabel do
     FinishedHeadingLabel.SetBounds(WizardForm.FinishedHeadingLabel.Left-50, WizardForm.FinishedHeadingLabel.Top, WizardForm.FinishedHeadingLabel.Width, WizardForm.FinishedHeadingLabel.Height);
     FinishedHeadingLabel.Font:= WizardForm.FinishedHeadingLabel.Font
     FinishedHeadingLabel.Font.Color:= clGreen;
     FinishedHeadingLabel.Transparent:= True;
     FinishedHeadingLabel.WordWrap:= true;
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption;
     FinishedHeadingLabel.Parent:= WizardForm.FinishedPage
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption
7.PNG

Серый цвет может из-за стиля, а вот буквы так и не выровнялись, ну как бы не критично это, так то.
 

Socolino

Новичок
При использовании стиля цвет страниц обычно одинаковый.
На остальных страницах тоже серый?
Если другой стиль подключить также серый?
На остальных страницах нормальный цвет, и только в конце установки серый
6.PNG

Разобрался, это из-за стиля, применил другой стиль, цвет другой стал!
 
Последнее редактирование:

Socolino

Новичок
Можно ли реализовать такой инсталлятор ?
7.PNG
Чтобы сделать кнопки таким образом?
 

Crachlow

Старожил
Код:
[Setup]
AppVersion=1.5
AppName=My Prog
DefaultDirName=.\My Prog
OutputDir=.
Uninstallable=false
CreateUninstallRegKey=false
SetupStyleFile="compiler:.\Styles\Carbon.vsf"
DisableWelcomePage=false
//RawDataResource=Resredist>compiler:Resource\redist.txt, Resmiles>compiler:Resource\miles.txt

// тут путь к idp.iss
#include "C:\Users\ADMIN\Documents\My ISO Files\idpsetup-1.5.1\{app}\idp.iss"


[Messages]
ButtonNext=Accept
ButtonCancel=Bay
ButtonBack=Prev
ButtonInstall=Go
ButtonFinish=Chao

[Files]
Source: compiler:Resource\redist.txt; Flags: ignoreversion dontcopy noencryption
Source: compiler:Resource\miles.txt; Flags: ignoreversion dontcopy noencryption


[Run]
Filename: "{app}\license.txt"; Description: "Перейти на сайт"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Запустить обновление"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер с модом"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер без модом"; Flags: postinstall shellexec unchecked

[Code]
#define AW = (Defined UNICODE) ? "W" : "A"
#include "copymoveEx.iss"
//const
//  RT_RCDATA = 10;

var
  i: Integer;
  FinishedHeadingLabel: TLabel;
  redist, miles: TArrayOfString;

procedure CheckMod(Sender: TObject);
begin
  case WizardForm.RunList.ItemIndex of
    2: WizardForm.RunList.Checked[3] := False;
    3: WizardForm.RunList.Checked[2] := False;
    4: WizardForm.RunList.ItemIndex
  end;
end;
// тут нужно чет дорабатывать
function FormatFloat(Value: LongInt): string;
var
mr, dr: longint;
begin
dr:=value mod (1024*1024)
mr:=Trunc(value/(1024*1024))
result:=IntToStr(mr)+'.'+Copy(IntToStr(dr),0,3) + ' Mb';
end;

procedure restructuring();
begin
    //WizardForm.Width:=800
    //WizardForm.Height:=640
    WizardForm.WizardSmallBitmapImage.Hide;
    WizardForm.WizardBitmapImage.Hide;
    WizardForm.WizardBitmapImage2.Hide;
    WizardForm.DiskSpaceLabel.Caption:='Required:' +'  '+ FormatFloat(16672358);
    WizardForm.DirEdit.AutoSelect:=False
    WizardForm.WelcomeLabel1.Left:=ScaleX(100)
    WizardForm.WelcomeLabel2.Left:=ScaleX(100)
    WizardForm.FinishedHeadingLabel.Hide;
    WizardForm.FinishedLabel.Left :=ScaleX(130)
    WizardForm.RunList.Left:=ScaleX(150)
   

    FinishedHeadingLabel:= TLabel.Create(WizardForm);
     FinishedHeadingLabel.AutoSize:= False;
     with WizardForm.FinishedHeadingLabel do
     FinishedHeadingLabel.SetBounds(WizardForm.FinishedHeadingLabel.Left-ScaleX(50), WizardForm.FinishedHeadingLabel.Top, WizardForm.FinishedHeadingLabel.Width, WizardForm.FinishedHeadingLabel.Height);
     FinishedHeadingLabel.Font:= WizardForm.FinishedHeadingLabel.Font
     FinishedHeadingLabel.Font.Color:= clGreen;
     FinishedHeadingLabel.Transparent:= True;
     FinishedHeadingLabel.WordWrap:= true;
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption;
     FinishedHeadingLabel.Parent:= WizardForm.FinishedPage
     FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption
end;

procedure downloadfiles(const url, filename: string);
begin
  idpAddFile(url + filename, ExpandConstant('{tmp}\') + filename);
end;

procedure InitializeWizard();
var
i:integer;
begin
    restructuring;

    ExtractTemporaryFile('redist.txt')
    ExtractTemporaryFile('miles.txt')

    LoadStringsFromFile(ExpandConstant('{tmp}\redist.txt'), redist);
    DeleteFile(ExpandConstant('{tmp}\redist.txt'));

    LoadStringsFromFile(ExpandConstant('{tmp}\miles.txt'), miles);
    DeleteFile(ExpandConstant('{tmp}\miles.txt'));

     (* тут сервер то доступен то нет
    for i := 0 to Length(redist)-1 do
    downloadfiles('http://188.120.240.106:8080/188_120_240_106_28960/Redist/',redist[i]);
         *)

    for i := 0 to Length(miles)-1 do 
    downloadfiles('http://188.120.240.106:8080/188_120_240_106_28960/miles/',miles[i]);


    //MsgBox('Size файлov: ' + FormatFloat(16672358), mbInformation, MB_OK);

    WizardForm.RunList.OnClick := @CheckMod;
    idpSetOption('DetailedMode',   '1');
    idpSetOption('DetailsButton',  '0');
    idpDownloadAfter(wpPreparing);
end;


procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
    CreateBackup(ExpandConstant('{tmp}'), ExpandConstant('{app}\mods'), 'move:*.flt');
    //CreateBackup(ExpandConstant('{tmp}'), ExpandConstant('{app}'), 'move:*.exe');
end;
ну и доделывай по тихоньку.
 
Сверху