4D v16BLOBs |
||
|
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:
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:
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.
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):
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:
O propósito é:
A variável PositionInBlob funciona ao mesmo tempo como entrada e saída, ou seja:
Vamos seguir este método para ver como é enchido o BLOB e como são restauradas as variáveis. Neste ponto:
Para extrair os dados do 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.
Mais tarde, quando queiramos recuperar o conteúdo dos arrays, deveremos programar desta forma:
Durante a execução:
Depois quando queremos recuperar o conteúdo do BLOB mais a frente:
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
Autoformação ( 4D v16) |