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

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


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

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

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

Выпуск № 180
от 15.07.2005, 16:00

Администратор:Калашников О.А.
В рассылке:Подписчиков: 218, Экспертов: 34
В номере:Вопросов: 2, Ответов: 9


Вопрос № 23282: Здраствуйте уважаемые эксперты. Это продолжение вопроса номер 23195 про IP, чтото у меня ничего неполучилось, помогите пожалуйста еще раз и приведите более подробное описание и примеры, а то я совсем не могу разобратся с етим IP. Буду очень благодаре...
Вопрос № 23296: Как можно сделать разный курсор на одной форме. Верхняя - один вид курсоры. Нижняя - другой вид курсора. И можно ли в ресурсе создать несколько курсоров....

Вопрос № 23.282
Здраствуйте уважаемые эксперты. Это продолжение вопроса номер 23195 про IP, чтото у меня ничего неполучилось, помогите пожалуйста еще раз и приведите более подробное описание и примеры, а то я совсем не могу разобратся с етим IP. Буду очень благодарен за точный ответ. Заранее спасибо.
Отправлен: 10.07.2005, 00:04
Вопрос задал: Станислав (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Tsechoev Bagaudin
Здравствуйте, Staskin!
procedure TForm1.Button1Click(Sender: TObject);
var
IP, NM: String;
begin
IP:= IdIPWatch1.LocalIP;
NM:= IdIPWatch1.LocalName;
end;

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 7-ой класс)
Отправлен: 10.07.2005, 01:14
Оценка за ответ: 5

Отвечает: Denisss
Здравствуйте, Staskin!
Привожу Вам пример GetIP из книги "Delphi глазами Xakepa".
Находит до 4-х IP адресов компьютера (ну, мало ли там откуда их столько).

На форме лежат 4 Tedit'a и одна кнопка, при нажатии на которую в Edit'ы выводятся IP-адреса.

Приложение:

Ответ отправил: Denisss (статус: 9-ый класс)
Отправлен: 10.07.2005, 11:30
Оценка за ответ: 5

Отвечает: xXx
Здравствуйте, Staskin!
Я уже отвечал тебе на этот вопрос, попробую разлажить все по полкам.
Во первых на форме два компонента Кнопка и Edit.
Во вторых добавляешь модуль WinSock в Uses: Uses WinSock;
В третьих в событии Кнопки пишешь следующее, смотри ниже код:

Приложение:

Ответ отправил: xXx (статус: 3-ий класс)
Отправлен: 10.07.2005, 12:26
Оценка за ответ: 5


Вопрос № 23.296
Как можно сделать разный курсор на одной форме.
Верхняя - один вид курсоры.
Нижняя - другой вид курсора.
И можно ли в ресурсе создать несколько курсоров.
Отправлен: 10.07.2005, 15:01
Вопрос задал: Serhik_z (статус: Посетитель)
Всего ответов отправлено: 6

Отвечает: Denisss
Здравствуйте, Serhik_z!
Расположите на форме несколько панелей (TPanel), укажите каждой из них свой курсор. Для верхней укажите, например, Alighment = alTop; для нижней Alighment = alClient;. Укажите bevel = bvNone; вот, в общем-то, и все :)

Второй вариант:
В событии формы OnMouseMove делайте проверку на y, т.е. если y<100 (например), то один курсор, иначе другой (в этом случае, курсор лучше устанавливать Screen.Cursor:= crXXXXXXX, где ХХХХХХХ - название курсора).
Ответ отправил: Denisss (статус: 9-ый класс)
Отправлен: 10.07.2005, 16:49

Отвечает: streetcat
Здравствуйте, Serhik_z!
это ж какой такой "разный" курсор?
Из всего вопроса я понял только последнюю строку ;)
В файл ресурса можно запихивать скоко хочешь курсоров, битмапов, иконок короче, любых файлов.
А насчет всего остального, переключение между курсорами делается с помощью объекта Screen:
Screen.Cursor := crHandPoint;
эта строка установит курсором указательный палец :)
для справки открой Delphi Help на странице "TCursor type"
---------
streetcat_x@yahoo.com
Ответ отправил: streetcat (статус: 7-ой класс)
Отправлен: 10.07.2005, 21:52

Отвечает: Malish
Здравствуйте, Serhik_z!

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if(Y>Form1.Height/2) then
Form1.Cursor:= crHourGlass
else
Form1.Cursor:= crHandPoint;
end;

Вообще можно сделать массив TCursor (тип курсор), и перебирать какие хочешь.
Подробнее о типе можно прочитать в хелпе Delphi (F1).
Ответ отправил: Malish (статус: Студент)
Отправлен: 11.07.2005, 00:37

Отвечает: Ballon
Здравствуйте, Serhik_z!

Смотри позицию курсора и меняй.
Ответ отправил: Ballon (статус: 3-ий класс)
Отправлен: 11.07.2005, 07:30

Отвечает: Jadd
Здравствуйте, Serhik_z!
В ресурсе? Можно. Только нужно создать собственный файл ресурсов и прикрепить таким же способом, как и ресурсный файл проекта, к проекту. Теперь ор смене курсора. Делается это так. Я приведу пример кода для верхнего участка формы. Для остальных делаешь по аналогии. Итак. Сначала определяем глобальную переменную типа TRect (у меня это rctTop). Дальше пишем:
procedure TForm1.FormCreate(Sender: TObject);
begin
rctTop.Top := 0;
rctTop.Left := 0;
rctTop.Right := Form1.Width;
rctTop.Bottom := rctTop.Top + 50;
end;

Я сделал по всей ширине формы. Ты делай как тебе надо, но учти изменения размеров формы. Затем. Нужно поймать момент, когда курсор будет находиться в этой области. Поэтому, пишем:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if PtInRect(rctTop, Point(X, Y)) then
Form1.Cursor := crHandPoint
else
Form1.Cursor := crDefault;
end;
Все. Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 11.07.2005, 10:18

Отвечает: Полищук Владислав Игоревич
Здравствуйте, Serhik_z!
Первое, что приходит в голву - это поместить на форму 2 панели (а на них все остальное), и для каждой из них задать свой тип курсора.
Второе - в обработчике OnMouseMove анализировать положение указателя мыши и менять курсор
С уважением, Владислав
---------
Чтобы вчера не случилось, радуйся новому дню
Ответ отправил: Полищук Владислав Игоревич (статус: 1-ый класс)
Отправлен: 11.07.2005, 11:32


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


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

В избранное