4D v16

BLOBs

Página Inicial

 
4D v16
BLOBs

BLOBs    


 

 

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.

Os comandos de escritura e de leitura dos BLOBs são BLOB TO DOCUMENT e DOCUMENT TO BLOB.

Para economizar espaço e/ou tempo de transferência, é possível considerar a possibilidade de comprimir seus BLOBs.

Lembre-se que 4D apenas comprime BLOBs se seu tamanho é maior que 255 bytes.

Para extrair BLOBs, lembre-se de verificar para ver se o BLOB realmente está compactado. Caso contrário, se tenta descompactá-lo irá gerar um erro.

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)

 
 

 
PROPRIEDADES 

Produto: 4D
Tema: BLOBs

 
HISTÓRIA 

 
ARTICLE USAGE

Autoformação ( 4D v16)