testdbf.pp 759 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. program dumpdb;
  2. {$i+}
  3. uses db,dbf,sysutils;
  4. Procedure DumpTable (Const TN,FN : String);
  5. Var
  6. I,Count : longint;
  7. F : Text;
  8. Buf : Array[1..1024*4] of byte;
  9. begin
  10. Assign(F,FN);
  11. Rewrite(F);
  12. SetTextBuf(F,Buf);
  13. With TDBF.Create(Nil) do
  14. begin
  15. TableName:=TN;
  16. Open;
  17. While not EOF do
  18. begin
  19. Inc(Count);
  20. For I:=0 to FieldCount-1 do
  21. With Fields[i] do
  22. Writeln(F,FieldName:20,' : ',AsString);
  23. Writeln(F,StringOfChar('=',72));
  24. Next;
  25. end;
  26. end;
  27. Writeln(F,'Dumped total of ',Count,' records.');
  28. Close(F);
  29. end;
  30. Var i : longint;
  31. begin
  32. If ParamCount<2 then
  33. begin
  34. Writeln('Usage: dumpdb tablename filename');
  35. Halt(1);
  36. end;
  37. DumpTable(Paramstr(1),Paramstr(2));
  38. end.