Public oFrm oFrm=Newobject("ICMP_Data") oFrm.Show Return Define Class ICMP_Data As Form Height = 280 Width = 500 Desktop = .T. DoCreate = .T. AutoCenter = .T. BorderStyle = 0 Caption = "Estadisticas ICMP" ControlBox = .T. Closable = .T. MaxButton = .F. MinButton = .F. ClipControls = .F. AlwaysOnTop = .F. BackColor = Rgb(203,230,241) Name = "ICMP_Data" Add Object lst_datos As ListBox With ; ColumnCount = 3, ; ColumnWidths = "250,100,100", ; Height = 271, ; Left = 6, ; Sorted = .F., ; Top = 2, ; Width = 483, ; DisabledItemBackColor = Rgb(102,130,200), ; DisabledItemForeColor = Rgb(255,255,0), ; DisabledForeColor = Rgb(255,0,0), ; Name = "lst_datos" Add Object timer1 As Timer With ; Top = 36, ; Left = 408, ; Height = 23, ; Width = 23, ; Interval = 560, ; Name = "Timer1" Procedure Estadisticas() Local ICMP, nCiclo ICMP = Space((13*4*2)+1) If GetIcmpStatistics(@ICMP) = 0 With Thisform.lst_datos For nCiclo = 1 To 13 .AddListItem(Alltrim(Str(.Parent.nRepStruct(ICMP,nCiclo))),nCiclo+1,2) .AddListItem(Alltrim(Str(.Parent.nRepStruct(ICMP,nCiclo+13))),nCiclo+1,3) Endfor Endwith Else Wait Window "Error al Obtener las Estadisticas" Endif Endproc Procedure nRepStruct Lparameters cEstructura, nValor Local cCadena, nEmp nEmp=((nValor-1)*4)+1 cCadena = Substr(cEstructura,nEmp,4) Return (Asc(Substr(cCadena, 1,1)) +; BitLShift(Asc(Substr(cCadena, 2,1)), 8)+; BitLShift(Asc(Substr(cCadena, 3,1)), 16)+; BitLShift(Asc(Substr(cCadena, 4,1)), 24)) Endproc Procedure Load Declare Long GetIcmpStatistics In "iphlpapi" String @cEstructura Endproc Procedure lst_datos.Init With This .Clear() .AddListItem('Parametros',1,1) .AddListItem('Recibidos',1,2) .AddListItem('Enviados',1,3) .AddListItem('Mensajes',2,1) .AddListItem('Errores',3,1) .AddListItem('Destino inaccesible',4,1) .AddListItem('Tiempo agotado',5,1) .AddListItem('Problema de Parametros',6,1) .AddListItem('Paquetes de control de flujo',7,1) .AddListItem('Redirecciones',8,1) .AddListItem('Echos',9,1) .AddListItem('Respuestas de Eco',10,1) .AddListItem('Fechas',11,1) .AddListItem('Respuestas de fecha',12,1) .AddListItem('Máscaras de direcciones',13,1) .AddListItem('Máscaras de direcciones respondidas',14,1) Endwith Thisform.Estadisticas() Endproc Procedure timer1.Timer Thisform.Estadisticas() Endproc EnddefineSaludos
Jorge Mota, Guatemala
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.