irgendwie verstehe ich deine Ausführung bzw. Code nicht ganz...
warum ist zB 'X' bei dir ein String? Wie hast du das File geöffnet (Random, Binary)?
Egal, vielleicht hilft dir der beigefügte VB-Code (ich hoffe,
die Formatierungen bleiben erhalten)
...
Dim FileNbr As Integer
Dim SourceFile As String
Dim Data As String
Dim DataByte As String
Dim BlockSize As Long
Dim i As Integer
FileNbr = FreeFile
BlockSize = 1024
SourceFile = "c:\winnt\keyhh.exe" ' die einzulesende Datei
Open SourceFile For Binary As FileNbr
Do Until EOF(FileNbr) Or LOF(FileNbr) = Loc(FileNbr)
'Datenstring zurücksetzen
Data = ""
' Gibt's überhaupt noch 'BLOCKSIZE' Bytes zu lesen?
If LOF(FileNbr) - Loc(FileNbr) < BlockSize Then
' nein, Die Größe des Data-String muß also angepaßt werden
Data = String(LOF(FileNbr) - Loc(FileNbr), 0)
Else
' es gibt noch mindestens BLOCKSIZE Bytes zu lesen
Data = String(BlockSize, 0)
End If
Get FileNbr, , Data
' Die gelesenen Daten auf Debug.Print schreiben
For i = 1 To Len(Data)
DataByte = Mid(Data, i, 1)
' Handelt es sich um ein Sonderzeichen?
If Asc(DataByte) < 32 Then
' ja, es wird ein '.' ausgegeben
Debug.Print ".";
Else
' nein, es kann direkt das Zeichen ausgegeben werden
Debug.Print DataByte;
End If
Next i
Debug.Print
Loop
...
|