Aula 11 – 24/05/2014

11
Aula 11 – 24/05/2014 Arquivos textos

description

Aula 11 – 24/05/2014. Arquivos textos. Manipulação de arquivos texto. O armazenamento de dados em arquivos é muito utilizado em aplicações pois os dados podem persistidos em disco e armazenados por longo prazo em mídias de armazenamento secundário como pen-drive, disco rígido, HD externo. - PowerPoint PPT Presentation

Transcript of Aula 11 – 24/05/2014

Page 1: Aula 11 – 24/05/2014

Aula 11 – 24/05/2014Arquivos textos

Page 2: Aula 11 – 24/05/2014

Manipulação de arquivos texto

• O armazenamento de dados em arquivos é muito utilizado em aplicações pois os dados podem persistidos em disco e armazenados por longo prazo em mídias de armazenamento secundário como pen-drive, disco rígido, HD externo.

• Os arquivos são armazenados em diretório e possuem um nome é uma extensão que os identifica. A extensão é utilizada para identificar o programa que o gerou.

• Os arquivos normalmente possuem dois formatos: o modo texto, composto por uma sequência de caracteres e o modo binário composto por uma sequência de bytes.

Page 3: Aula 11 – 24/05/2014

• Os arquivos texto são estruturas representadas por linhas, o fim da linha ou quebra de linha é representado pela presença de um marcador de final de linha, no Linux a quebra de linha é identificada pelo CR – carriage return - e no Windows é identificado pela combinação do CR – carriage return – e LF – Line feed.

• Esse por sua vez são caracteres especiais possuem um significado para o sistema operacional. Também existe o marcado EOF – End of File – que identifica o final de um arquivo.

Page 4: Aula 11 – 24/05/2014

Manipulação de arquivos em Delphi

• Vamos estudar duas formas de manipular arquivos texto em Delphi.

• Manipulação em memória

• Manipulação em disco

Page 5: Aula 11 – 24/05/2014

Manipulação em memória

• A vantagem de usar a memória para manipular arquivos é a velocidade com que os dados podem ser alterados.

• A desvantagem é que arquivos muito grandes podem consomem muita memória.

• Para manipular arquivo em memória utilizamos a classe TStringList.

Page 6: Aula 11 – 24/05/2014

• Gravar dados em um arquivo

procedure GravarArquivoStringList();var  // variável que representa o arquivo  Arquivo: TStringList;begin  // Cria um objeto do tipo TStringList  Arquivo:= TStringList.Create;  try    // Adiciona uma linha na lista    Arquivo.Add( 'Essa é uma linha' );

    // Salva o arquivo em disco    Arquivo.SaveToFile('d:\dados.txt');  finally    // Destroi o objeto    FreeAndNil( Arquivo );  end;end;

Page 7: Aula 11 – 24/05/2014

• Ler dados de um arquivo

procedure LerArquivoStringList();var  // variável que representa o arquivo  Arquivo: TStringList;  Indice: Integer;begin  // Cria um objeto do tipo TStringList  Arquivo:= TStringList.Create;  try    // Abre o arquivo em disco    Arquivo.LoadFromFile('d:\dados.txt');    // Percorre as linhas do arquivo    for Indice := 0 to Pred(Arquivo.Count) do      ShowMessage( Arquivo.Strings[Indice] );

  finally    // Destroi o objeto    FreeAndNil( Arquivo );  end;end;

Page 8: Aula 11 – 24/05/2014

Manipulação em disco

• A vantagem de manipular arquivos em disco é que não temos consume de memória no processo

• A desvantagem é que o acesso em disco pode tornar o processo lento.

• Para manipular o arquivo em disco utilizamos o tipo de dado TextFile

Page 9: Aula 11 – 24/05/2014

• Gravar dados em um arquivo

procedure GravarArquivoTextFile();var  // Variável que representa o arquivo  Arquivo: TextFile;begin

  // Associa o nome arquivo em disco com a variável  AssignFile(Arquivo, 'd:\dados.txt');

  // Abre o arquivo para ser manipulado  Rewrite(Arquivo);

  // Escreve uma linha no arquivo Writeln(Arquivo, 'Essa é uma linha');

  // Fehca o arquivo aberto  CloseFile(Arquivo);end;

Page 10: Aula 11 – 24/05/2014

• Ler dados em um arquivo

procedure LerArquivoTextFile();var  // Variável que representa o arquivo  Arquivo: TextFile;  // Auxiliar para gravas os dados da linha  Linha: string;begin  // Associa o nome arquivo em disco com a variável  AssignFile(Arquivo, 'd:\dados.txt'); Reset(Arquivo);

  // Percorre o arquvo até o seu final  while (not Eof(Arquivo)) do  begin    // Le uma linha do arquivo    Readln(Arquivo, Linha);

    ShowMessage( Linha );  end;

  // Fehca o arquivo aberto  CloseFile(Arquivo)end;

Page 11: Aula 11 – 24/05/2014

Formatos de arquivos texto.

• Arquivo texto com caractere separador: um caractere é utilizado para separa os campos da linha

12345:FULANO DE TAL:RUA DE TESTE:SÃO MIGUEL DO OESTE

9857:CICLANO DE TAL:RUA DO BARRAO:MARAVILHA

• Arquivo texto blocado: os campos possuem um tamanho pré-definido.

000012345FULANO DE TAL RUA DE TESTE SÃO MIGUEL DO OESTE

000009857CICLANO DE TAL RUA DO BARRAO MARAVILHA