Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как одним махом определить выполнение  нескольких


Автор: Exploited 9.6.2002, 10:42
Доброго всем утра!

У меня тут вопросик, небольшой:
Можно ли одним махом определить как выполнилось несколько функций - успешно или нет, и вывести соответствующее сообщение, если хоть одна из них не выполнилась. Пишеться программа на чистом Win32API. Вот фрагмент кода:

Код
OPENCD:
  Begin
  ...
  //Здесь функция открытия CD-привода
  //Здесь следующая функция
  //Здесь еще одна функция
  ...
  End;

Автор: neutrino 9.6.2002, 11:17
Может я чего не понимаю... А просто проверить если функция н не сработала, то реак; или сделать флаг с начальным значением "правда" и присваивать ему "ложь" если функция н не выполнилась. В конце проверит чему равен флаг и выдать соответствуюшее сообшение.
Код

var Flag: Boolean;
begin
 Flag:=true;
 Flag:=Flag*function1(x,y,z);
 Flag:=Flag*function2("ass","horse");
 .
 .
 .
 Flag:=Flag*functionN("lalala");
 if not Flag then ShowMessgae("Error");
end.

Автор: Song 9.6.2002, 15:33
После каждой можно поставить GetLastError, но это ИМХО издевательство. Зачем Вам это надо? Если Вы боитесь ошибки закиньте исполняемый блок инструкций в тело исключения.

Автор: Vit 9.6.2002, 22:03
Если функция возвращает значение - выполнено/невыполнено то можно так

 if func1 and
    func2 and
    func4 then showmessage('All done!')
 else
    showmessage('Failed!');

Если функция генерит исключение тогда еще проще - поставь все в один try..except

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)