Lee un directorio (carpeta) de estación cliente y devuelve lista de archivos (modo Thin Client)

Este rutina permite leer el contenido de un directorio (carpeta) de la estación del cliente (especialmente útil en modalidad Thin Client) y devuelve una lista con los archivos contenidos en dicha carpeta separados con $0A$. La sintaxis es:

CALL "LEE_DIR_TC.src","carpetacliente",lista$,ok

donde:

"carpetacliente" debe ser una carpeta válida en la estación del cliente

lista$ una variable de retorno donde se entrega la lista de los archivos existentes en la carpeta cliente

ok estado del proceso, con 0 indicando una operación fallida y distinto de cero una operación exitosa.

rem "MundoBBx

rem "=======================================================================

rem " Lee directorio del cliente y entrega lista de archivos con $0A$

rem "=======================================================================

lee_dir_tc:

rem

enter dir$,lista$,salida_ok

rem

salida_ok=1

salida$=$$

while 1

while 1

fs!=BBjAPI().getThinClient().getClientFileSystem()

carpeta!=fs!.getClientFile(dir$,err=*next); break

mensaje$=$$

mensaje$="Error al buscar carpeta"

rem

resp=msgbox(mensaje$,0+16+0,"Error de carpeta")

salida_ok=0

reset

stop

wend

if carpeta!.isDirectory() then

contenido!=carpeta!.listFiles()

if contenido!.size()>0

lista$=$$

for z=1 to contenido!.size()-1

archivo! = cast(BBjClientFile, contenido!.get(z))

if archivo!.isDirectory()=0 then

nombre$ = archivo!.getName()

lista$ = lista$+nombre$

endif

next z

endif

break

else

rem

mensaje$=$$

mensaje$="La ruta "+dir$+" no es una carpeta"

rem

resp=msgbox(mensaje$,0+16+0,"No es carpeta")

salida_ok=0

break

endif

wend

rem

stop