![]() |
Ascii-Datei analysieren
Hallo,
habe schon einige Infos zum Thema Stringzerlegung und Dateiverarbeitung durch das Forum erhalten, aber vielleicht kann ja jemand zu folgender Problematik helfen: Ich muß Ascii-Dateien "auseinander" nehmen, die in jeder Zeile verschiedene Datensätze enthalten und diese Daten dann - am besten in einer DB - ablegen: Beginnend mit einer Satzartnummer, z.B. 10+... schließen sich eine satzartspezifische Anzahl von Feldern an, die durch ZWEI!!! verschiedene Delimiter "+" und "-" getrennt sind (nach einem Minus kommt eine negative Zahl) getrennt werden. Explode und andere Stringzerlege-Proceduren reagieren nur auf EINEN Delimiter?! Wie kann ich solche Strings am besten / perfomantesten zerlegen und die extrahierten Felder speichern :? ? |
Re: Ascii-Datei analysieren
Hai hgiel,
ersteinmal : "Herzlich Willkommen in der Delphi-PRAXIS". So wie ich das sehe reicht es ja nicht das Du mit zwei Delimtern arbeiten kannst. Da der Delimiter ja etwas über die folgende Zahl aussagt (ob positiv oder negativ) musst Du ja auch noch denn Delimiter selbst aus dem String extrahieren. Hast Du mal einen beispiel String? |
Re: Ascii-Datei analysieren
null problemo,
10+240305+1020+1+104000100+010406+240305+08040111+ 001+501 60+240305+1021+1+104000100+++3+701+3+++1+2.6+7.8 66+240305+1021+1+104000100++1+1+1+7.8 67+240305+1021+1+104000100++1 70+240305+1021+1+104000100+++1+1 71+1021+3+701+3+++1+2.6+7.8+1 09+180305+1344+40+Sende:B:SK214301.DBZ 09+180305+1344+40+Sende:B:DEFAULTS.INI 60+180305+1437+1+104000100+++3+701+2+++1+2.6+5.2 60+180305+1437+1+104000100++1+3+701-2+++1+2.6-5.2 66+180305+1439+1+104000100++1+1+1+22.8 67+180305+1439+1+104000100++1 vielen Dank |
Re: Ascii-Datei analysieren
Hat es irgendeine besondere Beduetung, wenn mehrere "+"-Zeichen zwischen zwei Zahlen stehen, oder ist das unwichtig?
MfG Binärbaum |
Re: Ascii-Datei analysieren
Auf den ersten Blick würde ich einen Varianten Record nehmen und das zeilenweise verarbeiten. Da du verschiedene Delimiter hast, wirst du wohl die Zeilen manuell parsen müssen.
|
Re: Ascii-Datei analysieren
Zitat:
Das Minuszeichen gehört ja eigenlich zu den Nutzdaten und wird gleichzeitig als Delimiter missbraucht. Ich würde jede Zeile nach dem "-" duchsuchen und dann vor dem "-" ein "+" einfügen. (mit Insert()) Dann mit Explore oder Co. zerlegen. |
Re: Ascii-Datei analysieren
Vielen Dank,
werde deinen Tip mit dem INSERT mal testen!Ist EDXPORE eine performante Lösung oder gibt es noch etwas schnellers - besonders da ich die Datenfelder dann weiterverarbeiten bzw. in einer DB und/oder einem dynamischen Array ablegen will? Gibt es auch eine Tip für die anschließende Ablage in eine DB (Habe nur DELPHI3 Professional), bzw. in ein dynamisches Array? PS für Binärbaum: ++ bedeutet Feldinhalt "leer" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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