powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / поиск по DW
19 сообщений из 19, страница 1 из 1
поиск по DW
    #35158504
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А никто не делал поиск по DW без использования дополнительных объектов, типа sle ?
Например просто тычем по буквам например с клавишей Alt и выделяется строка с набираемым текстом.
...
Рейтинг: 0 / 0
поиск по DW
    #35158567
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имею в виду список
...
Рейтинг: 0 / 0
поиск по DW
    #35158634
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня на сайте лежит библиотека , там в объекте uo_dw_select_list такой выбор реализован (правда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало).
...
Рейтинг: 0 / 0
поиск по DW
    #35158808
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркУ меня на сайте лежит библиотека , там в объекте uo_dw_select_list такой выбор реализован (правда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало).
спасибо.
еще вопрос по Вашей библиотеке
Код: plaintext
function ulong CreateFontInderect(ref taglogfont TLF) library "gdi32.dll" alias for "CreateFontIndirectA"
что за тип такой taglogfont ? Ругается у меня на него.
...
Рейтинг: 0 / 0
поиск по DW
    #35158827
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я так думаю что на
Код: plaintext
function ulong GetTextExtentPoint32(ulong HDC,string s, long count, ref str_fontsize SFS) library "gdi32.dll" alias for "GetTextExtentPoint32A"
тоже будет ругаться, на str_fontsize
...
Рейтинг: 0 / 0
поиск по DW
    #35158969
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркУ меня на сайте лежит библиотека , там в объекте uo_dw_select_list такой выбор реализован (правда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало).
у Вас там все-равно используется строка, только которая в DW. А я имел в виду вообще без дополнительных объектов.
...
Рейтинг: 0 / 0
поиск по DW
    #35158991
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR Локшин МаркУ меня на сайте лежит библиотека , там в объекте uo_dw_select_list такой выбор реализован (правда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало).
у Вас там все-равно используется строка, только которая в DW. А я имел в виду вообще без дополнительных объектов.
Строка там используется только для вывода текущего слова для поиска (там даже не строка а текстовый объект). Если ее не показывать, то будет как Вы хотите.
Структуры описаны вот здесь .
...
Рейтинг: 0 / 0
поиск по DW
    #35159107
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Маркправда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало
на самом деле нужно, только что?!
в событии other на русской раскладке wparam возвращает какую-то лабуду, на английской же все нормально.
на форуме решения проблемы чета не нашел.
Кто сталкивался с такой проблеммой? как в PB10 получить код русской буквы?!
...
Рейтинг: 0 / 0
поиск по DW
    #35159139
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR Локшин Маркправда судя по слухам с этого сайта там нужно кое-что подкрутить чтобы в PB10+ работало
на самом деле нужно, только что?!
в событии other на русской раскладке wparam возвращает какую-то лабуду, на английской же все нормально.
на форуме решения проблемы чета не нашел.
Кто сталкивался с такой проблеммой? как в PB10 получить код русской буквы?!
Можно сделать в лоб, но зато надежно - большой case на событии ue_key + определение текущей раскладки через WinAPI. А лабуда сдается мне как-то связана с UniCode и из нее все-таки можно вычленить нужную инфу.
...
Рейтинг: 0 / 0
поиск по DW
    #35159369
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркМожно сделать в лоб, но зато надежно - большой case на событии ue_key + определение текущей раскладки через WinAPI.
Имеете в виду ловить английские буквы в русской раскладке и переводить в русские?
Уже так и начал делать.

А лабуда с UniCode... может это баг? потому что коды на русской раскладке возвращаются вообще непонятные какие-то.
...
Рейтинг: 0 / 0
поиск по DW
    #35159730
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoRА лабуда с UniCode... может это баг? потому что коды на русской раскладке возвращаются вообще непонятные какие-то.
Что значит непонятные? А если поэксперементировать с вызовом функции WinAPI WideCharToMultiByte(...)? Коды то хоть одни и теже при нажатии на одну и туже клавишу выдаются (а это кстати еще одна идея )?
...
Рейтинг: 0 / 0
поиск по DW
    #35161176
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк WideCharToMultiByte(...)?
нет примера случайно как ей пользоваться?
...
Рейтинг: 0 / 0
поиск по DW
    #35161398
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR Локшин Марк WideCharToMultiByte(...)?
нет примера случайно как ей пользоваться?
Для билдера нет, но в MSDN вроде все подробно описано, и у Рихтера есть примеры. А может и в PB10+ уже есть обертка над этой функцией...
...
Рейтинг: 0 / 0
поиск по DW
    #35162285
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что, с WideCharToMultiByte не вышло или как?
...
Рейтинг: 0 / 0
поиск по DW
    #35162536
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркТак что, с WideCharToMultiByte не вышло или как?
обошелся без него... будет немного времени попробую и с WideCharToMultiByte, потом отпишусь
...
Рейтинг: 0 / 0
поиск по DW
    #35163160
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR Локшин МаркТак что, с WideCharToMultiByte не вышло или как?
обошелся без него... будет немного времени попробую и с WideCharToMultiByte, потом отпишусь
тоже самое... не работает...
WideCharToMultiByte, любую кодировку подставлял.

дело еще в том, что при нажатии например на русской раскладке буквы п возвращается код 63, а это в любой кодировке " ? ".

а при нажатии в английской раскладке этой же буквы " п "(или g ) возвращается код 103, это и есть код буквы g

Короче сделал функцию, которая в зависимости от раскладки выдает нужные буквы, без всяких доп. функций
...
Рейтинг: 0 / 0
поиск по DW
    #35163238
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoRКороче сделал функцию, которая в зависимости от раскладки выдает нужные буквы, без всяких доп. функций
Вообще-то в Windows есть функции, которые по скан-коду возвращают ASCII код. А то так могут быть проблемы с другими раскладками , если это существенно...
VanoRдело еще в том, что при нажатии например на русской раскладке буквы п возвращается код 63, а это в любой кодировке "?".
А еще несколько кодов можно привести? Для абв например (маленьких и больших).
...
Рейтинг: 0 / 0
поиск по DW
    #35163371
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблемы с другими раскладками - не существенно

а - 48
А - 16
б - 49
Б - 17
в - 50
В - 18
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
поиск по DW
    #36315499
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот мой вариант, может кому нужно будет.
код на событии other DataWindow

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
long fnd,ll_row
long wp
char lpchar[ 16 ], buff[ 256 ], c

if Message.Number =  257  then  
  GetKeyboardState(buff)	
  ll_row = ToAscii(wparam,MapVirtualKeyEx(wparam,  0 , GetKeyboardLayout( 0 )),buff, lpchar, 0 ) ;
  choose case ll_row 
	case  0 
		c = ''
	case  1  
		c = lpchar[ 1 ]
	case  2  
		c = lpchar[ 1 ]
	case else
       c = ''
  end choose
  wp = asc(c) //ASCII код нажатой клавиши
end if
local external functions
Код: plaintext
1.
2.
3.
function long MapVirtualKeyEx (long uCode,long uMapType, long HKL) LIBRARY "user32.dll" alias for "MapVirtualKeyExW"
FUNCTION ulong GetKeyboardState(ref char kbarray[ 256 ])  LIBRARY "USER32.DLL"
Function ulong GetKeyboardLayout (ulong dwLayout) library "USER32.DLL"
function long ToAscii(ulong uVirtKey, ulong uScanCode, ref char kbarray[ 256 ],ref char lpChar[ 16 ], ulong uFlags) library "USER32.DLL"
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / поиск по DW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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