|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 | Цитировать El Sanchez,
помню спрашивал как быстро определить размер папки (те для меня пример ...\Inno Setup 5\Scripts\Dobrov\DirSizeCal.iss работает слишком медленно) нашёл пример использующий объект FileSystemObject http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx на форуме http://forum.vingrad.ru/forum/topic-84976/unread-1.html результат - функция (здесь вывод в мегабайтах под мои нужды) : ![]() [Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[ code]
function GetFolserSize(path:string):Integer;
var
oFS: Variant;
begin
oFS := CreateOleObject('Scripting.FileSystemObject');
Result := oFS.GetFolder(path).Size div (1024*1024);
end;
procedure InitializeWizard();
begin
MsgBox(IntToStr(GetFolserSize('C:\Program Files (x86)')), mbInformation, MB_OK);
end;
более наглядный пример: но вот при попытке посчитать C:\Windows вылетает с ошибкой на Result := oFS.GetFolder(path).Size div (1024*1024); может папка слишком большого размера и он не может посчитать или я функцию криво записал с другой стороны папку с видео размером больше 250 гигов посчитала корректно и тоже быстро в общем хотелось бы узнать в чём причина ошибки ну и как следствие - улучшение/исправление в качестве производных: размер файла: версия файла: получение буквы жёсткого диска на которм лежит файл: генерирование уникального имени папки для использования её в %Temp% альтернатива функции DirExists: проверка наличия жёсткого диска по букве: |
|
Последний раз редактировалось Johny777, 02-10-2012 в 04:09. Отправлено: 01:11, 02-10-2012 | #1061 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать привет. при установке извлекаются некоторые файлы. из них exe bmp итд. скажите. можно сделать чтоб они работали внутри инсталятора. или хотяб брались из файла x.tmp который извлекается в %temp% а не в чистом виде?
|
|
Отправлено: 10:28, 02-10-2012 | #1062 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Johny777:
1. Проверяй в функции наличие папки. Исключение как раз из-за этого. 2. Размер Integer мал для "толстых" папок, нужно, например, Extended. function GetFolserSize(path: String): Extended;
var
oFS: Variant;
begin
try
if not DirExists(path) then Exit;
oFS := CreateOleObject('Scripting.FileSystemObject');
Result := oFS.GetFolder(path).Size/1024/1024;
except
Result := 0;
end;
end;
//два знака после запятой
MsgBox(FormatFloat('#0.00', GetFolserSize('C:\Windows')), mbInformation, MB_OK);
|
|
|
Отправлено: 10:33, 02-10-2012 | #1063 |
|
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать SatHan,
|
|
Последний раз редактировалось Mailchik, 02-10-2012 в 15:45. Причина: ! Отправлено: 15:44, 02-10-2012 | #1064 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Johny777:
procedure MoveFiles(SourceFolder, Mask, DestFolder: String);
var
oFS: Variant;
begin
try
if not DirExists(SourceFolder) or not DirExists(DestFolder) then Exit;
oFS := CreateOleObject('Scripting.FileSystemObject');
oFS.MoveFile(AddBackslash(RemoveBackslash(SourceFolder)) + Mask, DestFolder);
except
//ShowExceptionMessage;
end;
end;
|
|
|
Отправлено: 16:34, 02-10-2012 | #1065 |
|
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Ктонить может показать пример кода, который бы делал так чтобы при наведении курсора на определённый компонент, возникал Hint (при том для каждого компонента свой)?
|
|
Последний раз редактировалось Raf-9600, 04-10-2012 в 15:20. Отправлено: 14:54, 04-10-2012 | #1066 |
|
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Raf-9600, как-то так, только мне не очень нравится, как это работает, может старшие товарище подскажут, как сделать лучше.
Скорей всего на стандартной версии не будет работать. |
|
------- Отправлено: 20:05, 04-10-2012 | #1067 |
|
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Цитата Gnom_aka_Lexander:
![]() |
|
|
Отправлено: 13:53, 05-10-2012 | #1068 |
|
Новый участник Сообщения: 15
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Raf-9600:
|
|
|
------- Отправлено: 14:33, 05-10-2012 | #1069 |
|
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Цитата Shegorat:
Я бы ещё хотел узнать, можно ли сделать так, чтобы текст определённого Hint'а менялся в зависимости от выбранных компонентов? Т.е. чтобы допустим если выбран компонент "ext\u" то у "ext\a" подсказка менялась на другую? |
|
|
Отправлено: 16:10, 05-10-2012 | #1070 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Скрипты 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 | |
|