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

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


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

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

Выпуск № 538
от 21.07.2006, 11:35

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


Вопрос № 49184: Подскажите: с помощью каких функций можно контроллировать траффик? Если можно пример или ссылку....
Вопрос № 49224: Здравствуйте. Как в Delphi, работая с сервер-клиент приложением, зная имя компьютера в сети (сервера), получить его ip адрес? Спасибо....
Вопрос № 49248: Здравствуйте. Такая проблема: нужно в отдельном потоке запустить такой код ShellExecute(GetDesktopWindow(), 'open', PChar('что-то тут'), nil, nil, SW_SHOWNORMAL). Пытался сам разобраться, не получилось. Так что если нетрудно исходничек с коммента...

Вопрос № 49.184
Подскажите: с помощью каких функций можно контроллировать траффик?
Если можно пример или ссылку.
Отправлен: 15.07.2006, 13:12
Вопрос задал: MasterZ (статус: 5-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mashin
Здравствуйте, MasterZ!
http://www.delphimaster.ru/articles/netmon/index.html
Здесь и описание функции и пример.
Ответ отправил: Mashin (статус: 1-ый класс)
Ответ отправлен: 15.07.2006, 19:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо, очень хорошая статья.

Отвечает: aaqs
Здравствуйте, MasterZ!
Посмотрите готовый пример (см прил)

Приложение:

Ответ отправил: aaqs (статус: 5-ый класс)
Ответ отправлен: 17.07.2006, 09:07


Вопрос № 49.224
Здравствуйте. Как в Delphi, работая с сервер-клиент приложением, зная имя компьютера в сети (сервера), получить его ip адрес? Спасибо.
Отправлен: 15.07.2006, 20:53
Вопрос задал: Сергей Николаевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Сергей Николаевич!

Почитайте это и вот это, по-моему, это то, что Вам нужно.

Удачи!!!
---------
Ответы на все вопросы - на сайте www.ya.ru
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 16.07.2006, 11:29

Отвечает: Томша Павел
Здравствуйте, Сергей Николаевич!
В приложении программа - пример преобразования IP адреса в Host имя, и обратно, а также работа с DNS адресом

Приложение:

Ответ отправил: Томша Павел (статус: 1-ый класс)
Ответ отправлен: 16.07.2006, 11:44


Вопрос № 49.248
Здравствуйте.
Такая проблема: нужно в отдельном потоке запустить такой код ShellExecute(GetDesktopWindow(), 'open', PChar('что-то тут'), nil, nil, SW_SHOWNORMAL). Пытался сам разобраться, не получилось. Так что если нетрудно исходничек с комментариями.
Отправлен: 16.07.2006, 00:53
Вопрос задал: Dimon007 (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Савенко Вадим Иванович
Здравствуйте, Dimon007!
Информацию о потоках Вы можете найти здесь:
http://uchenik.vofka.ru/index.php?dpt=3&CID=3&ID=24
http://callipso.bestcode.org/delphi/artical/num2.html
Ответ отправил: Савенко Вадим Иванович (статус: 4-ый класс)
Ответ отправлен: 16.07.2006, 07:40

Отвечает: Томша Павел
Здравствуйте, Dimon007!
Для запуска внешней программы, для посылки письма или для создания ссылки на сайт вам понадобиться всего одна функция ShellExecute, которая описывается в модуле ShellAPI - не забудьте подключить его в uses.

Этой функции нужно указать несколько параметров:

Дескриптор родительского окна
Выполняемое действие. Этот параметр может принимать следующие значения "open", "print", "explore" - соответственно открытие, печать или исследование. Можно указывать nil - тогда будет выполняться действие по умолчанию - "open".
Имя файла или папки, или e-mail, или URL
Параметры
Каталог по умолчанию
Способ вывода окна. В качестве значения можно указать:
SW_HIDE Скрывает окно и активизирует другое.
SW_MAXIMIZE Разворачивает окно.
SW_MINIMIZE Сворачивает окно.
SW_RESTORE Активизирует и выводит окно. Если окно было развёрнуто или свёрнуто - восстанавливает исходный размер и позицию.
SW_SHOW Активизирует и выводит окно с его оригинальным размером и положением.
SW_SHOWDEFAULT Активизирует с установками, заданными в структуре STARTUPINFO, которая была передана при создании процесса приложением запускающим нужную программу.
SW_SHOWMAXIMIZED Выводит окно в развёрнутом виде.
SW_SHOWMINIMIZED Выводит окно в виде пиктограммы на панели задач.
SW_SHOWMINNOACTIVE Выводит окно в свёрнутом виде на панели задач и не передаёт ему фокус ввода, т.е. окно, которое до этого было активно остаётся активно по прежнему.
SW_SHOWNA Отображает окно в его текущем состоянии. Активное окно остаётся активным по прежнему.
SW_SHOWNOACTIVATE Выводит окно в его последнем положении и с последними используемыми размерами. Активное окно остаётся активным по прежнему.
SW_SHOWNORMAL Выводит окно. Если оно было свёрнуто или развёрнуто - восстанавливает его оригинальные размеры и позицию.

Примеры:
// Запуск файла
ShellExecute(Handle, nil, 'c:windowscalc.exe', nil, nil, SW_SHOW);

// Просмотр каталога
ShellExecute(Handle, nil, 'c:windows', nil, nil, SW_SHOW);

// Ссылка на сайт
ShellExecute(Handle, nil, 'http://www.site.ru', nil, nil, SW_SHOW);

// Послать E-mail
ShellExecute(Handle, nil, 'mailto:DelphiWorld@mail.ru', nil, nil, SW_SHOW);
Ответ отправил: Томша Павел (статус: 1-ый класс)
Ответ отправлен: 16.07.2006, 11:32

Отвечает: Степанов Сергей Игоревич
Здравствуйте, Dimon007!

Из MSDN:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);

Соответственно 3-й параметр это файл или папка которую вы хотите открыть...
Пример тоже из MSDN:
To open a folder, use either of the following calls:
ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
or
ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To explore a folder, use:
ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To launch the Shell's Find utility for a directory, use:
ShellExecute(handle, "find", path_to_folder, NULL, NULL, 0);

Ответ отправил: Степанов Сергей Игоревич (статус: 1-ый класс)
Ответ отправлен: 16.07.2006, 20:44

Отвечает: Антонов Никита Вячеславович
Здравствуйте, Dimon007!

Непонятно, как это "в отдельном потоке", если я не ошибаюсь, выполняя эту функцию вы открываете программу, а для неё в системе выделяется один (или больше) потоков.

К потоку вашей программы, вызывающей эту функцию вроде как не имеет отношения, или не прав?
---------
Прежде чем идти к цели, подумай, стоит ли она того
Ответ отправил: Антонов Никита Вячеславович (статус: 2-ой класс)
Ответ отправлен: 16.07.2006, 21:46


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное