Вопрос № 41379: Расскажите пожалуйста, как поймать соощение о нажатии несистемной клавиши - неактивным окном. Заранее спасибо...Вопрос № 41404: Доброе время суток!
Нужно передать из делфи файл скрипту на сервере, через POST, подскажите как это можно сделать. Вроде бы TWebBrowser это умеет, но в хелпе про отправку данных через пост нет ничего кроме упоминания что это делать можно. По...Вопрос № 41423: Ув. эксперты, вопрос такой:
Как сделать чтобы в LISTBOX менялся цвет текста той строки, под которой находится указатель мыши?
Заранее спасибо....Вопрос № 41449: Вечер добрый господа. Будьте так любезны подскажите ответ.
Вот такой запрос (SELECT Str(([Мол1]))+'/'+Str((SELECT ([П_тел1]) FROM tb_Jivotn WHERE дата = :Todey)) FROM tb_Jivotn WHERE дата=[:Todey];) в среде Access работает без проблем, а в Delp...Вопрос № 41464: Меня интересует алгоритм составления лунного календаря. Помогите мне с ним разобраться. заранее спасибо...
Вопрос № 41.379
Расскажите пожалуйста, как поймать соощение о нажатии несистемной клавиши - неактивным окном. Заранее спасибо
Отправлен: 26.04.2006, 20:23
Вопрос задал: Steel (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Решетник Д
Здравствуйте, Steel!
Следует покопать в сторону "системных ловушек" - Hook
SetWindowsHook
WH_KEYBOARD
нужно установить глобальную ловушку на клавиатуру.
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 3-ий класс)
Ответ отправлен: 26.04.2006, 21:58
Отвечает: Аганов Дмитрий Анатольевич
Здравствуйте, Steel!
Если вам нужно перехватывать нажатие клавиш в системе, то см. http://delphiworld.narod.ru/base/hook_keys.html. А если нужно зарегистрировать системную горячую клавишу, то вот:
Создание системных горячих клавиш (ctrl+alt+F12):
RegisterHotkey(Handle, 1, mod_alt or mod_control, vk_f12);
Их обработка:
procedure TForm1.WMHotkey( var msg: TWMHotkey );
begin
if msg.hotkey = 1 then
begin
close;
BringToFront;
end;
end;
Не забудьте поместить procedure WMHotkey( var msg: TWMHotkey ); message WM_HOTKEY; в секцию private.
Нужно передать из делфи файл скрипту на сервере, через POST, подскажите как это можно сделать. Вроде бы TWebBrowser это умеет, но в хелпе про отправку данных через пост нет ничего кроме упоминания что это делать можно. Подскажите, как это реализовать.
Заранее благодарен!
Отправлен: 27.04.2006, 01:34
Вопрос задал: Nexus (статус: 4-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Bochvarov NikB
Здравствуйте, Nexus!
Вот, в приложение, а если хочеш вес проект - мьили :)
Приложение:
Ответ отправил: Bochvarov NikB (статус: 8-ой класс)
Ответ отправлен: 27.04.2006, 02:55 Оценка за ответ: 5 Комментарий оценки: Спасибо! буду пробовать...
Отвечает: AnD1
Здравствуйте, Nexus!
Сначало нужно сформировать урл запроса:
var
respose: string;
...
respose:='http://www.site.ru/script.cgi?parametr1=123?parametr2=qwerty?parametr3=123qwe';
затем с помощью TWebBrowser передать этот запрос скрипту:
WebBrowser1.Navigate (respose);
Если необходимо в параметрах скрипта передавать русские буквы, то нужно перекодировать этот текст, в "понятный" серверу (возможно это перекодирование и не понадобится). Перекодировать можно, напр. используя ф-ю в прил.
Приложение:
Ответ отправил: AnD1 (статус: 4-ый класс)
Ответ отправлен: 27.04.2006, 09:11 Оценка за ответ: 4 Комментарий оценки: Не, мне нужно передавать данные именно через POST, GET (в URL как ты предлагаешь) не подходит
Вопрос № 41.423
Ув. эксперты, вопрос такой:
Как сделать чтобы в LISTBOX менялся цвет текста той строки, под которой находится указатель мыши?
Отвечает: Рубан Николай Николаевич
Здравствуйте, Чернявский Александр!
После 15 минут экспериментов вот получился такой код:
Приложение:
--------- Мыслю - значит существую (Декарт)
Ответ отправил: Рубан Николай Николаевич (статус: 4-ый класс)
Ответ отправлен: 27.04.2006, 13:00 Оценка за ответ: 5 Комментарий оценки: СПАСИБО! - РАБОТАЕТ
Отвечает: nimoid
Здравствуйте, Чернявский Александр!
1. Создаешь глобальную переменную, например MouseAtItem: integer;
2. В обработчике ListBox-а на событие OnMouseMove пишешь такой код:
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
MouseAtItem := (Sender as TListBox).ItemAtPos(Point(X,Y), True);
end;
Это позволяет определить, под какой строкой находится мышка. Если строка пустая (пустая область), то значение будет -1.
3. В обработчике OnDrawItem делаешь проверку и закрашиваешь нужную строку
примерно так:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if Index = MouseAtItem then
begin
// закрашиваем в нужный цвет
end else
begin
// возвращаем остальным строкам общий фон
end;
end;
Вот так. Должно работать.
--------- Пишем баги на любые патчи :-]
Ответ отправил: nimoid (статус: 8-ой класс)
Ответ отправлен: 27.04.2006, 13:06 Оценка за ответ: 4 Комментарий оценки: Работает, если listbox перерисовывать :(
Вопрос № 41.449
Вечер добрый господа. Будьте так любезны подскажите ответ.
Вот такой запрос (SELECT Str(([Мол1]))+'/'+Str((SELECT ([П_тел1]) FROM tb_Jivotn WHERE дата = :Todey)) FROM tb_Jivotn WHERE дата=[:Todey];) в среде Access работает без проблем, а в Delphi не хочет сообщение(Неправильно определен объект параметр. Предоставлены несовместимые или неполные сведения) почему? Мне нужно чтоб так форматировалась строка. Подскажите если знаете.
Отвечает: Проходящий Мимо
Здравствуйте, Владимир Владимирович!
Попробуйте привести формат дат к виду #mm/dd/yyyy# со знаком #
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 2-ой класс)
Ответ отправлен: 27.04.2006, 14:30 Оценка за ответ: 3 Комментарий оценки: Вчера на досуге я всетаки нашел решение пришлось второй такойже параметр переименовать и вместо Str использовать Format вот так: SELECT Format(([Мол1]),"")+"/"+ Format((SELECT ([П_тел1]) FROM tb_Jivotn WHERE дата = :Todey),"") FROM tb_Jivotn WHERE дата = :Todey2; хотя в Access использовать два параметра с одним именем несоставляет труда. Спосибо
хоть кто нибуть откликнулся.
Вопрос № 41.464
Меня интересует алгоритм составления лунного календаря. Помогите мне с ним разобраться. заранее спасибо
Отправлен: 27.04.2006, 16:47
Вопрос задал: NC.Luther (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгения
Здравствуйте, NC.Luther!
Здесь я нашла наиболее подробную информацию о лунном календаре:
http://grigam.wallst.ru/kalend/kalen10.htm
А здесь находится календарь на 2006 год, Лунный новый год в 2006 году начался 29 января:
http://www.planet.org.ua/astronomy/Moon_calendar_2006.html
--------- Я не волшебник, я только учусь... А разве кто-то обещал, что будет легко?
Ответ отправила: Евгения (статус: 4-ый класс)
Ответ отправлен: 28.04.2006, 00:18