PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 [86] 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Dinvin4ester
02-10-2014, 14:52
saurn,
http://i63.fastpic.ru/big/2014/1002/21/b3d7cea15f7acb8f2bc812cb17e62c21.png И http://i63.fastpic.ru/big/2014/1002/27/f7cd00081ca1596c18828fc432639227.png
заменил, ошибка осталась.

saurn
02-10-2014, 15:05
заменил, ошибка осталась. »
Без конструкции case of. По сути она там и не нужна.
procedure TButtonOnClick( Sender: TObject );
var
iForm: Tform;
begin
iForm := TForm.Create( nil );
with iForm do
try
BorderIcons := [];
ClientWidth := ScaleX( 300 );
ClientHeight := ScaleY( 300 );
Caption := 'Информация';
Position := poScreenCenter;

with TBevel.Create( nil ) do
begin
Parent := iForm;
SetBounds( ScaleX( 8 ), ScaleY( 8 ), ScaleX( 284 ), ScaleY( 249 ) );
Shape := bsFrame;
end;

with TNewStaticText.Create( nil ) do
begin
Parent := iForm;
SetBounds( ScaleX( 12 ), ScaleY( 12 ), ScaleX( 276 ), ScaleY( 241 ) );
AutoSize := False;
Caption := 'Информация:' + #13#10 +
'Версия:' + #13#10 +
'И т.д.';
WordWrap := True;
end;

with TNewButton.Create( nil ) do
begin
Parent := iForm;
SetBounds( ScaleX( 112 ), ScaleY( 266 ), ScaleX( 76 ), ScaleY( 25 ) );
ModalResult := mrOk;
Caption := 'Закрыть';
end;

ModalResult := ShowModal();
finally

Free;
end;
end;

Dinvin4ester
02-10-2014, 15:28
saurn,
Вот щас прям как надо. И еще не сочтите за назойливость, но спрошу. Как сделать выбор установки русского и английского языка ? Что добавить в основной скрипт и что в месседж..
Спасибо.

saurn
02-10-2014, 15:41
Как сделать выбор установки русского и английского языка ? »
[Languages]
Name: en; MessagesFile: "compiler:Default.isl"
Name: ru; MessagesFile: "compiler:Languages\Russian.isl"

[Messages]
en.BeveledLabel=English
ru.BeveledLabel=Русский

[CustomMessages]
//сообщения для en
en.MyDescription=My description
en.MyAppName=My Program
en.MyAppVerName=My Program %1
//сообщения для ru
ru.MyDescription=Мое описание
ru.MyAppName=Моя программа
ru.MyAppVerName=Моя программа %1
Стандартные Messages переводить не требуется, кроме BeveledLabel. А кастомные сообщения нужно будет писать отдельно для каждого языка. en. и ru. в скрипте - это указатели на необходимый язык в секции Languages.

diman_21Ru
02-10-2014, 15:44
Ищу самый простой способ добавлении кнопок в низ установщика , заранее блогадарю

saurn
02-10-2014, 15:49
diman_21Ru,
procedure InitializeWizard();
begin
with TNewButton.Create(WizardForm) do
begin
Parent := WizardForm;
Left := ScaleX(8);
Top := ScaleY(327);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'NewButton1';
end;
end;

diman_21Ru
02-10-2014, 15:57
saurn, А кликабельность как добавить к нему

saurn
02-10-2014, 16:01
А кликабельность как добавить к нему »
procedure btnOnClick(Sender: TObject);
begin
MsgBox( 'Click', mbInformation, MB_OK );
end;

procedure InitializeWizard();
begin
with TNewButton.Create(WizardForm) do
begin
Parent := WizardForm;
Left := ScaleX(8);
Top := ScaleY(327);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'NewButton1';
OnClick := @btnOnClick;
end;
end;

AlekseyPopovv
02-10-2014, 16:44
Кто ни будь знает как поменять "/VERYSILENT" на "/V"?

Dinvin4ester
02-10-2014, 17:00
saurn,
http://i65.fastpic.ru/big/2014/1002/09/108d5427e4f498a2413ded8065857409.png
никак не получается, выходят 3 таких.

Dodakaedr
02-10-2014, 22:06
Кто ни будь знает как поменять "/VERYSILENT" на "/V"? »
"/VERYSILENT" не меняется, только если переделать исходник программы.

Serega
03-10-2014, 13:32
как поменять "/VERYSILENT" на "/V"? »


[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: ru; MessagesFile: compiler:Languages\Russian.isl

[Code]
function InitializeSetup(): Boolean;
var
i, ResultCode: Integer;
begin
// проверяем с 1, потому что ParamStr(0) всегда будет имя исполняемого файла
for i := 1 to ParamCount do
if LowerCase(ParamStr(i)) = '/v' then
begin
Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode);
Exit;
end;
Result := True;
end;

saurn
03-10-2014, 15:33
никак не получается, выходят 3 таких. »
Секцию Languages замените на эту:
[Languages]
Name: en; MessagesFile: "compiler:Default.isl"
Name: ru; MessagesFile: "compiler:Languages\Russian.isl"

Dinvin4ester
03-10-2014, 16:45
saurn,
Заменил, осталось все по прежнему.

vint56
03-10-2014, 17:06
Dinvin4ester, ясли ты используеш InnoUltra то там по умолчанию русский Default.isl
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
Name: english; MessagesFile: compiler:Languages\English.isl

[CustomMessages]
russian.WelcomeLabel1=Вас приветствует мастер установки игры {#GameName}.
russian.WelcomeLabel2=Программа установит игру {#GameName} на Ваш компьютер. %nРекомендуется закрыть антивирусные пакеты и все прочие приложения перед тем, как продолжить. %nНажмите «Далее», что бы продолжить установку, или «Отмена», чтобы выйти из программы установки.

english.WelcomeLabel1 = Welcome to Setup Game {#GameName}.
english.WelcomeLabel2 = The program will install the game {#GameName} on your computer. %nIt is recommended to close the anti-virus packages and all other applications before continuing.гивфеу

Dinvin4ester
03-10-2014, 22:39
vint56,
Благодарю. Все получилось.

Nordek
03-10-2014, 22:58
никак не получается, выходят 3 таких. »Не увидел. Всё нормально (http://i6.imageban.ru/out/2014/10/03/4536f2d4bb375d41ba8836ea4e35c6a0.png).
Все получилось. »Ув. пользователи! Предупреждайте заранее: чем вы пользуетесь, чтоб не угадывать.

Уже писал: Inno Ultra установлена не у всех. » А устанавливать, проверять, затем вычищать мусор за Inno Ultra - очень неудобно.

Irenis
04-10-2014, 16:20
Добрый день! Помогите пожалуйста извлечь скрипт из установщика. Пробовала программой innounpacker, но написало, что у меня старая версия, обновите программу. Вроде удалила старую версию, но новую поставить не получается, запускаю exe, а ничего не происходит.
Залила на какой то файлообменник, вот ссылка: http://www.fayloobmennik.net/4160636 Спасибо.

vint56
04-10-2014, 17:37
Irenis, я распаковал InnoExtractor 4.8.1.160
http://rghost.ru/58349915

Dodakaedr
04-10-2014, 20:57
Serega, Как сделать чтобы ваш код дружил и с другими ключами? При установке или распаковке папки по умолчанию разные. В частности используются ключи /P и /D. При наличии ключа /P происходит распаковка, а при - /D указывается путь к конечной папке установки или распаковки. Попробовал так, не работает.
function InitializeSetup2(): Boolean;
var
i, ResultCode: Integer;
begin
// проверяем с 1, потому что ParamStr(0) всегда будет имя исполняемого файла
for i := 1 to ParamCount do
if LowerCase(ParamStr(i)) = '/v' then
begin
Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode);
Exit;
end;

if LowerCase(ParamStr(i)) = '/v /p' then
begin
Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent /p', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode);
Exit;
end;

Result := True;
end;




© OSzone.net 2001-2012