Einzelnen Beitrag anzeigen

FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#5

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 14:52
Zitat von hoika:
Hallo,

Zitat:
Topaz is a plug 'n' play, native VCL replacement for the Borland Database Engine. It comes with over 250 pages of documentation including tutorial, technical reference and numerous code samples.
Wo hast du jetzt genau ein Problem,
was sch nicht durch die Dokumentation und die Bsp-e lösen läßt ?

Heiko
Hallo,

ich möchte einen vorhandenen Quellcode dynamisieren.
Bisher ist das Ganze statisch aufgebaut.
Also fest über die Komponenten, Objektinspektor etc. im Quellcode verankert.
Ich möchte das Ganze aber vollständig über eine ini-Datei steuern.
In dieser ini-Datei stehen dann z.B. Datenbankname, die Spaltenüberschriften usw.
Der Ablauf ist dann in etwa so:

1.) ini-Datei einlesen,
2.) Gibt es schon eine dBase-Datenbank mit den Feldern aus der ini-Datei?
2.1) Nein: Datenbank erzeugen,
2.2) Ja: Vorhandene Datenbank einlesen,
3.) Eingelsene Daten verarbeiten.

Punkt 1-3 habe ich schon erledeigt.
Das Erzeugen einer Datenbank ist auf der Topaz-Seite ganz gut beschrieben und funktioniert:
Topaz-FAQs

Delphi-Quellcode:
   procedure TForm1.Button1Click(Sender: TObject);
   VAR dbf: TTzDbf;
   begin
     dbf := TTzDbf.Create(Application); { create an instance of TTzDbf }
     try
       dbf.DbfFields.Clear; { clear the list of fields }
       dbf.DbfFields.Add('name,C,30,0'); { add desired fields }
       dbf.DbfFields.Add('age,N,3,0');
       dbf.DbfFields.Add('amount,N,10,2');

       dbf.DbfFilename := 'c:\junk.dbf'; {specify the database name}

       dbf.Active := TRUE; { set active to true }
       dbf.Active := FALSE; { we are done creating the database }
     finally
       dbf.Free; { do not forget to free the instance }
     end;
   end;
Probleme bereiten mir die Punkte 2.2) und 3.)
Hier würde mir etwas Beispiel-Code weiterhelfen.
Ich habe dazu im Netz keine Beispiele gefunden.
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat