Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
hCORe
-
- VB - Экстремал

-

-
- Сообщения: 2332
- Зарегистрирован: 22.02.2003 (Сб) 15:21
- Откуда: parent directory
-
hCORe » 05.09.2005 (Пн) 18:50
Для Char<->KOI8 сойдет и WideCharToMultiByte/MultiByteToWideChar

Моду создают модоки, а распространяют модозвоны.
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 05.09.2005 (Пн) 21:35
hCORe писал(а):Для Char<->KOI8 сойдет и WideCharToMultiByte/MultiByteToWideChar

Не верю. Покажи пример.
-
BV
-
- Thinker

-

-
- Сообщения: 3987
- Зарегистрирован: 12.09.2004 (Вс) 0:55
- Откуда: Молдавия, г. Кишинёв
-
BV » 05.09.2005 (Пн) 22:53
В принципе, метод с Mid проигрывает даже в размере кода. Вот и результат такой.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 05.09.2005 (Пн) 23:02
Ну и какой смысл был постить код, который заведомо проигрывает всем по всем параметрам?
-
BV
-
- Thinker

-

-
- Сообщения: 3987
- Зарегистрирован: 12.09.2004 (Вс) 0:55
- Откуда: Молдавия, г. Кишинёв
-
BV » 06.09.2005 (Вт) 0:21
Тему читать нужно внимательно

const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
-
hCORe
-
- VB - Экстремал

-

-
- Сообщения: 2332
- Зарегистрирован: 22.02.2003 (Сб) 15:21
- Откуда: parent directory
-
hCORe » 06.09.2005 (Вт) 19:58
tyomitch писал(а):Не верю. Покажи пример.
Показываю:
- Код: Выделить всё
Option Explicit
Private Declare Function WideCharToMultiByte Lib "kernel32" (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" (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
Private Const MB_PRECOMPOSED = &H1
Private Sub Form_Load()
Const WIN = 1251
Const KOI = 20866
Const DOS = 866
MsgBox Convert(Convert(Convert("Ну ты, Тёмыч, дал!", WIN, DOS), DOS, KOI), KOI, WIN)
End Sub
Private Function Convert(ByVal strSrc As String, ByVal nFromCP As Long, ByVal nToCP As Long) As String
On Error Resume Next
Dim nLen As Long
Dim strDst As String
Dim strRet As String
Dim nRet As Long
nLen = Len(strSrc)
strDst = String(nLen * 2, Chr(0))
strRet = String(nLen * 2, Chr(0))
nRet = MultiByteToWideChar(nFromCP, MB_PRECOMPOSED, strSrc, nLen, strDst, nLen)
nRet = WideCharToMultiByte(nToCP, 0, strDst, nRet, strRet, nLen * 2, ByVal 0, 0)
Convert = Left$(strRet, nRet)
End Function
vbskb_api vbskb_codepage vbskb_convert
Моду создают модоки, а распространяют модозвоны.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, PetalBot, Yandex-бот и гости: 6