legik2003 Posted February 17, 2014 Share Posted February 17, 2014 (edited) если знаешь какую-нибудь программу которая может долго записывать видео и при этом вес видео не превысит пары гигов, скинь название или сыль на прогу, буду благодарен и попробую сделать мануал ! Я долго искал похожую тему!!! И благодаря тебе я уже начал частично собирать инсталлятор. А насчет твоего вопроса ... то есть такая программа Bandikam http://nnm-club.me/forum/viewtopic.php?t=731012 которая качественно пишет и минимально затрагивает пространство диска. Edited February 17, 2014 by legik2003 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 20, 2014 Share Posted February 20, 2014 Ребята, есть вопрос такой, помогите - 2 дня голову ломаю [Tasks] Name: src; Description: Сохранить оригинальные файлы игры; Flags: exclusive function MoveFile(const srcFile, destFile: PAnsiChar): Integer; external ' [email protected] stdcall loadwithalteredsearchpath'; procedure CreateBackup; var srcFile, destFile: string; basePath, shortPath: string; begin if IsTaskSelected('src') then begin basePath := ExpandConstant('{app}'); srcFile := ExpandConstant(CurrentFileName); shortPath := srcFile; StringChangeEx(shortPath, basePath, '', True); destFile := ExpandConstant('{app}\Backup') + shortPath; ForceDirectories(ExtractFilePath(destFile)); MoveFile(PAnsiChar(srcFile), PAnsiChar(destFile)); end; end; Этот код для бэкапа файлов прикрутил. Так проблема такая - при запуске идет ошибка Runtime Error (at -1:0) Cannot Import dll: <utf8> kernel32.dll Не подхватывает длл-ку почему-то.. Пробую на вин 8.1 и на ХР - одно и то же. @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 20, 2014 Share Posted February 20, 2014 (edited) del Edited February 5, 2015 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 20, 2014 Share Posted February 20, 2014 @Melkop, всё-таки это немаловажный системный файл (для работы с ОЗУ).. А программа пытается Вырезать его в другое место.. вот система и не разрешает. А зачем тебе именно он? Ну.. вот в справке смотрю тоже бэкапирование с использованием MoveFile(const srcFile, destFile: PAnsiChar): Integer; external ' [email protected] stdcall Может есть альтернативы, без этих библиотек системных? Тут уже обсуждалось, но мне надо не по файлу ориентироваться, что в папке лежит, а весь каталог бекапить. Желательно задавая маску, например. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 20, 2014 Share Posted February 20, 2014 (edited) Воу-воу, ничего себе мудрёный код bakup'а... Простой перенос папки уже не в моде? Пробежался по последним страницам. Вердикт - изобретаете велосипед. Практически всё можно сделать проще минимум в 3 раза. Edited February 20, 2014 by AtotIK 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 20, 2014 Share Posted February 20, 2014 (edited) @AtotIK, а пример можно?пока обхожусь базовой функцией.. простым удалением папки res_mods перед установкой: [InstallDelete] Type: filesandordirs; Name: "{app}\res_mods" Хотелось бы два чекбокса на выбор: удалять или бэкапить Edited February 20, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 20, 2014 Share Posted February 20, 2014 (edited) @AtotIK, а пример можно? пока обхожусь базовой функцией.. простым удалением папки res_mods перед установкой: Хотелось бы два чекбокса на выбор: удалять или бэкапить Вот так пока сделал, за 10 минут накидал. Сегодня-завтра допишу. Edited February 20, 2014 by AtotIK 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 20, 2014 Share Posted February 20, 2014 Воу-воу, ничего себе мудрёный код bakup'а... Простой перенос папки уже не в моде? Да не, переписал уже) Без всяких выкрутасов Правда ребята, вопрос такой еще. Как сделать разделение установок. Вот, например у меня чебокс. Я его жмакаю и жму "далее". И мне надо чтоб это действие выполнилось, появились компоненты, я выбрал нужные и снова действие выполнилось, которое привязано к компонентам. А не вот все сразу одним махом @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 20, 2014 Share Posted February 20, 2014 (edited) Вроде доделал. Объясняю как работает: Через #include подключается файл, в котором описаны функции работы с файлами и папками. В частности тут это - MoveDir. Нужна версия Inno Setup с установленным препроцессором. Страница создаётся после начальной. Выбираете действие и спокойно идете дальше по установке. Как только инсталлятор переходит на процесс установки (страница ssInstall) запускается чекер, который смотрит какой пункт был выбран и исходя из этого запускает нужную функцию на исполнение. В первом варианте удаляются папки 0.8.11 и xvm, потом создаётся пустая папка 0.8.11. Во втором варианте папки 0.8.11 и xvm переносятся в res_mods\backup. После создаётся пустая папка 0.8.11. Третий вариант создаётся как "заглушка", ничего не происходит при его выборе. Если не нужны надписи вверху страницы (там где картинка), то оставляйте пустые кавычки в строке: BackupPage:=CreateCustomPage(wpWelcome, '', ''); Тогда нужно будет ещё скрыть белый фон, на котором эти надписи отображаются. В InitializeWizard() добавьте: WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; Поле этого страница будет выглядить примерно вот так: В общем спрашивайте, если что-то не понятно. Вроде всё доступно написал. BackUpPage_AtotIK.zip Edited February 20, 2014 by AtotIK 7 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 20, 2014 Share Posted February 20, 2014 Во втором варианте папки 0.8.11 и xvm переносятся в res_mods\backup Да, переносятся, но абсолютно пустыми (всё содержимое куда-то теряется). @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 21, 2014 Share Posted February 21, 2014 Да, переносятся, но абсолютно пустыми (всё содержимое куда-то теряется). Всё проверено, всё переносит. Попробуй через CopyDir тоже самое сделать. З.Ы. Версия у меня 5.5.4 не Unicode. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 21, 2014 Share Posted February 21, 2014 (edited) Всё проверено, всё переносит. Попробуй через CopyDir тоже самое сделать. З.Ы. Версия у меня 5.5.4 не Unicode. У меня 5.5.1, попробую обновиться.. UPD: обновился, теперь тут: procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); ругается на: UnknownType 'TItemArea' Это процедура показа картинки при наведении на компонент курсора.. Могу скинуть сам скрипт Edited February 21, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Master1989 Posted February 21, 2014 Share Posted February 21, 2014 Всё проверено, всё переносит всё работает ) просто переставил Inno Setup с препроцессором.. проблем с потерей файлов нет... Низкий поклон AtotIK! @ Quote Link to comment Short link Share on other sites More sharing options...
legik2003 Posted February 21, 2014 Share Posted February 21, 2014 Подскажите как можно сделать в Select Components возможность выбора компонент с помощью PageControl или TabControl, у меня в задумке разбить установку по вкладкам, просто компонент много и все это рябит в глазах, вот бы и хотелось разбить по разделам.По возможности если есть у кого пример скрипта скинуть для осмысления. @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 21, 2014 Share Posted February 21, 2014 Всё проверено, всё переносит. Странно, через раз как-то.. То переносит то нет @ Quote Link to comment Short link Share on other sites More sharing options...
Master1989 Posted February 21, 2014 Share Posted February 21, 2014 Странно, через раз как-то.. То переносит то нет опиши как тестируешь? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 21, 2014 Share Posted February 21, 2014 Вот, кстати, попробовал снова создать резервную копию (на том же инсталле, что и в прошлый раз) - переместилось только несколько файлов из одной и второй папкок @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 22, 2014 Share Posted February 22, 2014 (edited) опиши как тестируешь? ну как.. компилю, запускаю, устанавливаю. В папке лежит один файлик, проверяю потом в бэкапе, пусто. В инсталле отключено создание деинсталлятора. Потом еще раз тоже проделываю, но уже в бэкапе непусто. В общем вроде делает, но как-то нестабильно. Edited February 22, 2014 by Melkop @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 22, 2014 Share Posted February 22, 2014 (edited) Если используете Unicode версию, то возможно такое. Там глюки с классами. После выходных могу посмотреть как обойти это всё, наверное придётся делать через функции в системных dll'ках. З.Ы. Все скрипты пишутся на этой не unicode версии с установленным препроцессором. Это наименее затронутая версия, считай "чистый клиент". За работу на других версиях я не ручаюсь. Edited February 22, 2014 by AtotIK 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Melkop Posted February 22, 2014 Share Posted February 22, 2014 Если используете Unicode версию Да, именно ее @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.