Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Delphi

Выпуск № 121
от 02.01.2003, 19:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 390
Отправлено ответов: 752
Активность: 192.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Jadd
Статус: Профессиональный
Общий рейтинг: 144.97
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.59
URL: Пристанище неодинокого программиста
[Подробней >>]
Vadim
Статус: Опытный
Общий рейтинг: 146.09
[Подробней >>]
 
Melkor
Статус: Доверительный
Общий рейтинг: 128.43
[Подробней >>]
Idle Sign
Статус: Опытный
Общий рейтинг: 149.77
URL: Blind Team
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 382. Приветствую вас! Хотелось бы узнать(и сделать то же самое) - может, кто знает, как сделана, например... (ответов: 1)
Вопрос № 383. Прочитал я недавно о чат-клиенте miranda. Так вот сама программа весит несколко десятков килобайт и ... (ответов: 2)
Вопрос № 384. Так вот у меня есть три функции Теперь как мне их перенести в отдельный файл, и уже из него вызыват... (ответов: 2)
Вопрос № 386. Доброго всем времени суток! Меня интересует можно ли через реестр виндовс (или есть какой компонент)... (ответов: 4)

Вопросов: 4, ответов: 9


 Вопрос № 382

Приветствую вас! Хотелось бы узнать(и сделать то же самое) - может, кто знает, как сделана, например, во FlashGet такая штука. Когда FlashGet запущен, при копировании в clipboard в любой проге он перехватывает это сообщение и копирует себе куда надо. Необязательно сидеть в трее(как FlashGet), например, моя прога просто запущена и ждёт, пока где-нибудь кто-нибудь не скопирует что-нибудь в буфер обмена. Хотел сделать хуками, но их немного, а как поставить хук на произвольное сообщение, я не знаю. Спасибо!



Вопрос отправлен: 28.12.2002, 22:39
Отправитель: undying

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Здравствуйте, undying!
Знаешь, программер только тогда программер, когда сам копает. Так вот. В винде характерна конструкция бесконечного циклв,в котором( в теле которого) идет проверка на что-либо. Хуки тут не при чем. Просто моно в бесконечном цикле (на С++ это выглядит как : for ( ; ; ) ).
Вот и все. Читайте больше про винду и ее внутренний мир, а лучше копайте сами.

Ответ отправлен: 29.12.2002, 01:24
Отправитель: Jadd


 Вопрос № 383

Прочитал я недавно о чат-клиенте miranda. Так вот сама программа весит несколко десятков килобайт и имеет пару функций, все остальные функции берутся из подключаемых плагинов! Программа ищет Dll файл в папке plugins. !Подключает найденные файлы! //это при том, что я незнаю сколько их. Затем выполняет заданную функцию или процедуру (ну например start). Например создает на главной форме кнопку и событием этой кнопки резервирует функцию из dll, buttonstart например. Ведь при использовании такой технологии у приложения появляется гибкость. А вот как мне это все сделать я не знаю. ПОМОЖЫТЕ ЛЮДИ ДОБРЫЕ :) только с примером и комментариями, пожайлуста. Или хотя бы ссылочку на уже сущетвующую статью по данному вопросу дайте.



Вопрос отправлен: 29.12.2002, 08:40
Отправитель: pcgamer

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Добрый день, pcgamer!

Почитай документацию по написанию плагинов для FAR'a - поймёшь всю красоту внутреннего API программы.
А для работы с плагинами достаточно трёх функций:
LoadLibrary
GetProcAddress
FreeLibrary
и им подобных:
LoadLibraryEx
FreeLibraryAndExitThread
В приложении - маленький кусочек, получающий информацию о плагинах.

Приложение:

Ответ отправлен: 29.12.2002, 15:45
Отправитель: Артём Шегеда


Отвечает Jadd

Доброе время суток, pcgamer!
www.codenet.ru - тут есть статейки на сей счет.

Ответ отправлен: 30.12.2002, 02:11
Отправитель: Jadd


 Вопрос № 384


Так вот у меня есть три функции
Теперь как мне их перенести в отдельный файл, и уже из него вызывать эти процедуры. Делается это для того, чтобы не вставлять эти куски кода в главный модуль. Кстати, сделать все это надо не создавая дополнительную форму, в которой эти три процедуры будут написанны.
Я немножко глупо написал. Просто я уже туго соображаю. С 8:00 утра за Delphi сижу! :)
С уважением, Владимир mailto: pcgamer@mail.ru


Приложение:


Вопрос отправлен: 29.12.2002, 16:35
Отправитель: pcgamer

[Следующий вопрос >>] [Список вопросов]

Отвечает Vadim

Доброе время суток, pcgamer!
1. Создаешь дополнительный модуль, например U1.PAS.
2. В раздел interface заносишь заголовки этих процедур.
3. В разделе implementation описываешь сами процедуры.
4. В том модуле, где ты их собираешся применять, после Uses заносишь название модуля с процедурами, типа:
Uses Windows, SysUtils, ... , U1;
5. Наслаждайся :)).
Создать новый модуль без формы можно с помощью меню: File -> New -> Unit


Ответ отправлен: 02.01.2003, 14:28
Отправитель: Vadim


Отвечает Jadd

Доброе время суток, pcgamer!
дык по всем правилам модульного программинга на Паскале. Создаешь новый текстовый файл. В заголовке пишешь unit. Дальше так же как и в любом модуле дельфей. Все. В главной проге в разделе uses вставляешь имя модуля и далее по правилам.

Ответ отправлен: 30.12.2002, 01:50
Отправитель: Jadd


 Вопрос № 386

Доброго всем времени суток!
Меня интересует можно ли через реестр виндовс (или есть какой компонент) поменят функции для кнопок мыши (по возможности и для дополнительных если такие имеются), если да то как?
-------------------------------------------------------
Заранее благодарен!!!



Вопрос отправлен: 30.12.2002, 19:25
Отправитель: MystiX

[Следующий вопрос >>] [Список вопросов]

Отвечает Melkor

Доброе время суток, MystiX!
Есть там в реестре такие записи (HKEY_CURRENT_USERControl PanelMouse), а в Delphi есть такой компонент TRegistry в модуле Registry, его можно в Helpe найти, там все просто.

Ответ отправлен: 30.12.2002, 23:16
Отправитель: Melkor


Отвечает Vadim

Добрый день, MystiX!
Можно, но не через реестр. Потому-что фирмы производители мышей, типа NetScroll+, запускают специальную прогу, которая перехватывает прерываения от мышек и дальше делает все, согласно настроек.
По поводу реестра, можно покопаться на сайтах типа www.registrysecrets.com или подобных (есть и русские, но названий я не помню, поищи в google).
А тебе нужно, чтобы функции кнопок поменялись в твоей проге или в самой виндоус? Если первое, то реестр тебе, однозначно, не нужен. Для этого есть OnMouseDown и OnMouseUp, в которых и пишешь необходимые действия. Либо перехватываешь прерывания от мышки.


Ответ отправлен: 02.01.2003, 14:29
Отправитель: Vadim


Отвечает Jadd

Приветствую Вас, MystiX!
А зачем через реестр? Ты понял в какую рассылку ты написал? Просто определяешь события мыши для главного окна формы. А что тебе еще надо?

Ответ отправлен: 31.12.2002, 01:01
Отправитель: Jadd


Отвечает Idle Sign

Добрый день, MystiX!
===== Pro bono publico, no bloody panico! =====
Вопрос не совсем понятен, однако:
Через реестр нельзя.
Это делается установкой хука на событие.

С Новых годом!



Ответ отправлен: 31.12.2002, 06:51
Отправитель: Idle Sign



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (38)
C / C++ (27)
Perl (4)
Delphi (20)
Pascal (22)
Basic / VBA (10)
Java / JavaScript (7)
PHP (3)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (33)
Windows NT/2000/XP (25)
"Железо" (29)
Поиск информации (16)
Администратору
Windows NT/2000/XP (10)
Linux / Unix (15)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (4)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное