Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



$ExtendedSyntax

Контролирует обработку некоторых расширений языка Pascal

  1. {$ExtendedSyntax Off}
  2. {$ExtendedSyntax On}

Описание:

    Директива компилятора $ExtendedSyntax определяет, будет ли Delphi использовать некоторые расширения языка Pascal, или нет.

     Это влияет на 3 области:

     1. Обработка функций как процедур
     Пример кода показывает пример работы при активированном и деактивированном $ExtendedSyntax. Когда он включен, Delphi позволяет результатам функции быть проигнорированными - неприсвоенными - и таким образом обрабатывая функции как если бы они были процедурами.

     2. Использование переменной Result в функциях
     При выключенном $ExtendedSyntax вы должны возвращать значение функции, присваивая его псевдопеременной с тем же именем, что и функция. Например: function GetValue : Integer; begin GetValue := 23; end;

     При включенном $ExtendedSyntax вы можете также присваивать результат переменной Result, как в коде примера.

     3. Обработка символьных массивов как строк
     При включенном $ExtendedSyntax, символьному массиву с нулевым начальным индексом может быть присвоено строковое значение. Он также может быть присвоен строке, до тех пор, пока массив содержит символ #0, означающий конец строки.

Пример кода:

begin
   // Set extended syntax off
   {$ExtendedSyntax Off}

   // Call the GetValue function without assigning the result
   GetValue;
end;

// A function that simply returns the value 1
function TForm1.GetValue: Integer;
begin
   Result := 1;
end;

Результат выполнения:

Compiltaion fails :

[Error] Unit1.pas(39): Statement expected, but expression of type 'Integer' found
[Error] Unit1.pas(45) Undeclared identifier: 'Result'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Пример кода:

begin
   // Set extended syntax on
   {$ExtendedSyntax On}

   // Call the GetValue function without assigning the result
   GetValue;
end;

// A function that simply returns the value 1
function TForm1.GetValue: Integer;
begin
   Result := 1;
end;

Результат выполнения:

Code compiles OK and runs without doing anything.