Ввод текста в Combobox

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

Ввод текста в Combobox

Сообщение Марина » 25.07.2003 (Пт) 14:04

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

Private Sub cbo1_KeyPress(KeyAscii As Integer)
Dim strCharacter As String
If Len(cbo1.Text) = 0 Or Len(cbo1.Text) < 1 Then
strCharacter = Chr(KeyAscii)
KeyAscii = Asc(UCase(strCharacter))
Else
strCharacter = Chr(KeyAscii)
KeyAscii = Asc(LCase(strCharacter))
End If
End Sub

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

Сообщение GSerg » 25.07.2003 (Пт) 14:08

Никаких ошибок, всё прекрасно!
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 25.07.2003 (Пт) 15:09

А зачем выдумывать велосипед? Есть же стандартная функция.
Код: Выделить всё
Private Sub cbo1_Change()
    cbo1.Text = StrConv(cbo1.Text, vbProperCase)
End Sub

Марина
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.03.2003 (Пн) 9:28

Сообщение Марина » 26.07.2003 (Сб) 16:12

Ну насчёт "Никаких ошибок всё прекрасно"-это ответ для галочки то бишь для звёздочки, а что касается велосипеда - тут событие Change работает не корректно

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

Сообщение GSerg » 26.07.2003 (Сб) 16:18

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

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 28.07.2003 (Пн) 13:06

Марина писал(а):а что касается велосипеда - тут событие Change работает не корректно

А что именно некорректно? Вот событие KeyPress() действительно некорректно, т.к. ты обрабатываешь текст который был до нажатия клавиши. Т.е. если комбобокс не пуст, то тичего не происходит. Или можно набрать текст и перейти в первую позицию и заменить или добавить символ. Ещё вопрос: какой Style комбобокса?


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 1

    TopList