Шрифт для Combo из Microsoft Forms 2.0 Object Library

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

Шрифт для Combo из Microsoft Forms 2.0 Object Library

Сообщение angelina » 11.09.2003 (Чт) 9:34

Я в этом форуме как то спрашивала, знает ли кто в чем причина, что при в воде с клавиатуры в Combobox или TextBox из Microsoft Forms 2.0 Object Library русский язык не воспринимается (латинские буквы пишутся нормально, а вместо русских иероглифы). Мне посоветовали заменить шрифт на поддерживающий кириллицу. Но дело в том, что я перепробовала уже все мыслимые и немыслимые шрифты, но все без толку!!!!!
Кто пользуется этими контролами, напишите мне пожалуйста название шрифта, с которым все идет нормально. Очень срочно надо!!!!!!

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

Сообщение alibek » 11.09.2003 (Чт) 10:00

Выбери набор символов "Кириллица"
Lasciate ogni speranza, voi ch'entrate.

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 11.09.2003 (Чт) 14:01

так у меня и стоит кириллица и шрифт у меня Verdana, он поддерживает кириллицу. Но когда я внутри кода добавляю элемент в список через ComboBox1.additem "Элемент1", все отлично, но если во время отработки программы пользователь хочет сам добавить какой-то текст на русском языке, например к тексту "Элемент1" добавить "-хороший элемент", получает иероглифы!!!!! Что мне делать??? В чем может быть проблема???

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 11.09.2003 (Чт) 14:07

хм....у меня всё работет отлично!!! Может у тя контрол глюкает??? или так чего....

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 11.09.2003 (Чт) 14:19

angelina
так у меня и стоит кириллица и шрифт у меня Verdana, он поддерживает кириллицу. Но когда я внутри кода добавляю элемент в список через ComboBox1.additem "Элемент1", все отлично, но если во время отработки программы пользователь хочет сам добавить какой-то текст на русском языке, например к тексту "Элемент1" добавить "-хороший элемент", получает иероглифы!!!!! Что мне делать??? В чем может быть проблема???


Странно :? . Получается что с клавиатуры идет другая кодировка :( . Ну, можно перекодировать клавиши через событие KeyDown или KeyPress

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 11.09.2003 (Чт) 15:25

а как перекодировать через KeyDown или KeyPress??? Получу я код нажатой клавиши. И что с ним делать???

Волкер
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 21.10.2002 (Пн) 15:59
Откуда: Russia

Сообщение Волкер » 12.09.2003 (Пт) 6:31

тут видимо какое то глобальное не понимание , ты в обекте комбо где прописываеш шрифт ? и какаявинда у тебя стоит ?

Волкер
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 21.10.2002 (Пн) 15:59
Откуда: Russia

Сообщение Волкер » 12.09.2003 (Пт) 6:45

тут видимо какое то глобальное не понимание , ты в обекте комбо где прописываеш шрифт ? и какаявинда у тебя стоит ?

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 12.09.2003 (Пт) 9:17

Angelina
а как перекодировать через KeyDown или KeyPress??? Получу я код нажатой клавиши. И что с ним делать???


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

select case chr(keyascii)
case "W": keyascii = asc("Й")
case "w": keyascii = asc("й")
.
.
.

end select

п.с.
Не уверен что входной парамет keyascii написал правильно.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.09.2003 (Пт) 9:27

Гы! Это ж сколько select case :shock:
Если этим заниматься, то лучше уж так:

Код: Выделить всё
function decode(byval a as integer, optional byval eng2rus as boolean=true) as string
  const rl as string = "йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,"
  const el as string = "qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:""ZXCVBNM<>?"
  decode=mid$(iif(eng2rus,rl,el),instr(iif(eng2rus,el,rl),chr$(a)),1)
end function
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 12.09.2003 (Пт) 12:25

GSerg
Гы! Это ж сколько select case
Если этим заниматься, то лучше уж так:


А мы не ищем легких путей :D

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 12.09.2003 (Пт) 13:25

в объекте combo я прописываю шрифт через свойство Font. А винда у меня 2000 professional

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 27.10.2003 (Пн) 12:53

Не помогает перекодировка!!!! Просто беру и для проверки как она будет работать в событии KeyPress пишу следующую строку

Private Sub cbCountry_KeyPress(KeyAscii As MSForms.ReturnInteger)
KeyAscii = Asc("ц")
End Sub

Потом во время отработки проги пытаюсь набрать любую последовательность символов. По идее должна получить "ццццццццц", а получаю "öööööööööööö"
Кстати, этот текст кода копировала из проекта. Когда вставляла здесь, тоже получилось KeyAscii = Asc("ö").
Где у меня что не так?

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

Сообщение alibek » 27.10.2003 (Пн) 14:38

Попробуй создать и импортировать этот файл, а потом перегрузить машину.
fontsubst.reg писал(а):REGEDIT4

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Fixedsys,0"="Fixedsys,204"
"System,0"="System,204"
"Small Fonts,0"="Small Fonts,204"
"MS Serif,0"="MS Serif,204"
"MS Sans Serif,0"="MS Sans Serif,204"
"MS Shell Dlg"="MS Sans Serif"
"MS Shell Dlg 2"="MS Sans Serif"
"Helv"="MS Sans Serif"
"Helv,0"="MS Sans Serif,204"
"Helvetica"="Arial"
"Tms Rmn"="MS Serif"
"Tms Rmn,0"="MS Serif,204"
"Monotype.com"="Andale Mono"
"Times"="Times New Roman"
"Courier"="Courier New"
"Courier,0"="Courier New,204"

"Arial CE,238"="Arial,238"
"Arial Cyr,204"="Arial,204"
"Arial Greek,161"="Arial,161"
"Arial Tur,162"="Arial,162"

"Courier New CE,238"="Courier New,238"
"Courier New Cyr,204"="Courier New,204"
"Courier New Greek,161"="Courier New,161"
"Courier New Tur,162"="Courier New,162"

"Tahoma CE,238"="Tahoma,238"
"Tahoma Cyr,204"="Tahoma,204"
"Tahoma Greek,161"="Tahoma,161"
"Tahoma Tur,162"="Tahoma,162"

"Times New Roman CE,238"="Times New Roman,238"
"Times New Roman Cyr,204"="Times New Roman,204"
"Times New Roman Greek,161"="Times New Roman,161"
"Times New Roman Tur,162"="Times New Roman,162"

"Verdana CE,238"="Verdana,238"
"Verdana Cyr,204"="Verdana,204"
"Verdana Greek,161"="Verdana,161"
"Verdana Tur,162"="Verdana,162"

"Arial Cyr,0"="Arial,204"
"Courier New Cyr,0"="Courier New,204"
"Tahoma Cyr,0"="Tahoma,204"
"Times New Roman Cyr,0"="Times New Roman,204"
"Verdana Cyr,0"="Verdana,204"

;"Arial,0"="Arial,204"
;"Courier New,0"="Courier New,204"
;"Tahoma,0"="Tahoma,204"
;"Times New Roman,0"="Times New Roman,204"
;"Verdana,0"="Verdana,204"
Lasciate ogni speranza, voi ch'entrate.

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 27.10.2003 (Пн) 16:27

Alibek, огромное пожалуйста, расскажи пожалуйста поподробнее куда импортировать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.10.2003 (Вт) 10:07

В реестр :)
Создай в блокноте файл текстовый, кинь туда эту ботву, сохрани с расширением reg и даблкликни :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение alibek » 28.10.2003 (Вт) 10:10

Создать текстовый файл с именем fontsubst.reg, вставить в него то содержимое, которое я показал и сохранить его. Потом просто запустить файл и все изменения внесутся в реестр.
Или можно использовать этот файл: fs.zip (см. ниже)

P.S. На всякий случай советую сохранить старое содержимое ветки реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes], например так:
Код: Выделить всё
regedit /ea oldfs.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes"


P.P.S. В системах Windows 9x подстановка шрифтов хранится не в реестре, а в файле win.ini, ЕМНИП секция [Fonts].
Lasciate ogni speranza, voi ch'entrate.

angelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 89
Зарегистрирован: 13.11.2002 (Ср) 13:00

Сообщение angelina » 28.10.2003 (Вт) 11:01

Спасибо большое, все поняла, все сделала, но не помогло............
Может быть и вправду контрол у меня глючный

zzoom
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 13.06.2003 (Пт) 10:29
Откуда: Рига

Сообщение zzoom » 29.10.2003 (Ср) 14:44

Все дело в уникоде. Сравни код своей "ц"
Код: Выделить всё
Asc("ц")

и код той "?" которая у тебя на выходе.

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 29.10.2003 (Ср) 15:27

Сделай файл например test.reg и запихни то что написал alibek. И нажми на него два раза )


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 98

    TopList