Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В языке программирования Pascal для работы со строками был предусмотрен тип String, представляющий собой последовательность (массив) символов, размером до 255-ти байт, вначале которой находилось однобайтовое число, содержащее длину строки. С другой стороны, в языке С, на который, в основном, ориентируется среда Windows, строки хранятся в так называемом ASCIIZ-формате.
Каждая строка в формате ASCIIZ представляет собой указатель на массив символов, который заканчивается нулевым символом. Такое представление строки имеет свои преимущества — например, практически неограниченная длина ASCIIZ-строк, и свои недостатки — связанные с неудобством использования указателей (ссылочных переменных).
В Delphi предлагается компромисс между двумя подходами к хранению строк. Внутреннее представление строки реализовано динамически, в ASCIIZ-формате, тогда как с точки зрения программиста строка является массивом символов известной длины (символы в массиве пронумерованы от единицы). В связи с этим отменена возможность доступа к нулевому элементу строки с целью получения ее длины. Длину строки в Delphi можно определить с помощью функции Length:
Length(<Строка>): Integer;
Установить длину строки можно с помощью процедуры SetLength:
SetLength(<Строка>, <Новая длина>);
Еще одной особенностью работы в среде Windows является возможность использования кодировки символов Unicode, в которой каждый символ представляется не одним, а двумя байтами. Кодировка Unicode предназначена для индексации символов нескольких алфавитов одновременно.
Строковые типы данных, доступные в Delphi, описаны в таблице 2.3.
Строковые типы данных в Delphi Таблица 2.3
Название типа | Максимальная длина, символов | Занимаемая память | Размер символа, байт | |
ShortString | От 2 до 256 байт | |||
AnsiString | ~231 | От 4 байт до 2 Гб | ||
WideString | ~230 | От 4 байт до 2 Гб |
Тип ShortString введен для обратной совместимости с Pascal под DOS и не рекомендуется для использования. Переменной, описанной с использованием устаревшего типа String, назначается тип ShortString, если при компиляции директива Н находится в выключенном состоянии: {$H-}, или AnsiString, если при компиляции директива н находится во включенном состоянии: {$H+}.
Для большинства случаев (не связанных с использованием кодировки Unicode) для описания строковых переменных рекомендуется использовать тип AnsiString.
Дата публикования: 2014-11-02; Прочитано: 355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!