Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Johny777

Ветеран


Сообщения: 649
Благодарности: 444

Профиль | Отправить PM | Цитировать


mifkys,
Цитата mifkys:
не подскажете как? »
здесь уже через Check: функция с булев значением на выходе(),
если я правильно понимаю поставленную тобой задачу
Пример:
читать дальше »
Код: Выделить весь код
[Run]
Description: {cm:LaunchProgram, Half-Life}; Filename: {app}\half-life\Half-Life.exe; WorkingDir: {app}\half-life; Check: ConfirmRun('{cm:LaunchProgram, Half-Life}?');
Description: {cm:LaunchProgram, Half-Life Blue Shift}; Filename: {app}\half-life blue shift\Half-Life Blue Shift_unlocked.exe; WorkingDir: {app}\half-life blue shift; Check: ConfirmRun('{cm:LaunchProgram, Half-Life Blue Shift}?');
Description: {cm:LaunchProgram, Half-Life Opposing Force}; Filename: {app}\half-life opposing force\Half-Life Opposing Force.exe; WorkingDir: {app}\half-life opposing force; Check: ConfirmRun('{cm:LaunchProgram, Half-Life Opposing Force}?');
Description: {cm:LaunchProgram, Half-Life Decay}; Filename: {app}\half-life decay\Half-Life Decay.exe; WorkingDir: {app}\half-life decay; Check: ConfirmRun('{cm:LaunchProgram, Half-Life Decay}?');



[code  ]
function ConfirmRun(const cMessage: String): Boolean;
begin
    if MsgBox(ExpandConstant(cMessage), mbConfirmation, MB_YESNO) = IDYES then Result := True;
end;


В функции с выводом булев значения зарезервированная переменная Result инициализируется со значением False по дефолту.
Поэтому в данном случае True будет только если функция вывода диалогового окна винды вернёт число под константой IDYES, то бишь пользователь нажмёт "Да"

если Check получит True, то будет "выполнена строка", в данном случае запуск, если False то ничего не произойдёт,
те проверка производится перед действием описанным в строке до которой дошла очередь
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:42, 24-06-2013 | #687