Folgendes Problem: Ich möchte eine DBase Tabelle (*.dbf) in Version 4 erstellen.
Dazu sollte eigentlich das TableLevel auf 4 gesetzt werden. Beim
BDE-Admin unter Control-Panel->Configuration->Native->DBase ist ein Level von 7 angegeben.
Mittels:
Delphi-Quellcode:
FTable.DatabaseName := ExtractFileDir(FileName);
FTable.TableName := ExtractFileName(FileName);
FTable.TableType := ttDBase;
FTable.TableLevel := 4;
FTable.FieldDefs.Clear;
FTable.FieldDefs.Add('HALLO', ftFloat);
FTable.CreateTable;
wird mir immer eine DBF erstellt in der höheren Version von den beiden die ich angegeben habe. D.h. Ist beim
BDE-Admin "7" angegeben und bei TableLevel in Delphi der Wert "4" (obiges Beispiel) wird eine DBase in der Version 7 erstellt. (1. Byte der Datei gibt die Version an: 03=Version4; 04=Version7). Nur wenn bei beiden Einstellungen jeweils eine "4" steht, erhalte ich auch wirklich eine DBase 4 Datei. Jetzt darf ich aber die Einstellungen beim
BDE-Admin NICHT ändern.
Mittels:
Delphi-Quellcode:
FTable.DatabaseName := 'dBASE-Dateien';
FTable.TableName := ExtractFileName(FileName);
FTable.TableType := ttDBase;
FTable.TableLevel := 4;
FTable.FieldDefs.Clear;
FTable.FieldDefs.Add('HALLO', ftFloat);
FTable.CreateTable;
bekomme ich eine Tabelle die immer im DBase 4 Format ist. Dort kann ich aber den Ordner nicht setzten in dem diese gespeichert werden soll (d.h. der speichert diese immer in dem Ordner wo auch das Hauptprogramm liegt).
Wie bekomme ich nun eine DBase4 Tabelle OHNE den
BDE-Admin DBase-Level zu verändern und OHNE SetCurrentDirecory von Windows.
Danke