Saltar al contenido principal
Versión: 20 R7 BETA

BLOB to list

BLOB to list ( BLOB {; offset} ) -> Resultado

ParámetroTipoDescripción
BlobBlobBLOB que contiene una lista jerárquica
offsetIntegerOffset en el BLOB (expresado en bytes)
Nuevo offset después de la lectura
ResultadoIntegerReferencia de la lista creada recientemente

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

Descripción

El comando BLOB to list crea una nueva lista jerárquica con los datos almacenados en el BLOB blob en el offset de bytes (a partir de cero) especificado por offset y devuelve un número de referencia de lista jerárquica para esa nueva lista.

Los datos del BLOB deben ser compatibles con el comando. Generalmente, usted utiliza BLOBs llenados previamente con el comando LIST TO BLOB.

Si no especifica el parámetro opcional offset, los valores de las lista se leen desde el comienzo del BLOB. Si trabaja con un BLOB en el cual se almacenan muchas variables o listas, debe pasar el parámetro offset y, adicionalmente, debe pasar una variable numérica. Antes del llamado, fije esta variable numérica al offset apropiado. Después del llamado, la misma variable numérica devuelve el offset de la variable siguiente almacenada en el BLOB.

Después del llamado, si la lista jerárquica ha sido creada correctamente, la variable OK toma el valor 1. Si la operación no pueder ser efectuada, la variable OK toma el valor 0; por ejemplo, si no hay suficiente memoria.

Nota sobre la independencia de plataforma: BLOB to list y LIST TO BLOB utilizan un formato interno 4D para administrar listas almacenadas en BLOBs. La ventaja es que usted no tiene que preocuparse por la conversión de bytes (byte swapping) entre plataformas cuando utilice estos dos comandos. En otras palabras, un BLOB creado en Windows utilizando estos dos comandos puede ser reutilizados en Macintosh y viceversa.

Ejemplo

En este ejemplo, el método de un formulario de entrada extrae una lista de un campo BLOB antes de que el formulario aparezca en la pantalla, y lo almacena nuevamente en el campo BLOB si la entrada de datos se valida:

  // Método de formulario [Cosas por hacer];"Entrada"
 
 Case of
 
    :(FORM Event=On Load)
       hList:=BLOB to list([Cosas por hacer]Ideas)
       If(OK=0)
          hList:=New list
       End if
 
    :(FORM Event=On Unload)
       CLEAR LIST(hList;*)
 
    :(bValidate=1)
       LIST TO BLOB(hList;[Cosas por hacer]Ideas)
 
 End case

Variables y conjuntos del sistema

La variable OK toma el valor 1 si la lista se crea correctamente, de lo contrario toma el valor 0.

Ver también

LIST TO BLOB