Здравствуйте. Просветите пожалуйста по следующим вопросам:
Нужно производить однообразные замены символов в файлах одного типа записанных в кодировке DOS. При работе с цифрами и английскими буквами особых трудностей не возникло, а вот когда встретилась кирилица - начались некоторые проблеммы.
В интернете нашел немало практически одинаковых советов, как тут:
http://www.machineworld.hut2.ru/Program ... ntodos.htm
Сделал как велели, даже работает, только непонятно как. Объясните кому не лень:
Для чего объявляют третью функцию:
Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Declare Function OemToCharBuff Lib "user32" Alias "OemToCharBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long
Что за переменная Buffer и что в нее записывается:
Public Function ToAnsi(S As String) As String
Dim Buffer As String
Buffer = String(Len(S), 32)
OemToCharBuff S, Buffer, Len(S)
ToAnsi = Trim(Buffer)
End Function
И наконец:
Private Sub File1_Click()
inq$ = Space(FileLen(File1.filename)) 'что происходит тут
Open File1.filename For Binary As #1
Get #1, 1, inq$
Close #1
outq$ = Space(Len(inq$)) ' и тут
OemToChar inq$, outq$
RichTextBox1.Text = outq$
End Sub
Заранее спасибо. К ответам вида "Задаешь такие вопросы - удали Basic" вполне готов