![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать скажите пожалуйста как посчитать количество файлов
в папке могут лежать максимум 4 файла. Файлов может быть больше, но инсталл увидит только четыре мне нужно выполнить действие если "замеченных" файлов больше одного пока прикинул реализовать так: iFile1, iFilfe2, iFile3, iFile4: Integer; if FileExists(S_UPD + '\файл1')) then iFile1 := 1 else iFile1 := 0 if FileExists(S_UPD + '\файл2')) then iFile2 := 1 else iFile2 := 0 if FileExists(S_UPD + '\файл3')) then iFile3 := 1 else iFile3 := 0 if FileExists(S_UPD + '\файл4')) then iFile4 := 1 else iFile4 := 0 if iFile1 + iFilfe2 + iFile3 + iFile4 > 1 then действия может есть более грамотный способ я очень мало знаю о .Count может он? |
Отправлено: 02:13, 05-08-2012 | #531 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 10:11, 05-08-2012 | #532 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Gnom_aka_Lexander,
спасибо сохранил себе пример пригодится но мне нужно не все подряд считать а только 4 файла с именами те файлы 'hl2_update.exe' 'hl2_ep1_update.exe' 'hl2_ep2_update.exe' 'portal_update.exe' дело в том, что у меня на поиск всех этих 4-х обновлений отведена только одна кнопка вызывающая форму обзора, через которую можно указать их расположение (оно так и должно быть) пример: "в папке по умолчанию", те рядом с инсталлом лежат 4 файла, те максимальное количество я хочу установить 3 из них, а один из другой директории указываю директорию, но там 2 файла и получается, что они (эти 2 архива.exe) перезаписывают существующие пути заменяя {src}\Outer\update на например C:\update скрин-пример папки с многоточием это путь "не рядом с инсталлом" без многоточия - рядом в пути лежат 3 апдейта рядом 4 в итоге из пути будут взяты 3, а из "рядом с инсталом" только 1 поэтому если файлов в указываемой директории больше одного - 2, 3, 4 то должна вылезти маленькая форма (совсем маленькая) с чекбоксами, через которую можно подтвердить какие апдейты оттуда брать |
Последний раз редактировалось Johny777, 05-08-2012 в 12:14. Отправлено: 11:54, 05-08-2012 | #533 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Johny777, дык, элементарно добавить условие и все.
в параметре dir функции GetFileCount указываешь нужную тебе папку, или папку, которую вернула функция выбора папки - не знаю, какую из них ты используешь, но смысл понятен, я думаю. так-же можно перечислять не множеством а по очереди и в зависимости от наличия-отсутствия определенного файла дисаблить-енаблить определенные чекбоксы обновления. |
------- Последний раз редактировалось Gnom_aka_Lexander, 05-08-2012 в 13:07. Отправлено: 13:01, 05-08-2012 | #534 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Gnom_aka_Lexander,
спасибо за функцию ![]() понял Цитата Gnom_aka_Lexander:
она будет обрабатываться в событии OnChage элемента конструктора TFolderTreeView там же и блокируются/разблокируются чекбоксы таким образом: var S_UPD: String; ... S_UPD := TFolderTreeView(Sender).Directory; hl2_update_Checkbox.Enabled := FileExists(S_UPD + '\hl2_update.exe'); ____________________________ ещё хотел спросить у меня есть просчёт размера устанавливаемых компонентов там сложение размера файлов и их размер зависит от наличия гкф файла в пути установки я хотел сделать это математическое сложения для повышения скорости обработки вставкой кода ассемблера (ассемблер не знаю, но почитал статью http://sources.ru/delphi/op/learning...delphi_1.shtml по дельфи, где есть такой пример) так и не смог в инно вылетает ошибка на ключевом слове asm например function Count(): Integer; begin asm сложение(рассчёт) end; end; получается инно просто его не поддерживает? |
|
Последний раз редактировалось Johny777, 05-08-2012 в 14:17. Отправлено: 14:03, 05-08-2012 | #535 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Johny777:
хотя.. компилятор вроде как понимает логическую скобку asm. можно попробовать сделать так: тоесть функция полностью на асме, без паскалевских логических скобок. |
|
------- Последний раз редактировалось Gnom_aka_Lexander, 05-08-2012 в 15:35. Отправлено: 15:21, 05-08-2012 | #536 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Batistas:
|
|
Последний раз редактировалось El Sanchez, 07-08-2012 в 13:54. Причина: fix Отправлено: 09:34, 06-08-2012 | #537 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата:
![]() |
|
Отправлено: 23:43, 06-08-2012 | #538 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать Batistas, может стоит установить расширенную версию от Китайских братьев? ISC 5.5.1. ee1 (u) Система Win 7 x64 SP1
|
------- Отправлено: 23:56, 06-08-2012 | #539 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата:
![]() |
|
Последний раз редактировалось Batistas, 07-08-2012 в 01:56. Отправлено: 00:47, 07-08-2012 | #540 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|