Einzelnen Beitrag anzeigen

FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 17:05
Zitat von Alfredo:
Nächster Schritt:

den Tabellennamen im Objektinspector löschen
Ist erledigt.

Zitat von Alfredo:
und im Activ-Button vor dem Active folgendes eingeben:
TzDbf2.TableName := 'Pfad\DateiName.dbf';
Das klappt nicht. Der Compiler meldet: "Undefinierter Bezeichner: 'TableName'"
Ich habe daher stattdessen folgende Eigenschaft verwendet:
  TzDbf2.DbfFileName := 'Pfad\DateiName.dbf'; Ist das identisch, oder verwechsle ich hier wieder Datei und Tabelle?

Zitat von Alfredo:
Damit bist Du in der Lage eine beliebige Datei zu öffnen und zu schliessen.
Die fest im Quellcode verankert ist. Aber das war sie ja mit der grafischen Komponete (TTzDbf) vorher auch.

Zitat von Alfredo:
Beim Versuch eine Tabelle per Programm anzulegen bin ich auf
einen Fehler aufgelaufen und ich denke ich weiss warum Dein
Programm abstürzt. Lösung habe ich aber noch nicht.

Bitte hänge die von Dir erstellte *.dbf an den nächsten Post
mit an.

Gruß
Alfred
Das Anlegen einer dBase-Datei ist kein Problem. Das habe ich schon geschafft:
Delphi-Quellcode:
unit Ubaue_dBaseDB;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, tzprimds, ucommon, utzcds, utzfds, utzmds;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    dbf: TTzVFile;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
   begin
     dbf := TTzVFile.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 := 'junk.dbf'; {specify the database name}

       dbf.Active := TRUE; { set active to true }
       dbf.WriteToDisk;
       dbf.Active := FALSE; { we are done creating the database }
     finally
       dbf.Free; { do not forget to free the instance }
     end;
   end;
end.
Das ist der leicht veränderte Beispiel-Quellcode von der Topaz-Web-Seite Topaz-FAQs.
Hier habe ich nur den Variablentyp ausgetauscht, dann wird die dBase-Datei erstellt: VAR dbf: TTzDbf; gegen
Delphi-Quellcode:
{ Private-Deklarationen }
dbf: TTzVFile;
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat