Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.418 Beiträge
 
Delphi 7 Professional
 
#13

AW: Hat Jemand eine Ahnung wie ich diese Datei in ein Stringgrid bekomme.

  Alt 1. Apr 2018, 22:36
Meiner Meinung nach kann man sowas nur sinnvoll und performant machen, wenn man eine "datenbankähnliche" Struktur nimmt.

Also entweder man packt die Dateien in eine Datenbank (wenn auch nur für die Zeit der Verarbeitung) oder nutzt direkt Komponenten, die mit dem Dateiformat umgehen können.

ClientDataSet, die ADO-Komponenten, bei älteren Delphis (wie's im Profil steht Delphi 6) gerne auch noch die BDE. Dort kann man auch Strukturdateien definieren, die den Aufbau von Textdateien enthalten. Mit der Kombination Textdatei und Strukturdatei kann man dann auf die Textdateien wie auf Datenbanktabellen zugreifen.

Man kann damit dann auch mit einfachem SQL auf Textdateien zugreifen.

So eine Strukturdatei kann so aussehen (Beispiel für eine alte Bankleitzahlendatei):
Code:
[BLZ0509PC]
FILETYPE = FIXED
CHARSET = china
DELIMITER =
SEPARATOR =
Field1  = BANKLEITZAHL,     CHAR, 8,0, 0
Field2  = EIGENEBANKLEITZAHL,CHAR, 1,0, 8
Field3  = LOESCHBANKLEITZAHL,CHAR, 8,0, 9
Field4  = LBZGIROKONTO,     CHAR, 1,0, 17
Field5  = LOESCHDATUM,      CHAR, 4,0, 18
Field6  = NACHFOLGEINSTITUT, CHAR, 5,0, 22
Field7  = NAMEKURZ,         CHAR, 58,0, 27
Field8  = KURZBEZEICHNUNG,  CHAR, 20,0, 85
Field9  = POSTLEITZAHL,     CHAR, 5,0,105
FIELD10 = ORT,              CHAR, 29,0,110
FIELD11 = BTX_EZU,          CHAR, 27,0,139
FIELD12 = PAN,              CHAR, 5,0,166
FIELD13 = VEROEFFENTLICHT,  CHAR, 1,0,171
FIELD14 = BIC,              CHAR, 9,0,172
FIELD15 = KENNZIFFER,       CHAR, 2,0,181
FIELD16 = LFDNR,            CHAR, 5,0,183
Im Programm könnte man hiermit dann z. B. per FieldByName('FIELD10').AsString auf den Ort zugreifen.

Aber 'ne eigene Schnittstelle für DBase-Dateien programmieren, würd' ich jetzt nicht unbedingt empfehlen. Wenn aber unbedingt doch, dann hier eine passende Beschreibung dessen, was man dann so vor sich hat: Data File Header Structure for the dBASE Version 7 Table File
  Mit Zitat antworten Zitat