Другие языки программирования и технологии

чему идентичен тип string в delphi 7 ?

в одном источнике пишут что ShortString-у, а в книге Фленова AnsiString-у.. . при этом он пишет что это зависит от параметра "Huge string"... типа мол если галочка, то анси, иначе шортстринг.. . Правда ли это? Просто меня возмутило то, что в 1-ой книге это не упоминалось...
Переменные типов AnsiString и WideString - это динамически распределяемые массивы символов, максимальная длина которых ограничивается только наличием памяти. Разница между ними состоит в том, что в AnsiString знаки записываются в формате char, а в WideString- в формате WideChar. Обычно вполне достаточно одного типа AnsiString, однако при работе с международными наборами символов, такими как UNICODE, удобнее использовать WideString.

Тип ShortString-это, по существу, массив Array [0..255] of char. Первый его элемент задает динамическую длину строки, которая может принимать значения от 0 до 255 символов. Символы, составляющие строку, занимают места от 1 до 255. Тип ShortString предназначен, в основном, для обеспечения совместимости с ранними версиями Delphi и Borland Pascal.

Логический строковый тип именуется просто String. Отнесение его к типу AnsiString или ShortString задается командой $Н. По умолчанию задается { $Н+}, и String совпадает с AnsiString. Если задать команду {$Н- }, то String будет совпадать с ShortString и иметь максимальную длину, равную 255 символам.
Misha Chavkin
Misha Chavkin
34 078
Лучший ответ
А не все ли равно? ? У всех оперативка от 2-8 гб, будет ли играть роль 2-4 байтов? По теме, в ansi 1 символ занимает 1 байт. Ограничений нет, память жрет по нужде, short вмещает 255 символов и все. String это хамелеон, будет у вас 100 символов подгонит память под short, больше - под ansi.