PSTRING (строка со встроенным байтом-счетчиком длины)
метка PSTRING( | length string constant picture |
)[,DIM()][,OVER()][,NAME()] [,EXTERNAL] |
Формат: | Фиксированное число байт. |
Диапазон: | От 1 до 255 байт |
length | Числовая константа, которая задает размер строки в байтах, включая место для первого по порядку байта, в котором хранится длина такой строки. |
string constant | Начальное значение строки.Длина PSTRING-a устанавливается (в байтах) по длине этой строковой константы плюс начальный байт-счетчик. |
picture | Используется для форматирования значений, присвоенных строке. Длина такой строки, это количество байт, достаточное для хранения форматированной строки и начального байта длины. |
DIM | Размерность(и) переменной как массива. |
OVER | Разделяет один и тот же участок памяти с другой переменной |
NAME | Задает внешнее имя для переменной. |
EXTERNAL | Указывает, что переменная описана и память под нее выделяется во внешней библиотеке. НЕ разрешено для описаний FILE, QUEUE и GROUP. |
PSTRING описывает символьную строку с ведущим байтом длины и длиной, заданной для этой строки.. Она соответствует типу, используемому в Паскале и типу данных "LSTRING" из Btrieve Record Manager. Место в памяти под нее выделяется постоянной длины, но байт длины содержит число символов, реально хранящихся в такой переменной. Во время исполнения, PSTRING преобразуется в STRING. Тип PSTRING имеет смысл употреблять для совместимости с внешними файлами и/или процедурами.
Пример:
Name PSTRING(21) !Declare 21 byte field - 20 bytes data
OtherName PSTRING(21),OVER(Name) !Declare field over name field
Contact PSTRING(21),DIM(4) !Array 21 byte fields - 80 bytes data
Company PSTRING('Clarion Software,Inc.')!23 byte string - 22
! bytes data
Phone PSTRING(@P(###)###-####P) !Declare 14 bytes - 13 bytes
! data
ExampleFile FILE,DRIVER('Btrieve') !Declare a file
Record RECORD
NameField PSTRING(21),NAME('LstringField')
. . !Declare with external name