Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#1

[DBase] Tabelle mittels TTable erstellen

  Alt 10. Sep 2008, 13:40
Datenbank: DBASE • Version: 4/7 • Zugriff über: TTable
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
  Mit Zitat antworten Zitat