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

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


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

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

Выпуск № 386
от 15.02.2006, 08:18

Администратор:Калашников О.А.
В рассылке:Подписчиков: 252, Экспертов: 55
В номере:Вопросов: 6, Ответов: 17


Вопрос № 35065: Кто нибудь знает о применении регулярных выражений в делфи? ...
Вопрос № 35081: Здравствуйте, уважаемые эксперты. Меня интересует следующий вопрос: как с помощью Delphi подключиться к событиям WebBrowser'а? Например, как можно узнать какая кнопка нажата в веб-форме, или на какую ссылку нажал пользователь. Заранее спа...
Вопрос № 35105: Осваиваю дельфу. Делаю чат для локалки. Вопрос такой. Как делсть чтобы в окошке отображался список людей у которых запущена тоже программа. например я запустил, у меня список пуст. Как только кто-то еще запустил программу. в его списке появился я, а ...
Вопрос № 35111: Здравствуйте господа программисты. Как убрать из заголовка формы кнопку Maximize. Заранее благодарен....
Вопрос № 35114: На форме 2 панели, между ними Сплиттер, хочу двигать Сплиттер программно. Кто может подсказать как?...
Вопрос № 35127: Здравствуйте ! Подскажите, пожалуйста, как управлять отдельными линиями СОМ-порта (устанавливать / сбрасывать и просто читать состояние) из Windows NT для управления своим не стандартным устройством ? За ранее благодарю, Геннадий....

Вопрос № 35.065
Кто нибудь знает о применении регулярных выражений в делфи?
Отправлен: 09.02.2006, 08:20
Вопрос задал: KuchumHan (статус: 9-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгения
Здравствуйте, Vbhjndjhtw!

может тут чего интересного найдешь по своему вопросу:
http://regexpstudio.com/ru/TRegExpr/Help/regexp_syntax.html
Ответ отправила: Евгения (статус: 1-ый класс)
Отправлен: 09.02.2006, 09:14
Оценка за ответ: 5
Комментарий оценки:
Вы просто прелестьи намного умнее некоторых типа экспертов.

Отвечает: sir henry
Здравствуйте, Vbhjndjhtw!
Вот, например, есть неплохая статья:
http://delphi.olympus.ru/dk/mastering/strings_birds_eye_view.htm
Компонент для работы с регулярными выражениями можно взять тут:
http://regexpstudio.com/RU/
бесплатный. :)
Ответ отправил: sir henry (статус: Академик)
Отправлен: 09.02.2006, 12:15
Оценка за ответ: 5

Отвечает: Diman_A
Здравствуйте, Vbhjndjhtw!
Посмотри: http://delphiworld.narod.ru/base/regular_expressions.html
Ответ отправил: Diman_A (статус: 5-ый класс)
Отправлен: 10.02.2006, 10:52


Вопрос № 35.081
Здравствуйте, уважаемые эксперты.
Меня интересует следующий вопрос: как с помощью Delphi подключиться к событиям WebBrowser'а?
Например, как можно узнать какая кнопка нажата в веб-форме, или на какую ссылку нажал пользователь.
Заранее спасибо за ответы.
Отправлен: 09.02.2006, 13:25
Вопрос задал: Ataman N. N. (статус: 6-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Leshiy2006
Здравствуйте, Ataman N. N.! Поточнее пожалуйста! Вы WebBrowser сами пишите или он уже есть
если есть то Вам надо воспользоваться Hook'ами подробнее на Delphiworld.narod.ru, а если свой, то частично поможет функция OnBeforeNavigate2(URL)
Удачи!
Ответ отправил: Leshiy2006 (статус: 1-ый класс)
Отправлен: 09.02.2006, 22:34
Оценка за ответ: 4
Комментарий оценки:
Что такое Hook, я знаю. Webrowser я использую Delphi'йский. Если я не ошибаюся, то событие OnBeforeNavigate2(URL) наступает после нажатия на ссылку, а мне нужно, чтобы при наведении на ссылку, можно было узнать куда эта ссылка.

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Ataman N. N.!

Довольно полезный материал:
http://worldcpp.vingrad.ru/network/, подраздел IEexplorer.
Исходники и примеры на С++. Если вы его знаете - то без проблем портируете идею на Delphi, если нет, то извиняйте.

Успехов;)
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 09.02.2006, 23:10
Оценка за ответ: 5
Комментарий оценки:
Огромнейшее Вам человеческое спасибо. Я так давно ждал этот ответ. Вы мне очень помогли.


Вопрос № 35.105
Осваиваю дельфу. Делаю чат для локалки. Вопрос такой. Как делсть чтобы в окошке отображался список людей у которых запущена тоже программа. например я запустил, у меня список пуст. Как только кто-то еще запустил программу. в его списке появился я, а в моем автоматически появислся он.
Отправлен: 09.02.2006, 21:04
Вопрос задал: Kostya (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: LanK
Здравствуйте, Kostya!

Простой час есть у самой дельфи:
C:Program FilesBorlandDelphi5DemosInternetChat
C:Program FilesBorlandDelphi7DemosInternetNetChat

Чтобы сделать как Вы хотите, должен быть СЕРВЕР который будет собственно отслеживать - запущена программа или нет.

Т.е. если пользователь запустил прогу - она должна сообщить серверу. Он же в свою очередь должен периодически опрашивать - запущено ли еще приложение? Потому как могли и сбросить.

Ну а пользователь должен брать список с сервера...

P.S. Сервер это имеется ввиду комп на которм установлена программа чат-сервер.

В общих чертах так.
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: 6-ой класс)
Отправлен: 10.02.2006, 11:12

Отвечает: sir henry
Здравствуйте, Kostya!
Я бы разделил чат на серверную и клиентскую часть. Серверная будет передавать клиентам сообщения и хранить список чатлан. Соответственно в этом списке (таблице) будет проставлена галка - активен чатланин или отрубился. По запросу клиента будет высылатся список тех, кто в сети.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.02.2006, 18:57


Вопрос № 35.111
Здравствуйте господа программисты. Как убрать из заголовка формы кнопку Maximize. Заранее благодарен.
Отправлен: 09.02.2006, 22:53
Вопрос задал: Leshiy2006 (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: REFERI
Здравствуйте, Leshiy2006!
Вот так можно убрать из заголовка формы кнопку maximize и minimize тоже.

procedure TForm1.FormCreate(Sender: TObject);
var
l: DWORD;
begin
l := GetWindowLong(Self.Handle, GWL_STYLE);
l := l and not (WS_MINIMIZEBOX);
l := l and not (WS_MAXIMIZEBOX);
l := SetWindowLong(Self.Handle, GWL_STYLE, l);
end;

Вообще можно поступить проще - не убрать кнопку, на деактивизировать ее. Для этого служит свойство формы BorderIconns.
Удачи в кодинге!
---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Практикант)
Отправлен: 09.02.2006, 23:14
Оценка за ответ: 4
Комментарий оценки:
Работает, но не совсем!

Отвечает: Denisss

Здравствуйте, Leshiy2006!

Убрать кнопку максимизации (именно убрать, а не отключить) можно только если убрать вместе с ней и кнопку минимизации.
Для этого можно:
1. Подредактировать свойство формы BorderStyle и выбрать, например, значение bsDialog
2. Подредактировать свойство формы BorderIcons и установить biMaximize и biMinimize равными False

Один из способов оставить только кнопки закрытия и сворачивания, так это убрать обе эти кнопки, поставить Borderstyle="bsNone," создать собственный заголовок с собственными кнопками закрытия, минимизации.

Если Вам надо только отключить кнопку максимизации, то Вам надо установить свойство BorderIcons.biMaximize = False

Удачи!
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 10.02.2006, 00:43
Оценка за ответ: 3
Комментарий оценки:
Это понятно.

Отвечает: Ataman N. N.
Здравствуйте, Leshiy2006!
У формы есть свойство BorderIcons.
Если выставить biMaximize=false, то соответствующая кнопка исщезнет.
Ответ отправил: Ataman N. N. (статус: 6-ой класс)
Отправлен: 10.02.2006, 16:56
Оценка за ответ: 2
Комментарий оценки:
Я же просил убрать, а не отключить

Отвечает: sir henry
Здравствуйте, Leshiy2006!
Нет ничего проще:
В свойстве формы CorderIcons поставьте biMaximize в False. Там же можно убрать и остальные кнопки.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.02.2006, 19:10
Оценка за ответ: 3
Комментарий оценки:
Мне надо её совсем убрать а не сделать недоступной


Вопрос № 35.114
На форме 2 панели, между ними Сплиттер, хочу двигать Сплиттер программно. Кто может подсказать как?
Отправлен: 09.02.2006, 23:10
Вопрос задал: Злоумышленник (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Злоумышленник!

В зависимости от свойства Align объекта TSplitter двигаем сплиттер, изменяя свойство Height или Width.

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 09.02.2006, 23:33

Отвечает: Denisss

Здравствуйте, Злоумышленник!

Я понял так:
- У Вас на форме стоит панель, у которой в свойстве Align установлено: alRight, alLeft, alTop или alBottom (Назовем ее Panel1);
- На форме стоит Splitter c таким же значением Align, как и у Panel1
- На форме стоит панель, у которой свойство Align = alClient (Panel2)

Итак, чтобы поменять позицию Splitter'a, Вам нужно менять значения свойств Panel1.Width, если сплиттер вертикальный и Panel1.Height, если сплиттер горизонтальный

Удачи!
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 10.02.2006, 00:51
Оценка за ответ: 5
Комментарий оценки:
Я так и делал, просто хотелось проще через сплиттер

Отвечает: Ерёмин Андрей
Здравствуйте, Злоумышленник!
Сам Splitter сдвинуть нельзя, т.к. это противоречит его смыслу, т.е. свойства Left и Top использовать бесполезно. Изменить его позицию (и, как следствие, размеры разделяемых объектов) можно только одним способом - вручную изменить размеры эти объектов (Width или Height), а Splitter переместится самостоятельно и второй объект также изменит свои размеры.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 10.02.2006, 13:17
Оценка за ответ: 5
Комментарий оценки:
Похоже, это так...


Вопрос № 35.127
Здравствуйте !
Подскажите, пожалуйста, как управлять отдельными линиями СОМ-порта (устанавливать / сбрасывать и просто читать состояние) из Windows NT для управления своим не стандартным устройством ?
За ранее благодарю, Геннадий.
Отправлен: 10.02.2006, 08:13
Вопрос задал: Geb2003 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Geb2003!
По адресу http://worldcpp.vingrad.ru/system/ в подразделе Ввод/Вывод находится то, что вам нужно, правда на С++ (что не удивительно - системное программирование зачастую связано с С++). Если вы знаете данный язык, то использовать материал в практических целях для вас труда не составит, если нет, то извиняйте. Но материал стоит внимания;)

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 10.02.2006, 17:36
Оценка за ответ: 4

Отвечает: sir henry
Здравствуйте, Geb2003!
Найдите на www.torry.net специальный компонент для работы с COM-портом. Там их куча, поэтому не хочу советовать что-то определенное. Выбирайте любой, главное проверьте в описании, работает ли этот компонент в NT.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.02.2006, 19:20
Оценка за ответ: 4

Отвечает: Маренич Владимир
Здравствуйте, Geb2003!

Используйте WinAPI, если не хотите на C (SDK) писать "дрова" для Вашего устройства. Посмотрите HELP Win32s Programmer's Reference:
CreateFile
ReadFile
WriteFile
GetCommState
SetCommState
GetCommTimeouts
SetCommTimeouts
SetCommMask
EscapeCommFunction
PurgeComm
и др. из этого раздела
Ответ отправил: Маренич Владимир (статус: 10-ый класс)
Отправлен: 11.02.2006, 19:00
Оценка за ответ: 4


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

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

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

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

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


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


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

В избранное