Technician Geschrieben 13. Februar 2002 Geschrieben 13. Februar 2002 Hallo, ich suche dringend eine Möglichkeit, mittels VB6-Code aus einer txt-Datei alle Leerzeilen zu entfernen. Wer was weiß - bitte, bitte mir sagen, wie das geht... (mein Programm spinnt wegen der Leerzeilen schon völlig und es ist so gut wie unmöglich zu vermeiden, dass in der Datei welche drinnen sind ) Gruß, Technician Zitieren
progmaker Geschrieben 13. Februar 2002 Geschrieben 13. Februar 2002 Du könntest die Datei öffnen und nach den ASCII Zeichen #13#10 suchen. Was die bedeuten, weißt du wahrscheinlich, oder? Wenn zwischen der ersten #13#10 und der nächsten #13#10 keine Zeichen sind, dann ist es eine Leerzeile. Dann löschst du eines der #13#10. Sollte klappen. Zitieren
Technician Geschrieben 13. Februar 2002 Autor Geschrieben 13. Februar 2002 Original geschrieben von Executioner Du könntest die Datei öffnen und nach den ASCII Zeichen #13#10 suchen. Was die bedeuten, weißt du wahrscheinlich, oder? Wenn zwischen der ersten #13#10 und der nächsten #13#10 keine Zeichen sind, dann ist es eine Leerzeile. Dann löschst du eines der #13#10. Sollte klappen. ... und genau daran bin ich gescheitert... Ich hab schon gestern versucht, da mit einer Replace-Funktion ranzugehen. In der MSDN steht dazu: " Replace(Ausdruck, suchen, ersetzendurch[, starten[, Anzahl[, vergleichen]]]) ersetzendurch: Erforderlich. Die untergeordnete Ersatzzeichenfolge Wenn ersetzendurch die Länge Null hat gibt Replace folgendes zurück: Eine Kopie von Ausdruck, aus dem alle Vorkommnisse von suchen entfernt wurden. " Das sah genau aus nach dem, was ich brauche. Aaaaber: Wenn ich in ersetzendurch nichts reinschreibe, kommt der Fehler: "Argument ist nicht optional". Klar, steht ja auch in der MSDN, dass der Wert erforderlich wäre. Aber das mit dem "Wenn ersetzendurch die Länge Null hat..." macht mich doch stutzig... Zitieren
KarlBerg Geschrieben 13. Februar 2002 Geschrieben 13. Februar 2002 Hi, hab hier was zusammen geknaupt, ist vielleicht nicht die schönste Methode, sollte aber laufen. Private Sub Command1_Click() Dim Zeile As String Dim HlpText As String Dim File2Modify As String Dim HelpFile As String File2Modify = "C:\Temp\Test.txt" HelpFile = "C:\Temp\TestErg.txt" Open File2Modify For Input As #1 Do While Not EOF(1) Line Input #1, Zeile If Trim(Zeile) <> "" Then HlpText = HlpText & Zeile & vbCrLf End If Loop Close #1 Open HelpFile For Append As #2 Print #2, HlpText Close #2 Kill File2Modify Name HelpFile As File2Modify End Sub MfG KarlBerg Zitieren
Technician Geschrieben 13. Februar 2002 Autor Geschrieben 13. Februar 2002 Original geschrieben von KarlBerg Hi, hab hier was zusammen geknaupt, ist vielleicht nicht die schönste Methode, sollte aber laufen. it does - nothing... Zitieren
KarlBerg Geschrieben 13. Februar 2002 Geschrieben 13. Februar 2002 Was soll das denn heissen??? Hab's gerade nochmal per Copy&Paste in VB5.0 übernommen und it does - everything... Hast du auch die File2Modify/HelpFile abgeändert, dass sie auf deine Dateien zeigen? Zitieren
Technician Geschrieben 13. Februar 2002 Autor Geschrieben 13. Februar 2002 Original geschrieben von KarlBerg Was soll das denn heissen??? Hab's gerade nochmal per Copy&Paste in VB5.0 übernommen und it does - everything... Hast du auch die File2Modify/HelpFile abgeändert, dass sie auf deine Dateien zeigen? Uups, sorry - hab's gerade gemerkt... Ich hatte zwar die Dateinamen abgeändert, aber da war n Tippfehler drin - mein Fehler... Na ja, jetzt gehts - und: VIELEN DANK! Gruß, Technician Zitieren
Technician Geschrieben 13. Februar 2002 Autor Geschrieben 13. Februar 2002 Ich hab's jetzt noch ein bisschen umgestellt: Private Sub Command2_Click() Dim Zeile As String Dim File2Modify As String Dim HelpFile As String Dim i As Integer i = 0 Dim A() As String File2Modify = App.Path & "\test.txt" Open File2Modify For Input As #1 Do While Not EOF(1) Line Input #1, Zeile If Trim(Zeile) <> "" Then ReDim Preserve A(i) A(i) = Zeile 'HlpText = HlpText & Zeile & vbCrLf i = i + 1 End If Loop Close #1 Open File2Modify For Output As #2 For i = 0 To UBound(A) Print #2, A(i) Next i Close #2 End Sub Gruß, Technician Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.