SET RESOURCE

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 6.0


SET RESOURCE (resTipo; resNum; resDatos{; resArchivo})

ParámetroTipoDescripción
resTipoAlfaTipo de recurso (4 caracteres)
resNumNuméricoNúmero de recurso
resDatosBLOBNuevo contenido del recurso
resArchivoDocRefNúmero de referencia del archivo de recursos o
Archivo de recursos actual, si se omite

Descripción

El comando SET RESOURCE crea o reescribe el recurso cuyo tipo y número se pasa en resTipo y resNum con los datos pasados en el BLOB resDatos.

Importante: Debe pasar una cadena de 4 caracteres en resTipo.

Si no se puede escribir el recurso, la variable OK toma el valor 0 (cero).

Si pasa un número de referencia de archivo de recursos válido en resArchivo, el recurso se añade a ese archivo. Si no pasa resArchivo, el recurso se añade al primer archivo de la cadena de archivos de recursos (el último archivo de recurso abierto).

Nota: Un recurso puede tener un tamaño de varios megabytes.

Independencia de plataforma: Recuerde que está trabajando con recursos de Mac OS. Cualquiera que sea la plataforma utilizada, los valores internos de los recursos como enteros largos son almacenados utilizando la ordenación de bytes ("byte ordering") de Macintosh. En Windows, los datos de los recursos estándar (tales como los recursos listas de cadenas y los recursos de imágenes) el orden de los bytes es invertido automáticamente cuando es necesario. Por otra parte, si crea y utiliza sus propias estructuras de datos internas, le corresponde a usted efectuar la inversión de octetos de los datos cuando escribe en un BLOB (por ejemplo, pasando Macintosh byte ordering a un comando tal como LONGINT TO BLOB).

Ejemplo

Durante una sesión 4D, usted conserva las preferencias del usuario en las variables interproceso. Para guardar estas preferencias de sesión a sesión, puede:

1. Utilizar los comandos SAVE VARIABLES y LOAD VARIABLES para guardar y recuperar las variables en los documentos de variables en disco.

2. Utilice los comandos VARIABLE TO BLOB, BLOB TO DOCUMENT, DOCUMENT TO BLOB y BLOB TO VARIABLE para guardar y recuperar las variables en los documentos BLOB en disco.

3. Utilice los comandos VARIABLE TO BLOB, SET RESOURCE, GET RESOURCE y BLOB TO VARIABLE para guardar y recuperar las variables en archivos de recursos en disco.

El siguiente es un ejemplo del tercer método.

En el Método de base On Exit usted escribe:

      ` Método de base On Exit
   If (Test path name("DB_Prefs")#Is a document)
      $vhResArchivo:=Create resource file("DB_Prefs")
   Else
      $vhResArchivo:=Open resource file("DB_Prefs")
   End if
   If (OK=1)
      VARIABLE TO BLOB(<>vbAutoRepite;$vxPrefData)
      VARIABLE TO BLOB(<>vlCurTabla;$vxPrefData;*)
      VARIABLE TO BLOB(<>asDfltOpcion;$vxPrefData;*)
         ` etc...
      SET RESOURCE("PREF";26500;$vxPrefData;$vhResArchivo)
      CLOSE RESOURCE FILE($vhResArchivo)
   End if

En el Método On Startup Database usted escribe:

      ` Método de base On Startup 
   C_BOOLEAN(<>vbAutoRepite)
   C_LONGINT(<>vlCurTabla)
   $vbDone:=False
   $vhResArchivo:=Open resource file("DB_Prefs")
   If (OK=1)
      GET RESOURCE("PREF";26500;$vxPrefData;$vhResFile)
      If (OK=1)
         $vlOffset:=0
         BLOB TO VARIABLE($vxPrefData;<>vbAutoRepite;$vlOffset)
         BLOB TO VARIABLE($vxPrefData;<>vlCurTabla;$vlOffset)
         BLOB TO VARIABLE($vxPrefData;<>asDfltOpcion;$vlOffset)
            ` etc.
         $vbDone:=True
      End if
      CLOSE RESOURCE FILE($vhResArchivo)
   End if
   If(Not($vbDone))
      <>vbAutoRepetir:=False
      <>vlCurTabla:=0
      ARRAY STRING(127;<>asDfltOpcion;0)
   End if

Ver también

Comandos BLOB, GET RESOURCE.

Variables y conjuntos sistema

Si el recurso se ha escrito, la variable sistema OK toma el valor 1, de lo contrario toma el valor 0 (cero).


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente