Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Кодировка в VB6 Добавлено: 06.09.07 12:36  

Автор вопроса:  morkov
Подскажите, пожалуйста, как можно в старом VB6 поменять кодировку строки? Мне нужно записать файл не в windows-1251, а в utf-8..

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #1
Добавлено: 06.09.07 15:00
Если ты о строках в коде, то смени в настройках шрифт на что-нить кончающееся на Cyr.

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 06.09.07 15:49
Unicode Controls for VB6? :)
Вроде чего-то такое еще было в API: WideCharToMultiByte............

Ответить

Номер ответа: 3
Автор ответа:
 Stuart



Вопросов: 5
Ответов: 152
 Профиль | | #3 Добавлено: 06.09.07 19:25
Вот тут есть пример на тему: Конвертация в различные кодировки. Весит(4,37КБ)

http://vbrus.narod.ru/Primers/Text/codir.zip

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 06.09.07 20:41
Не смог найти на VB, хотя где-то валялось. Ну да не принципиально, вот такое есть:

; ==================================================================================
; Конвертирование текста из UTF8 кодировки в Win
; ==================================================================================
UTF8ToWin proc lpText: DWORD
    LOCAL hMem1:    ;DWORD,
          hMem2:    ;DWORD,
          lng:      ;DWORD

    xor edx, edx                                    ; Вычисляем размер памяти...
    invoke MultiByteToWideChar, CP_UTF8, edx, lpText, -1h, edx, edx
    add eax, eax
    mov lng, eax

    invoke memAlloc, eax                            ; Выделяем память
    mov hMem1, eax
                                                    ; Конвертим...
    invoke MultiByteToWideChar, CP_UTF8, 0h, lpText, -1h, hMem1, lng
    
    xor edx, edx                                    ; Вычисляем размер памяти...
    invoke WideCharToMultiByte, CP_ACP, edx, hMem1, eax, edx, edx, edx, edx
    mov lng, eax

    invoke SysAllocStringByteLen, NULL, eax         ; Выделяем память
    mov hMem2, eax

    xor edx, edx                                    ; Конвертим...
    invoke WideCharToMultiByte, CP_ACP, 0h, hMem1, -1h, hMem2, lng, 0h, 0h

    invoke memFree, hMem1

    mov eax, hMem2
    ret
UTF8ToWin endp

; ==================================================================================
; Конвертирование текста из Win кодировки в UTF8
; ==================================================================================
WinToUTF8 proc lpText: DWORD
    LOCAL hMem1:    ;DWORD,
          hMem2:    ;DWORD,
          lng:      ;DWORD

    xor edx, edx                                    ; Вычисляем размер памяти...
    invoke MultiByteToWideChar, CP_ACP, edx, lpText, -1h, edx, edx
    add eax, eax
    mov lng, eax

    invoke memAlloc, eax                            ; Выделяем память
    mov hMem1, eax
                                                    ; Конвертим...
    invoke MultiByteToWideChar, CP_ACP, 0h, lpText, -1h, hMem1, lng
    
    xor edx, edx                                    ; Вычисляем размер памяти...
    invoke WideCharToMultiByte, CP_UTF8, edx, hMem1, eax, edx, edx, edx, edx
    mov lng, eax

    invoke SysAllocStringByteLen, NULL, eax         ; Выделяем память
    mov hMem2, eax

    xor edx, edx                                    ; Конвертим...
    invoke WideCharToMultiByte, CP_UTF8, edx, hMem1, -1h, hMem2, lng, edx, edx

    invoke memFree, hMem1

    mov eax, hMem2
    ret
WinToUTF8 endp

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 06.09.07 23:59
Я раза 3 постил на форум пример на вб6 WideCharToMultiByte, причем находил их во всех случаях яндексом/гуглом минуты за 2-3...

Ответить

Номер ответа: 6
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #6 Добавлено: 07.09.07 00:34
2 HACKER:
Где три, там и четыре может быть... или ссылка...

Ответить

Номер ответа: 7
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #7 Добавлено: 07.09.07 14:45
Может как то так.
strUTF = StrConv(str1251, vbUnicode)

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 07.09.07 15:26
Arseny, ах да, прости, ссылки действительно забыл. Исправляюсь...
http://ya.ru
http://google.ru

Ответить

Номер ответа: 9
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #9 Добавлено: 07.09.07 18:02
http://ya.ru
http://google.ru

Иного ответа от тебя и не ожидал. Ты всегда кроме вразумительного ответа шлешь в гугл. А на фиг форум создан?!

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 07.09.07 22:42
Боже, сколько раз я отвечал на этот вопрос?!

Форум создан для того чтобы ОБЩАТЬСЯ. :))

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 07.09.07 22:46
ФОРУМ НЕ СОЗДАН ДЛЯ ТОГО, ЧТОБЫ УЧИТЬ ПОЛЬЗОВАТЬСЯ ПОИСКОВИКОМ.

http://www.google.ru/search?hl=ru&newwindow=1&q=WideCharToMultiByte+site%3Avbnet.ru

Ответить

Номер ответа: 12
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #12
Добавлено: 08.09.07 22:54
http://www.google.ru/search?hl=ru&newwindow=1&q=WideCharToMultiByte+site%3Avbnet.ru
И что делать с этой строчкой? Тут по иностранному что ли написано?

Ответить

Номер ответа: 13
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #13 Добавлено: 08.09.07 22:58
Это пять! В мемориз.

Winand, только не думай, а то волосы начнут темнеть!

Ответить

Номер ответа: 14
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #14 Добавлено: 08.09.07 23:02
И что делать с этой строчкой? Тут по иностранному что ли написано?
У-ха-ха-ха! РжуНиМагу! Winand Ты стебаешься что-ли? Вставь в строку "Адрес" в своём браузере и нажми ENTER.

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 09.09.07 21:21
:\ Куда я попал и где мои вещи? O_o

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам