Узнать язык(рус, енг и т.д.)

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

Узнать язык(рус, енг и т.д.)

Сообщение neic » 09.07.2005 (Сб) 20:23

... и вы вести название языка в Label1.caption

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 09.07.2005 (Сб) 20:34

Если в тексте присутствуют русские и английские буквы, то не знаю как, а если сплошной текст на одном языке, то просто... :wink:

Русский (192-255)
Английский (65-90 + 97-122)

Дальше берешь рандомную букву, и если она не пробел, то проверяешь ее Ascii код. :)
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 09.07.2005 (Сб) 21:10

нет, ну какая раскладка клавы стоит.

Например:
нажали ctrl(alt)+шифт и у меня стал анлийский язык, вот мне и нужно вы вести в лабель6 этот язык

JohnCR
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.06.2005 (Вт) 19:03

Сообщение JohnCR » 09.07.2005 (Сб) 21:27

Код: Выделить всё
'На форме таймер (Timer1) и надпись (Label1)
Option Explicit
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias _
"GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Private Sub Form_Load()
    Label1.Left = 0
    Label1.Top = 0
    Label1.AutoSize = True
    Label1.BackColor = 8388608
    Label1.ForeColor = 16777215
    Timer1.Enabled = True
    Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
Dim a As Long
Dim r As String
Dim KeybLayoutName As String
    KeybLayoutName = String(9, 0)
    GetKeyboardLayoutName KeybLayoutName
    '409 - английская, 419 - русская
    a = Left$(KeybLayoutName, InStr(1, KeybLayoutName, Chr(0)) - 1)
    If a = 409 Then
        r = "English"
    End If
    If a = 419 Then
        r = "Русский"
    End If
    Label1.Caption = r
End Sub


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 105

    TopList