![]() |
Frage zu ASCII Dateien auslesen
Hallo Leute,
Ich möchte folgende Datei-Muster in einen Tree oder Stringgrid auslesen. Die erste Datei ist eine reine ASCII-Datei, wobei diese Datei feste Feldlängen hat = 80 Stellen bzw Zeichen ![]() Die zweite Datei sieht so aus: Die Dateien sind GAEB-Dateien - zu finden in der Baubranche. #begin[GAEB] #begin[GAEBInfo] [Version]1.2[end] [VersMon]3[end] [VersJahr]2002[end] [Datum]06.01.2003[end] [Uhrzeit]17:04[end] [ProgSystem]MWM-Primo / G2K Toolbox V1.2 R20020516[end] [ProgName]GAEB2000-Export-Treiber V4[end] [Zeichensatz]ANSI[end] #end[GAEBInfo] #begin[Vergabe] [DP]81[end] #begin[VergabeInfo] [Wae]EURO[end] [WaeBez]EURO[end] #end[VergabeInfo] #begin[AG] #end[AG] #begin[AN] #end[AN] #begin[LV] #begin[LVInfo] [Name]Muster[end] [Bez]Muster GAEB2000-Buch[end] [Datum]06.01.2003[end] [KurzLang]1[end] #begin[LVGlied] [Typ]LVStufe[end] [Bez][end] [Laenge]1[end] #end[LVGlied] #begin[LVGlied] [Typ]LVStufe[end] [Bez][end] [Laenge]1[end] #end[LVGlied] #begin[LVGlied] [Typ]Position[end] [Laenge]1[end] #end[LVGlied] #end[LVInfo] #begin[LVBereich] [OZ]1[end] [Bez]L O S : 1[end] #begin[LVBereich] [OZ]10[end] [Bez]Abwasserleitung[end] #begin[Position] [OZ]101[end] [Menge]93,000[end] [ME]m[end] #begin[Beschreibung] [Kurztext]{\rtf1\ansi\deff0{\fonttbl\f0\fmodern Courier New;} Entwässerungsleitung aus Kunststoffrohren\par}[end] [Langtext]{\rtf1\ansi\deff0{\fonttbl\f0\fmodern Courier New;} Entwässerungsleitung aus Kunststoffrohren nach sta-\par tischen Erfordernissen nach DIN 4033 herstellen\par einschl. Erdarbeiten in Boden der Klassen 3 bis 5 so-\par wie ggf. einschl. Verbau.\par Ggf. erforderliche Wasserhaltung bis zu einer Pumpen-\par Leitung von 10 m3 Förderdurchfluß x 5 m geodätischer\par Förderhöhe je Stunde und Haltung wird nicht gesondert\par vergütet.\par Anschlüsse an Schächte und Rohrleitungen werden ge-\par sondert vergütet.\par Material = Rohr aus PVC hart, DIN 19 534, Form A,\par "Auflagerwinkel 120 Grad"\par Rohrverbindung durch Steckmuffen\par Auflager aus Sand oder Kiessand herstellen. Material\par liefert AN.\par "Korngröße 0,2-OPS"\par Verlegetiefe\par "max. 1,25 m"\par überdeckung.\par Aushub seitlich lagern und zum Verfüllen verwenden.\par Überschüssigen Aushub fördern und im Baugelände\par nach Angabe des AG einbauen und verdichten.\par}[end] #end[Beschreibung] #end[Position] #begin[Position] [OZ]102[end] [Menge]1,000[end] [ME]m[end] #begin[Beschreibung] [Kurztext]{\rtf1\ansi\deff0{\fonttbl\f0\fmodern Courier New;} wie vor beschrieben,jedoch DN 125\par}[end] [Langtext]{\rtf1\ansi\deff0{\fonttbl\f0\fmodern Courier New;} wie vor beschrieben,jedoch DN 125\par}[end] #end[Beschreibung] #end[Position] Wer kann mir helfen. MFG JMich |
Re: Frage zu ASCII Dateien auslesen
Was hast du denn bis jetzt? Wo hakts denn?
|
Re: Frage zu ASCII Dateien auslesen
Hi Jelly,
ich weiss nicht wie ich den Code dafür schreiben müsste. Das Problem ist, das die Daten ins Stringgrid oder ViewTree oder Tree geschrieben werden müssen. (So eine Art Parser). Ich brauche das ASCII zum Lesen für meinen eigenen GAEB-Viewer (der enstehen soll). Vielen Dank für Deine schnelle Antwort Gruß Jmich |
Re: Frage zu ASCII Dateien auslesen
Das Stichwort hast du ja schon selbst gegeben: Parser. Lade die Daten irgendwie in den Speicher (z.B. in eine TStringList) und wühle dich durch die Zeichen. Ich denke, Funktion wie Pos, Copy, Length könnten dir dann dabei hilfreich sein.
|
Re: Frage zu ASCII Dateien auslesen
In einem anderen Forum wurde auf
![]() |
Re: Frage zu ASCII Dateien auslesen
Wenn es noch aktuell ist:
![]() hier gibt es eine Delphiportierung von Lex und Yacc, womit man sich parser für so ziemlich alles in recht kurzer Zeit basteln kann. mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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-2025 by Thomas Breitkreuz