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

RusFAQ.ru: Программирование на C / C++


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

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 316
от 05.02.2006, 11:54

Администратор:Калашников О.А.
В рассылке:Подписчиков: 259, Экспертов: 43
В номере:Вопросов: 3, Ответов: 5


Вопрос № 34415: Здравствуйте, господа эксперты! У меня такая задача. Нужно во время исполнения получить по имени (строке) указатель на функцию. Это имя функции на этапе компиляции не известно, оно получается в процессе разбора полей структуры. Есть только набор ...
Вопрос № 34425: Пишу программку в BCB6. возник вопрос - как можно программно узнать параметры мыши, а именно скорость движения указателя? мне надо чтоб некий объект двигался по форме (по прямой) со скорость мыши (если б мышь его перемещала). двигать пред...
Вопрос № 34465: Как в C/C++ (cgi) прочитать данные посланные POST например из такой формы <form action="?act=send" method="POST"> <input type="text" name="login"> <input type="text&qu...

Вопрос № 34.415
Здравствуйте, господа эксперты!
У меня такая задача. Нужно во время исполнения получить по имени (строке) указатель на функцию. Это имя функции на этапе компиляции не известно, оно получается в процессе разбора полей структуры. Есть только набор кодов функций с одинаковым списком входящих параметров и возвращаемым значением. Этот набор функций надо откомпилировать и каким-то образом получать к ним доступ по имени во время исполнения. Есть ли такая возможность в компиляторе или линковщике? Или это всё-таки возможно средствами языка? Я использую Интловский компилятор, а линкуюсь под Windows и Linux.
Отправлен: 30.01.2006, 14:12
Вопрос задал: Skolod (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Straight
Здравствуйте, Skolod!
Попробуйте откомпилить в dll, а потом подключать в процессе исполнения.
HMODULE dll = LoadLibrary("mylib.dll");
void * proc = GetProcAddress(dll,"funcname");
Ответ отправил: Straight (статус: 6-ой класс)
Отправлен: 30.01.2006, 14:28


Вопрос № 34.425
Пишу программку в BCB6.
возник вопрос - как можно программно узнать параметры мыши, а именно скорость движения указателя?
мне надо чтоб некий объект двигался по форме (по прямой) со скорость мыши (если б мышь его перемещала).
двигать предмет с некой скоростью не проблема, а вот как узнать скорость?

Зарание спасибо.
Отправлен: 30.01.2006, 17:45
Вопрос задал: PROD (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Tigran K. Kalaidjian
Здравствуйте, PROD!
Поставьте таймер и следите за перемещениями мыши, т.е. за сообщением WM_MOUSEMOVE:

WM_MOUSEMOVE
fwKeys = wParam; // key flags
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor


Parameters

fwKeys

Value of wParam. Indicates whether various virtual keys are down. This parameter can be any combination of the following values:

Value Description
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.


xPos

Value of the low-order word of lParam. Specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

yPos

Value of the high-order word of lParam. Specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
---------
aqua nostra ignis est
Ответ отправил: Tigran K. Kalaidjian (статус: Профессионал)
Отправлен: 30.01.2006, 18:24


Вопрос № 34.465
Как в C/C++ (cgi) прочитать данные посланные POST

например из такой формы
<form action="?act=send" method="POST">
<input type="text" name="login">
<input type="text" name="passwd">
<input type="submit" value="вход">
</form>
Отправлен: 31.01.2006, 08:40
Вопрос задал: MaxMMA (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Guka
Здравствуйте, MaxMMA!
Тебе нужно использовать функцию getenv, вот её описание:
char *getenv( const char *varname );
Входным параметром для неё являются переменные окружения. Возвращает значение этой переменной.
Для запроса POST нужно использовать CONTENT_LENGTH.
Последовательность действий примерно такая (в приложении):

Приложение:

Ответ отправил: Guka (статус: 1-ый класс)
Отправлен: 31.01.2006, 09:38

Отвечает: Straight
Здравствуйте, MaxMMA!

Хочу заметить, что в CONTENT_LENGTH данных формы отродясь не бывало. Там хранится длина данных. А сами данные при посте передаются на стандартный вход.
Ответ отправил: Straight (статус: 6-ой класс)
Отправлен: 31.01.2006, 10:12
Оценка за ответ: 5

Отвечает: Лучников Юрий Владимирович
Здравствуйте, MaxMMA!
В форме заполняются значения ее полей , которые должны быть переданы в программу CGI. В вашей странице параметр ACTION команды FORM принимает одно из 2 значений: GET или POST.
Метод GET предполагает передачу данных программе CGI с использованием переменной среды с названием QUERY_STRING. Данные находятся в следующем формате:

Имя1=Значение1&Имя2=Значение2&...ИмяN=ЗначениеN

Здесь в качестве имен используются значения параметров NAME, задающие имена полей формы.
Метод POST предполагает передачу данных программе CGI через стандартный поток ввода STDIN.

--
Hint: Существует очень удобная C-библиотека для написания c-cgi приложений:
cgic - ANSI C библиотека для создания CGI-Web приложений. >br>Возможности: >br> Обработка данных формы с разбором и коррекцией. Понимает GET и POST. Поддерживает строки, целые числа, и числа с плавающей запятой. Обеспечивает контроль границ для числовых параметров.
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 31.01.2006, 12:18


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

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

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное