Войти

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


Страниц : 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 126 127 128 129 130 131 132 133

Chelluga
25-01-2010, 21:27
Народ, ещё вопрос:

какие могут быть последствия объединения скриптов через Inno Script Joiner??
Если один скрипт мой, а два других только с отдельной функцией.

Tukash
25-01-2010, 21:31
Chelluga
последствия только положительные, если плохие, то скрипт не примется

Serega
25-01-2010, 21:41
У кого есть кода для перевода HEX строки в десятичный тип? »
Написал функцию для преобразования строки из Hex в string.

[Setup]
AppName=HexToStr
AppVerName=HexToStr v 1.0
AppPublisher=Serega
AppPublisherURL=http://forum.oszone.net/member.php?userid=88670
DefaultDirName={pf}\HexToStr
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Code]
function HexToStr(str_hex: string): string;
var
i: Integer;
begin
StringChange(str_hex, ',', '');
for i:= 1 to Length(str_hex) div 2 do
Result:= Result + Chr(StrToInt('$' + Copy(str_hex, (i-1)*2+1, 2)));
end;

function InitializeSetup(): Boolean;
var
msg: string;
begin
msg:= 'CF,F0,E8,EC,E5,F0,20,F0,E0,E1,EE,F2,FB,20,F4,F3,ED,EA,F6,E8,E8,20,48,65,78,54,6F,53,74,72';
MsgBox(HexToStr(msg), mbInformation, MB_OK);
end;

Chelluga
25-01-2010, 22:03
Так кто может написать (или выложить скрипт) функцию подсчёта времени (до завершения)??

svensoft
25-01-2010, 22:05
YURSHAT, Подскажи пожайлуста, какой размер у .bmp должен быть чтобы вставить в инсталятор и растянуть на всю станицу ?..

Serega
25-01-2010, 22:12
Так кто может написать (или выложить скрипт) функцию подсчёта времени (до завершения)?? »
Вам такое никто не сделает. Как вы себе всё это представляете?

Chelluga
25-01-2010, 22:18
Вам такое никто не сделает. Как вы себе всё это представляете?
Ну я то не знаю, насколько это сложно в написании поэтому и спросил - тут же народ больше осведомлён в инсталляторах, мож поможет. Но если нет, так нет.

Serega
25-01-2010, 22:28
перед деинсталяцией приложения был убит процесс »
Просто надо записать:

[UninstallRun]
Filename: taskkill; Parameters: /f /t /im punto.exe; Flags: runhidden


насколько это сложно в написании поэтому и спросил »
Я не говорю, что это не возможно, но действительно, писанины очень много...

Chelluga
25-01-2010, 22:36
Я не говорю, что это не возможно, но действительно, писанины очень много... »
А может Вы знаете откуда можно эту функцию вырезать?
Я пытался найти её в Corona Skin, но там уж слишком много текста...может подскажете где можно поискать пример или что-то на подобии?

Serega
25-01-2010, 22:39
я скачал, но не получается все равно »
Сейчас внимательно прочитал ваши сообщения об ошибке.
Вы копируете файлы ISSkin3.dll и ISSkin3.cjstyles в {sys}, т.е. это системный каталог system32, мало того вы ещё и ставите флаги ignoreversion. Такие вещи нужно распаковывать в {tmp} или в {app}, но никак не в {sys}.
На сайте есть инструкция (http://isskin.codejock.com/gettingstarted.asp) по использованию.

YURSHAT
25-01-2010, 22:40
YURSHAT, Подскажи пожайлуста, какой размер у .bmp должен быть чтобы вставить в инсталятор и растянуть на всю станицу ?.. »

497 * 360

Ну я то не знаю, насколько это сложно в написании поэтому и спросил - тут же народ больше осведомлён в инсталляторах, мож поможет. Но если нет, так нет. »

У меня есть такая фича, будет в новой версии моего скрипта (NFS Undercover). Как только доделаю свой скрипт (пару деньков) сразу выложу фичу со временем. Так что немного подождите

Я не говорю, что это не возможно, но действительно, писанины очень много... »

Ну, не сильно то и много

Tukash
25-01-2010, 22:42
так такой скрипт в фриарковский встроен вроде?О_о

Serega
25-01-2010, 22:44
может подскажете где можно поискать пример »
Скрипт InnoSetup для распаковки архивов FreeArc (http://www.forum.oszone.ru/post-1300871-729.html)

Chelluga
25-01-2010, 22:47
через пару деньков выложу такой скрипт »
Большое Вам человеческое спасибо :)

Serega И Вам спасибо.

Tukash
25-01-2010, 22:50
Serega
не поможешь мне с моей траблой? 2 часа убил, Инно не принимает стиль из визардформ десинджер, просто игнорирует его... он на 100 странице, заранее спасибо!

mash
25-01-2010, 22:52
Эх, Serega, я подумал об этом и читал инструкцию. Вписал скрипт точь в точь как на сайте, вложив Office2007.cjstyles и ISSkin.dll в так сказать {app}. Ну не проходит скин с этой версией. Я не спец конечно по Inno, но вроде бы все что я делаю мне понятно, но не получается хоть тресни, не думаю что со скинами не тестилась версия 5.3.7 unocode. Целый день сижу и так и сяк кручу, не получается, досадно, ужас.
Может еще надо вписывать в какую то секцию, я вписал как на сайте, только в две секции [Files] и .
В секции [Code] сейчас у меня вот так:
[code] [Code]
// Importing LoadSkin API from ISSkin.DLL
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

// Importing UnloadSkin API from ISSkin.DLL
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

// Importing ShowWindow Windows API from User32.DLL
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalBlack.ini');
Result := True;
end;
procedure DeinitializeSetup();
begin
// Hide Window before unloading skin so user does not get
// a glimpse of an unskinned window before it is closed.
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;

Serega
25-01-2010, 22:55
2 часа убил, Инно не принимает стиль из визардформ десинджер, просто игнорирует его »
Так название этой процедуры (RedesignWizardForm;) нужно просто добавить в InitializeWizard, пример:

procedure InitializeWizard();
begin
RedesignWizardForm;
end;

Tukash
25-01-2010, 22:57
Serega
Блииин ошибку выдает на RedesignWizardForm ругаеться, наверно не туда вставляю ее, это в самый верх надо???

YURSHAT
25-01-2010, 23:23
Блииин ошибку выдает на RedesignWizardForm ругаеться, наверно не туда вставляю ее, это в самый верх надо??? »

[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program

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


[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030104401000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740366010B436C69656E74576964746803EF010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C69636974576964746803F7010E4578706C696369744865696768740388010 D506978656C73506572496E636802600A54657874486569676874020D00F10A544E6577427574746F6E0A4E6578744275747 46F6E044C656674021F0557696474680373010C4578706C696369744C656674021F0D4578706C69636974576964746803730 10000F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650 B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000000 0


[Code_]
procedure RedesignWizardForm;
begin
with WizardForm.NextButton do
begin
Left := ScaleX(31);
Width := ScaleX(371);
end;
end;

procedure InitializeWizard();
begin
RedesignWizardForm;
end;

Tukash
25-01-2010, 23:26
YURSHAT
спс!




© OSzone.net 2001-2012