bugron у меня нету скрипта я наоборот хочу сделать похожее
» Inno Setup (создание инсталяционных пакетов)
insombia
Смотрим в личку
Смотрим в личку
bugron
Цитата:
Значит неправильно добавил. И я даже догадываюсь почему. Я ведь дал пример для стандартной формы. Объясню:
В моем примере есть две процедуры
Код: SelectDirBitmapImage:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\DirImage.png'),ScaleX(55), ScaleY(140),ScaleX(48),ScaleY(48),true,true);
SelectGroupBitmapImage:=ImgLoad(WizardForm.SelectProgramGroupPage.Handle,ExpandConstant('{tmp}\GroupImage.png'),ScaleX(55), ScaleY(140),ScaleX(48),ScaleY(48),true,true);
Цитата:
Добавл в скрипт VASYAKRN-а, картинка появляется, но с каким-то фоном.
Значит неправильно добавил. И я даже догадываюсь почему. Я ведь дал пример для стандартной формы. Объясню:
В моем примере есть две процедуры
Код: SelectDirBitmapImage:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\DirImage.png'),ScaleX(55), ScaleY(140),ScaleX(48),ScaleY(48),true,true);
SelectGroupBitmapImage:=ImgLoad(WizardForm.SelectProgramGroupPage.Handle,ExpandConstant('{tmp}\GroupImage.png'),ScaleX(55), ScaleY(140),ScaleX(48),ScaleY(48),true,true);
YURSHAT
Спасибо, теперь все понял, а справку я читал, но как видно, не очень внимательно, ещё раз спасибо.
Спасибо, теперь все понял, а справку я читал, но как видно, не очень внимательно, ещё раз спасибо.
bugron
Цитата:
Не смею утверждать но если я правильно понял с байтами это пример из старой коллекции скриптов. Это не лучший вариант. [more=Вот][Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
[Files]
Source: compiler:innocallback.dll; Flags: dontcopy
Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs
[code]
type
TTimerProc = procedure(HandleW, Msg, idEvent, TimeSys: LongWord);
var
PercentsTimer: LongWord;
PercentsLabel: TLabel;
function WrapTimerProc(callback: TTimerProc; Paramcount: Integer): longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external 'SetTimer@user32';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32 stdcall delayload';
Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.1n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
SetLength(Result, Length(Result)-1);
End;
Procedure PercentsProc(h, msg, idevent, dwTime: Longword);
Begin
with WizardForm.ProgressGauge do
begin
PercentsLabel.Caption:= 'Выполнено ' + NumToStr((Position*100)/Max) + ' %';
end;
End;
procedure DeinitializeSetup();
begin
KillTimer(0, PercentsTimer);
end;
procedure InitializeWizard();
begin
PercentsLabel:= TLabel.Create(WizardForm);
with PercentsLabel do
begin
Left:= WizardForm.ProgressGauge.Left;
Top:= WizardForm.ProgressGauge.Top + WizardForm.ProgressGauge.Height + ScaleY(10);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
PercentsTimer:= SetTimer(0, 0, 100, WrapTimerProc(@PercentsProc, 4));
end;
end;
[/more] этот вариант будет лучше.
Цитата:
Нет не занимается, а зачем? В шапке есть переведенная справка от BagIra.
Цитата:
вот пример, также показывает размер текущего файла в байтах.
Не смею утверждать но если я правильно понял с байтами это пример из старой коллекции скриптов. Это не лучший вариант. [more=Вот][Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
[Files]
Source: compiler:innocallback.dll; Flags: dontcopy
Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs
[code]
type
TTimerProc = procedure(HandleW, Msg, idEvent, TimeSys: LongWord);
var
PercentsTimer: LongWord;
PercentsLabel: TLabel;
function WrapTimerProc(callback: TTimerProc; Paramcount: Integer): longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external 'SetTimer@user32';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32 stdcall delayload';
Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.1n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
SetLength(Result, Length(Result)-1);
End;
Procedure PercentsProc(h, msg, idevent, dwTime: Longword);
Begin
with WizardForm.ProgressGauge do
begin
PercentsLabel.Caption:= 'Выполнено ' + NumToStr((Position*100)/Max) + ' %';
end;
End;
procedure DeinitializeSetup();
begin
KillTimer(0, PercentsTimer);
end;
procedure InitializeWizard();
begin
PercentsLabel:= TLabel.Create(WizardForm);
with PercentsLabel do
begin
Left:= WizardForm.ProgressGauge.Left;
Top:= WizardForm.ProgressGauge.Top + WizardForm.ProgressGauge.Height + ScaleY(10);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
PercentsTimer:= SetTimer(0, 0, 100, WrapTimerProc(@PercentsProc, 4));
end;
end;
[/more] этот вариант будет лучше.
Цитата:
Да и ещё, кто-та занимается обновлением русской справки для Inno Setup?
Нет не занимается, а зачем? В шапке есть переведенная справка от BagIra.
Цитата:
Нет не занимается, а зачем? В шапке есть переведенная справка от BagIra.
Ну в версии 5.4.2 изменения, это добавлено, то удалено, а как узнать что нового, если в справке BagIri об этом не написано?
Добавлено:
Цитата:
Не смею утверждать но если я правильно понял с байтами это пример из старой коллекции скриптов. Это не лучший вариант. Вот этот вариант будет лучше.
Да ты правильно понял, и эта версия скрипта у меня нормально работает в отличии от того, который ты мне дал. Если точнее работает, но после 13% проценты отрицательные числа (было смешно), может это потому, что у меня Unicode версия, или что Enhanced edition?
bugron
Цитата:
Ну все основное там переведено. А если ты пишешь скрипты на инно то минимальными знаниями английского должен обладать, которых достаточно будет, чтобы понять, что нового в той или иной новой версии...
Цитата:
а как узнать что нового, если в справке BagIri об этом не написано?
Ну все основное там переведено. А если ты пишешь скрипты на инно то минимальными знаниями английского должен обладать, которых достаточно будет, чтобы понять, что нового в той или иной новой версии...
Цитата:
Ну все основное там переведено. А если ты пишешь скрипты на инно то минимальными знаниями английского должен обладать, которых достаточно будет, чтобы понять, что нового в той или иной новой версии...
Я и обладаю, для других я говорил.
добрый всем день/вечер, кто сможет к этому скрипту прикрутить воспроизведение музыки?
http://rghost.ru/18014331
буду премного благодарен!
http://rghost.ru/18014331
буду премного благодарен!
bugron
Цитата:
Я думал тебе самому не понятно, а коль хочешь сделать перевод - то вперед. Думаю многи юзеры скажут спасибо это благое дело.
Цитата:
У меня на расширенном юникоде нормально компилится и работает. Попробуй заменить функцию NumToStr на эту [more]
Код: 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;
Цитата:
Я и обладаю, для других я говорил.
Я думал тебе самому не понятно, а коль хочешь сделать перевод - то вперед. Думаю многи юзеры скажут спасибо это благое дело.
Цитата:
в отличии от того, который ты мне дал. Если точнее работает, но после 13% проценты отрицательные числа (было смешно), может это потому, что у меня Unicode версия, или что Enhanced edition?
У меня на расширенном юникоде нормально компилится и работает. Попробуй заменить функцию NumToStr на эту [more]
Код: 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;
извиняюсь
http://rghost.ru/18016801
http://rghost.ru/18016801
Цитата:
добрый всем день/вечер, кто сможет к этому скрипту прикрутить воспроизведение музыки?
Вот, держи, bass.dll в наличии.
bugron
спасибо,все работает,вот только я сглупил в просьбе и не уточнил что нужна иконка вкл/выкл..как это можно реализовать?
спасибо,все работает,вот только я сглупил в просьбе и не уточнил что нужна иконка вкл/выкл..как это можно реализовать?
Цитата:
спасибо,все работает,вот только я сглупил в просьбе и не уточнил что нужна иконка вкл/выкл..как это можно реализовать?
Щас попробую, но результат не гарантирую, только что попытался, не получилось.
Добавлено:
Цитата:
У меня на расширенном юникоде нормально компилится и работает. Попробуй заменить функцию NumToStr на эту Подробнее...
Та же фигня
bugron
Цитата:
Добавил в шапку твои ссылки. Но думаю, что многие уже пользуются редактором, который уже встроен в IDE (от Restools).
Цитата:
Я тут посмотрел, в шапке все ссылки на Inno Form Designer не рабочие. Сегодня сделал инсталл на русском и английском, аерсия проги 2.0.8. Вот ссылки: первая и вторая, думаю можно добавить в шапку.
Добавил в шапку твои ссылки. Но думаю, что многие уже пользуются редактором, который уже встроен в IDE (от Restools).
Цитата:
Добавил в шапку твои ссылки. Но думаю, что многие уже пользуются редактором, который уже встроен в IDE (от Restools).
Я тоже этим пользуюсь, но там постоянно нужно RedesignWizardForm заменить на initializeWizard, а также ISDF предназначен для создания страниц, а IDE в основном контролы.
Цитата:
Я тоже этим пользуюсь, но там постоянно нужно RedesignWizardForm заменить на initializeWizard
А зачем заменять, когда в новых версиях RedesignWizardForm сама добавляется в initializeWizard.
Цитата:
а также ISDF предназначен для создания страниц, а IDE в основном контролы.
В расширенной версии тоже можно добавлять страницы Designer => Insert a WizardPage
Добавлено:
bugron
Цитата:
Та же фигня
Ну не знаю у меня в любом компилере работает, да и никто не жаловался вроде на этот код. Можно тогда взять код из моего скрипта Undercover (в шапке есть). В любом случае тот код который ты выкладывал имеет баги, какие я уже не вспомню (по-моему если объем инсталла больше гига или двух гигов процент не считается) но точно помню, что он не годится.
Цитата:
А зачем заменять, когда в новых версиях RedesignWizardForm сама добавляется в initializeWizard.
Ну не знаю , код работет только тогда, когда я заменяю RedesignWizardForm InitializeWizard-ом.
Цитата:
В расширенной версии тоже можно добавлять страницы Designer => Insert a WizardPage
прикольно, я об этом не знал.
Цитата:
Ну не знаю у меня в любом компилере работает, да и никто не жаловался вроде на этот код. Можно тогда взять код из моего скрипта Undercover (в шапке есть). В любом случае тот код который ты выкладывал имеет баги, какие я уже не вспомню (по-моему если объем инсталла больше гига или двух гигов процент не считается) но точно помню, что он не годится.
Щас попробую компилировать в ANSI версии, посмотрю что будет.
Добавлено:
Цитата:
Щас попробую компилировать в ANSI версии, посмотрю что будет.
Я был прав, все дело в Unicode версии.
Добавлено:
Цитата:
Щас попробую компилировать в ANSI версии, посмотрю что будет.
Я был прав, все дело в Unicode версии.
bugron
Цитата:
Я вот только, что запустил инно, перешел в визуальный редактор, сдвинул для демострации лейбл вернулся назад к компилятору, в котором у меня такой код [more]
Код: [ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030103101000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C69636974576964746803F9010E4578706C69636974486569676874038A010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10E544E6577537461746963546578740D57656C636F6D654C6162656C3203546F700387000B4578706C69636974546F700387000000000000
[Code_]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
procedure RedesignWizardForm;
begin
with WizardForm.WelcomeLabel2 do
begin
Top := ScaleY(135);
end;
{ ReservationBegin }
// This part is for you. Add your specialized code here.
{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
Цитата:
Ну не знаю , код работет только тогда, когда я заменяю RedesignWizardForm InitializeWizard-ом.
Я вот только, что запустил инно, перешел в визуальный редактор, сдвинул для демострации лейбл вернулся назад к компилятору, в котором у меня такой код [more]
Код: [ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030103101000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C69636974576964746803F9010E4578706C69636974486569676874038A010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10E544E6577537461746963546578740D57656C636F6D654C6162656C3203546F700387000B4578706C69636974546F700387000000000000
[Code_]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
procedure RedesignWizardForm;
begin
with WizardForm.WelcomeLabel2 do
begin
Top := ScaleY(135);
end;
{ ReservationBegin }
// This part is for you. Add your specialized code here.
{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
Цитата:
Я вот только, что запустил инно, перешел в визуальный редактор, сдвинул для демострации лейбл вернулся назад к компилятору, в котором у меня такой код Подробнее.... Как видишь все добавляется само.
Дай ссылку, пожалуйста, на твой IDE от Restools.
Добавлено:
Цитата:
Я вот только, что запустил инно, перешел в визуальный редактор, сдвинул для демострации лейбл вернулся назад к компилятору, в котором у меня такой код Подробнее.... Как видишь все добавляется само.
А у меня следующее и все, больше ничего.
Код:
[_Code]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
procedure RedesignWizardForm;
begin
with WizardForm.WizardBitmapImage do
begin
Left := ScaleX(32);
Top := ScaleY(-4);
end;
{ ReservationBegin }
// This part is for you. Add your specialized code here.
{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!
bugron
Цитата:
Я из шапки брал.
ЗЫ. Я помню, что в старых версиях китайской сборки процедура InitializeWizard не генерилась и приходилось создавать ее самому и помещать в нее RedesignWizardForm. А в новых версиях уже нормально и этого делать не нужно - все генерится само.
Добавлено:
bugron
Скачай из шапки
Цитата:
Цитата:
Цитата:
Дай ссылку, пожалуйста, на твой IDE от Restools.
Я из шапки брал.
ЗЫ. Я помню, что в старых версиях китайской сборки процедура InitializeWizard не генерилась и приходилось создавать ее самому и помещать в нее RedesignWizardForm. А в новых версиях уже нормально и этого делать не нужно - все генерится само.
Добавлено:
bugron
Скачай из шапки
Цитата:
Inno Setup Compiler 5.4.1-4.2 build 110319и
Цитата:
nno ISCmplr Setup 5.4.2 build 110329закинь в папку с инно и все должно работать
Цитата:
закинь в папку с инно и все должно работать
Ок, уже качаю.
Добавлено:
Всё нормально сработало, спасибо YURSHAT. Отныне буду работать только с ANSI версией Inno Setup.
как с помощью ботвы растянуть wizardImage на всю форму если она не стандартного размера и на всех страницах ?
Despofix
Цитата:
Кто не стандартная, ботва, форма или wizardImage? Вопрос вообще непонятен...
В архиве с ботвой ведь есть примеры наложения картинки на страницы инсталла
Цитата:
как с помощью ботвы растянуть wizardImage на всю форму если она не стандартного размера и на всех страницах ?
Кто не стандартная, ботва, форма или wizardImage? Вопрос вообще непонятен...
В архиве с ботвой ведь есть примеры наложения картинки на страницы инсталла
YURSHAT
форма нестандартного размера
форма нестандартного размера
Despofix
Цитата:
Хм... а разве размер формы что-то меняет? Ведь ботве абсолютно все равно на каком размере формы рисовать картинки.
Цитата:
форма нестандартного размера
Хм... а разве размер формы что-то меняет? Ведь ботве абсолютно все равно на каком размере формы рисовать картинки.
YURSHAT
просто вы спрашивали что не стандартного размера вот я и ответил а можно как нить растянуть картинку что бы были видны лэйблы, кнопки и т.д
просто вы спрашивали что не стандартного размера вот я и ответил а можно как нить растянуть картинку что бы были видны лэйблы, кнопки и т.д
Despofix
Цитата:
Просто первый твой вопрос был непонятен так как размер здесь абсолютно неважен.
Цитата:
К сожалению нет. Стандартные надписи в инно это не TLabel, а TNewStaticText. А у элемента TNewStaticText не свойства Transparent (прозрачности).
ЗЫ. Ко мне можно на ты, я еще не такой старый
Цитата:
просто вы спрашивали что не стандартного размера вот я и ответил
Просто первый твой вопрос был непонятен так как размер здесь абсолютно неважен.
Цитата:
а можно как нить растянуть картинку что бы были видны лэйблы, кнопки и т.д
К сожалению нет. Стандартные надписи в инно это не TLabel, а TNewStaticText. А у элемента TNewStaticText не свойства Transparent (прозрачности).
ЗЫ. Ко мне можно на ты, я еще не такой старый
YURSHAT
как тогда объявлять лэйблы и как сделать чтобы вокруг кнопок не было белого фона? а то если не ошибаюсь при объявлении лжйбла он начинает отображаться на всех страницах
как тогда объявлять лэйблы и как сделать чтобы вокруг кнопок не было белого фона? а то если не ошибаюсь при объявлении лжйбла он начинает отображаться на всех страницах
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
Предыдущая тема: поиск
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.