powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
4 сообщений из 4, страница 1 из 1
VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
    #39704891
Ivan_prostoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Имеется программа на VB6, которая работает с данными из БД Access/SQL Server.

Необходимо добавить в программу поддержку латышского шрифта.

В Windows помимо русского и английского добавил так же и латышский язык с латышской клавиатурой.

При этом если заходить в БД Access напрямую то латышские символы вводятся и сохраняются в таблице.

И благополучно отображаются в программе на VB6 при подключении этой БД.

Но когда пытаешься занести данные из под программы VB6, то вместо "ŪGJRMVNZĒČ" в таблицу записывается "ЫGJRMVNZЗИ".

При этом этот же текст я вывожу в Label1 из Text1 по нажатию на кнопку "Установить текст и добавить в таблицу".

И при нажатии на кнопку "ЛАТ" у Label1 и Text1 менял .Font.Charset = 186 и латышские символы в этих элементах отображаются корректно.

Нашел такое решение, ну не помогло - https://itknowledgeexchange.techtarget.com/itanswers/installing-font/
Код из этой статьи в проекте закомментил.

Пожалуйста, помогите, подскажите, направьте на путь истинный.

Прикрепляю скриншот.

Код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
'Private Const HWND_BROADCAST = &HFFFF&
'Private Const WM_FONTCHANGE = &H1D
'Private Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
'Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Command1_Click()
    Label1.Caption = Text1.Text
    Adodc1.Recordset.AddNew "TextColumn", Text1.Text
    Adodc1.Refresh
End Sub

Private Sub Command2_Click()
    If Adodc1.Recordset.RecordCount > 0 Then
        Adodc1.Recordset.Delete
        Call Command5_Click
    Else
        MsgBox "Записей нет"
    End If
End Sub

Private Sub Command3_Click()
    'Label1.Font.Name = "Arial"
    '204 = RUSSIAN_CHARSET (1251)
    Label1.Font.Charset = 204
    Text1.Font.Charset = 204
    Adodc1.Font.Charset = 204
    MSHFlexGrid1.Font.Charset = 204
End Sub

Private Sub Command4_Click()
    'Label1.Font.Name = "BaltHelvetica"
    '186 = BALTIC_CHARSET (1257)
    Label1.Font.Charset = 186
    Text1.Font.Charset = 186
    Adodc1.Font.Charset = 186
    MSHFlexGrid1.CellFontName = "BaltHelvetica"
    MSHFlexGrid1.Font.Charset = 186
End Sub

Private Sub Command5_Click()
    Adodc1.Refresh
    Adodc1.Refresh
End Sub

Private Sub Form_Load()
    'Dim res As Long
    ' add the font
    'res = AddFontResource("C:\Work\BLTHLV.TTF")
    'If res > 0 Then
    ' alert all windows that a font was added
    'SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0
    'MsgBox res & " fonts were added!"
    'End If
    MSHFlexGrid1.ColWidth(2) = 7950
End Sub
...
Рейтинг: 0 / 0
VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
    #39705052
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS Forms 2.0 или ищите UNICODE-совместимые контролы для VB6.0
...
Рейтинг: 0 / 0
VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
    #39709029
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормально работать из VB6 c латышским (немецким и др) языком при текущей русской локали не получится. Кое что можно сделать, конечно, но стоит ли оно того? Да и, собственно, зачем это надо-то? Локаль должна быть латышской - в этом случае все будет нормально и на латышском.

Если уж очень хочется лично проверить как работает программа под латышкой/китайской локалью - можно просто поставить виртуалку с соответствующими настройками.
...
Рейтинг: 0 / 0
VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
    #39714578
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_prostoy,
если правильно понял нужно изменение действия клавиатуры
SysCmd(710, 67699721) 'set US keyboard
SysCmd(710, 68748313) 'set Russian keyboard
SysCmd(710, ...) 'set other country keyboard
SysCmd(710,1) 'set next installed keyboard
SysCmd(710,0) 'set previous installed keyboard
SysCmd(711) 'return put keyboard currently
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 + Access/SQL Server, как добавить поддержку латышского шрифта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]