interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
EditNome: TEdit;
EditIdade: TEdit;
EditPesquisar: TEdit;
ButtonAdicionar: TButton;
ButtonPesquisar: TButton;
MemoLista: TMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure ButtonAdicionarClick(Sender: TObject);
procedure ButtonPesquisarClick(Sender: TObject);
private
procedure AtualizarLista;
public
end;
var
Form1: TForm1;
Nomes: array of string;
Idades: array of Integer;
implementation
{$R *.dfm}
procedure TForm1.ButtonAdicionarClick(Sender: TObject);
begin
if EditNome.Text = '' then
ShowMessage('Digite um nome válido')
else
begin
SetLength(Nomes, Length(Nomes) + 1);
SetLength(Idades, Length(Idades) + 1);
Nomes[High(Nomes)] := EditNome.Text;
Idades[High(Idades)] := StrToInt(EditIdade.Text);
EditNome.Clear;
EditIdade.Clear;
EditNome.SetFocus;
AtualizarLista;
end;
end;
procedure TForm1.ButtonPesquisarClick(Sender: TObject);
var
i: Integer;
Resultado: TStringList;
begin
Resultado := TStringList.Create;
try
for i := 0 to High(Nomes) do
if Pos(LowerCase(EditPesquisar.Text), LowerCase(Nomes)) > 0 then
Resultado.Add('Nome: ' + Nomes + ' | Idade: ' + IntToStr(Idades));
MemoLista.Lines := Resultado;
finally
Resultado.Free;
end;
end;
procedure TForm1.AtualizarLista;
var
i: Integer;
begin
MemoLista.Clear;
for i := 0 to High(Nomes) do
MemoLista.Lines.Add('Nome: ' + Nomes + ' | Idade: ' + IntToStr(Idades));
end;
end.
Como montar o formulário
No Form1 adicione:
EditNome e Label1 → Nome:
EditIdade e Label2 → Idade:
ButtonAdicionar → Adicionar
EditPesquisar e Label3 → Pesquisar:
ButtonPesquisar → Pesquisar
MemoLista → para mostrar todas as pessoas e resultados da pesquisa
Como funciona
O usuário adiciona pessoas com nome e idade.
Todos os cadastros aparecem no MemoLista.
O usuário pode digitar um termo no campo Pesquisar e clicar Pesquisar.
O programa mostra apenas os cadastros cujo nome contenha o termo pesquisado.
Salvar os dados em arquivo (.txt ou .csv)
Ordenar a lista por nome ou idade
Remover cadastros existentes
Criar uma interface mais bonita com TListView