АвторСообщение



Пост N: 7
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.07.07 18:51. Заголовок: Конвертер систем исчисления


Наконец-то появилась путевая программа, до этого для конвертирования я пользовался программой Леонида Егорова, но ее возможности весьма ограничены.
Я хочу сказать, что если б еще добавить кнопку «поверх всех окон», как у упомянутой выше программы, то цены бы ей не было.


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 12 [только новые]





Пост N: 300
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 09.07.07 19:07. Заголовок: Re:


Гоша Александрович пишет:

 цитата:
что если б еще добавить кнопку «поверх всех окон»,

Это не проблема, добавлю.
Только вот нужна ли кнопка, может лучше сразу сделать эту программу «поверх всех окон»?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.07.07 19:33. Заголовок: Re:


Действительно, галочка на программе Леонида Егорова у меня стоит постоянно и трудностей при этом не возникает. Если нуэно убрать я просто сворачиваю окно.
А вообще конечно это мам решать.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.07.07 19:37. Заголовок: Re:


Простите за опечатку, честно я не специально

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 498
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 13.01.08 13:58. Заголовок: Появилась новая верс..


Появилась новая версия конвертера систем исчисления.
Скачать её можно со странички http://www.ikarab.narod.ru/Kea_21.html


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 21
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 21.01.08 23:22. Заголовок: Кроме редактирования..


Кроме редактирования конфигурации для автономного программатора нужно редактировать и ID. Для этого разместил StringGadget в правом нижнем углу как в IC-Prog ССЫЛКА ДЛЯ СКАЧИВАНИЯ . Возник вопрос, как запретить ввод недопустимых символов (не входящих в шестнадцатеричную систему) и переключать раскладку клавиатуры. На форуме по бейсику нашел текст вашего конвертера. Методом исключения нашел все те функции, которые за это отвечают. Что с ними делать это понятно, я их уже скопировал в программу автономного программатора - все работает. Единственное что не ясно это для чего нужна строчка hInstance = GetModuleHandle_(0). Мне понятно, что она что-то получает и через переменную hInstance определяет один из параметров функции SetWindowsHookEx. Но что это за параметр мне не понятно (впрочем, как и все остальные параметры ). С другой стороны работает, а это главное. Но все-таки хочется знать, нужно ставить hInstance = GetModuleHandle_(0) или нет. В любом случае изменения в работе я не наблюдаю.

И еще. Заметил что в вашем конвертере в HEX и DEC строку вводятся символы )(*&^%$ и другие. Не лучше ли заменить строку If (wParam>=48 And wParam =< 57) Or (wParam>=65 And wParam =< 70) Or wParam < 31 Or (wParam>=37 And wParam =< 40) Or wParam=46 в процедуре KeyboardProc(nCode, wParam, lParam) на If (wParam>=65 And wParam =< 70) Or (wParam>=96 And wParam =< 105) Or wParam=8. Во всяком случае, я так сделал и вполне доволен результатом. Скажите, если есть подводные камни.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 516
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 22.01.08 20:03. Заголовок: Гоша Александрович п..


Гоша Александрович пишет:

 цитата:
Единственное что не ясно это для чего нужна строчка hInstance = GetModuleHandle_(0)


Это API функция (на это указывает символ "_" перед скобкой).
Зачем она нужна?
Да кто его знает, толкового справочника на русском нет! Сам этот код "одолжил" из КодАрхива.

 цитата:
SetWindowsHookEx

Это тоже API функция, она перенаправляет все нажатия кнопок в процедуру, которая проверяет корректность ввода.

Гоша Александрович пишет:

 цитата:
)(*&^%$

К сожалению это так Но сомневаюсь что кто то их будет нажимать. Просто не заметил этот глюк.
Гоша Александрович пишет:

 цитата:
wParam>=96

надо wParam>=97 (см таблицу ASCII в инструментах PureBasic)

Да и ещё, цифры от 0 до 9 имеют коды 48...57 они тоже нужны.
Кнопки со стрелками, перемещающие курсор имеют коды 37...40

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 33
Зарегистрирован: 21.10.07
Откуда: Россия, Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 23.01.08 10:56. Заголовок: Пётр программа хорош..


Пётр программа хорошая, но невозможен ввод цифр с NumLock

Rimsky Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 517
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 23.01.08 12:24. Заголовок: Rimsky пишет: невоз..


Rimsky пишет:

 цитата:
невозможен ввод цифр с NumLock

Потому что происходит проверка кодов клавиш на низовом уровне, где не различаются строчные и прописные буквы раскладка клавиатуры и т. д.

Коды всех кнопок клавиатуры можно узнать при помощи этой программы.

OpenWindow(0,0,0,230,150,"", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0,10,10,210,130,#PB_Editor_ReadOnly )
Repeat
Event=WaitWindowEvent()
If Event=#WM_KEYDOWN ; Была нажата кнопка
AddGadgetItem(0,-1,Str( EventwParam() )) ; Помещаем её код в редактор
SendMessage_(GadgetID(0),#EM_SETSEL,10000,1000) ; Прокрутка текста
EndIf
Until Event=#PB_Event_CloseWindow


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 34
Зарегистрирован: 21.10.07
Откуда: Россия, Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 23.01.08 12:34. Заголовок: Пётр Потому что прои..


Пётр
 цитата:
Потому что происходит проверка кодов клавиш на низовом уровне, где не различаются строчные и прописные буквы раскладка клавиатуры и т. д.


Спасибо за разъяснения. Но я не очень (мягко говоря) силён в PureBasic, поэтому оцениваю прогу как Юзер.

Rimsky Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 518
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 23.01.08 14:39. Заголовок: Да тут кроме того ну..


Да тут кроме того нужно хорошо разбиратся в API функциях чтобы работать на низовом уровне.
К сожалению в API я разбираюсь не очень хорошо, вот и происходят подобного рода ошибки.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 22
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 23.01.08 23:53. Заголовок: Петр, я дополнил стр..


Петр, я дополнил строчки в процедуре KeyboardProc(nCode, wParam, lParam) как писал в предыдущем сообщении ССЫЛКА ДЛЯ СКАЧИВАНИЯ . Теперь можно вводить с цифровой клавиатуры. Или так нельзя делать?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 523
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 24.01.08 11:05. Заголовок: Гоша Александрович п..


Гоша Александрович пишет:

 цитата:
Или так нельзя делать

Так делать можно только благодаря тому, что коды при включенном и выключеном Num Lock разные.
А вот с этим
Гоша Александрович пишет:

 цитата:
И еще. Заметил что в вашем конвертере в HEX и DEC строку вводятся символы )(*&^%$ и другие.

справится сложнее, поскольку коды кнопок 0-9 основного поля клавиатуры при нажатой и отпушеной кнопке Shift одинаковы

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия