DBF.SetField(dbfFile: IDENT;
fieldName: STRING[10];
[ Value:
ANYTYPE ]);
Прописывает значение DBF-поля по имени fieldName для текущей записи файла dbfFile. Файл должен быть открыт в режиме, допускающем модификацию, поле в нем должно существовать. Тип значения Value должен быть совместим по присваиванию с типом, возвращаемым функцией DBF.ConvTYPENAME. Значение Value может быть пустым. Если параметр Value пропущен, процедура пропишет поле пустым значением (для бинарных числовых DBF-типов пустое значение совпадает с нулем). В случае неудачи процедура выбросит исключение.
Модификация текущей записи производится в памяти, чтобы прописать изменения на диск необходимо выполнить DBF.Update. Если же вместо DBF.Update выполнить перепозиционирование или закрытие файла, то изменения будут потеряны.
В версии 14.138.020 исправлено преобразование для типов 'I' и '+'; раньше оно работало неправильно.
Символ DBF-типа | Длина | Имя DBF-типа | Коммен-тарий | Способ хранения | Диапазон возможных значений | Ожидаемые функцией значения |
---|---|---|---|---|---|---|
'B' | 10 | Binary (dBASE) | Бинарные данные | Бинарное в memo-файле | Целое число (позиция в memo-файле) | |
'B' | 8 | Double (FoxPro) | Плавающее число | Бинарное | [-1E308 .. 1E308] (точность мантиссы ~15 десятичных знаков) | Число |
'C' | [1 .. 65535] | Character | Строка | Текстовое | Строка | |
'D' | 8 | Date | Дата | Текстовое | [ |
Дата |
'F' | [1..20] | Float | Плавающее число | Текстовое | [-9999999999999999999 .. 99999999999999999999], пустое значение | Число |
'G' | 10 | General | Поток данных OLE | Бинарное в memo-файле | Целое число (позиция в memo-файле) | |
'I' | 4 | Integer | Целое число | Бинарное | [-2147483648 .. 2147483647] | Целое число |
'L' | 1 | Logical | Булевский тип | Текстовое | 0, 1, пустое значение | 0, 1, пустое значение |
'M' | 10 | Memo | Строка | Текстовое в memo-файле | Целое число (позиция в memo-файле) | |
'N' | [1..20] | Numeric | Число с фиксиро- ванной точкой |
Текстовое | [-9999999999999999999 .. 99999999999999999999], пустое значение | Число |
'O' | 8 | Double (dBASE 7) | Плавающее число |
Бинарное | [-1E308 .. 1E308] (точность мантиссы ~15 десятичных знаков) | Число |
'P' | 10 | Picture (FoxPro) | Изобра-жение | Бинарное в memo-файле | Целое число (позиция в memo-файле) | |
'T' | 14 | DateTime (FoxPro) | Дата и время | Текстовое | [ |
Число (дата и время в формате VARIANT) |
'T' | 8 | DateTime (FoxPro) | Дата и время | Бинарное | [ |
Число (дата и время в формате VARIANT) |
'Y' | 8 | Currency (FoxPro) | Число с фиксиро- ванной точкой |
Бинарное | [ |
Число |
'@' | 8 | Timestamp (dBASE 7) | Дата и время | Бинарное | [ |
Число (дата и время в формате VARIANT) |
'+' | 4 | Autoincrement (dBASE 7) | Целое число | Бинарное | [-2147483648 .. 2147483647] | Целое число |
DBF-файл dbfFile не открыт | Исключение 507 |
В DBF-файле нет ни одной записи | Исключение 511 |
В DBF-файле dbfFile нет поля fieldName | Исключение 505 |
В DBF-файле dbfFile поле fieldName имеет неизвестный тип | Исключение 504 |
В DBF-файле dbfFile разрушена текущая запись | Исключение 502 |
Переполнение поля DBF-файла | Исключение 514 |