Além das manipulações explicadas no vídeo, também deve ter em conta o seguinte:
No início, nós fazemos sempre as mesmas perguntas:
Como me pode servir e em quais circunstâncias?
Colocar a informação é muito fácil, mas como e em qual ordem será?
Vamos começar por abordar a segunda pergunta:
Enquanto você pode acessar qualquer byte do BLOB, na maioria dos casos nós usaremos o que chamamos de FIFO (First In First Out). Isso significa que você recupera o conteúdo do BLOB na ordem em que você o colocou. Para fazer uma simples analogia, vamos dar uma prateleira onde você armazena os livros da esquerda para a direita. Comece por colocar um pequeno livro à esquerda e, em seguida, um grande livro junto ao primeiro e, em seguida, outro grande livro e depois uma foto da sua sogra e uma bijuteria de suas últimas férias, etc. Quando chega a hora de tirar a poeira da prateleira, você não pensa em quantas polegadas do lado esquerdo se encontra um livro. Você o toma na ordem em que estão e ajusta seu olhar (e mãos), dependendo do tamanho do último objeto selecionado.
É o mesmo em um BLOB, especialmente porque você sabe o que você salvou no BLOB.
Por exemplo, quando coloca:
um inteiro, é de 2 bytes
um inteiro longo é de 4 bytes
embora uma data é de 6 bytes
...
Para o texto, é indicado como deseja que seja guardado e como é expressada a longitude do texto (cadeia C, cadeia Pascal, etc.).
Retornando à leitura, você vai tomar a informação na mesma ordem novamente e guarde-a nas variáveis para adaptar o conteúdo esperado (digitado corretamente).
Desta forma o BLOB é lido de forma consistente. Aqui está a resposta à primeira pergunta (qual é o propósito de um BLOB?) Você pode usar um BLOB, por exemplo, nos seguintes casos:
Para guardar variáveis, listas hierárquicas, arrays
Para o intercâmbio de documentos entre o cliente e o servidor
Para proteger dados confidenciais em um BLOB criptografado
Para guardar as variáveis que contém plug-ins
Para enviar imagens, textos ou documentos em um navegador web
Para comunicar-se com um serviço web.
O comando VARIABLE TO BLOB guarda os dados em um formato interno 4D. É por isso que o espaço necessário é um pouco maior que o tamanho de dados bruto.A vantagem desse comando é que ele evita ter que gerenciar o Byte Swapping (posição do byte mais significativo) quando é trabalhado em várias plataformas.
Quando preenche um BLOB, pode usar o caractere de * em vez da variável $PositionInBlob que usamos.
Quando este parâmetro é usado, 4D entende que você deve armazenar a variável no final do BLOB e aumentar assim o seu tamanho.
Agora imagine que você tem uma série de parâmetros no seu banco de dados que devem ser levados em conta para cada usuário (ou cada site onde o aplicativo está instalado):
a tela de inicio
a cor de fundo
a fonte e o tamanho dos caracteres
e assim sucessivamente. Eles são as preferências do usuário.
Para mantê-los, existem várias soluções (criar uma tabela, um texto de arquivo, um arquivo XML, etc.).
No nosso caso, queremos manter essas preferências em um BLOB, que é armazenado em um arquivo no disco rígido.
Neste vídeo, vamos aprender a programar BLOBs e ver como interagem com as variáveis.
Os BLOBs permitem armazenar e recuperar todo tipo de informação.
Usemos um exemplo simples de armazenamento de variáveis. Em primeiro lugar vamos criar um método e depois vamos a:
atribuir valores a três variáveis de entrada e três variáveis de saída
inicializar o BLOB e a posição de leitura no BLOB
atribuir valores as variáveis
e transferir estas variáveis ao BLOB.
O propósito é:
utilizar o comando VARIABLE TO BLOB
indicar a variável a processar
o BLOB no qual deseja guardar
e a posição na qual deseja armazenar a variável no BLOB.
A variável PositionInBlob funciona ao mesmo tempo como entrada e saída, ou seja:
indica o lugar onde deseja guardar a variável de antemão
e depois de que o comando tenha sido executado, esta variável contém a posição no BLOB justo depois da variável de maneira que você possa guardar os seguintes elementos.
Uma vez os dados se armazenam no BLOB, podemos fazer uma série de processos e depois extrair os dados do BLOB escrevendo: Redefinimos o ponto de partida no BLOB na posição 0 Vamos extrair do BLOB a primeira variável introduzida
Logo a segunda e a terceira
Normalmente, quando terminamos de usar um BLOB, o apagamos definindo seu tamanho em 0.
Vamos seguir este método para ver como é enchido o BLOB e como são restauradas as variáveis.
Neste ponto:
Todas as inicializações foram feitas
O BLOB está vazio
Quando passamos a primeira linha, o BLOB contém um certo número de bytes
E pouco a pouco é cheio.
Para extrair os dados do BLOB:
Voltamos a posição 0 no BLOB
A continuação, extraímos o valor inteiro
A data
E o texto que estava guardado
Depois esvaziamos o BLOB.
Este simples exemplo nos ajuda a compreender a entrada e a saída de dados em um BLOB.
Podemos guardar os resultados dos arrays estatísticos em um BLOB, para que possam ser usados de novo mais tarde. Assim que faremos o seguinte:
Criar um botão de BLOB (geralmente deve ser colocado no arquivo XLIFF)
E Neste botão, vamos criar um BLOB
E transferir os 2 arrays.
Mais tarde, quando queiramos recuperar o conteúdo dos arrays, deveremos programar desta forma:
Inicialização de um primeiro array
Depois o outro
Definir a posição no BLOB
Recuperação dos dois arrays a partir do BLOB.
Durante a execução:
Em nossos arrays cada um contém 7 elementos,
O BLOB está vazio
Carregamos o BLOB com a informação dos arrays.
Depois quando queremos recuperar o conteúdo do BLOB mais a frente:
Começamos com 2 arrays vazios
Vamos ao começo do BLOB
Depois recarregamos os arrays (Technicians e Interventions)