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: 10889 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: 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 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): 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 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: 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 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
C# - Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |