Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
strike1984
-
- Начинающий
-
-
- Сообщения: 17
- Зарегистрирован: 25.07.2006 (Вт) 11:26
-
strike1984 » 20.09.2006 (Ср) 11:36
При получении писем из почтового ящика в программу, сообщения прочитать невозможно, так как там кодировка koir-8, как правильно подключить эту функцию, чтобы например текст в koir-8 из text1.text отображался в кодировке windows1251 в text2.text?
я в кнопке делаю так
text2.text=convert_cyr_string (text1.text, "k", "w")
-
lister
-
- Постоялец
-
-
- Сообщения: 389
- Зарегистрирован: 15.01.2005 (Сб) 7:34
- Откуда: Страна оления
lister » 20.09.2006 (Ср) 12:09
Примерно так
- Код: Выделить всё
Option Explicit
Public Enum CodePage
[Windows-1251] = 1251&
[DOS] = 866&
[KOI8-R] = 20866&
End Enum
Private Const MB_PRECOMPOSED As Long = &H1
Private Const MB_USEGLYPHCHARS As Long = &H4
Private Const MB_COMPOSITE As Long = &H2
Private Declare Function WideCharToMultiByte Lib "kernel32.dll" ( _
ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpWideCharStr As String, _
ByVal cchWideChar As Long, _
ByVal lpMultiByteStr As String, _
ByVal cchMultiByte As Long, _
ByVal lpDefaultChar As String, _
ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32.dll" ( _
ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpMultiByteStr As String, _
ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As String, _
ByVal cchWideChar As Long) As Long
Public Function Convert( _
ByVal sString As String, _
ByVal cpFrom As CodePage, _
ByVal cpTo As CodePage) As String
Dim lLenght As Long, lRetval As Long
Dim sDstval As String, sRetval As String
lLenght = Len(sString)
sDstval = String(lLenght * 2, vbNullChar)
sRetval = String(lLenght * 2, vbNullChar)
lRetval = MultiByteToWideChar( _
cpFrom, _
MB_PRECOMPOSED, _
sString, _
lLenght, _
sDstval, _
lLenght _
)
lRetval = WideCharToMultiByte( _
cpTo, _
0&, _
sDstval, _
lRetval, _
sRetval, _
lLenght * 2, _
ByVal 0&, _
0 _
)
Convert = Left(sRetval, lRetval)
End Function
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Mail.ru [бот], Yandex-бот и гости: 140