Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]
sergey3695
01-10-2013, 11:04
Скрипт, думаю, ненадо выкладывать. »
В кой то веке,да!
Начну с того что там двигается не TPanel,а прозрачная картинка. (этого элемента там нет(TPanel))
Картинки в оригинальном скрипте там просто меняются на заднем фоне,походу ты решил что-то переделать.
В данном скрипте у тебя прикрутить IsSlideShow и т.д. для смены картинки не получится. Можно сделать затухание картинок используя Transparent,но это сильно грузит систему. (если учесть что должен будет распаковываться архив,да и ещё это,будет жесть). Что ты собрался сделать мне не понятно.
И да, панель запоминает предыдущую картинку? это как?
Nightwishh
01-10-2013, 15:01
sergey3695, Поясняю ситуацию. Используется обычное слайдшоу с картинками в формате .bmp (не IsSlideShow) и лежат слайды на WizardForm. Есть музыкальная кнопка с текстурами в формате .bmp, где как раз используеться панель размером 38*35 пикс. (на неё уже ложиться текстура и т.д. (это уже не важно!)) тоже на WizardForm. Так вот, при смене слайда в слайд шоу, на панеле (подчёркиваю на панели)отпечатывается кусок предыдущего слайда и при наведении на панель мышкой, она снова становиться прозрачной (Panel).
sergey3695
01-10-2013, 20:17
Nightwishh, так ведь используется .bmp (не прозрачно). (зачем через .bmp? с ботвой была бы прозрачность и весило бы меньше)
Кинь тогда скрипт (в пм (лс)) посмотрю,мне уже прям интересно как ты с кнопкой изгалился. (если честно лучше через ботву сделай,работать лучше будет)
:hi:
Если в скрипте написать так
[Files]
Source: "D:\12\*.*"; DestDir: "{app}\111"; Flags: ignoreversion;или
[Files]
Source: "D:\12\*"; DestDir: "{app}\111"; Flags: ignoreversion;то установщик принимает только файлы которые есть в папке D:\12\, а мне нужно чтобы он принимал подпапки D:\12\ тоже. Как сделать, чтобы он принимал и файлы и подпапки вместе, кроме указания подпапок вручную ?. Помогите новичку в inno setup.
vahe-91, ну справка же...
Секция [Files]
Flags
recursesubdirs
Указывает компилятору или инсталлятору также искать файлы с указанным именем/маской в подпапках папки.
то установщик принимает только файлы которые есть в папке D:\12\ »
Ну. Просто в "Inno Setup Compiler" создай демо скрипт, на третьей странице выбери "Добавить папку"
В созданном скрипте увидишь чем дополнился Flags
Source: D:\12\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Можешь в ISTool перейти в "Файлы и каталоги"
Два раза кликаешь по элементу и выбираешь что тебе нужно
а именно
Обрабатывать подкаталоги - recursesubdirs
Создавать все подкаталоги - createallsubdirs
Либо в Inno Script Studio, переходишь в "Файлы"
Два раза кликаешь по элементу
переходишь в "Детали » (Де)Инсталл" и выбираешь что тебе нужно
а именно
recursesubdirs - Обрабатывать подкаталоги
createallsubdirs - Создавать все подкаталоги.
nik1967, Nordek, спасибо, в справке про секцию files все смотрел, кроме флагов :teeth:
Dinvin4ester
02-10-2013, 20:57
http://s14.directupload.net/images/131002/gsiei3lp.png
Вопрос снят .Прочел в справке что это лимит.
Приветствую, уважаемые форумчане!
Поделитесь пожалуйста опытом и знаниями касательно скрипта ISDone. Вообщем проблема в следующем:
Пытаюсь сделать репак игры. Беру все файлы игры и запаковываю их в архив FreeArc'ом (без сжатия). Полученный файл обрабатываю "Precomp'ом". Далее созданный ".pcf" - файл обрабатываю "Srep'ом". И наконец Полученный ".srp" - файл упаковываю тем же FreeArc'ом, но уже на "Ультра". Как мне потом его распаковать используя скрипт ISDone более грамотно?
Буду вам очень признателен за помощь.
Заранее спасибо!
Gnom_aka_Lexander
05-10-2013, 15:30
Alloc, так-же, но в обратном порядке, в скрипте примере все есть. не забывать удалять промежуточные данные (в примере все это тоже есть)
Gnom_aka_Lexander, спасибо за ответ. А одной строкой невозможно это сделать? И подскажите еще пожалуйста, как использовать "arc.ini"? для чего он нужен?
Gnom_aka_Lexander
05-10-2013, 15:55
А одной строкой невозможно это сделать? » Нет.как использовать "arc.ini" »Никак. это конфигурационный файл freeArc, просто нужно при компиляции подложить тот arc.ini, который был использован при сжатии.
Gnom_aka_Lexander, подскажите тогда, как в строке "Извлечение файлов:" сделать так, что бы показывались только извлекаемые файлы игры а не архивы .arc; .srep... как например у "R.G. Origami"? Может в самих функциях "ISArcExtract", "ISPrecompExtract" это можно настроить?
заранее спасибо!
Gnom_aka_Lexander
05-10-2013, 16:36
Alloc, никак. при распаковке последнего архива так и будет. Да и при распаковке каждого, собственно, так и происходит - отображается имя именно того файла, который в данный момент извлекается.
Gnom_aka_Lexander, спасибо за помощь)
Gnom_aka_Lexander, подскажите, я правильно делаю?
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.bin'), ExpandConstant('{app}\Data.srp'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data.srp'),ExpandConstant('{app}\Data.pcf'), false) then break;
if not ISPrecompExtract ( 0, 0, ExpandConstant('{app}\Data.pcf'), ExpandConstant('{app}\Data.arc'), false) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{app}\Data.arc'), ExpandConstant('{app}\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Gnom_aka_Lexander
05-10-2013, 18:21
Alloc, нет. Справка, описание функций. В первой все в порядке, вот в последующих -
function ISSrepExtract (CurComponent:Cardinal; PctOfTotal:double; InputFile, OutputFile:string; DeleteInFile:boolean):boolean;
тут нужно true. в остальных последующих тоже.
(Из справки - DeleteInFile - удаление исходного архива после распаковки.)
Gnom_aka_Lexander, все, спасибо большое. я понял
А одной строкой невозможно это сделать? »
Возможно, при использовании CLS: SrepInside, PrecompInside, MSC (media streams compressor) (http://krinkels.org/forumdisplay.php?f=141)
Естественно, что и запаковывать нужно с помощью этих CLS.
nik1967, Спасибо за ответ. Пожалуйста, можете немного по подробнее об этом... я пробовал еще так:
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\Data.bin" -dp"{app}"'), ExpandConstant('{tmp}'), '...',False) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\precomp.exe'), ExpandConstant('-r "{app}\Data.srp {app}\Data.pcf"'), ExpandConstant('{tmp}'), '...',False) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\srep.exe'), ExpandConstant('-mem512b -d -s -r "{app}\Data.pcf {app}\Data.arc"'), ExpandConstant('{tmp}'), '...',False) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{app}\Data.arc'), ExpandConstant('{app}\data1'), '', true, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Но вылазит ошибка на втором архиве... Хотя по идее должно работать.. Вообщем цель - распаковать .srep -> .pcf - в скрытом режиме а конечный архив .arc уже что б был виден в инсталляторе...
Буду очень признателен за помощь. Спасибо заранее .
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.