Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Do begin
Year:=1984;
Month:=Jun;
Day:=12;
End;
Записи с вариантами:
Type
recordTypeName=record
fieldList1:type1;
...
fieldListn: typen;
case tag:ordinalType of
constantList1:(variant1);
...
constantListN: (variantN);
End;
Указатели
Type
PInteger = ^Integer;
Var
R: Single;
I: Integer;
P: Pointer;
PI: PInteger;
Begin
...
P:= @R;
PI:= PInteger(P);
I:= PI^;
End;
В языке Object Pascal имеются дополнительные ссылочные типы, которые представлены в табл. 3.6.
Таблица 3.6
Ссылочный тип
Тип указателя | Указывает на тип | Примечание |
PAnsiString | AnsiString | Объявлен в SysUtils. Используется для динамически выделяемой памяти массивов |
PByteArray | ByteArray | Стандартное объявление |
Pcurrency | Сurrency | Стандартное объявление |
PExtended | Extended | Стандартное объявление |
PОleVariant | PоleVariant | Стандартное объявление |
PShortString | ShortString | Стандартное объявление |
PTextBuf | TextBuf | Стандартное объявление |
PWideString | WideString | Стандартное объявление |
PWordArray | WordArray | Объявлен в SysUtils. Используется для динамически выделяемой памяти для массивов двухбайтовых значений |
PVarRec | ТVarRec | Объявлен в System |
PVariant | Variant | Стандартное объявление |
Тип Variant применяется для данных, тип которых невозможно определить на этапе компиляции. В программе следует выполнять приведение к конкретному типу. Значение типа Variant может быть приведено к любому известному в Object Pascal типу, кроме records, sets, static arrays, files, classes, class references, pointers и Int64. Строки Variant не могут быть индексированы.
Var
V1,V2,V3,V4,V5:Variant;
I:Integer;
D:Double;
S:string;
Begin
V1:=1; { integer value }
V2:=1234.5678; { real value }
V3:='Hello world!'; { string value }
V4:='1000'; { string value }
V5:=V1+V2+V4; { real value 2235.5678}
I:=V1; { I = 1 (integer value) }
D:=V2; { D = 1234.5678 (real value) }
S:=V3; { S = 'Hello world!' (string value)}
I:=V4; { I = 1000 (integer value) }
S:=V5; { S = '2235.5678' (string value) }
End;
Дата публикования: 2014-10-25; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!