
نوشته شده توسط
khoshblagh
با سلام خدمت دوستان
احتراما نیاز به انتقال اطلاعات از درون دی بی گیرید EHLib به فایل DBF دارم .(مسئله انتقال اطلاعات حقوق کارکنان به سایت تامین اجتماعی) .
تا حالا از BDE استفاده میکردم. اما این کامپوننت منسوخ شده و برای ویندوز بالاتر از ویندوز 7 نتوانستم نصب نمایم.
کامپوننت EMS Advance Export معرفی شده توسط حناب آقای هادی صالحی نصب نمودم، ولی هیچ گونه مثال برای آن پیدا نشد. در صورت امکان نمونه ای جهت انتقال به فایل dbf ارسال نمائید. من از ویندوز 10 و دلفی ریو استفاده مینمایم. پیشاپیش از زحمتی که در این راه متحمل میشوید سپاسگزاری مینمایم. 
function TransferDataToDBF(const SourceDB: string; const DestinationDBF: string): Boolean;
var
SourceConnection: TADOConnection;
SourceQuery: TADOQuery;
DBFFile: TDBF;
I: Integer;
begin
Result := False;
SourceConnection := TADOConnection.Create(nil);
SourceQuery := TADOQuery.Create(nil);
DBFFile := TDBF.Create(nil);
try
SourceConnection.ConnectionString := SourceDB;
SourceConnection.Open;
SourceQuery.Connection := SourceConnection;
SourceQuery.SQL.Text := 'SELECT * FROM YourTable';
SourceQuery.Open;
DBFFile.FileName := DestinationDBF;
DBFFile.Open;
for I := 0 to SourceQuery.RecordCount - 1 do
begin
DBFFile.Append;
for var Field in SourceQuery.Fields do
begin
DBFFile.FieldByName(Field.FieldName).AsVariant := Field.Value;
end;
DBFFile.Post;
SourceQuery.Next;
end;
Result := True;
finally
DBFFile.Close;
SourceQuery.Close;
SourceConnection.Close;
DBFFile.Free;
SourceQuery.Free;
SourceConnection.Free;
end;
end;