Saltar al contenido principal
Versión: 20 R7 BETA

RESOURCE TYPE LIST

RESOURCE TYPE LIST ( resTipos {; resArchivo} )

ParámetroTipoDescripción
resTiposText arrayLista de tipos de recursos disponibles
resArchivoTimeNúmero de referencia del archivo de recursos o Todos los archivos de recursos abiertos, si se omite

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando RESOURCE TYPE LIST llena el array resTipos con los tipos de recursos presentes en el (los) archivo(s) de recursos abierto(s).

Si pasa un número de referencia de archivo de recursos válido en el parámetro opcional resArchivo, sólo se listan los recursos de ese archivo. Si no pasa resArchivo, se listan todos los recursos de los archivos de recursos abiertos.

Puede predeclarar el array resTipos como un array tipo Alfa o Texto antes de llamar a RESOURCE TYPE LIST. Si no predeclara el array, el comando crea resTipos como un array tipo Texto.

Después de la llamada, puede probar el número de tipo de recursos encontrados aplicando el comando Size of Array al array resTipos.

Ejemplo 1

El siguiente ejemplo llena el array atResTipo con los tipos de recursos presentes en los archivos de recursos abiertos:

 RESOURCE TYPE LIST(atResTipo)

Ejemplo 2

El siguiente archivo muestra si el archivo de estructura Mac OS utiliza el contenido de los antiguos plug-ins 4D, que deberán ser actualizados para utilizar la base en Windows:

 $vhResArchivo:=Open resource file(Structure file)
 RESOURCE TYPE LIST(atResTipo;$vhResArchivo)
 If(Find in array(atResTipo;"4DEX")>0)
    ALERT("Esta base contiene los plug-ins 4D del modelo antiguo."+(Char(13)*2)+
    "Tendrá que actualizarlos para utilizar esta base en Windows.")
 End if

Nota: el archivo de estructura no es el único archivo en el cual los plug-ins de la versión anterior pueden ser almacenados. La base también puede incluir un archivo Proc.Ext.

Ejemplo 3

El siguiente método de proyecto devuelve el número de recursos presentes en un archivo de recursos:

  // Método de proyecto Contar recursos
  // Contar recursos ( Hora) -> Entero largo
  // Contar recursos ( DocRef ) -> Número de recursos
 
 var $0 : Integer
 var $1 : Time
 
 $0:=0
 RESOURCE TYPE LIST($atResTipo;$1)
 For($vlElem;1;Size of array($atResTipo))
    RESOURCE LIST($atResTipo{$vlElem};$alResNum;$atResNom;$1)
    $0:=$0+Size of array($alResNum)
 End for

Una vez este método de proyecto se implementa en una base, puede escribir:

 $vhResArchivo:=Open resource file("")
 If(OK=1)
    ALERT("El archivo “"+Document+"” contiene "+String(Count resources($vhResArchivo))+" recurso(s).")
    CLOSE RESOURCE FILE($vhResArchivo)
 End if

Ver también

RESOURCE LIST