En el segundo parámetro se debe especificar el nombre de dominio o grupo de trabajo (esto a partir de Visual FoxPro 7.0); o el nombre de la computadora con el formato \\NombreComputadora.
La función ANETRESOURCES() nos retornará cualquier recurso de red, solo los recursos compartidos, o solo las impresoras de red, según el valor del tercer parámetro, que puede ser 0, 1 ó 2 respectivamente.
El siguiente código de ejemplo nos mostrará un formulario similar al de la Figura 1. Este formulario carga en una lista los nombres de las computadoras del dominio o grupo de trabajo actual (o el que nosotros especifiquemos en el cuadro de texto), y a medida que recorremos esta lista, nos mostrará los recursos compartidos e impresoras de red de cada computadora.
Figura 1
PUBLIC goMiForm goMiForm = NEWOBJECT("MiForm") goMiForm.SHOW(1) RETURN DEFINE CLASS MiForm AS FORM HEIGHT = 260 WIDTH = 530 AUTOCENTER = .T. SHOWWINDOW = 2 CAPTION = "Ejemplo de ANETRESOURCES()" ICON = HOME(1) + "\Graphics\Icons\Win95\NetHood.ico" NAME = "frmANet" ADD OBJECT lstcomputadoras AS LISTBOX WITH ; HEIGHT = 168, LEFT = 16, TOP = 72, WIDTH = 184, ; NAME = "lstComputadoras" ADD OBJECT lstrecursos AS LISTBOX WITH ; HEIGHT = 72, LEFT = 216, TOP = 72, WIDTH = 296, ; NAME = "lstRecursos" ADD OBJECT lstimpresoras AS LISTBOX WITH ; HEIGHT = 72, LEFT = 216, TOP = 168, WIDTH = 296, ; NAME = "lstImpresoras" ADD OBJECT txtdominio AS TEXTBOX WITH ; HEIGHT = 24, LEFT = 16, TOP = 24, WIDTH = 184, ; NAME = "txtDominio" ADD OBJECT lblTit1 AS LABEL WITH ; NAME = "lblTit1", AUTOSIZE = .T., FONTBOLD = .T., ; BACKSTYLE = 0, CAPTION = "Dominio", ; HEIGHT = 17, LEFT = 16, TOP = 8, WIDTH = 48 ADD OBJECT lblTit2 AS LABEL WITH ; NAME = "lblTit2", AUTOSIZE = .T., FONTBOLD = .T., ; BACKSTYLE = 0, CAPTION = "Computadoras", ; HEIGHT = 17, LEFT = 16, TOP = 56, WIDTH = 86 ADD OBJECT lblTit3 AS LABEL WITH ; NAME = "lblTit3", AUTOSIZE = .T., FONTBOLD = .T., ; BACKSTYLE = 0, CAPTION = "Recursos compartidos", ; HEIGHT = 17, LEFT = 216, TOP = 56, WIDTH = 132 ADD OBJECT lblTit4 AS LABEL WITH ; NAME = "lblTit4", AUTOSIZE = .T., FONTBOLD = .T., ; BACKSTYLE = 0, CAPTION = "Impresoras compartidas", ; HEIGHT = 17, LEFT = 216, TOP = 152, WIDTH = 143 ADD OBJECT cmdCargarDominio AS COMMANDBUTTON WITH ; TOP = 24, LEFT = 216, HEIGHT = 24, WIDTH = 136, ; CAPTION = "Cargar dominio", NAME = "cmdCargarDominio" *-- PROCEDURE CargarRecursos LPARAMETERS tcComputadora LOCAL ln *-- Lista de recursos compartidos WITH THISFORM.lstRecursos .CLEAR FOR ln = 1 TO ANETRESOURCES(la,tcComputadora,1) .ADDITEM("\" + la(ln),ln,1) ENDFOR .PICTURE = HOME(1) + ; "\Graphics\Bitmaps\Outline\Nomask\OpenFold.bmp" ENDWITH *-- Lista de impresoras de red WITH THISFORM.lstImpresoras .CLEAR FOR ln = 1 TO ANETRESOURCES(la,tcComputadora,2) .ADDITEM("\" + la(ln),ln,1) ENDFOR .PICTURE = HOME(1) + ; "\Graphics\Bitmaps\Outline\Nomask\PrintFld.bmp" ENDWITH ENDPROC *-- PROCEDURE CargarComputadoras LPARAMETERS tcDominio LOCAL ln *-- Lista de computadoras del dominio o grupo de trabajo WITH THISFORM.lstComputadoras .CLEAR FOR ln = 1 TO ANETRESOURCES(la,tcDominio,0) .ADDITEM("\" + la(ln),ln,1) ENDFOR .PICTURE = HOME(1) + ; "\Graphics\Bitmaps\Outline\Nomask\MyComp.bmp" .LISTINDEX = 1 ENDWITH ENDPROC *-- PROCEDURE INIT LOCAL lcDominio, lcComputadora *-- Toma el dominio actual lcDominio = GETENV("USERDOMAIN") THISFORM.txtDominio.VALUE = lcDominio THISFORM.CargarComputadoras(lcDominio) lcComputadora = THISFORM.lstComputadoras.VALUE THISFORM.CargarRecursos(lcComputadora) ENDPROC *-- PROCEDURE lstComputadoras.INTERACTIVECHANGE LOCAL lcComputadora WAIT WINDOW NOWAIT "Trabajando ..." lcComputadora = THIS.VALUE THISFORM.CargarRecursos(lcComputadora) WAIT CLEAR ENDPROC *-- PROCEDURE cmdCargarDominio.CLICK LOCAL lcDominio WAIT WINDOW NOWAIT "Trabajando ..." lcDominio = ALLTRIM(THISFORM.txtDominio.VALUE) THISFORM.CargarComputadoras(lcDominio) lcComputadora = THISFORM.lstComputadoras.VALUE THISFORM.CargarRecursos(lcComputadora) WAIT CLEAR ENDPROC ENDDEFINE
Para mas detalles de la función ANETRESOURCES() mire el archivo de ayuda de Visual FoxPro.
Demasiado bueno.. Siempre reviso esta página, y no se porque no se me ocurre agradecer, pero estoy muy agradecido siempre. Mil gracias y mil bendiciones...
ResponderBorrar