Операции отношения над строками.
...........
...........
Конкатенация.
Модификатор типа
Это операция, в результате которой значение одного типа может быть интерпретировано как значение другого типа.
модификатор типа::=<имя типа> "("<выражение>")".
Внешне эта операция похожа на вызов функции с одним параметром-значением, но выполняется по-другому. Просто значение выражения в скобках, какого бы типа оно ни было, интерпретируется как значение типа, указанного перед скобками. Единственное требование – тип, к которому преобразуется значение выражения, должен иметь столько же или больше битов в своем представлении, как и преобразуемый тип.
Примеры.
Integer('A') – эквивалент функции Ord('A').
Char(48) – эквивалент функции Chr(48).
Longint(@Buffer) – 32-битовый результат адресной операции преобразуется к длинному целому.
Это операция соединения (сцепления) строк. В Turbo Pascal она записывается знаком +. При этом к строке слева от знака присоединяется строка справа о т знака. Операнды могут быть строковыми константами и строковыми переменными.
|
|
Пример.
Var A: string;
A:= 'Money';
A:=A+'Changers';
Writeln(A);
В этом месте выводится MoneyChangers.
Допустимы операции = <> > < >= <=
Строки равны, если содержат одинаковые последовательности символов. Одна строка больше другой, если в ней ближайший к началу строки символ имеет большее ординальное значение, чем символ на том же месте во второй строке, а предыдущие символы одинаковы.
Примеры.
'ABC'<'BAA' – истина, потому что в первой позиции символ B имеет большее значение, чем символ А.
'ABC'<'ABD' – истина, потому что в третьей позиции символ D имеет большее значение, чем символ C.
'ABC'<'ABCD' – истина, потому что в четвертой позиции строки справа есть символ D, а в строке слева вообще нет символов в 4-й позиции.
Начиная с версии 6.0 при включенной опции расширенного синтаксиса функции можно вызывать как процедуры (то есть, отдельным оператором). При этом результат функции, возвращаемый через ее имя, игнорируется.
Начиная с версии 5.5 добавлена возможность вызова функций и процедур, являющихся методами объектов, с применением квалификаторов.
Также процедуру или функцию можно вызывать по имени переменной процедурного типа, которой предварительно было присвоено имя процедуры или функции с соответствующей структурой заголовка.
Узнать, указывает ли переменная процедурного типа на определенную функцию, можно, сравнив адрес функции, на которую ссылается переменная и адрес интересующей функции: Пусть F – переменная процедурного типа, а ReadInt – процедура с такой же структурой заголовка, как и у переменной F.
If @F = @ReadInt then...;
Чтобы узнать адрес процедурной переменной, а не функции, на которую она указывает, нужно применить операцию вычисления адреса дважды:
@@F