Цитата p3rf3ct1c:
Как мне сделать чтобы после удаления игры сохранения удалялись »
|
Пример
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
SolidCompression=yes
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}
[code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
Res: Integer;
begin
case CurUninstallStep of
usPostUninstall:
begin
//Проверяем присутствие папки после удаления
If DirExists(ExpandConstant('{app}')) then
//Создаем диалог с тремя кнопками
case MsgBox('Папка "' + ExpandConstant('{app}') + '" не пуста.'#13#13 +
'"Да" – полное удаление всех файлов в папке, включая саму папку.' #13#13 +
'"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 +
'"Отмена" – ничего не делать, удалить папку позже самостоятельно.', mbInformation, MB_YESNOCANCEL) of
IDYES:
begin
if not DelTree(ExpandConstant('{app}'), True, True, True) then
MsgBox('Папка не удалена.' #13#13 'Папка или один из файлов в ней задействованы другим приложением.', mbError, MB_OK);
end;
IDNO:
begin
if not ShellExec('open', ExpandConstant('{app}'), '', '', SW_SHOWMAXIMIZED, ewNoWait, Res) then
MsgBox('Ошибка открытия.' #13#13 'Папка не найдена.', mbError, MB_OK);
end;
IDCANCEL:
begin
Exit;
end;
end;
end;
end;
end;
Цитата p3rf3ct1c:
можете подсказать как склеивать коды, чтобы не вылезало никаких ошибок? »
|
Если коротко, то - правильно склеивать...
Имена процедур или функций могут быть только в одном экземпляре внутри одного скрипта. После имени процедуры или функции может идти
var, где вы задаёте переменные, которые будут использованы только в данной процедуре или функции. Затем всегда идёт
begin - начало выполнения, а заканчивается -
end;... Я даже не знаю, что можно сказать, всё приходит с пониманием того, что вы делаете...