Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

With Record1



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...