Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Это самописный (т.е. сделанный не средствами inno). Вам для какой игры надо (или под какой кряк)? Есть еще вариант встроить в инстяллятор выбор языка (без всякого Language Selector/Changer).Вот типо такого мне надо http://sendfile.su/1307164 может есть пример?
У Inno синтаксис на Паскаль/Delphi похожс Delphi не дружу
Держи: http://sendfile.su/1307259ExPlayer, Всё может быть, но с Delphi не когда не связывался, а inno только изучаю
Здесь исходник есть: http://krinkels.org/threads/language-selector.3363/ для компиляции нужна Delphi 7ExPlayer, Что то не понял, как менять, ей пользоваться!
var
LanguageLabel: TLabel;
PanelForm: TPanel;
Language: TNewComboBox;
Close,Save: TPanel;
s1,s2: String;
Run: TNewCheckBox;
ResultCode: Integer;
function ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';
procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(WizardForm.Handle,$0112,$F012,0)
end;
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string);
var
S: TArrayOfString;
i : Integer;
begin
if not FileExists(FilePath) then begin MsgBox('Файл не найден ' + FilePath, mbError, mb_Ok); Exit;end; // если файла нет, выходим
LoadStringsFromFile(FilePath, S); // загружаем файл
for i:= 0 to GetArrayLength(S)-1 do begin
if (Pos(AnsiUpperCase(find), AnsiUpperCase(S[i])) > 0) then begin
StringChangeEx(S[i], find, replace, True);
end;
end;
SaveStringsToFile(FilePath, S, False); // сохраняем файл
end;
procedure SaveClick(Sender: TObject);
begin
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
procedure CloseClick(Sender: TObject);
begin
WizardForm.Close;
end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False
Cancel:=True
end;
procedure InitializeWizard();
begin
with WizardForm do begin
BorderStyle:=bsNone;
Bevel.Hide;
InnerNotebook.Hide;
OuterNotebook.Hide;
Width:=ScaleX(308);
Height:=ScaleY(153);
Position:=poScreenCenter;
end;
PanelForm := TPanel.Create(WizardForm);
with PanelForm do
begin
Parent := WizardForm;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(308);
Height := ScaleY(153);
BevelInner := bvLowered;
end;
//Создаем лейбл на всю форму, чтоб ее можно было двигать
with TLabel.Create(WizardForm) do begin
Parent:=PanelForm;
AutoSize:=False;
Top:=0;
Left:=0;
Width:=WizardForm.Width;
Height:= WizardForm.Height
Transparent:=True;
OnMouseDown:=@LabelOnMouseDown;
end;
//Теперь тут можно делать чекбоксы
LanguageLabel := TLabel.Create(WizardForm);
with LanguageLabel do
begin
Parent := PanelForm;
Caption := 'Selet game language:';
Left := ScaleX(30);
Top := ScaleY(24);
Width := ScaleX(110);
Height := ScaleY(15);
end;
Language := TNewComboBox.Create(WizardForm);
with Language do
begin
Parent := PanelForm;
Left := ScaleX(153);
Top := ScaleY(20);
Width := ScaleX(123);
Height := ScaleY(21);
Items.Add('english');
Items.Add('russian');
// ItemIndex := 0;
end;
Save := TPanel.Create(WizardForm);
with Save do
begin
Parent := PanelForm;
Left := ScaleX(30);
Top := ScaleY(107);
Width := ScaleX(165);
Height := ScaleY(24);
BevelInner := bvLowered;
Caption := 'Save';
OnClick := @SaveClick;
end;
Close := TPanel.Create(WizardForm);
with Close do
begin
Parent := PanelForm;
Left := ScaleX(204);
Top := ScaleY(107);
Width := ScaleX(72);
Height := ScaleY(24);
BevelInner := bvLowered;
Caption := 'Close';
OnClick := @CloseClick;
end;
Run := TNewCheckBox.Create(WizardForm);
with Run do
begin
Parent := PanelForm;
Left := ScaleX(30);
Top := ScaleY(73);
Width := ScaleX(86);
Height := ScaleY(20);
Caption := 'Launch game';
// Checked:=true;
end;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = 1)or(PageID = 2)or(PageID = 3)or(PageID = 4)or(PageID = 5)or(PageID = 6)or(PageID = 7)or(PageID = 8)or(PageID = 9)or(PageID = 10)or(PageID = 11)or(PageID = 13)or(PageID = 14) then
Result:= True;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
case Language.ItemIndex of
0:
begin
RePlaceTextinFile(ExpandConstant('{src}\steam_emu.ini'), 'russian', 'english'); //заменяем слово english на russian
end;
1:
begin
RePlaceTextinFile(ExpandConstant('{src}\steam_emu.ini'), 'english', 'russian'); //заменяем слово russian на english
end;
end;
end;
procedure DeinitializeSetup();
begin
if Run.Checked then
begin
Exec(ExpandConstant('{src}\farcry3.exe'), '', '', SW_SHOW, ewNoWait, ResultCode);
end;
end;
[/SPOILER]