Você está aqui: Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como usar a função BlockWrite() para escrever um ou mais bytes em um arquivoQuantidade de visualizações: 11033 vezes |
|
A função BlockWrite pode ser usada quando precisamos escrever um ou mais bytes em um arquivo não tipado, ou seja, um arquivo de tipo arbitrário não texto. Veja sua assinatura: a) procedure BlockWrite(var F: File; var Buf; Count: Integer); overload; b) procedure BlockWrite(var F: File; var Buf; Count: Integer; var AmtTransferred: Integer); overload; Aqui F é um arquivo não tipado no qual os dados serão escritos, Buf é qualquer variável contendo os dados que serão escritos no arquivo, Count é uma expressão do tipo Integer e representa a quantidade de registros a serem escritos e AmtTransferred é uma variável opcional do tipo Integer que representa a quantidade de registros realmente escritos. Vamos ver um exemplo do uso desta função? Considere o seguinte trecho de código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button2Click(Sender: TObject); var arquivo: File; valor: Byte; begin // vamos abrir o arquivo para escrita AssignFile(arquivo, 'dados.dat'); Rewrite(arquivo, 1); // tamanho do registro = 1 byte valor := 90; // vamos escrever o valor 90 BlockWrite(arquivo, valor, 1); end; Aqui nós escrevemos o byte 90 no arquivo "dados.dat". Note que, ao chamar a função Rewrite() nós informamos que o arquivo sendo criado terá o tamanho de 1 byte por registro. Vejamos agora como escrever quatro bytes (agrupados em um Integer): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button2Click(Sender: TObject); var arquivo: File; valor: Integer; begin // vamos abrir o arquivo para escrita AssignFile(arquivo, 'dados.dat'); Rewrite(arquivo, 4); // tamanho de cada registro = 4 bytes valor := 2290; // vamos escrever o valor 2290 BlockWrite(arquivo, valor, 1); end; Desta vez nós definimos que cada registro no arquivo terá 4 bytes, ou seja, um inteiro (Integer). Para finalizar, veja como podemos escrever um array (matriz) de bytes: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
procedure TForm3.Button2Click(Sender: TObject);
var
arquivo: File;
valores: array[0..3] of Byte; // uma matriz de 4 bytes
i: integer;
begin
// vamos abrir o arquivo para escrita
AssignFile(arquivo, 'dados.dat');
Rewrite(arquivo, 1); // tamanho de cada registro = 1 byte
// vamos atribuir valores aos bytes
for i := 0 to 3 do
begin
valores[i] := (i + 1);
end;
// vamos escrever um bloco de 4 registros de 1 byte cada
BlockWrite(arquivo, valores, 4);
end;
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
Java - Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




