AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi dBase-Datenbanken mit Topaz-Erweiterung

dBase-Datenbanken mit Topaz-Erweiterung

Offene Frage von "FriendOfDelphi"
Ein Thema von FriendOfDelphi · begonnen am 21. Mai 2010 · letzter Beitrag vom 28. Mai 2010
Antwort Antwort
Seite 3 von 4     123 4   
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#21

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 26. Mai 2010, 14:18
Mein C++ Programmierbuch sagt zu 03 im ersten Byte

Zitat:
weist ursprünglich auf dBase III+ hin.
Andere Systeme wie Clipper, dBase IV, Foxpro
uws. benutzen diese Kennung ebenfalls.
Folgendes noch herausgefunden:
- VisualFoxpro(30) ist es nicht.
- xBase hat jedoch auch 03.

Zitat:
Mit den Grafikkomponenten oder als "Runtime-Quellcode"?
Mit den Grafikkomponenten. Schau einmal ob die BDE in der Toolpalette ist,
dann haben wir zum Testen eine gemeinsame Basis.

Es geht zunächst erst einmal nur darum, dass die Datei geöffnet und angezeigt
werden kann.

Später kommt dann alles in den Code.

Gruß
Alfred
Miniaturansicht angehängter Grafiken
dbase_1_238.png  
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 26. Mai 2010, 16:47
Zitat:
Plain dBase III, Ohne Memo (dbt), letztes Update am 21.05.2010, Tabelle enthält keine Records.
Kann es sein, dass Du hier die Daten einer selbst erzeugten *.dbf angegeben hast?

Gruß
Alfred
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 26. Mai 2010, 17:01
Zitat von Alfredo:
Zitat:
Plain dBase III, Ohne Memo (dbt), letztes Update am 21.05.2010, Tabelle enthält keine Records.
Kann es sein, dass Du hier die Daten deiner selbst erzeugten *.dbf angegeben hast?

Gruß
Alfred
Ja, dass ist richtig. Das sind die ersten 8 Bytes (danke exilant ) der dBase-Datei, die mit dem o.g. Quellcode erzeugt wurde.
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#24

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 26. Mai 2010, 17:17
Hallo,

ich dachte, Topaz läuft bei dir schon (allerdings nicht dynamisch) ?
Falls nicht, nimm lieber TDBF, oder Access, oder Firebird oder Oracle ...


Heiko
Heiko
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 26. Mai 2010, 17:40
Zitat:
Ja, dass ist richtig.
Du solltest erst einmal eine Kopie einer funktionsfähigen Datei
hernehmen und sehen ob Du diese öffnen und anzeigen kannst.

Gruß
Alfred
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 13:10
Zitat von Alfredo:
Zitat:
Ja, dass ist richtig.
Du solltest erst einmal eine Kopie einer funktionsfähigen Datei
hernehmen und sehen ob Du diese öffnen und anzeigen kannst.

Gruß
Alfred
Habe ich gemacht:
Delphi-Quellcode:
unit UTest;

interface

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

type
  TForm1 = class(TForm)
    TzDbf2: TTzDbf;
    DataSource1: TDataSource;
    TzGrid1: TTzGrid;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.
Die verwendete dBase-Datei ist bei den Beispielen von Topaz dabei (Dateien "MOVIE.DBF", "MOVIE.DBT" in Archiv "dBaseDateien.zip").
Bildschirmfoto des Formulars, sowie des Objektinspektors der Komponenten sind im Anhang (Dateien "Form.jpg", "TTzDbf_Objektinspektor_Eigenschaften.jpg", "TDataSource_Objektinspektor_Eigenschaften.jpg ").
Verwendete Komponenten: TDataSource (Borland Delphi), TTzDbf (Topaz), TTzGrid (Topaz)
Miniaturansicht angehängter Grafiken
form_110.jpg   ttzdbf_objektinspektor_ereignisse_897.jpg   tdatasource_objektinspektor_eigenschaften_483.jpg  
Angehängte Dateien
Dateityp: zip dbasedateien_819.zip (2,4 KB, 5x aufgerufen)
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 14:35


Nächster Schritt:

2 Buttons auf das Formular:

TzDbf2.active := TRUE; TzDbf2.active := FALSE; Im Objektinspektor Active auf FALSE setzen.
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 16:11
Zitat von Alfredo:


Nächster Schritt:

2 Buttons auf das Formular:

und

TzDbf2.active := TRUE; und

TzDbf2.active := FALSE;
Im Objektinspektor Active auf FALSE setzen.


Gruß
Alfred
Erledigt!
Delphi-Quellcode:
unit UTest;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, tzprimds, ucommon, utzcds, utzfds, Grids, DBGrids, atzgrids, StdCtrls;

type
  TForm1 = class(TForm)
    TzDbf2: TTzDbf;
    DataSource1: TDataSource;
    TzGrid1: TTzGrid;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  TzDbf2.active := TRUE;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TzDbf2.active := FALSE;
end;

end.
Miniaturansicht angehängter Grafiken
formbtns_130.jpg  
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 17:11


Nächster Schritt:

den Tabellennamen im Objektinspector löschen

und im Activ-Button vor dem Active folgendes eingeben:

TzDbf2.TableName := 'Pfad\DateiName.dbf'; Damit bist Du in der Lage eine beliebige Datei zu öffnen und zu schliessen.
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 28. Mai 2010, 18: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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz