Символьні типи даних
|
Тип |
Розмір в байтах |
Що може зберігатися |
|
ANSIChar |
1 |
Один символ ANSI |
|
WideChar |
2 |
Один символ Unicode |
|
Char |
1 |
Зараз еквівалентний ANSIChar. В майбутніх версіях Delphi може бути буде еквівалентний WideChar |
Наявність двох різних типів - ANSIChar та WideChar повязано із двома різними множинами символів: ANSI, кожний символ якого займає 1 байт, та Unicode, кожний символ якого займає 2 байти. Перші 256 символів в цих множинах однакові і відповідають символам ASCII від 0 до 255.
Універсальним є тип Char, який на даний момент еквівалентний типу ANSIChar. Саме тип Char варто використовувати у всіх випадках, окрім звернень до функцій, що вимагають іншого типу символьних даних.
Для символьного типу визначена функція Chr(i), що перетворює цілочисельну змінну в символьну змінну типу Char, порядковий номер якої задається параметром і.
Наприклад, Chr(80) повертає букву „Р".
Також визначена функція Ord(ch), де ch - будь-яка змінна символьного типу, що повертає ціле значення, яким символ ch представлений в пам'яті, тобто порядковий номер цього символу в таблиці ANSI. Функція Ord протилежна за змістом функції Chr.
Наприклад, Ord(Chr(80) поверне 80, a Chr(Ord('P')) поверне символ „Р".
Оскільки символьні типи відносяться до порядкових, то для них визначені такі функції та процедури, як: Pred, Succ, Іпс, Dec та інші.