!-! Closed by Mod!-! Textdatei
Hallo Forum,
bin neu und kein Profi!
Folgendes Problem:
Habe eine Textdatei auf Diskette. Ein Satz beginnt immer mit C00000 (5x Null). Alle folgenden Informationen gehören zu disem Satz. Wenn wieder String mit C00000 beginnt, dann vorhergehenden Satz ausgeben und neuen aufbauen, bis wieder Wechsel durch String C00000.
Wie kann ich das machen? Ich möchte eine feste Satzlänge von 320 Byte ausgeben. In einem zweiten Schritt möchte ich dann nur bestimmte Werte ausgeben, wenn Feldinhalt ist xxxx.
Ist das lösbar? Wenn Testdaten nötig sind, kann ich diese gerne liefern. Für Vorschläge wäre ich sehr dankbar!
Grüße aus München
Hanschi
bin neu und kein Profi!
Folgendes Problem:
Habe eine Textdatei auf Diskette. Ein Satz beginnt immer mit C00000 (5x Null). Alle folgenden Informationen gehören zu disem Satz. Wenn wieder String mit C00000 beginnt, dann vorhergehenden Satz ausgeben und neuen aufbauen, bis wieder Wechsel durch String C00000.
Wie kann ich das machen? Ich möchte eine feste Satzlänge von 320 Byte ausgeben. In einem zweiten Schritt möchte ich dann nur bestimmte Werte ausgeben, wenn Feldinhalt ist xxxx.
Ist das lösbar? Wenn Testdaten nötig sind, kann ich diese gerne liefern. Für Vorschläge wäre ich sehr dankbar!
Grüße aus München
Hanschi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 102208
Url: https://administrator.de/contentid/102208
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo Hanschi und willkommen im Forum!
Etwas genauer solltest Du vielleicht doch beschreiben,
Grüße
bastla
Etwas genauer solltest Du vielleicht doch beschreiben,
- wie die Datei aussieht (ob zB Zeilenumbrüche enthalten sind) - dazu am besten 3 Sätze posten (wenn Du diese zwischen Tags < code type="plain"> und < /code> - jeweils ohne das erste Leerzeichen - platzierst, werden sie unverändert dargestellt - siehe am Ende von ).
- wohin die "fertigen" Sätze ausgegeben werden sollen.
- wie der zweite Schritt genau aussehen soll (da er sich vermutlich mit dem ersten Schritt gut kombinieren lässt).
Grüße
bastla
@Ricci-1969
Mit VBScript brauchst Du noch nicht einmal den Webserver, zB für folgende Minimallösung:
Das Ganze mit
gestartet würde die einzelnen Sätze im CMD-Fenster ausgeben. Analog dazu ließe sich das auch in VBA einsetzen um (wir sind ja hier im Bereich "Excel") die Sätze in eine Excel-Tabelle zu schreiben.
Grüße
bastla
Mit VBScript brauchst Du noch nicht einmal den Webserver, zB für folgende Minimallösung:
Set fso = CreateObject("Scripting.FileSystemObject")
Saetze = Split(fso.OpenTextFile(WScript.Arguments(0)).ReadAll, "C00000")
For i = 0 To UBound(Saetze)
WScript.Echo "C00000" & Saetze(i)
Next
cscript //nologo C:\Scripts\Aufteilen.vbs "D:\Die Textdatei.txt"
Grüße
bastla
Hallo Hanschi!
Wie werden die einzelnen Felder festgelegt? Da Du eine fixe Satzlänge genannt hast, werden vermutlich die Felder gleichfalls eine fixe Länge haben ...
Was soll übrigens mit zB "10216" vor dem ersten Satz passieren?
Grüße
bastla
P.S.: So schwer wäre die Formatierung aber eigentlich auch nicht gewesen ...
Wie werden die einzelnen Felder festgelegt? Da Du eine fixe Satzlänge genannt hast, werden vermutlich die Felder gleichfalls eine fixe Länge haben ...
Was soll übrigens mit zB "10216" vor dem ersten Satz passieren?
Grüße
bastla
P.S.: So schwer wäre die Formatierung aber eigentlich auch nicht gewesen ...
@bastla
Ja, in etwa so würde ich das mit PHP auch machen, ein webserver hat man ja eh irgendwo. Deine Lösung ist natürlich bequemer, bin in VBScript halt nicht so fit.
Güssle Ricci
Ja, in etwa so würde ich das mit PHP auch machen, ein webserver hat man ja eh irgendwo. Deine Lösung ist natürlich bequemer, bin in VBScript halt nicht so fit.
Güssle Ricci
Moin Hanschi,
das DTA-Format ist vermutlich irgendwann zwischen dem Kugelschreiber und der Alu-Folie erfunden worden, hatte seine Blütezeit irgendwann in den 80ern, als das Transportieren von 3,5"-Disketten von großen deutschenSteuerhinterzie^H^H^H Kreditinstituten als Electronic Banking euphorisch bejubelt wurde.
Führt zu drei Erkenntnissen
Auch wenn es bastla ( oder ein anderer begnadeter Skripter) in einem Bruchteil der Zeit schaffen würde - in diesem Fall widerstrebt es mir, dieses Rad hier im Forum zum (s.o. ) zig-tausendsten Mal neu erfinden zu lassen.
Zumal es eindeutig den Rahmen von "Abschub-Hilfe" beim Scripten sprengt.
Ich bitte um Dein Verständnis, aber ich schließe den Beitrag jetzt.
Grüße
Biber
Closed ######
Stehe gern für Erläuterung dieser Entscheidung per PN zur Verfügung.
das DTA-Format ist vermutlich irgendwann zwischen dem Kugelschreiber und der Alu-Folie erfunden worden, hatte seine Blütezeit irgendwann in den 80ern, als das Transportieren von 3,5"-Disketten von großen deutschen
Führt zu drei Erkenntnissen
- es ist ein offenes, lesbares und voll - wortwörtlich bis ins letzte Byte - dokumentiertes Format,
- das sicherlich in den letzten 30 Jahren einige Tausend Male mit BASIC, dBase, Turbo-Pascal, VB und 20 Dialekten mehr zusammengeschrotet worden ist --- es MUSS einfach schon fertige Freewarelösungen zum "Konvertiere Text in DTA" oder "DTA zu CSV" geben
- ..und sollte das nicht so sein, dann ist die Skripterstellung für eine/n Eure/r PraktikantInnen oder einen interessierten Neben-Jobber/ eine Neben-Jobbiene zwischen 14 und 20 Jahren die richtige Aufgabe. Kostet Euch 250 Hansels/Gretels je einen halben Euro, den Jobber 3 Abende vorm Rechner.
Auch wenn es bastla ( oder ein anderer begnadeter Skripter) in einem Bruchteil der Zeit schaffen würde - in diesem Fall widerstrebt es mir, dieses Rad hier im Forum zum (s.o. ) zig-tausendsten Mal neu erfinden zu lassen.
Zumal es eindeutig den Rahmen von "Abschub-Hilfe" beim Scripten sprengt.
Ich bitte um Dein Verständnis, aber ich schließe den Beitrag jetzt.
Grüße
Biber
Closed ######
Stehe gern für Erläuterung dieser Entscheidung per PN zur Verfügung.
Nachtrag.
Ich hatte ja gestern diesen Beitrag geschlossen - Begründung siehe oben.
Per PN bekam ich von Hanschi auch die Antwort, dass er, meinem Lösungsvorschlag folgend, im Netz auch ein DTA-nach-Excel-Konvertierungstool gefunden hat und dass nun auch dieser Beitrag als "Gelöst" angesehen werden kann.
Zusätzlich habe ich weiter oben gepostete "Beispieldaten" gelöscht, da diese nicht ganz frei erfunden waren.
Grüße und danke an Hanschi für das Feedback
Biber
Ich hatte ja gestern diesen Beitrag geschlossen - Begründung siehe oben.
Per PN bekam ich von Hanschi auch die Antwort, dass er, meinem Lösungsvorschlag folgend, im Netz auch ein DTA-nach-Excel-Konvertierungstool gefunden hat und dass nun auch dieser Beitrag als "Gelöst" angesehen werden kann.
Zusätzlich habe ich weiter oben gepostete "Beispieldaten" gelöscht, da diese nicht ganz frei erfunden waren.
Grüße und danke an Hanschi für das Feedback
Biber