Además de las manipulaciones explicadas en el vídeo, también debe tener en cuenta lo siguiente:
Al comenzar, siempre hacemos las mismas preguntas:
¿Cómo me puede servir y en qué circunstancias?
Poner la información es muy fácil, pero ¿Cómo y en qué orden saldrán?
Vamos a comenzar por abordar la segunda pregunta:
A pesar de que se puede acceder a cualquier byte del BLOB, en la mayoría de los casos vamos a utilizar lo que llamamos FIFO (First In First Out). Esto significa que usted recupera el contenido del BLOB en el orden en que lo puso en él. Para hacer una analogía simple, vamos a tomar una estantería donde se guardan los libros de izquierda a derecha. Usted comienza por poner un libro pequeño a la izquierda y luego un gran libro al lado del primero y luego otro gran libro y luego una foto de su suegra y una chuchería de sus últimas vacaciones, etc. Cuando llegue el momento de desempolvar la estantería, usted no piensa en cuántas pulgadas del lado izquierdo se encuentra un libro. Los toma en el orden en que están y ajusta su mirada (y manos), dependiendo del tamaño del último objeto elegido.
Es lo mismo en un BLOB, sobre todo porque usted sabe lo que guardó en el BLOB.
Por ejemplo, cuando pone:
un entero, es de 2 bytes
un entero largo es de 4 bytes
mientras que una fecha es de 6 bytes
...
Para el texto, se indica cómo quiere que se guarde y cómo se expresa la longitud del texto (cadena C, cadena Pascal, etc.).
Al volver a leer, usted tomará la información en el mismo orden nuevamente y la guardará en las variables que se adaptan al contenido esperado (digitado correctamente).
De esta forma el BLOB se lee de una manera consistente. Aquí está la respuesta a la primera pregunta (¿Cuál es el propósito de un BLOB?) Puede utilizar un BLOB, por ejemplo, en los siguientes casos:
Para guardar variables, listas jerárquicas, arrays
Para el intercambio de documentos entre el cliente y el servidor
Para proteger datos confidenciales en un BLOB encriptado
Para guardar las variables que contienen plug-ins
Para enviar imágenes, textos o documentos en un navegador web
Para comunicarse con un servicio web.
El comando VARIABLE TO BLOB guarda los datos en un formato interno 4D. Es por eso que el espacio requerido es ligeramente mayor que el tamaño bruto de los datos.La ventaja de este comando es que evita tener que gestionar el Byte Swapping (posición del byte más significativo) cuando se trabaja en varias plataformas.
Cuando llena un BLOB, puede utilizar el carácter * en lugar de la variable $PositionInBlob variable que utilizamos.
Cuando se utiliza este parámetro, 4D entiende que debe almacenar la variable al final del BLOB y aumentar su tamaño como resultado.
Ahora imaginemos que usted tiene una serie de parámetros en su base de datos que deben tenerse en cuenta para cada usuario (o cada sitio donde está instalada la aplicación):
la pantalla de inicio
el color de fondo
la fuente y el tamaño de los caracteres
y así sucesivamente. Ellos son las preferencias del usuario.
Para conservalos, hay varias soluciones (crear una tabla, un archivo texto, un archivo XML, etc.).
En nuestro caso, vamos a conservar estas preferencias en un BLOB, que se guarda en un archivo en el disco.
En este vídeo, vamos a aprender a programar BLOBs y ver cómo interactúan con las variables.
Los BLOBs permiten almacenar y recuperar todo tipo de información.
Usemos un ejemplo simple de almacenamiento de variables. En primer lugar vamos a crear un método y luego vamos a:
asignar valores a tres variables de entrada a y tres variables de salida
inicializar el BLOB y la posición de lectura en el BLOB
asignar valores a las variables
y transferir estas variables al BLOB.
El principio es:
utilizar el comandos VARIABLE TO BLOB
indicar la variable a procesar
el BLOB en el que desea guardarla
y la posición en la que desea almacenar la variable en el BLOB.
La variable PositionInBlob funciona a la vez como de entrada y de salida, es decir:
indica el lugar donde desea guardar la variable de antemano
y después de que el comando se haya ejecutado, esta variable contiene la posición en el BLOB justo después de la variable de modo que usted pueda guardar los siguientes elementos.
Una vez los datos se almacenan en el BLOB, podemos hacer una serie de procesamientos y luego extraer los datos del BLOB escribiendo: Redefinimos el punto de partida en el BLOB en la posición 0 Vamos a extraer del BLOB la primera variable introducida
Luego la segunda y la tercera
Normalmente, cuando terminamos de usar un BLOB, lo borramos definiendo su tamaño en 0.
Vamos a seguir este método para ver cómo se llena el BLOB y cómo se restauran las variables.
En este punto:
Todas las inicializaciones se han hecho
El BLOB está vacío
Cuando pasamos a la primera línea, el BLOB contiene un cierto número de bytes
Y poco a poco se llena.
Para extraer los datos del BLOB:
Volvemos a la posición 0 en el BLOB
A continuación, extraemos el valor entero
La fecha
Y el texto que estaba guardado
Luego vaciamos el BLOB.
Este sencillo ejemplo nos ayuda a comprender la entrada y la salida de datos en un BLOB.
Podemos guardar los resultados de los arrays estadísticos en un BLOB, para que podamos usarlos de nuevo más tarde. Así que haremos lo siguiente:
Crear un botón de BLOB (por lo general debe ponerlo en el archivo XLIFF)
Y en este botón, vamos a crear un BLOB
Y transferir los 2 arrays.
Más tarde, cuando queramos recuperar el contenido de los arrays, deberemos programar de esta forma:
Inicialización de un primer array
Luego el otro
Definir la posición en el BLOB
Recuperación de los dos arrays a partir del BLOB.
Durante la ejecución:
Nuestros arrays contienen cada uno 7 elementos,
El BLOB está vacío
Cargamos el BLOB con la información de los arrays.
Luego cuando queremos recuperar el contenido del BLOB más adelante:
Comenzamos con 2 arrays vacíos
Vamos al comienzo del BLOB
Luego recargamos los arrays (Technicians e Interventions)