Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Как в Memo прокрутить текст
Категория: Компоненты
Категория: Компоненты
К-во рабочих дней в месяце
Категория: Математика
Категория: Математика
Как нарисовать фрактал
Категория: Математика
Категория: Математика
Сохранить документ Word как RTF на DELPHI
Категория: Файловая система
Категория: Файловая система
Узнать используется ли файл другим приложением
Категория: Базы данных
Категория: Базы данных
Компоненты TabControl, PageControl, TabSet, TabbedNoteBook, NoteBook
Категория: Компоненты
Категория: Компоненты
Добавление текстовой информации в .ехе-файл и чтение ее
Категория: Файловая система
Категория: Файловая система
BDE. Динамическое создание псевдонима
Категория: Базы данных
Категория: Базы данных
Узнать все IP-адреса компьютера
Категория: Интернет и Сети
Категория: Интернет и Сети
Как создать вычисляемые поля
Категория: Базы данных
Категория: Базы данных
Delphi - Справочник: WideString
WideString
|
type WideString; |
Тип (Unit System)
|
Тип данных, который содержит строку, состоящую из WideChar
|
Описание:
|
Тип данных WideString используется, чтобы держать последовательность Интернациональных символов, подобно предложениям. Каждый символ - WideChar, занимает 16 бит. Типы WideChar обеспечивают поддержку многобайтовых наборов Интернациональных символов, таких как китайский, который имеет большое число символов. В отличие от ShortString, WideString - указатель, ссылающийся на переменные. Память распределяется для AnsiString только когда необходимо. Например, присваивание значения одного AnsiString другому не распределяет память для копии первой строки. Вместо этого, ссылка считает первую строку увеличенной, и второй AnsiString устанавливает указатель на него. Но когда вторая строка изменяется, то для этой новой строки выделяется новая память, и ссылка считает первую строку уменьшенной. Когда на строку больше не ссылаются (последний указатель WideString установлен на ноль), она уничтожается. WideStrings может быть присвоен от других строк, от функций, которые возвращают строку, и конкатенациями как в данном примере. При присвоении 'узкой' строке, типа AnsiString, двойной, преобразования могут иметь непредсказуемые результаты. Используйте с осторожностью. Преобразование из AnsiString в WideString не вызывает беспокойства. |
Пример кода: Присвоение двум WideStrings, и управление ими
|
var string1, string2 : WideString; begin // Присвоение известного предложения первой строке string1 := 'Hello World'; // Присвоение второй строке // Это просто указывает string2 на string1 // На память строки 'Hello World' указывают 2 ссылки string2 := string1; // Добавление ко второй строке // Это разъединяет от string1 - создаётся новая память для строки, // чтобы хранить значение string2 string2 := string2 + ', how is everyone?'; // И наконец, делаем длину первой строки равной 5 SetLength(string1, 5); // Показ обоих хначений ShowMessage('String1 = '+string1); ShowMessage('String2 = '+string2); end;
Результат:
|
String1 = Hello String2 = Hello World, how is everyone? |
Примечание:
|
В строках первый символ имеет индекс 1 (массивы начинаются с 0 для первого элемента). |