Saltar para o conteúdo principal
Versão: 20 R5 BETA

Blob

A classe Blob permite que você crie e manipule objetos blob (4D.Blob).

Resumo

4D.Blob.new() : 4D.Blob
4D.Blob.new( blobScal : Blob ) : 4D.Blob
4D.Blob.new( blobObj : 4D.Blob ) : 4D.Blob

cria um novo objeto 4D.Blob que, opcionalmente, encapsula uma cópia dos dados de outro blob (blob escalar ou 4D.Blob)
.size : Real
retorna o tamanho de um 4D.Blob, expresso em bytes.
.slice() : 4D.Blob
.slice( start : Real ) : 4D.Blob
.slice( start : Real; end : Real ) : 4D.Blob

cria e retorna um 4D.Blob que faz referência a dados de um subconjunto do blob no qual é chamado. O blob original não é alterado.

4D. Blob.new()

História
ReleaseMudanças
19 R2Adicionado

4D.Blob.new() : 4D.Blob
4D.Blob.new( blobScal : Blob ) : 4D.Blob
4D.Blob.new( blobObj : 4D.Blob ) : 4D.Blob

ParâmetroTipoDescrição
blobBlob or 4D. Blob->Blob a copiar
Resultados4D. Blob<-Novo 4D.Blob

Descrição

4D.Blob.new cria um novo objeto 4D.Blob que, opcionalmente, encapsula uma cópia dos dados de outro blob (blob escalar ou 4D.Blob).

Se o parâmetro blob for omitido, o método retornará um 4D.Blob vazio.

.size

.size : Real

Descrição

A propriedade .size retorna o tamanho de um 4D.Blob, expresso em bytes.

.slice()

História
ReleaseMudanças
19 R2Adicionado

.slice() : 4D.Blob
.slice( start : Real ) : 4D.Blob
.slice( start : Real; end : Real ) : 4D.Blob

ParâmetroTipoDescrição
startReal->índice do primeiro byte a incluir no novo 4D. Blob`.
endReal->índice do primeiro byte que não será incluído no novo 4D. Blob`
Resultados4D. Blob<-Novo 4D.Blob

Descrição

.slice() cria e retorna um 4D.Blob que faz referência a dados de um subconjunto do blob no qual é chamado. O blob original não é alterado.

O parâmetro start é um índice no blob que indica o primeiro byte a ser incluído no novo 4D.Blob. Se especificar um valor negativo, 4D trata-o como uma compensação desde o fim da bolha até ao início. Por exemplo, -10 seria o 10º do último byte na bolha. O valor predefinido é 0. Se você especificar um valor para start que seja maior do que o tamanho do blob de origem, o tamanho do 4D.Blob retornado será 0 e não conterá dados.

O parâmetro end é um índice no blob indicando o primeiro byte que não será incluído no novo 4D. Blob (ou seja, o byte exactamente neste índice não está incluído). Se especificar um valor negativo, 4D trata-o como uma compensação desde o fim da bolha até ao início. Por exemplo, -10 seria o 10º do último byte na bolha. O valor por defeito é o tamanho do blob.

Exemplo

var $myBlob : 4D.Blob

// Armazene texto em um 4D.Blob
CONVERT FROM TEXT("Olá, Mundo!"; "UTF-8"; $myBlob)
$is4DBlob:=OB Instance of($myBlob; 4D.Blob); //Verdadeiro

$myString:=Convert to text($myBlob; "UTF-8")
// $myString contém "Olá, Mundo!"

// Crie um novo 4D.Blob a partir de $myBlob
$myNewBlob:=$myBlob.slice(0; 5)

$myString:=Convert to text($myNewBlob; "UTF-8")
// $myString contém "Olá"