Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

CR + LF in Textdatei abfragen - Fehler:5





Frage

Hallo! Ich habe folgende Frage: Beispiel: in einer beliebiegen Textdatei steht im ersten Satz an Postition 4 der ASCII-Wert 13(CR) und an Position 5 der ASCII-Wert 10 (LF). Code-Beispiel: Sub TestCRLF() ... Dim x as String Dim x2 as String Dim strZeile as String Open "c:\a.txt" For Binary Access Read As #1 Line Input #1, strZeile ' Zeile in Variable einlesen. x = CHR(13) x2 = Mid$(strZeile, 4, 1) 'Zuweisung liefert noch keinen Fehler - An Stelle 4 im Satz steht der ASCII-Wert 13 If x = x2 Then MsgBox "X und X2 sind identisch" Else MsgBox "X und X2 sind ungleich" End If Close #1 End Sub --------------- Es kommt die Meldung "X und X" sind ungleich" Das verstehe ich nicht. Weiß jemand einen Rat? Gruß Freddy

Antwort 1 von MickK

Hallo Freddy, der Knackpunkt ist das Line Input Statement. Du hast die Datei für das zeichenweise Einlesen geöffnet, benutzt aber einen Befehl für das zeilenweise Einlesen, d.h. 'Line Input' liest die Datei bis Chr(13)Chr(10) und macht dann genau das was es soll: einen Zeilenumbruch mit Zeilenvorschub, beim nächsten Lesen wird die nächste Zeile gelesen. Also in Deiner Variablen wird CRLF nie vorhanden sein. Lese die Datei zeichenweise mit 'Input(n, #1)' wobei n die Anzahl der Zeichen ist.

Probier die Änderung in Deinem Code:

Dim x As String
    Dim x2 As String
    Dim strZeile As String

    Open "c:\a.txt" For Binary Access Read As #1
    '-- vier zeichen in variable einlesen
    strZeile = Input(4, #1)
    '--
    
    x = Chr(13)
    x2 = Mid$(strZeile, 4, 1) 'Zuweisung liefert noch keinen Fehler - An Stelle 4 im Satz steht der ASCII-Wert 13
    
    If x = x2 Then
        MsgBox "X und X2 sind identisch"
    Else
        MsgBox "X und X2 sind ungleich"
    End If
    
    Close #1



Gruss
Mick

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: