FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Aporte - FullNetView()
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Aporte - FullNetView()
Posted: Thu Nov 13, 2014 04:05 PM
Hola a todos...
Jugando un poco m谩s con la respuesta que ofrec铆 en esta pregunta. Ver respuesta anterior.
Se me ocurri贸 darle una vuelta de rosca a dicha funci贸n para armar un array multi con m谩s informaci贸n de las PCs de una LAN.
La funci贸n devolver谩 un array de tres dimensiones retornando el nombre del equipo, su direcci贸n IP y su direcci贸n MAC, la cual es super sencilla de entender y como se ver谩 no tiene ning煤n misterio, s贸lo se usan comando de la consola de Windows. (Para su uso quitar los MsgInfo() ya que los dej茅 para que se pueda visualizar f谩cilmente la idea.)

Code (fw): Select all Collapse
// DETALLE DE PCS DE UNA RED //
Function FullNetView()
Local aPCs,Q,cTexto,nLinea,cIP,cLinea,cMac

aPcs:={}

WAITRUN( "cmd.exe /c 聽net view > C:\PCs.txt" , .f.)

cTexto 聽 :=MEMOREAD("C:\PCs.txt")
nLinea 聽 :=MLCOUNT(cTexto)

FOR Q=4 TO nLinea
聽 聽cLinea:=MEMOLINE(cTexto,255,Q)
聽 聽IF LEFT(clinea,2)="\\"
聽 聽 聽 AADD(aPCs,{ALLTRIM(LEFT(cLinea,23)),"",""})
聽 聽ENDIF
NEXT

FOR Q=1 TO LEN(aPCs)

聽 聽WAITRUN( "cmd.exe /c 聽ping -n 1 -4 "+RIGHT(aPCs[Q][1],LEN(aPCs[Q][1])-2)+" > C:\PING.txt" , .f.)

聽 聽cTexto 聽 聽:=MEMOREAD("C:\PING.txt")
聽 聽nLinea 聽 聽:=MLCOUNT(cTexto)
聽 聽cLinea 聽 聽:=MEMOLINE(cTexto,255,5)

聽 聽cIP 聽 聽 聽 :=RIGHT(ALLTRIM(cLinea),LEN(ALLTRIM(cLinea))-RAT(" ",ALLTRIM(cLinea)))
聽 聽cIP 聽 聽 聽 :=LEFT(cIP,LEN(ALLTRIM(cIP))-1)

聽 聽aPcs[Q][2]:=cIP

聽 聽WAITRUN( "cmd.exe /c 聽arp -a "+cIP+" > C:\ARP.txt" , .f.)

聽 聽cTexto 聽 聽:=MEMOREAD("C:\ARP.txt")
聽 聽nLinea 聽 聽:=MLCOUNT(cTexto)
聽 聽cLinea 聽 聽:=MEMOLINE(cTexto,255,4)

聽 聽cMac 聽 聽 聽:=SUBSTR(cLinea,25,17)
聽 聽aPcs[Q][3]:=cMac


聽 聽MsgInfo("EQUIPO: "+aPcs[Q][1]+CHR(13)+;
聽 聽 聽 聽 聽 聽"IP: "+aPcs[Q][2]+CHR(13)+;
聽 聽 聽 聽 聽 聽"MAC: "+aPcs[Q][3],"Detalle del equipo")

NEXT

fErase("C:\PCs.txt")
fErase("C:\Ping.txt")
fErase("C:\ARP.txt")

Return aPCs
//


El uso que se le de a la funci贸n depender谩 del consumidor... pero me pareci贸 buena idea escribirla y compartirla con el foro.
Espero sea de utilidad.
Saludos a todos!
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Aporte - FullNetView()
Posted: Thu Nov 13, 2014 07:41 PM

Excelente Esteban, muy amable, gracias.

Saludos.

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay

Continue the discussion