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

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


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

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

Выпуск № 727
от 04.02.2007, 20:05

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


Вопрос № 73202: Re: Вопрос по Delphi7 Компонент ListBox (Вкладка Standart): Задаю 4-е параметра (например 20,30,40,50). При выборе одного из них, должно выполняться определённое условие. Каким методом TListBox необходимо воспользоваться? В ComboLi...
Вопрос № 73231: 3. Как узнать текущую скорость соединения с Интернетом (ту, что отображается в трее при наведении на иконку курсора). Пример: 40 kb/s. У меня есть исходник делающий это, но я никак не могу разобратся как это сделать проще, уж слишком там всё запутано...
Вопрос № 73237: Здравствуйте, уважаемые эксперты. На форме лежат: DBGrid, DataSource, DBNavigator и Table с индексом по заданному полю. Все работает, до определенного момента. Но если вставить в то самое поле повторяющееся значение, то выскакивает исключение класса ...
Вопрос № 73248: Добрый день. Мой вопрос связан с работой Delhi 6 С oracle 8.1.7. При установке компонентов odac 60.dpk ( odac ODAC 3.60.1.43), выдается сообщение об ошибке " Cannot load package ' odac60'. It contains unit 'System,' which is al...
Вопрос № 73266: Здравствуйте, помогите пожалуйста определить netbios имя в локальной сети удалённого вопьютера по его Ip адресу. Netbios разрешён....

Вопрос № 73.202
Re: Вопрос по Delphi7

Компонент ListBox (Вкладка Standart):
Задаю 4-е параметра (например 20,30,40,50). При выборе одного из них, должно выполняться определённое условие. Каким методом TListBox необходимо воспользоваться?
В ComboList получается: if (ComboBox1.Text='20') then
p1:=0.2; и т.д.
Может ListBox так нельзя?

Заранее благодарен, Pruso
Отправлен: 30.01.2007, 00:02
Вопрос задал: Pruso (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Argyn.Durmagambetov
Здравствуйте, Pruso!
видимо вам нужны методы
1) OnKeyPress
2) OnClick (можете еще OnDblClick использовать)

в приложении пример...очень маленький :)
в OnKeyPress вам нужно отловить нажатие клавиш "вверх" "вниз" "влево" "вправо"
одним словом всех клавиш которые меняют выбранный элемент ListBox на другой

Приложение:

---------
Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ

Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 30.01.2007, 07:01
Оценка за ответ: 1
Комментарий оценки:
Мне не нужно менять элементы.
Необходимо при выборе эл-та, выполнять
определённое действие. В Combolist
так:
..........
if (combobox1.text='20')
then
p1:=0.2;
if(combobox1.text='30')
then
p2:=0.3
и т.д.
......
Можно ли также сделать и в ListBox?


Отвечает: Volhit
Здравствуйте, Pruso!
Воспользуйтесь ивентом TListBox.OnClick

В нем проверяйте ItemIndex, например:
-1: - ничего не выделено
0: - выделен первый итем и т.д.
Ответ отправил: Volhit (статус: 3-ий класс)
Ответ отправлен: 30.01.2007, 14:56
Оценка за ответ: 5
Комментарий оценки:
Я уже разобрался,но
всё равно спасибо


Вопрос № 73.231
3. Как узнать текущую скорость соединения с Интернетом (ту, что отображается в трее при наведении на иконку курсора). Пример: 40 kb/s. У меня есть исходник делающий это, но я никак не могу разобратся как это сделать проще, уж слишком там всё запутано. Также необходмо узнать сколько передано и сколько принято трафика.
P.S. Исходник упомянутый выше можно взять тут http://www.delphisources.ru/files/sources/internet/nettrafmonitor.zip Наиболее значимой частью вопроса является первая.
Отправлен: 30.01.2007, 09:01
Вопрос задал: Mark_by (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Mark_by!
Хороший вопорсец задали — пришлось просмотреть DelphiWorld, MSDN и ответ я смог найти только поискав в Яндексе и найдя его на delphikingdom.
Впрочем, после всего этого все равно пришлось опять читать MSDN.
Вообще, там очень много классных статей, но ужасный, на мой взгляд, поиск.

Делается через WinAPI
С помощью GetIfTable получите указатель на структуру _MIB_IFTABLE, в ней — массив записей типа _MIB_IFTABLE. На каждый модем и сетевую карточку, на которые установлены дрова (т.е. они нормально отображаются в диспетчере устройств) у вас будет под одной записи.
Это тоже структура и там есть поля:
DWORD dwType;
DWORD dwSpeed;
а также
DWORD dwInOctets;
DWORD dwInUcastPkts;
DWORD dwInNUcastPkts;
и
DWORD dwOutOctets;
DWORD dwOutUcastPkts;
DWORD dwOutNUcastPkts;
Я так понимаю, что то, что обычно отображается в информации по соединению, это:

  • dwSpeed — скорость соединения

  • CTypes[dwType] — тип соединения { массив см. в приложении }

  • dwInUcastPkts + dwInNUcastPkts — кол-во принятых пакетов

  • dwOutUcastPkts + dwOutNUcastPkts — кол-во переданных пакетов

Строго говоря, это данные сетвого интерфейса, но не интернет-соединения... Впрочем, насколько я понимаю, Windows выдает именно эти данные, так что вы получите именно то, что хотели.

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 30.01.2007, 12:45
Оценка за ответ: 5
Комментарий оценки:
Это помогло мне разобратся с исходником привёдённым выше. Хотелось бы увидеть пример кода, пусть даже без комментариев и неполный. Благодарю Вас за сторание.


Вопрос № 73.237
Здравствуйте, уважаемые эксперты. На форме лежат: DBGrid, DataSource, DBNavigator и Table с индексом по заданному полю. Все работает, до определенного момента. Но если вставить в то самое поле повторяющееся значение, то выскакивает исключение класса EDBEngineError с сообщением ‘Key violation’, т.е. ошибка по ключу. Я пытаюсь обработать это исключение конструкцией try .. except. Суть вопроса в том: где отлавливать это исключение, и что пишется в блоке try, если все операции с таблицей я делаю через DBNavigator.
Отправлен: 30.01.2007, 09:42
Вопрос задал: NVL (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: din
Здравствуйте, NVL!
У компонента TTable есть событие OnPostError, в нем и обрабатываете свое исключение.
Удачи.
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 30.01.2007, 10:04


Вопрос № 73.248
Добрый день. Мой вопрос связан с работой Delhi 6 С oracle 8.1.7.
При установке компонентов odac 60.dpk ( odac ODAC 3.60.1.43),
выдается сообщение об ошибке

" Cannot load package ' odac60'. It contains unit 'System,' which is also
contained in package 'rtl60' ".

Смысл понятен. Но на работе ставится без проблем, а дома выпадает ошибка(см.выше)
Отправлен: 30.01.2007, 10:54
Вопрос задал: Pavel (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

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

Если пакет в виде исходников (а судя по всему, это так, и случайно удалили зависимость), то для пакета odac60 пропишите зависимость от rtl (открыть odac60.dpk в Delphi, найти секцию Requires, добавить - и прописать rtl) и перекомпилируйте его.
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 7-ой класс)
Ответ отправлен: 30.01.2007, 11:01


Вопрос № 73.266
Здравствуйте, помогите пожалуйста определить netbios имя в локальной сети удалённого вопьютера по его Ip адресу. Netbios разрешён.
Отправлен: 30.01.2007, 13:06
Вопрос задал: Ozon (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: ~Steep~
Здравствуйте, Ozon!

Ответ удален, ккак не соответствующий теме.
Эксперту:
Ваш ответ был бы вполне уместен в теме об утилитах операционной системы, но это тема программирование, поэтому извольте придерживаться в своих ответах именно программирования

---------
Все всегда делаеться к Лучшему!
Ответ отправил: ~Steep~ (статус: 4-ый класс)
Ответ отправлен: 30.01.2007, 13:26

Отвечает: Argyn.Durmagambetov
Здравствуйте, Ozon!
вот вам ссылка там есть работающий пример
http://rouse.drkb.ru/network.php
если вдруг будет недоступно то в приложении код из этогог примера

Приложение:

---------
Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ

Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 31.01.2007, 08:45


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

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

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

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

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


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


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

В избранное