![]() |
Tipp 0289
|
MS-DOS(OEM)-Textdateien konvertieren
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 27.11.2002 |
|
Entwicklungsumgebung: |
|
VB 5 |
|
|
Leider ist das Einlesen von Dateien, die mit dem Betriebssystem MS-DOS erstellt wurden, mit einigen Unannehmlichkeiten verbunden. So werden beispielsweise alle Sonderzeichen sowie Umlaute als "undefinierbare Zeichen" dargestellt, da unter MS-DOS ein ASCII-Zeichensatz verwendet wird, der mit dem von Windows verwendeten ANSI-Zeichensatz inkompatibel ist.
|
Mit den API-Funktionen OemToChar und CharToOem ist
jedoch ein recht einfaches und unkompliziertes Konvertieren, sowohl von ACSII zu ANSI, als auch umgekehrt möglich.
|
|
|
Option Explicit
Private Declare Function OemToChar Lib "user32" Alias _
"OemToCharA" (ByVal lpszSrc As String, ByVal _
lpszDst As String) As Long
Private Sub cmdOpen_Click()
Konvert_ASCII_ANSI False
End Sub
Private Sub cmdKonvert_Click()
Konvert_ASCII_ANSI True
End Sub
Sub Konvert_ASCII_ANSI(konvert As Boolean)
Dim strZeile As String
Dim f As Integer
f = FreeFile
CDialogOpen.Filter = "Text-Dateien (*.txt)|*.txt"
CDialogOpen.FileName = vbNullString
CDialogOpen.InitDir = App.Path
CDialogOpen.ShowOpen
If CDialogOpen.FileName <> vbNullString Then
Text1.Text = ""
Open CDialogOpen.FileName For Input As #f
While Not EOF(f)
Line Input #f, strZeile
If konvert Then OemToChar strZeile, strZeile
Text1.Text = Text1.Text & vbCrLf & strZeile
Wend
Close #f
End If
End Sub
|
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (3,7 kB)
|
Downloads bisher: [ 1624 ]
|
|
|