Как записать nrec в DBF?
Модераторы: m0p3e, edward_K, Модераторы
Как записать nrec в DBF?
Помогите разобраться!
Написал интерфейс выгрузки данных в DBF, среди полей есть nrec.
Создал поле как: DBFAddField(hDBFh, 'Store_ID', DbNum, 20, 0);
Потом записываю значение DBFPutFieldValue(hDBFh,'DocKind', Result.DocKind);
Но в итоговом DBF файле в данном поле последние 2 цифры заменены нулями. Что я делаю не так?
Написал интерфейс выгрузки данных в DBF, среди полей есть nrec.
Создал поле как: DBFAddField(hDBFh, 'Store_ID', DbNum, 20, 0);
Потом записываю значение DBFPutFieldValue(hDBFh,'DocKind', Result.DocKind);
Но в итоговом DBF файле в данном поле последние 2 цифры заменены нулями. Что я делаю не так?
-
- Постоянный обитатель
- Сообщения: 144
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Красноярский Край
- Контактная информация:
писал как строку вот так - все работает
Код: Выделить всё
DBFaddField(handle,'CKLPRICE' ,DbChar, 17,0); // Нрек прайс листа
....
....
....
DBFPutFieldValue(handle, 'CKLPRICE' , String(TECHP.KLPRICE.nrec,0,0) ); // Нрек прайс листа
-
- Постоянный обитатель
- Сообщения: 165
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Н.Новгород ОАО "Сибур-Нефтехим"
- Контактная информация:
function String (i : anyType;
length : byte;
digits : byte) : string;
В десятичный формат вывести нельзя, будет осуществлено неявное преобразование, которое испортит 2 последних знака.
digits : byte - количество знаков после запятой в результирующем выражении. Имеет смысл только для действительных чисел и для comp. Для comp это поле переключает систему счисления, в которой выводится результат. Если параметр равен 0 (или не задан), то получаем шестнадцатеричную систему счисления, иначе - десятичную.
Но это будет уже строка а не число.
length : byte;
digits : byte) : string;
В десятичный формат вывести нельзя, будет осуществлено неявное преобразование, которое испортит 2 последних знака.
digits : byte - количество знаков после запятой в результирующем выражении. Имеет смысл только для действительных чисел и для comp. Для comp это поле переключает систему счисления, в которой выводится результат. Если параметр равен 0 (или не задан), то получаем шестнадцатеричную систему счисления, иначе - десятичную.
Но это будет уже строка а не число.