Проблемы с поддержкой языков

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Megaz
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2005 (Вт) 18:57

Проблемы с поддержкой языков

Сообщение Megaz » 27.08.2005 (Сб) 19:54

Вот какая проблема:
Задавал я вам один вопрос,об отображении немецких символов...но он не совсем корректный.
У меня находятся на форме datagrid и label.Проблема в том что в самой таблице символы отображаются и если ввести их в label.caption они тоже отображаются,но если написать так:

datagrid1.Col = 1
datagrid1.Row = 1
Label1.Caption = datagrid1.text

то символы изменяются( например с a умлаута на а обычный ).Подскажите пожалуйста что можно сделать чтобы исправить ето? :?: :arrow:

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

Сообщение tyomitch » 27.08.2005 (Сб) 20:53

Прежде всего: какая Винда?
Изображение

Megaz
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2005 (Вт) 18:57

Сообщение Megaz » 28.08.2005 (Вс) 9:28

tyomitch писал(а):Прежде всего: какая Винда?

Windows XP Pro SP2 русская... а какая разница?

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

Сообщение tyomitch » 28.08.2005 (Вс) 13:01

А попробуй тоггда написать:
Код: Выделить всё
Dim b() As Byte
b() = datagrid1.Text

И посмотри полученный байтовый массив, там будут буквы с умляутом или без?
Изображение

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

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 8:18

Собственно а у Windows какая локаль - немецкая?

Если русская, то полноценного вывода умляутов в программе на VB6 не добиться в принципе. Ибо его контролы не поддерживают уенкод. Причем в некоторые контролы после некоторых манипуляций все-же можно их вывести... Но не во все.

Это не недостаток VB6 - так и в других языках - посмотрите тот-же The Bat! к примеру. С другой стороны - вывод умляутов под русской локалью может понадобиться лишь в обучающих программах...

А вот в NET поддержка уенкода уже полная - там все реализуется без проблем...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Megaz
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2005 (Вт) 18:57

Сообщение Megaz » 29.08.2005 (Пн) 12:16

Andrey Fedorov писал(а): Ибо его контролы не поддерживают уенкод. Причем в некоторые контролы после некоторых манипуляций все-же можно их вывести... Но не во все.

а ты знаеш де достать такие контролы?


а про NET я знаю,но хотелось бы на vb 6 ...

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

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 12:41

Megaz писал(а): а ты знаеш де достать такие контролы?


Давно занимался этим, так что уже не припомню...

Megaz писал(а):а про NET я знаю,но хотелось бы на vb 6 ...


Я бы не советовал - все-же это мазохизм. Заодно с NET поработаешь...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение tyomitch » 29.08.2005 (Пн) 15:22

Megaz, всё-таки расскажи, что выводится в байтовый массив?
Может, это вовсе и не контролы, а datagrid1 виноват?
Изображение

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 29.08.2005 (Пн) 15:52

Темыч, по своему опыту могу сказать, что гриды в подавляющем большинстве крайне корректны в плане многоязычного отображения независимо от текущей локали. Особенность у них, у гридов, такова - дорогие они, вот и вылизываются до упора, и пишутся в расчете на серьезные вещи. Запросто поверю, что реально в гриде текст сидит в юникоде, а вот в процессе присваивания:
Код: Выделить всё
b() = datagrid1.Text
конвертация и происходит. Тут скорее через CopyMemory() нужно...

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

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 16:04

Ennor писал(а):Запросто поверю, что реально в гриде текст сидит в юникоде, а вот в процессе присваивания:
Код: Выделить всё
b() = datagrid1.Text
конвертация и происходит. Тут скорее через CopyMemory() нужно...


Нет, там тоже не в уенкоде. Но с помощью бубна и танцев у меня с Janus GridEx получалось для различных ячеек задавать свой CharSet (то есть получить в них русский и умляуты одновременно).

Но сие возможно не со всеми контролами - некоторые даже при наличии свойства CharSet его игнорируют...

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

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

Сообщение alibek » 29.08.2005 (Пн) 16:13

Ennor писал(а):Особенность у них, у гридов, такова - дорогие они, вот и вылизываются до упора, и пишутся в расчете на серьезные вещи.

Так то оно так, но все-равно ошибки в них попадаются чаще, чем в любых других не самодельных компонентах.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 16:16

alibek писал(а):Так то оно так, но все-равно ошибки в них попадаются чаще, чем в любых других не самодельных компонентах.


У коммерческих ошибок немного и как правило они фиксятся...
В отличии от того-же VB-шного DTPicker, у которого DataChanged так и не исправили...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Megaz
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2005 (Вт) 18:57

Сообщение Megaz » 29.08.2005 (Пн) 19:05

tyomitch писал(а):Megaz, всё-таки расскажи, что выводится в байтовый массив?
Может, это вовсе и не контролы, а datagrid1 виноват?


попробовал

Dim b() As Byte
b() = datagrid1.Text

,но все равно тоже самое..умлаут исчезает...

а потом проверил,поместил два лейбла,в одном символи а другой пустой,и :
Label2.Caption = label1.caption и умлаут не пропал!!!
Значит виновата datagrid!

Подскажите шо делать? :?: :arrow:

Megaz
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2005 (Вт) 18:57

Сообщение Megaz » 10.09.2005 (Сб) 17:11

Ну кто нить,подскажите плз!!! :arrow:


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

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

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

    TopList