
Índice
Introdução
Nesse post iremos abordar sobre a Manipulação de Arquivos de Texto com TStringList em Delphi.
A manipulação de arquivos de texto é uma habilidade essencial para qualquer desenvolvedor, pois permite que programas leiam, escrevam e processem dados armazenados em arquivos. Em Delphi, a manipulação de arquivos de texto é facilitada pela classe TStringList
, que permite ler, escrever e manipular listas de strings de forma simples e eficiente.
A classe TStringList
em Delphi é uma das classes mais versáteis e amplamente usadas para manipulação de strings. Esta classe fornece uma maneira conveniente de armazenar, manipular e acessar listas de strings. Aqui estão alguns dos usos e funcionalidades principais da TStringList
:
Principais Usos da TStringList
- Armazenamento de Dados:
TStringList
é ideal para armazenar listas de strings, como linhas de texto de um arquivo, mensagens, listas de itens, etc.
- Manipulação de Strings:
- Adicionar, remover, modificar e acessar strings individuais na lista.
- Ordenação:
TStringList
possui métodos para ordenar os strings em ordem alfabética.
- Persistência de Dados:
- Carregar e salvar listas de strings de e para arquivos, facilitando a manipulação de dados persistentes.
- Trabalhar com Pares de Valores:
TStringList
pode ser usada para armazenar pares de valores (chave-valor) usando a propriedadeNameValueSeparator
.
Principais Propriedades e Métodos
Propriedades
- Count: Retorna o número de strings na lista.
- Strings: Acesso aos strings na lista por índice.
- CommaText: Manipula a lista de strings como uma string única, separada por vírgulas.
- DelimitedText: Manipula a lista de strings como uma string única, separada por um delimitador especificado.
- Sorted: Define se a lista deve estar ordenada.
Métodos
- Add: Adiciona uma string ao final da lista.
- Insert: Insere uma string em uma posição específica da lista.
- Delete: Remove a string em uma posição específica.
- Clear: Remove todas as strings da lista.
- LoadFromFile: Carrega strings de um arquivo.
- SaveToFile: Salva strings em um arquivo.
- Sort: Ordena os strings na lista.
Leitura e Escrita em Arquivos de Texto com TStringList em Delphi
A classe TStringList
é uma das mais utilizadas para manipulação de arquivos de texto em Delphi. Ela oferece métodos simples para carregar e salvar arquivos de texto.
Configurando o Ambiente
- Abrindo o Delphi: Abra o Delphi e crie um novo projeto VCL Forms Application
- Configurando o Formulário Principal: Adicione o seguinte componente ao formulário:
- TMemo(Memo1)
Exemplo Prático: Leitura e Escrita em Arquivos de Texto com TStringList
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormShow(Sender: TObject); private procedure ReadFromFile(const FileName: string); procedure WriteToFile(const FileName: string; const Lines: array of string); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.WriteToFile(const FileName: string; const Lines: array of string); var StringList: TStringList; begin StringList := TStringList.Create; try //Adiciona as linhas na variável StringList StringList.AddStrings(Lines); //Salva o arquivo com as linhas adicionadas StringList.SaveToFile(FileName); finally StringList.Free; end; end; procedure TForm1.ReadFromFile(const FileName: string); var StringList: TStringList; I: Integer; begin StringList := TStringList.Create; try //Carrega o arquivo na variável StringList StringList.LoadFromFile(FileName); //Carrega as linhas do arquivo que estão armazenadas na StringList, no Memo1 for I := 0 to StringList.Count - 1 do Memo1.Lines.Add(StringList[I]); finally StringList.Free; end; end; procedure TForm1.FormShow(Sender: TObject); begin try //Insere cada linha no arquivo separada por vírgula pois o parâmetro Lines é um array de string //Esse arquivo será salvo na mesma pasta do executável do projeto. WriteToFile('example.txt', ['Hello, world!', 'Delphi is great!', 'File handling is simple!']); //Lê o arquivo que acabou de ser gravado ReadFromFile('example.txt'); except on E: Exception do ShowMessage(E.ClassName+ ': '+ E.Message); end; end; end.
Neste exemplo, a função WriteToFile
grava uma lista de strings em um arquivo de texto, enquanto a função ReadFromFile
lê o conteúdo do arquivo e exibe no Memo. o Evento FormShow que é executado quando a tela é aberta, chama as funções WriteToFile
e ReadFromFile
.
Nesse exemplo o componente TMemo foi utilizado apenas para facilitar a visualização do conteúdo do arquivo gravado, pois os dados estavam todos armazenados na variável StringList que é do tipo TStringList.
Vantagens da Classe TStringList
- Simplicidade:
TStringList
oferece uma forma simples e direta de trabalhar com arquivos de texto, facilitando a leitura e escrita de linhas de texto. - Eficácia: A classe é eficiente e bem integrada ao ambiente Delphi, proporcionando alto desempenho em operações de manipulação de arquivos de texto.
Veja abaixo a ilustração do projeto Manipulação de Arquivos de Texto com TStringList:

Código fonte do exemplo
Você pode fazer o download do exemplo do projeto através do repositório do github:
https://github.com/Gisele-de-Melo/StringList
Conclusão
Manipular arquivos de texto em Delphi é uma tarefa comum que se torna simples com o uso da classe TStringList
. Com TStringList
, a leitura e escrita de arquivos de texto se torna uma operação trivial, permitindo que você lide com listas de strings de forma eficiente.
Com os exemplos fornecidos, você agora tem uma base sólida para começar a manipular arquivos de texto em Delphi. Lembre-se de seguir as boas práticas de programação para garantir que seu código seja robusto e fácil de manter. Boa sorte em seus projetos de programação em Delphi!