If Начинает условное выражение, чтобы решить, что делать далее
Or Булевская or или поразрядная or двух аргументов
Пример кода : Проверка содержания строки
var
FullString, EmptyString : string;
begin
FullString := 'Fred';
EmptyString := ''; // Выключение полной проверки
{$B-} // Проверка 4-го символа каждой
строки
if (Length(FullString) >= 4) and (FullString[4] = 'd')
then ShowMessage('4-ый символ FullString - d')
else ShowMessage('4-ый символ FullString НЕ d');
if (Length(EmptyString) >= 4) and (EmptyString[4] = 'd')
then ShowMessage('4-ый символ EmptyString - d')
else ShowMessage('4-ый символ EmptyString НЕ d'); // Включение полной проверки
{$B+} // Проверка 4-го символа каждой
строки
if (Length(FullString) >= 4) and (FullString[4] = 'd')
then ShowMessage('4-ый символ FullString - d')
else ShowMessage('4-ый символ FullString НЕ d'); // Теперь мы должны защитить код от
ошибок
try
if (Length(EmptyString) >= 4) and (EmptyString[4] = 'd')
then ShowMessage('4-ый символ EmptyString - d')
else ShowMessage('4-ый символ EmptyString НЕ d');
except
on E : EAccessViolation do
ShowMessage(E.Message);
end;
end;
Следующее типично для вывода вышеупомянутого кода:
4-ый символ FullString - d
4-ый символ EmptyString НЕ d
4-ый символ FullString - d
Access violation at address 00442196 in module 'PROJECT1.EXE'.
Read of address FFFFFFFF