Сообщение
ZooKeR »
Попробуй так, если не стандартный функционал тебе не подходит. Решение допотопное, но иногда выручает.
///////Экспорт
var sPath : String;
var liHnd : LongInt;
sPath := sDirPath + '\DGK006_Form.dbf';
liHnd := DBFOpen(sPath, stCreate);
if(liHnd=0)
{
Message('Не могу создать Файл!'+chr(13)+sPath);
}
else
{
DBFAddfield(liHnd, 'nRec', dbchar, 200, 0);
DBFAddfield(liHnd, 'Name', dbchar, 200, 0);
DBFAddfield(liHnd, 'Template', dbchar, 200, 0);
DBFAddfield(liHnd, 'StartRow', dbchar, 200, 0);
DBFAddfield(liHnd, 'GroupTo', dbchar, 200, 0);
_loop DGK006_Form
{
DBFPutFieldValue(liHnd, 'nRec', String(DGK006_Form.nRec));
DBFPutFieldValue(liHnd, 'Name', String(DGK006_Form.Name));
DBFPutFieldValue(liHnd, 'Template', String(DGK006_Form.Template));
DBFPutFieldValue(liHnd, 'StartRow', String(DGK006_Form.StartRow));
DBFPutFieldValue(liHnd, 'GroupTo', String(DGK006_Form.GroupTo));
DBFInsertRecord (liHnd);
}
DBFClose(liHnd);
}
//////////Импорт
sPath := sDirPath + '\DGK006_Form.dbf';
liHnd := OpenDBFFile(sPath);
if (liHnd = 0)
{
Message('Не удалось загрузить список форм!');
}
else
{
if(DBFGetFirst(liHnd) = 0)
{
do
{
Insert Into DGK006_Form Set
DGK006_Form.nRec := Comp(DBFGetFieldValue(liHnd, 'nRec'))
,DGK006_Form.Name := String(DBFGetFieldValue(liHnd, 'Name'))
,DGK006_Form.Template := String(DBFGetFieldValue(liHnd, 'Template'))
,DGK006_Form.StartRow := LongInt(DBFGetFieldValue(liHnd, 'StartRow'))
,DGK006_Form.GroupTo := LongInt(DBFGetFieldValue(liHnd, 'GroupTo'))
;
}
while(DBFGetNext(liHnd) = 0);
}
DBFClose(liHnd);
}
В основном использую для написания конверторов.