![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Скрипты Inno Setup. Помощь и советы [часть 6]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: |
|
Отправлено: 19:06, 28-03-2013 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Shkutu,
Цитата Shkutu:
могу посоветивать одно (считаю это действительно самым простым): вызывать своё окно вместо стандартного вот пример. В нём возможно много для тебя ненужного кода, но думаю смысл понятен http://forum.oszone.net/post-1939326-305.html вот упрощённая версия: |
|
Отправлено: 07:22, 20-11-2013 | #1471 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать Я смотрю опытные люди опять стали проявлять активность на форуме. Спасибо вам всем. Очень помогаете... попробую вернуться к старой проблеме, которая до сих пор не дает мне покоя.
Вот часть кода: Его задача переместить все файлы и папки из одной папки №1 в папку №2. Так вот если папка №2 уже существует и в ней есть файлы или даже пустые папки, то часть файлов он просто не перемещает, другие файлы перемещает частично... при этом никакой зависимости от присутствующих в папке №1 файлов нет. Код брал из справки... можно ли его как-то усовершенствовать в этом вопросе? Можно ли не перемещать, а копировать файлы? |
Отправлено: 09:04, 20-11-2013 | #1472 |
Пользователь Сообщения: 149
|
Профиль | Отправить PM | Цитировать Johny777, спасибо, буду пробовать.
Кстати, исключение при Abort - это если из среды запускать. Если .ехе сам по себе - то вырубается молча вроде бы, без всяких эксепшнов. Mat_y, чтобы не перемещать, а копировать, можно использовать CopyFile function CopyFile(const srcFile, destFile: PChar, FailIfExists: boolean): Integer; external 'CopyFileA@kernel32.dll stdcall'; Цитата Mat_y:
|
|
Последний раз редактировалось Shkutu, 21-11-2013 в 12:24. Отправлено: 13:16, 20-11-2013 | #1473 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Mat_y:
|
|
Отправлено: 19:06, 20-11-2013 | #1474 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать Цитата Shkutu:
|
|
Отправлено: 20:25, 20-11-2013 | #1475 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Mat_y, вот накатал копирование файлов из папки куда-нибудь, возможностью перезаписи/пропуска и перемещения файлов в одной функции с опциональным отображением прогресса:
справка по заголовкам: function CopyFiles( const srcFolder: String; //путь, откуда копировать const dstFolder: String; //путь, куда откуда копировать const Masks: array of String; //массив масок файла, например: ['*Soft*.exe', '*Soft*a*.exe', 'Valve*.*', '*.e*', '*.exe'] const Overwrite: Boolean; //перезапись существующих файлов const Move: Boolean; //активировать перемещение (после успешного копирования исходный файл будет удалён, включая папку, где он лежал, если она пустая) const CallBack: _FILE_CALLBACK //указатель на функцию обратного вызова _FILE_CALLBACK или nil ): Boolean; type _FILE_CALLBACK = function ( const Msg: Integer; //сообщение статуса копирования const srcFilePath: String; //путь к текущему исходному файлу const dstFilePath: String; //путь к файлу назначения const FileBytes: Extended; //размер текущего файла в байтах const FileBytesCopied: Extended; //сколько байт текущего файла скопировано const OverallBytes: Extended; //размер всех файлов в байтах const OverallBytesCopied: Extended //сколько байт всех файлов скопировано ): Boolean; //чтоб отменить копирование нужно вернуть False ![]() |
Отправлено: 07:24, 21-11-2013 | #1476 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Mat_y, Пример переноса на новую форму (пригодится):
|
Отправлено: 09:33, 21-11-2013 | #1477 |
Пользователь Сообщения: 149
|
Профиль | Отправить PM | Цитировать Цитата Mat_y:
function CopyFile(const srcFile, destFile: PansiChar, FailIfExists: boolean): Integer; external 'CopyFileA@kernel32.dll stdcall'; //если FailIfExists=false, то файл перезапишется Или перемещение вот-так function MoveFileEx(const srcFile, destFile: PansiChar, dwFlags: DWORD): Integer; external 'MoveFileExA@kernel32.dll stdcall'; // если dwFlags=1 (MOVEFILE_REPLACE_EXISTING), то файл тоже перезапишется Но по-моему эти функции могут не работать, если исходный и конечный файлы находятся на разных дисках. Или просто используй то, что ребята насоветовали ![]() |
|
Отправлено: 13:12, 21-11-2013 | #1478 |
Пользователь Сообщения: 75
|
Профиль | Отправить PM | Цитировать El Sanchez,Johny777 здарова. У меня проблемки появились странные.
|
Последний раз редактировалось FX-DENIS, 21-11-2013 в 13:31. Отправлено: 13:24, 21-11-2013 | #1479 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать Цитата Shkutu:
|
|
Отправлено: 15:02, 21-11-2013 | #1480 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты 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 |
|