Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

размер поля [D5, dBase, FoxPro]


lety ©   (2002-09-20 18:37:00) 

При работе с таблицами FoxPro 2.5 неверно определяется размер поля. Пробовала

Table1.FieldByName("X").DataSize
Table1.FieldDefs.Items[i].Size

В обоих случаях размер определяется не правильно. Например, для поля с датой (в дбф задан размер 8) в первом случае получается размер 4, во втором - 25. И для всех чисел тот же размер получается в результате. Для строковых, как-то иначе, но тоже неверно.

Что можно сделать?


lety   (2002-09-21 22:16:00) [1]

а как же мне программно узнать величину = 8, т.е. кол-во позиций?
ведь 8 - я знаю только из databasedesktop`а.

Это никак не возможно? Я хочу ограничить величину условия для поиска - если длина строки для поиска будет больше размера поля, то возникнет ошибка.


ZrenBy   (2002-09-21 21:10:00) [2]

Точно не помню, но вроде бы
1) В DBF для даты 8 - это размер этой штуки -> 12062002
2) При Table1.FieldByName("X").DataSize дает 4 - и это правильно - размер 4 байта
3) Table1.FieldDefs.Items[i].Size - нужно понять

Run-time and read-only. Reports the size of the TFieldDef object. Size is meaningful only for a TFieldDef object with one of the following TFieldType values: ftString, ftBCD, ftBytes, ftVarBytes, ftBlob, ftMemo or ftGraphic. For string and byte fields, Size is the number of bytes reserved in the table for the field. For a BCD field, it is the number of digits following the decimal point. For a BLOB, memo, or graphic field it is the number of bytes in the field.


lety   (2002-09-21 20:41:00) [3]

up


Наверх

Титульная страница Поиск, карта сайта Написать письмо