AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi dBase-Datenbanken mit Topaz-Erweiterung
Thema durchsuchen
Ansicht
Themen-Optionen

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 1 von 4  1 23     Letzte »    
FriendOfDelphi

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

dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 13:09
Datenbank: dBase • Zugriff über: Topaz
Hallo Allerseits,

hat jemand hier im Forum Erfahrung mit der Erweiterung "Topaz" für das Arbeiten mit Delphi und dBase-Datenbankdateien?
Wenn ja, hätte ich da ein paar Fragen.

Ich verwende Delphi 5 und Topaz 5.
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 13:17
Ein Thread reicht
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 13:25
Ist korrigiert. Ich nehme diese beiden Beiträge später dann auch weg, weil sich da ja erledigt hat.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
hoika

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 15:31
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 sich nicht durch die Dokumentation und die Bsp-e lösen läßt ?


Heiko
Heiko
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 15: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
hoika

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 21. Mai 2010, 16:24
Hallo,

du wirfst DataBase und Tabelle in einen Topf.

Was du erzeugst, ist keine Datenbank. sondern eine Tabelle.

Bei DBase ist die Datenbank einfach das Verzeichnis, wo die Tabellen drinstehen.


Eine Tabelle wird über TzDbf "verwaltet".
Im Code also

Delphi-Quellcode:
var
  MyDBF: TzDbf;
begin
  MyDBF:= TzDbf.Create(NIL);
  try
  finally
    MyDBF.Free;
  end;
end;
Wichtig ist TzDbf.DbfFileName. Dort steht der Name der DBF-Datei (=Tabelle) incl. Pfad.

Per TzDbf.Open bzw. TzDbf.Active:= True wird die Tabelle geöffnet.

Dann sollte es noch First, Last, Next, Prior, Eof usw. geben.

Da es als BDE-Ersatz gedacht ist,
sollte die Verwendung der Befehle kein Problem sein.



Heiko
Heiko
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 22. Mai 2010, 12:22
Hallo,

hmm, so ganz verstehe ich das noch nicht.

Ich habe folgendes ausprobiert:
Delphi-Quellcode:
{...}
    { Private-Deklarationen }
    DB: TTzVFile;
{...}

{...}
    DB:=TTzVFile.Create(Application);
    DB.DbfFilename := ExtractFilePath(ParamStr(0))+'test.dbf'; {specify the database name}
    DB.Open;
    DB.Append;
    DB.FieldByName('Test1').AsString := '20.05.2010 15:31:34';
    DB.FieldByName('Test2').AsFloat := 40318.6469213;
    DB.FieldByName('Test3').AsFloat := 123.626;
{...}
Der Compiler meldet keinen Fehler.
Wenn ich das Programm aber laufen lasse, erhalte ich folgende Fehlermeldungen (Fehler tritt in der Zeile mit dem DB.Open auf):
"FieldList.Count ist <=0 beim Versuch, eine Datenbank zu erzeugen"
Und nach Bestätigung des OK-Buttons:
"Im Projekt PdBase.exe ist eine Exception der Klasse Exception aufgetreten. Meldung: 'Dataset error: 1401'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen."

Was mache ich falsch?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
274 Beiträge
 
Delphi 12 Athens
 
#8

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 22. Mai 2010, 17:15
Ich habe kein Topaz, aber bei anderen Komponenten verwende ich

nicht DB.open;

sondern DB.Active := TRUE;

Bis alles läuft würde ich auch den Pfad erst fest im Programm angeben.
Auch schadet es nicht zum Test vor dem DB.open eine ShowMessage auszugeben
und Vorn und Hinten mit X und Z zu begrenzen.

Gruß
Alfred
  Mit Zitat antworten Zitat
FriendOfDelphi

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 25. Mai 2010, 15:32
Hallo,

gibt es denn hier wirklich keinen Fachmann der sich damit auskennt und hier helfen kann, bzw. ein erstes Grundgerüst posten kann, auf welches man aufbauen kann?
Brauche hier wirklich Hilfe.
Komme nicht weiter.
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
hoika

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

Re: dBase-Datenbanken mit Topaz-Erweiterung

  Alt 25. Mai 2010, 16:37
Hallo,

DB: TTzVFile Bei mir in #6 heisst das aber anders ...
wie komst du jetzt auf TTzVFile ???


Zitat:
gibt es denn hier wirklich keinen Fachmann
Fachmann für DBase ???
Glaube ich nicht, dass es noch was was gibt.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 20:23 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