Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Проверка подключения к Интернету
MangozДата: Вторник, 28 Апреля 2009, 09:10 | Сообщение # 1
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
Как осуществить проверку Интернета, как модемного, так и сетевого? Типа если есть пропускает к примеру на Page 2 если нету вылазит сообщение и прога закрывается (ну это я сам смогу).

MMB. Найдём всё!
 
toizyДата: Вторник, 28 Апреля 2009, 09:36 | Сообщение # 2
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Попытаца скачать какую-нить страницу, например, yandex.ru

Жизнь оказалась не такой уж и забавной, как поначалу...
 
MangozДата: Вторник, 28 Апреля 2009, 09:43 | Сообщение # 3
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
хммм, это как? Тут двоякое. Может соединения не быть воабще, а может инет глючить - и всё будет тупо стоять. Мне надо чтобы конкретно %)

MMB. Найдём всё!
 
RushДата: Вторник, 28 Апреля 2009, 16:25 | Сообщение # 4
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Можно по описанному ниже сделать, но есть одна не очень хорошая деталь - если винда не русская, то не сработает:
Code
p$='wait,hide /c rasdial | find /i /c "отсутствуют подключения" > <Temp>\net.txt'
Run("cmd","p$")
noconnect=VAL(StrFromFile(<Temp>\net.txt,1,1))
If (noconnect) Then
   Message("Соединения с интернетом нет","")
Else
   Message("Соединение с интернетом есть","")
End
Run("cmd","hide /c del <Temp>\net.txt /q")

Можно по другому - тут локализация не играет роли:
Code
p$='wait,hide /c rasdial > <Temp>\net.txt'
Run("cmd","p$")
noconnect=NOL(<Temp>\net.txt)
If (noconnect<=3) Then
   Message("Соединения с интернетом нет","")
Else
   Message("Соединение с интернетом есть","")
End
Run("cmd","hide /c del <Temp>\net.txt /q")

Это первое, что пришло в голову. Если подумать хорошенько, то найдется, наверное, и более интересное решение...
 
MangozДата: Вторник, 28 Апреля 2009, 17:06 | Сообщение # 5
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
Спасибо работают оба варианта. Конечно лучше второй. Проверя по сетевому - работает. На мопедах тоже будет?

MMB. Найдём всё!
 
RushДата: Вторник, 28 Апреля 2009, 17:13 | Сообщение # 6
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (Mangoz)
На мопедах тоже будет?

Да, конечно. Все, что входит в "Сетевые подключения".
 
BlackGhostДата: Среда, 29 Апреля 2009, 11:28 | Сообщение # 7
Любопытный
Группа: Проверенные
Сообщений: 33
Репутация: 0
Награды: 0
Статус: Offline
А если инет на компе не имеет прямого подключения, а является частью сети с возможностью выхода в инет, то эти скрипты работать не будут? У меня вот не сработало :) а на машине с прямым доступом определилось подключение.
 
toizyДата: Среда, 29 Апреля 2009, 11:46 | Сообщение # 8
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (BlackGhost)
А если инет на компе не имеет прямого подключения, а является частью сети

Quote (toizy)
Попытаца скачать какую-нить страницу, например, yandex.ru

Добавлено (29 Апрель 2009, 11:46)
---------------------------------------------
И зря вы плюётесь на такой способ, на мастерах делфи чуваки это уже проходили...


Жизнь оказалась не такой уж и забавной, как поначалу...
 
RushДата: Среда, 29 Апреля 2009, 13:12 | Сообщение # 9
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (toizy)
И зря вы плюётесь на такой способ, на мастерах делфи чуваки это уже проходили...

Пингованием? Я и таким способом делал - тоже работает. Но там один небольшой недостаток - файрвол реагирует.

Quote (BlackGhost)
У меня вот не сработало

Можно посмотреть лог команды? Что там пишет?
Запусти из комстроки - cmd /c rasdial > c:\net.log
И покажи, пожалуйста содержимое файла.
 
toizyДата: Среда, 29 Апреля 2009, 13:34 | Сообщение # 10
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Не пинг, а браузер щеманётся - его файрвол вряд ли обругает...

Жизнь оказалась не такой уж и забавной, как поначалу...
 
BlackGhostДата: Среда, 29 Апреля 2009, 13:53 | Сообщение # 11
Любопытный
Группа: Проверенные
Сообщений: 33
Репутация: 0
Награды: 0
Статус: Offline
Rush, содержимое net.log

Quote
Ћвбгвбвўгов Ї®¤Є«о祭Ёп
Љ®¬ ­¤  гбЇҐи­® § ўҐа襭 .

%) Кстати с компов в сети нельзя даже делать tracert, есть подозрения что админы просто блочат :D

Сообщение отредактировал BlackGhost - Среда, 29 Апреля 2009, 13:55
 
RushДата: Среда, 29 Апреля 2009, 15:47 | Сообщение # 12
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
BlackGhost
Да, похоже тут действуют другие правила. Я-то от корпоративных и прочих сетей далек - один как перст со своим радиомодемом. :)
Quote (toizy)
Не пинг, а браузер щеманётся - его файрвол вряд ли обругает...

Не понял, ты имеешь в виду объект браузер в проекте? Если да, то обругает за милую душу...
 
toizyДата: Среда, 29 Апреля 2009, 16:43 | Сообщение # 13
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Rush)
? Если да, то обругает за милую душу...

Да. Но так ли обругает? На яндекс-то? вряд ли...


Жизнь оказалась не такой уж и забавной, как поначалу...
 
RushДата: Среда, 29 Апреля 2009, 17:06 | Сообщение # 14
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (toizy)
Но так ли обругает? На яндекс-то? вряд ли

Дело в том, что не важен адрес. Файрвол идентифицирует запрос как обращение программы, для которой не заданы политики доступа в сеть. Конечно, если дашь разрешение проге работать в сети, то последующих вопросов больше не будет. Но это и для пинга так. А использовать его не в пример проще и надежней.

PS. И лучше всего пинговать, все-таки, гугл - надежность ответа выше. :)

 
Alex3AДата: Четверг, 30 Апреля 2009, 09:17 | Сообщение # 15
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Как вам такая мысля, за любой интернет отвечает то или иное соединение, к тому же настроенное ранее, и имя его известно,
достаточно проверить его состояние и мы узнаем есть ли интернет.
Интернет может быть настроен на работу множеством способов и через разные фичи, даже VPN(виртуальную приватную сеть).
И мы все проверяем есть ли интернет, посмотрев статус нужного соединения в трее.
 
SergДата: Пятница, 19 Февраля 2010, 21:42 | Сообщение # 16
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Столкнулся с проблемой, инет подключен через сеть, и штатной функцией плагина "Интернет" определить есть ли соединение не получается. Решил идти путём скачки какого-нибудь маленького файла.
Но...если не перезагрузить проект, а соединение с инетом будет утеряно, всё равно будет показано что соединение есть. (проект прикрепил)

Запускаю проект
Жму кнопку
Показывает сообщение что инет подключен
Отключаю инет
Жму кнопку
И файл, который должен скачаться всё равно появляется по заданному путь.
Откуда он берётся???
Может только у меня так.

Прикрепления: proverka.zip (35.0 Kb)




Сообщение отредактировал Serg - Пятница, 19 Февраля 2010, 21:43
 
DEMBELДата: Пятница, 19 Февраля 2010, 21:48 | Сообщение # 17
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ктото предлагал делать это с помощью ping из командной строки.
например ping google.ru > otvet.txt
и проанализировать файл ответ.тхт, если идет обмен пакетами значит инет есть.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Пятница, 19 Февраля 2010, 21:52 | Сообщение # 18
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
А поточнее, как выглядит команда?

 
DEMBELДата: Пятница, 19 Февраля 2010, 22:07 | Сообщение # 19
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
да так и выглядит как написал
открываешь командную строку и пишешь там
ping google.ru
и видишь процесс отправки пакетов, значит инет есть. С помощью скобки > перенаправляем вывод команд в файл. Возьми создай .cmd файл (боюсь Run в ммб не переварит скобку) , запиши туда
ping google.ru > c:\otvet.txt
и запускай этот файл через Run, потом смотри что написано в ответе




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Пятница, 19 Февраля 2010, 22:09 | Сообщение # 20
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
ping google.ru > otvet.txt
А где файл находится (otvet.txt)?


 
Alex3AДата: Пятница, 19 Февраля 2010, 22:19 | Сообщение # 21
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg,
Quote (DEMBEL)
ping google.ru > otvet.txt
так и выглядит :D
ping google.ru > c:\otvet.txt

Добавлено (19 Февраль 2010, 22:15)
---------------------------------------------

Quote (DEMBEL)
(боюсь Run в ммб не переварит скобку)

ping google.ru > c:\\otvet.txt
какбы так

Добавлено (19 Февраль 2010, 22:16)
---------------------------------------------

Quote (Serg)
А где файл находится (otvet.txt)?

там где тебе надо, ты только укажи.

Добавлено (19 Февраль 2010, 22:17)
---------------------------------------------
ping google.ru > куда сохранять

Добавлено (19 Февраль 2010, 22:19)
---------------------------------------------
DEMBEL, интересно, все ли консольки можно перенаправить?

 
DEMBELДата: Пятница, 19 Февраля 2010, 22:20 | Сообщение # 22
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну в досе можно было все :)



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Пятница, 19 Февраля 2010, 22:23 | Сообщение # 23
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
ping google.ru >C:\otvet.txt
Я так пробовал, файл не появляется


 
DEMBELДата: Пятница, 19 Февраля 2010, 22:33 | Сообщение # 24
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
а у меня появляется, лежит себе прямо в диске С...

Добавлено (19 Февраль 2010, 22:33)
---------------------------------------------
так что давай, разбирайся в чем трабл и действуй...

Прикрепления: 0292032.png (4.5 Kb)




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Пятница, 19 Февраля 2010, 22:39 | Сообщение # 25
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg, чудес не бывает!
Ты опять за свое! А где и как пробывал,
делай через утилиту "командная строка"
или смд

Добавлено (19 Февраль 2010, 22:39)
---------------------------------------------
DEMBEL, через командную строку, что в меню "пуск" не сохраняет, чего то нехватает.

 
DEMBELДата: Пятница, 19 Февраля 2010, 22:42 | Сообщение # 26
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
на скрине пример от запуска через cmd, вы что шутите чтоли

Добавлено (19 Февраль 2010, 22:42)
---------------------------------------------
возьмите путь в скобки если пробелы, вставьте доп. пробел после скобки, не знаю что еще...
ping google.ru > "C:\otvet.txt"




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Пятница, 19 Февраля 2010, 22:50 | Сообщение # 27
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Я делал через Пуск-Выполнить..неработало. Через командную строку всё Ок. Спасибо.Попробую сделать.

Ах да, а в ММБ как запустить?


 
DEMBELДата: Пятница, 19 Февраля 2010, 22:58 | Сообщение # 28
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Serg)
Ах да, а в ММБ как запустить?

по идее через
Run "cmd.exe /c" "ping..." но конструкция со скобкой может не работать, поэтому я и говорю чтобы ты создал .cmd файл с этой строчкой с пингом и запускал уже его через run как обычно. ну все, хватит воду в ступе толочь, все что можно рассказать и показать уже сделали.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Пятница, 19 Февраля 2010, 23:04 | Сообщение # 29
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Run("cmd.exe /c","ping google.ru > c:\otvet.txt")
Виндовс неудаётся найти...

А если создать .cmd файл файл, то процесс будет виден, окно надо будет закрывать


 
Alex3AДата: Пятница, 19 Февраля 2010, 23:50 | Сообщение # 30
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg, синтаксис команды Run("имяпроги","параметры")
Run("cmd.exe","/c ping google.ru > c:\otvet.txt")
/c -выполнить и закрыть
cmd /? просмотр всех ключей и условий...

Добавлено (19 Февраль 2010, 23:50)
---------------------------------------------
Проверил, работает.

 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: