Показать сообщение отдельно
  #40  
Старый 07.02.2010, 09:52
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от Guzerus
По поводу теста.
...
Вопрос от меня.
Код:
function TForm1.CheckEdit2 : Boolean;
begin
  Result := False;
  if (Edit2.Text='0') or (Edit2.Text='')
    then ShowMessage ('Операция недопустима!')
    else Result := True;
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
  if CheckEdit2 Then
............
При вызове функции мы вызываем её Result. Но в выше следующем коде Resula'а два. True и False. Получается if CheckEdit2 Then эквивалентно
if <Result_функции_CheckEdit2> Then.
Вопрос:
If Result... что? Не указывается, true или false. Получается, по умолчанию программа проверяет на true?
когда выполняется
Код:
if CheckEdit2 Then
исполняется функция CheckEdit2
Result ( возвращаемое значение ) в ней один. Только сперва ему присваивают False затем если не выполнится условие, то он станет равен True.

Конструкция if <логическое выражение вызвращающее Boolean тип> then
Можно написать даже так:

Код:
var
  A: Boolean;
//...
A := True;

if A then
Ответить с цитированием