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