AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.dbf BDE

Ein Thema von Andy U · begonnen am 19. Jun 2006 · letzter Beitrag vom 5. Jul 2006
 
Andy U

Registriert seit: 14. Jun 2006
17 Beiträge
 
#1

.dbf BDE

  Alt 19. Jun 2006, 14:01
Datenbank: BDE • Zugriff über: Aus Delphi direkt
Hallo

folgendes Problem:

ich möchte aus einer Record-Liste eine .dbf-Datei erstellen. Das ganze muss nach Vorgabe mit BDE laufen. Bisher gibt es folgenden Code, der wohl schon mal (Win16) funktioniert hat.


Folgendes ist bekannt:
list_begin : ist der Zeiger auf eine Liste der Daten, die aus der Datei gelesen wurden
FileName : Zieldateiname

Delphi-Quellcode:
...
type
  log_struc = ^struc;
  struc = record
    id : integer; { Nr. des Datensatzes }
    Datum : string[10]; { Datum des Aufzeichnens }
    Std, Min, Sek : byte; { Zeit der Aufzeichnung }
    ...
    km : real48;
    ...
    Prev : log_struc; { der Vorgänger Pointer }
    Next : log_struc; { und der Nachfolger }
  end;

Table1 : TTable
listBegin
...

procedure NewDb;
var
    p : log_struc; { interne Struktur der Aufzeichnungsdaten }
begin
  with Table1 do
  begin
    Active := False;
    DatabaseName := 'MyNewAlias'; // einen Alias vergeben
    TableName := FileName; // und hier den echten Namen zuordnen
    TableType := ttDBase; // Datentyp ist DBase
    { Nun werden falls vorhanden sämtliche Felder entfernt und dann neu
      definiert, mit Typ und Größe, hier wurde sich an das TAL Format gehalten }

    with FieldDefs do
    begin
      Clear;
      Add('Datum', ftString, 10, false);
      Add('Std', ftInteger, 0, false);
      Add('Min', ftInteger, 0, false);
      Add('Sek', ftInteger, 0, false);
      ...
      Add('km', ftfloat, 0, false);
      ...
      Add('Text', ftString, 10, false);
    end;
    CreateTable; // das wars und nun erzeugen
  end;

  { Datenbankstruktur ist damit definiert, nun können Daten eingetragen werden }
  p := list_begin; { auf den Anfang unserer Aufzeichnungdatenliste }
  Table1.Active := True; // Tabelle aktivieren
  while p <> nil do // Nun durch die ganze Liste gehen
  begin
    Table1.Append; // und Datensätze anhängen
    ...
    Table1.FieldByName('km').AsFloat := p^.km;
    Table1.FieldByName('Std').AsInteger := p^.std;
    Table1.FieldByName('Min').AsInteger := p^.min;
    Table1.FieldByName('Sek').AsInteger := p^.sek;
    Table1.FieldByName('Datum').AsString := p^.datum;
    ...
    Table1.FieldByName('Text').AsString := p^.Text;
    p := p^.next; // auf nächsten Listenelement zeigen
  end;
  Table1.Post; // Datensätze in Datenbank schreiben
  Table1.close; // Tabelle löschen
  intro.konvstat.visible := False; // Gauge verschwindet wieder
end;

Ergebnis: .dbf-Datei, Inhalt: Müll......
Exel zeigt irgendwelchen Schrott an, BDE-Datenbankoberfläche sagt gleich, dass sie das gar nicht erst öffnet.

Alle Tips die ich so gefunden haben liefen auf "nimm lieber...anstatt BDE" aber vielleicht kann mir doch jemand was sagen.
  Mit Zitat antworten Zitat
 


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 04:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz