powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли сделать ping с помощью VFP?
5 сообщений из 5, страница 1 из 1
Можно ли сделать ping с помощью VFP?
    #33813296
SVR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SVR
Гость
Как с помощью VFP пропинговать компьютер в сети и узнать доступен он или нет? Т.е. надо раз в минуту проверять состояние сети и компов и если проблемы с каким то компом (например, пропало питание), то выводить на экран сообщение.
...
Рейтинг: 0 / 0
Можно ли сделать ping с помощью VFP?
    #33813395
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы можете делать ping в текстовый файл, а потом производить разбор полученного результат...

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

Данная таблица может располагаться на сетевом диске или если контора глобальная, то можно все сделать через Web Serveice и Internet

Good luck!
...
Рейтинг: 0 / 0
Можно ли сделать ping с помощью VFP?
    #33813425
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
  
  Local o  
  o=Createobject("Ping")  
  If o.Ping("213.248.60.41")  
  	? o.LiveTime  
  EndIf  
    
 *:********************************************************************  
 *:  
 *:    Class : Ping based on Session  
 *:  
 *:********************************************************************  
  Define Class Ping As Session  
  	Ip= 0   
  	Timeout= 2000   
  	Status= 0   
  	DestAddress=""  
  	LiveTime= 0   
  	DataSize= 0   
  	  
 	*:********************************************************************  
 	*:  
 	*: Method : Init of class Ping  
 	*:  
 	*:********************************************************************  
  	Procedure Init  
  	This.LoadDLLS  
  	  
 	*:********************************************************************  
 	*:  
 	*: Method : Ping of class Ping  
 	*:  
 	*:********************************************************************  
  	Procedure Ping(lcIPAddress)  
  	With This  
  		.Ip=inet_addr(lcIPAddress)  
  		hIcmp=IcmpCreateFile()  
  		If hIcmp> 0   
  			lcInBuffer='Pinging...'  
  			lcOutBuffer=Space( 28 +Len(lcInBuffer))  
  			lnResult=IcmpSendEcho(hIcmp,.Ip,@lcInBuffer,Len(lcInBuffer), 0 ,@lcOutBuffer,Len(lcOutBuffer),.Timeout)  
  			IcmpCloseHandle(hIcmp)  
  			If lnResult> 0   
  				.DestAddress=Str(Asc(Substr(lcOutBuffer, 1 , 1 )), 3 )+'.'+;  
  					+Str(Asc(Substr(lcOutBuffer, 2 , 1 )), 3 )+'.'+;  
  					+Str(Asc(Substr(lcOutBuffer, 3 , 1 )), 3 )+'.'+;  
  					+Str(Asc(Substr(lcOutBuffer, 4 , 1 )), 3 )  
  				  
  				.Status=CtoBin(Substr(lcOutBuffer, 5 , 4 ),'4RS')  
  				.LiveTime=CtoBin(Substr(lcOutBuffer, 9 , 4 ),'4RS')  
  				.DataSize=CtoBin(Substr(lcOutBuffer, 13 , 2 ),'2RS')  
  				  
  			Endif  
  			Return lnResult> 0   
  		Endif  
  	Endwith  
  	  
 	*:********************************************************************  
 	*:  
 	*: Method : LoadDLLS of class Ping  
 	*:  
 	*:********************************************************************  
  	Procedure LoadDLLS  
  	Declare Integer IcmpCreateFile In icmp  
  	Declare Integer IcmpSendEcho In icmp ;  
  		integer ID_ICMP,;  
  		integer IP_ADDR,;  
  		string @ReqData,;  
  		integer ReqSize,;  
  		string @ReqOptions,;  
  		string @RepBuffer,;  
  		integer RepSize,;  
  		integer WaitTime  
  	  
  	Declare Integer IcmpCloseHandle In icmp Integer ID_icmp  
  	Declare Integer inet_addr In Ws2_32 String IPHOST  
  	  
  Enddefine
...
Рейтинг: 0 / 0
Можно ли сделать ping с помощью VFP?
    #33816326
SVR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SVR
Гость
Когда я делаю ping с помощью команды run ping 192.168.1.1 > C:\a.txt, на экране появляется досовское окно, где эта команда выполняется. После выполнения команды, досовское окно исчезает с экрана. Можно ли сделать так, чтобы это досовское окно не выскакивало на экран?
...
Рейтинг: 0 / 0
Можно ли сделать ping с помощью VFP?
    #33817795
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мспользуй API:
Код: plaintext
1.
2.
3.
4.
5.
6.
DECLARE INTEGER ShellExecute IN shell32; 
    INTEGER hwnd,; 
    STRING  lpOperation,; 
    STRING  lpFile,; 
    STRING  lpParameters,;   
    STRING  lpDirectory,; 
    INTEGER nShowCmd 
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли сделать ping с помощью VFP?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]