(в dbf) | Посилання на OLE-об’єкт
I | Integer | -2147483647 до 2147483646 | 4 | Число ціле
L | Logical | Правда (Так), Брехня (Ні) | 1 | Логічне значення
M | Memo | Визначається доступною пам’яттю (в dbf) | 4 | Посилання на примітку
N | Numeric | Від – 0,9999999999*10 до0,9999999999*10 | 8 | Число з фіксованою точкою ціле або дробове; допускає від 1 до 20 символів в таблиці
T | Date Time | Від 01/01/100 до 12/31/9999 і від 00:00:00 ранку до 23:59:59 вечора | 8 | Дата і час
Y | Currency | Від-22337203685477,5807 до922337203685477 | 8 | Грошове значення
Наведені в першій колонці таблиці буквені позначення використовуються для відображення типу використовуваних перемінних. Переглянути список перемінних можна по команді DISPLAY MEMORY.
Дані кожного типу можуть зберігатись в полях таблиць цього ж типу. Відмітимо, що Visual FoxPro не має команд визначення типів перемінних. Визначення типів виконуються при присвоєнні змінним першо-початкових значень. Роздивимось більш детально перераховані типи даних.
Character
Текстовий (символьний) тип використовується для по-байтового зберігання символьних рядків довжиною від 1 до 254 символів. Елементами рядка можуть бути друковані знаки – букви, цифри, пропуски і розділові знаки. Константа символьного типу повинна бути записана в апострофах і лапках, наприклад:
“рядок” ‘рядок’ [рядок]
Символьні рядки можна порівнювати, наприклад:
“ “< “a”=.Т. “арба”<”арбуз”=.Т.
Тут .Т. – логічне значення (true). Порівняння йде до першого не співпадаючого символу, або до закінчення першого рядка. Оператори порівняння ті ж, що і в NUMERIC. Додатково введена операція точного порівняння (довжина рядка і всіх символів), вона позначається, як = =. Символи, які порівнюються повинні бути набрані в однаковому (нижньому або верхньому) реєстрі.
Є два оператори склеювання рядків + і -.
Приклад:
“Весна” + [96] = [Весна 96] або
“Весна” – [96] = [Весна 96]
У Visual FoxPro добавлений новий тип символьних полів Character (binary), які дозволяють зберігати символи з ASCII – кодами від 0 до 255.
Наступні чотири типи даних (Numeric, Float, Integer, Double) можна умовно об’єднати в одну спільну групу числових даних. Допустимими символами полів перелічених типів є цифри. При роботі з даними цих типів можливі виконання математичних операцій і автоматичний контроль даних, які вводяться при роботі з Visual FoxPro, який виключає ввід любих символів, крім цифр.
Numeric
Числа у форматі з фіксованою точкою. Наприклад, оператор присвоєння
X=43,385
Визначає тип перемінної x як NUMERIC і присвоює їй вказане значення. Над даними цього типу допустимі два типи операцій:
Арифметичні
+, -, ., /,
**або ^ - зведення до степеня.
Порівняння
<, >, = , <= ,>=,
# (або <>, або !=) – не дорівнює.
Float
Числові дані типу Float включені для сукупності і функціонально еквівалентні даним типу Numeric.
В Visual FoxPro з’явились нові типи числових даних Double і Integer.
Double
Числові речові (з плаваючою точкою) дані подвійної точності.
Integer
Дані цілочислового типу застосовуються для представлення цілих чисел і дозволяють зекономити місце для зберігання даних.
Date
Цей тип використовується для зберігання календарних дат. При цьому застосовуються різні формати представлення даних, наприклад:
AMERIKAN 12/31/93
GERMAN 31/12/93 і др..
Формат AMERIKAN використовується по замовчуванню. Інший вид формату встановлюється командою
SET DATE <формат>,
Де <формат> - вид формату, який замовляється. Підтримується контроль правильності дат, які вводяться. Дати зміню
Змінюються в діапазоні 01.01.100 до 12.31.9999. При заданні дат ХХ століття можна вказувати тільки дві останні цифри року.
Date Time
Тип дата і час з’явився у Visual FoxPro. Крім 8 байт, які були потрібні для зберігання дат в форматі Date, під дані даного типу відводиться додатково ще 6 байтів для зберігання часу у виді HHMMSS, де HH – години від 00 до 23, MM – хвилини, SS – секунди. При перетворенні даних типу Date в дані типу Date Time автоматично задається година 12:00:00. Над даними цього типу можна виконувати визначені арифметичні операції, як, наприклад, додаючи до дати 1, ми збільшуємо її на один день, а додаючи секунди до перемінної типу Date Time, ми змінюємо годину.
Logical
Логічний тип даних допускає два можливих значення і чотири варіанти їх позначення:
ПРАВДА (ТАК) - .Т., або .t., або .Y., або .y.
БРЕХНЯ (НІ) - .F., або .f., або .N., або .n.
Результат порівняння даних любого типу є логічним значенням:
T. – якщо порівняння позитивне,
F. – в іншому випадку.
Над даними логічного типу можуть виконуватись наступні операції:
NOT. – НІ (заперечення або невиконання умови);
AND. – І (одночасне виконання двох умов);
OR. – АБО (виконання хоча б одної умови).
Memo
Поля бази даних (БД) даного типу призначені для зберігання символьних рядків довільної довжини. Значення типу Memo можуть мати довільний розмір, який визначається розміром тільки жорсткого диску комп’ютера, і зберігається в окремому файлі з розширенням .FPT, ім’я якого співпадає з іменем відповідної таблиці. Кожна таблиця має тільки один Memo – файлів незалежності від того, скільки Memo – полів вона має. В Memo – поля DBF–файлів заносяться лише посилання на відповідні символьні рядки. Значення Memo–поля можна присвоїти перемінній символьного типу і дальше працювати з нею, як з символьною константою.
Саме Memo–поле має блокову структуру. Розміри блоку змінюються за допомогою команди SET BLOCKSIZE. При цьому можуть задаватися блоки в діапазоні від 33 до 511 байтів. Розмір блоку великого розміру дорівнює 512 байтам і позначається цілими числами від 1 до 32. По замовчуванню встановлюється блок розміром в 64 байта. Тому, наприклад, запис в 65 байтів, буде вимагати два блоки, під які буде відведена область пам’яті в 128 байтів. При виборі