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

Строковые типы данных



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



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