Buscar

Manipulação de arquivos texto no delphi

Código

Bom Dia!!!
Bem, vamos falar inicialmente da escrita de arquivos texto. Existem algumas palavras reservadas, das quais irei falar de apenas algumas delas, que serão abordadas neste artigo. Para conhecer todas as palavras reservadas, relacionadas a manipulação de arquivos, entrem no help do Delphi com o seguinte tema: "Input and output procedures and functions"

Palavra Reservada
Função
AssignFile
Associa o arquivo manipulado a uma variável do tipo File
Append
Abre um arquivo existente para inserção de novos dados
Eof
Verifica se a posição atual do cursor indica o fim do arquivo
Write / Rewrite
Escreve valores diversos no arquivo. O rewrite após a escrita posiciona o cursor na próxima linha do arquivo
Read / Readln
Lê diversos valores no arquivo. O readln após a leitura posiciona o cursor na próxima linha do arquivo

Bem, irei agora explicitar dois exemplos contendo a manipulação de arquivos textos. O primeiro deles, ilustrará a inserção de dados em um arquivo. O segundo irá ilustrar a leitura de dados.

function GravaArquivoLogTransacao(TipoTransacao: TTipoTransacao): Integer;
const
  NomArquivo: String = "LogTransacao.txt";
var
  Path: String;
  Arquivo: TextFile;
begin
  Path := ExtractFilePath(Application.ExeName);
  if not DirectoryExists(Path) then begin
    CreateDir(Path);
  end;
  if not FileExists(Path + NomArquivo) then begin
    FileCreate(Path + NomArquivo);
  end;
  Try
    AssignFile(Arquivo, Path + NomArquivo);
    Append(Arquivo);
    Write(Arquivo, FormatFloat("000000", Transacao.TransactionID) + " / " + FormatFloat("000000", Transacao.GlobalID));
    case TipoTransacao of
      ttBeginTran: WriteLn(Arquivo, " - BeginTran: " + DateToStr(Date) + " " + TimeToStr(Time) + " por usuário: " + IntToStr(UserID));
      ttCommit: WriteLn(Arquivo, " - Commit: " + DateToStr(Date) + " " + TimeToStr(Time) + " por usuário: " + IntToStr(UserID));
      ttRollBack: WriteLn(Arquivo, " - RollBack: " + DateToStr(Date) + " " + TimeToStr(Time) + " por usuário: " + IntToStr(UserID));
    end;
    CloseFile(Arquivo);
    Result := 1;
  Except
    Result := -1;
  End;
end;


Na função acima, ilustro a geração de um log de transações de uma aplicação. Observe que as palavras que realizam a "escrita" no arquivo estão destacadas.


procedure LeArquivoLogTransacao(NomeArquivo: String);
var
  strFile: TextFile;
  strLine: String;
begin
  AssignFile(strFile, NomeArquivo);
  Reset(strFile);
  Readln(strFile, strLine);
  while not Eof(strFile) do begin
    ShowMessage(strLine);
    Readln(strFile, strLine);
  end;
end;


Já na função acima, realizamos a leitura do arquivo e lançamos uma mensagem contato o conteúdo lido a cada linha.



 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Componentes
Adicionada dia: 10/05/05
Por: Jeferson
Visualizada: 10243 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009