Кириллица на западных компах

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Matv
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 13.11.2002 (Ср) 9:20
Откуда: Украина, Харьков

Кириллица на западных компах

Сообщение Matv » 26.02.2007 (Пн) 9:48

Доброго времени суток!
Маленькая проблема. Русский интерфейс (.Caption и т.п) отражается на компе в Финляндии "иероглифами".
Поможет ли использование UNICOD?
В частности если строки перевести в UNICOD подпрограммой:
Код: Выделить всё
Public Function ASCII_UNICOD(t$) As String
    Dim i%, t1$
    t1 = ""
    For i = 1 To Len(t)
        t1 = t1 + ChrW(AscW(Mid(t, i, 1)))
    Next i
    ASCII_UNICOD = t1
End Function

поможет ли это для корректного отображения заголовков и информации в textbox и listbox?
К сожалению не могу проверить это "экспериментально".

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Кириллица на западных компах

Сообщение Andrey Fedorov » 26.02.2007 (Пн) 9:55

Matv писал(а):В частности если строки перевести в UNICOD


А почему ты решил что строка в VB не Unicode?

Matv писал(а):К сожалению не могу проверить это "экспериментально".


Проверить - элементарно: поставь под VMWare или Virtual PC чисто английскую версию и проверяйся как угодно.

Отобразить кириллицу под другой локалью в VB6 можно лишь применяя пляски с бубнами ибо контролы в старой Visual Studio неуенкодны по определению. Проще и удобней написать приложение на VB.NET.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.02.2007 (Пн) 10:10

В VB6 все строки и так в Unicode.
Другое дело, что все стандартные компоненты (Label, TextBox, CommandButton) не умеют выводить текст в Unicode, они выводять только для указанного Charset.
Выходов три.
1. Использовать .NET, как уже говорили.
2. Написать свои контролы, которые будут использовать API для вывода (DrawText(Ex) и т.п.).
3. В некоторых случаях можно обойтись правильным заданием Charset. Смешанный текст выводить будет нельзя, но в пределах одной кодовой страницы все будет нормально.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.02.2007 (Пн) 10:56

alibek писал(а):3. В некоторых случаях можно обойтись правильным заданием Charset. Смешанный текст выводить будет нельзя, но в пределах одной кодовой страницы все будет нормально.


Да, но это работает не для всех контролов и для тех с которыми работает еще танцы с StrConv нужны...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 26.02.2007 (Пн) 14:17

Насколько мне известно, важно при каких условиях компилировалась программа, а не при каких она запускается.
Если в Региональных настройках поставить использование русского для не-юникодных приложений и скомпилировать приложение, то затем русские строки будут выглядеть нормально для всех контролов, которые не поддерживают изменение Charset.
Проверено для XP: Baltic и Cyrillic.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.02.2007 (Пн) 15:01

Dashka писал(а):Насколько мне известно, важно при каких условиях компилировалась программа, а не при каких она запускается.

Неправда. Я проверял.
Изображение

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 27.02.2007 (Вт) 9:59

Да я тоже проверяла. Всегда получалось. Приходится постоянно писать программы с поддержкой русского и эстонского языка.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 28.02.2007 (Ср) 6:29

Dashka писал(а):Да я тоже проверяла. Всегда получалось. Приходится постоянно писать программы с поддержкой русского и эстонского языка.


Э... В VB6 или VBA?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 32

    TopList  
cron