Как конвертировать текст из DOS-кодировки в Windows
Declare Function CharToOemBuff Lib "user32" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long Declare Function OemToCharBuff Lib "user32" Alias "OemToCharBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long Public Function ToAnsi(s As String) As String Dim Buffer As String Buffer = Space(Len(s) + 1) OemToCharBuff s, Buffer, Len(s) ToAnsi = Left(Buffer, Len(s)) End Function Public Function ToOEM(s As String) As String Dim Buffer As String Buffer = Space(Len(s) + 1) CharToOemBuff s, Buffer, Len(s) ToOEM = Left(Buffer, Len(s)) End Function Использование: sAnsi = ToAnsi("Дарт Вейдер") ' Из DOS в Windows
sDos = ToOEM("Дарт Вейдер") ' Из Windows в Dos
Примечание: Данные функции работают корректно только на русской Windows или на корректно русифицированной паневропейской.
|