Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
valyok666
15-08-2011, 20:39
как вам (http://uaimage.com/image/290d2d50 ) не показывает то что нужно
скрипт (http://rghost.ru/18074691)
insombia
15-08-2011, 20:41
vint56 а как ты сделал на начальной и финишной страничке что текст большой а то у меня он маленький некоторым людям сложно увидеть что там написано вот скрин твоего репака (http://uaimage.com/image/e9b2e795)
valyok666
15-08-2011, 20:57
insombia,
var
WelcomeLabel3: TLabel;
procedure InitializeWizard();
begin
WizardForm.Font.Color:= clRed; цвет
WizardForm.Font.Name:= 'Comic Sans MS'; шрифт
end;
El Sanchez
15-08-2011, 21:04
можешь положить Orca отдельно? »
R.i.m.s.k.y., версия (http://rghost.ru/18077751) поновее
insombia, вот тебе пример
#define MyAppName "Call of Duty Black Ops"
#define AppVerName "Call of Duty Black Ops v 1.0"
[Setup]
AppName={#MyAppName}
AppVerName={#AppVerName}
DefaultDirName={pf}\{#MyAppName}
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[CustomMessages]
rus.Welcome1=Вас приветствует %nМастер установки игры %n{#MyAppName}
rus.Welcome2=Программа установит игру %n{#AppVerName} на Ваш компьютер.%n%nРекомендуется закрыть антивирусные пакеты, %nа также все прочие приложения перед тем, %nкак продолжить.%n%n%nНажмите «Далее», чтобы продолжить, или %n«Отмена», чтобы выйти из программы установки.
rus.Finished1=Установка игры %n{#MyAppName} %nуспешно завершена.
rus.Finished2=Игра {#AppVerName} %nбыла успешно установлена на Ваш компьютер. %n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск» или на Рабочем столе.
rus.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.
[Code]
var
WelcomeLabel1,WelcomeLabel2,WelcomeLabel3,WelcomeLabel4,
FinishedHeadingLabel,FinishedHeadingLabel1,FinishedLabel,FinishedLabel1,FinishedLabel2,FinishedLabel 3: TLabel;
procedure InitializeWizard();
begin
WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);
WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(-26), ScaleY(31), ScaleX(550), ScaleY(70));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 14;
Font.Color:=$000000;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}');
Parent:=WizardForm.WelcomePage;
end;
WelcomeLabel2:= TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(-27), ScaleY(30), ScaleX(550), ScaleY(70));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 14;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}');
Parent:=WizardForm.WelcomePage;
end;
WelcomeLabel3:=TLabel.Create(WizardForm);
with WelcomeLabel3 do begin
AutoSize:=False;
SetBounds(ScaleX(-26), ScaleY(121), ScaleX(550), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;
WelcomeLabel4:=TLabel.Create(WizardForm);
with WelcomeLabel4 do begin
AutoSize:=False;
SetBounds(ScaleX(-27), ScaleY(120), ScaleX(550), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;
FinishedHeadingLabel:= TLabel.Create(WizardForm);
with FinishedHeadingLabel do begin
SetBounds(ScaleX(-29), ScaleY(11), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$00000;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;
FinishedHeadingLabel1:= TLabel.Create(WizardForm);
with FinishedHeadingLabel1 do begin
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$FFFFFF;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel:=TLabel.Create(WizardForm);
with FinishedLabel do begin
AutoSize:=False;
SetBounds(ScaleX(26), ScaleY(121), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel1:=TLabel.Create(WizardForm);
with FinishedLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(120), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel2:=TLabel.Create(WizardForm);
with FinishedLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(26), ScaleY(261), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel3:=TLabel.Create(WizardForm);
with FinishedLabel3 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(260), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;
end;
procedure HideComponents;
begin
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.FinishedHeadingLabel.Hide;
end;
Procedure CurPageChanged(CurPageID: Integer);
Begin
HideComponents;
end;
insombia
15-08-2011, 22:10
vint56
PageDescriptionLabel1,WelcomeLabel1,WelcomeLabel2,WelcomeLabel3,WelcomeLabel4,TotalNeedSpaceLabel,Ne edSpaceLabel,FreeSpaceLabel,
FinishedHeadingLabel,FinishedHeadingLabel1,FinishedLabel,FinishedLabel1,FinishedLabel2,FinishedLabel 3,StatusLabel,LogoLabel: TLabel;
здесь ошибки кидает
insombia, это не ошибки а дубликаты потому что они у тебя уже есть
insombia
15-08-2011, 22:50
valyok666 лучше на черный цвет поменять так как синий особенно когда темно глаза режет
Доброго времени суток!
Народ, пните меня в описание методов (процедур/функций) для разных объектов, таких как: TNewCheckListBox, TNewProgressBar, TNewStaticText и т.д.
И вопрос: Как обойти элементы добавленные в TNewCheckListBox?
Смог только найти функцию, с помощью которой можно обратиться в элементу и узнать выделен он или нет (CheckListBox.Checked[1]:=True/False). Но этого мало, надо еще как то вытащить количество элементов и их описание. Для простоты примера выложил заготовку, если кому не лень подскажите.
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
[CODE]
procedure InitializeWizard;
var
Page: TWizardPage;
CheckListBox: TNewCheckListBox;
RichEditViewer: TRichEditViewer;
i: Integer;
s: String;
begin
{ РАЗ }
Page := CreateCustomPage(wpWelcome, 'Тестовая панель', 'Тестовая панель номер РАЗ!.');
CheckListBox := TNewCheckListBox.Create(Page);
CheckListBox.Width := Page.SurfaceWidth;
CheckListBox.Height := ScaleY(100);
CheckListBox.Flat := True;
CheckListBox.Parent := Page.Surface;
for i := 0 to 15 do
CheckListBox.AddCheckBox('TNewCheckListBox_'+IntToStr(i), '', 0, True, True, False, True, nil);
{ ДВА }
Page := CreateCustomPage(Page.ID, 'Тестовая панель', 'Тестовая панель номер ДВА!');
RichEditViewer := TRichEditViewer.Create(Page);
RichEditViewer.Width := Page.SurfaceWidth;
RichEditViewer.Height := Page.SurfaceHeight;
RichEditViewer.Parent := Page.Surface;
RichEditViewer.ScrollBars := ssVertical;
RichEditViewer.UseRichEdit := True;
for i:=0 to CheckListBox.Count-1 do begin
s := s + '; ' + IntToStr(i) + '_' + CheckListBox.Checked[i] + '_' + CheckListBox.Item[i];
end;
RichEditViewer.RTFText := s;
RichEditViewer.ReadOnly := True;
end;
insombia
16-08-2011, 12:34
Как сделать такие проценты в инсталяторе? http://fastpic.ru/view/25/2011/0705/d7fafe33d4a36154bb642d5019ee029a.png.html
insombia, нужно использовать isdone
insombia
16-08-2011, 15:02
Кто может прикрутить такую верхнюю панель(Где типа закрыть-свернуть) http://uaimage.com/gallery/b5073689 в мой скрипт http://rghost.ru/18157871
вот скрипт с которого это хотелось бы прифигачить http://inno.at.ua/load/0-0-0-122-20
valyok666
16-08-2011, 16:23
insombia, там не панель там форма и стиль
isombia переписывай скрипт vinta лучший вариант
Доброго времени суток!
Подскажите плз, есть ли возможность работать с *.xml файлами загружая их структуру, для изменения/добавления/удаления некоторых полей в нем?
Если стандартных средств нет, то может у кого нить наработки?
Нашел только следующие упоминания о работе с xml:
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string);
var
S: TArrayOfString;
//str : string;
i : Integer;
begin
if not FileExists(FilePath) then begin MsgBox('Файл не найден', 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;
///////////////////////////////////////////////////////////////////////////////
// Find given text in given file, and replace
// complete textline with given text.
// Created: March 27, 2002 by S.T.I.Bracke
// Revised: May 22, 2002 by S.T.I.Bracke
function ReplaceLine(strFilename, strFind, strNewLine: String): Boolean;
var
strTemp : String;
iLineCounter : Integer;
a_strTextfile : TArrayOfString;
begin
{ Load textfile into string array }
LoadStringsFromFile(strFilename, a_strTextfile);
{ Search trough all textlines for given text }
// old line
// for iLineCounter := 1 to High(a_strTextfile) do
// new line corrected by Nikolaus Moll
for iLineCounter := 0 to GetArrayLength(a_strTextfile)-1 do
begin
{ Overwrite textline when text searched for is part of it }
if (Pos(strFind, a_strTextfile[iLineCounter]) > 0) then
a_strTextfile[iLineCounter] := strNewLine;
end;
{ Save string array to textfile (overwrite, no append!) }
SaveStringsToFile(strFilename, a_strTextfile, False);
Result := True;
end;
Но это работа непосредственно с файлами, а не со структурой xml.
El Sanchez
16-08-2011, 18:29
Gugle, использовать объект Microsoft.XMLDOM. Методы (http://msdn.microsoft.com/en-us/library/ms757828(v=VS.85).aspx) и свойства (http://msdn.microsoft.com/en-us/library/ms763798(v=VS.85).aspx). Пример использования я когда-то давал.
R.i.m.s.k.y.
16-08-2011, 20:08
Подскажите плз, есть ли возможность работать с *.xml файлами загружая их структуру »
кто-то давал скрипты
insombia
16-08-2011, 21:44
кто-то может помочь вообщем при использовании маленького прогресс бара инсталятор такой
До http://uaimage.com/image/882763ba После http://uaimage.com/image/55730bb9
вот скрипт http://rghost.ru/18207171
No4noylis
16-08-2011, 22:39
insombia, так должно быть: http://rghost.ru/18214121 .
insombia
16-08-2011, 23:25
No4noylis блин так криво получилось но все-равно спс :)
Все сделал на руборде подказали кое что а размеры инсталятора в углу сам подобрал и все теперь нормально
avmaksimov
17-08-2011, 21:59
Стоит задача и не знаю как решить... Вкратце, есть своя dll, а в ней функция, ну доступ возвращает 0 и 1. 0 - все плохо и 1 все хорошо.
Функция запускается при ssPostInstall, т.е. после копирования всех остальных файлов... Так вот - как сделать так, чтобы в случае ошибки, делать откат изменений, такой же, как и при нажатии "Отмена" на более ранних этапах?
Самому делать бэкапы заменяемых файлов (если есть) и разархивировать в случае ошибки, как-то не то... Перелазил весь рунет и англонет, но ничего не нашел... Если кто знает, помогите, пожалуйста!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.