![]() |
Conjunto de Carros |
Índice
Introdução
Nesse post iremos conhecer alguns dos tipos de dados compostos do Delphi que são mais utilizados.
No desenvolvimento de software com Delphi, além dos tipos de dados primitivos, como inteiros, reais, caracteres e booleanos, é crucial entender e utilizar os tipos de dados compostos. Esses tipos de dados permitem que você agrupe vários valores em uma única estrutura, facilitando o gerenciamento e a manipulação de dados complexos. Em Delphi, os tipos de dados compostos incluem arrays, records, classes, strings dinâmicas e conjuntos. Eles são fundamentais para criar aplicativos robustos e eficientes, pois oferecem flexibilidade e potência na manipulação de dados.
Explorando os Tipos de Dados Primitivos em Delphi
Delphi é uma linguagem de programação poderosa e flexível, que oferece uma variedade de tipos de dados primitivos para facilitar o desenvolvimento de software. Entender esses tipos de dados é essencial para escrever código eficiente e eficaz. Vamos dar uma olhada nos principais tipos de dados primitivos em Delphi de uma forma simples e direta.
O que são Tipos de Dados Compostos do Delphi
No Delphi, os tipos de dados compostos são usados para agrupar múltiplos valores em uma única estrutura, permitindo uma organização e manipulação mais eficiente de dados complexos. Eles são essenciais para criar aplicações robustas e bem estruturadas. Aqui estão alguns dos principais tipos de dados compostos em Delphi:
Tipos de Dados Compostos em Delphi
- Arrays
- Records
- Enumerations
- Conjuntos
Arrays
Arrays são coleções de elementos do mesmo tipo, acessíveis por um índice. Eles são úteis para armazenar listas de itens e permitem operações eficientes de leitura e escrita. Delphi suporta arrays estáticos e dinâmicos, proporcionando versatilidade no uso de memória.
Exemplo:
procedure ArrayExample;
var
IntArray: array[1..5] of Integer;
I: Integer;
begin
for I := 1 to 5 do
IntArray[I] := I * 10;
for I := 1 to 5 do
ShowMessage('IntArray[' + IntToStr(I) + ']: ' + IntToStr(IntArray[I]));
end;
Records
Os records são tipos de dados que agrupam diferentes tipos de variáveis em uma única estrutura. Eles são semelhantes às estruturas (structs) em outras linguagens de programação e são ideais para representar objetos simples com várias propriedades.
Exemplo:
type
TPerson = record
Name: String;
Age: Integer;
Salary: Currency;
end;
procedure RecordExample;
var
Person: TPerson;
begin
Person.Name := 'John Doe';
Person.Age := 30;
Person.Salary := 45000.75;
ShowMessage('Name: ' + Person.Name + sLineBreak +
'Age: ' + IntToStr(Person.Age) + sLineBreak +
'Salary: ' + CurrToStr(Person.Salary:0:2) + sLineBreak);
end;
Enumerations
Enumerations são tipos definidos pelo usuário que consistem em um conjunto de constantes nomeadas.
Exemplo:
type
TDays = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
procedure EnumExample;
var
Day: TDays;
begin
Day := Fri;
ShowMessage('Day: '+ IntToStr(Ord(Day))); // Saídas: 5 (índice baseado em zero)
end;;
Conjuntos
Os conjuntos são coleções de valores do mesmo tipo baseados em um intervalo específico. Eles são usados para representar grupos de valores discretos e suportam operações como união, interseção e diferença.
Exemplo:
type
TDaysSet = set of TDays;
procedure SetExample;
var
WorkDays: TDaysSet;
begin
WorkDays := [Mon, Tue, Wed, Thu, Fri];
if Sat in WorkDays then
ShowMessage('Saturday is a workday')
else
ShowMessage('Saturday is not a workday');
end;
Exemplo Prático
O código a seguir cria um aplicativo Delphi simples com quatro botões, cada um demonstrando o uso de diferentes tipos de dados. Veja como configurar e executar este exemplo:
Passo a Passo para Criar o Projeto
- Abra o Delphi e crie um novo projeto:
- Vá para
File -> New -> VCL Forms Application - Delphi
.
- Vá para
- Adicione quatro botões ao formulário:
- Arraste quatro componentes
Button
daTool Palette
e solte-os no formulário. Nomeie-os apropriadamente (por exemplo,Button1
,Button2
, etc.).
- Arraste quatro componentes
- Configure os eventos
OnClick
para cada botão:- Clique duas vezes em cada botão para abrir o editor de código e criar o evento
OnClick
.
- Clique duas vezes em cada botão para abrir o editor de código e criar o evento
- Adicione o código a seguir ao formulário
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
TPerson = record
Name: String;
Age: Integer;
Salary: Currency;
end;
TDays = (Sun, Mon, Tue, Wed, Thu, Fri, Sat); //Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado
TDaysSet = set of TDays; //Conjunto do tipo TDays
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
procedure ArrayExample;
procedure RecordExample;
procedure EnumExample;
procedure SetExample;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ArrayExample;
var
IntArray: array[1..5] of Integer;
I: Integer;
begin
for I := 1 to 5 do
IntArray[I] := I * 10;
for I := 1 to 5 do
ShowMessage('IntArray[' + IntToStr(I) + ']: ' + IntToStr(IntArray[I]));
end;
procedure TForm1.RecordExample;
var
Person: TPerson;
begin
Person.Name := 'John Doe';
Person.Age := 30;
Person.Salary := 45000.75;
ShowMessage('Name: ' + Person.Name + sLineBreak +
'Age: ' + IntToStr(Person.Age) + sLineBreak +
'Salary: ' + CurrToStr(Person.Salary) + sLineBreak);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Exemplo do uso de array
ArrayExample;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//Exemplo do uso de records
RecordExample;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
//Exemplo do uso de enumerations
EnumExample;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
//Exemplo do uso de conjuntos
SetExample;
end;
procedure TForm1.EnumExample;
var
Day: TDays;
begin
Day := Fri;
ShowMessage('Day: '+ IntToStr(Ord(Day))); // Saídas: 5 (índice baseado em zero)
end;
procedure TForm1.SetExample;
var
WorkDays: TDaysSet;
begin
WorkDays := [Mon, Tue, Wed, Thu, Fri];
if Sat in WorkDays then
ShowMessage('Saturday is a workday')
else
ShowMessage('Saturday is not a workday');
end;
end.
![]() |
Ilustração do projeto. |
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/TipoComposto
Conclusão
Os tipos de dados compostos em Delphi são ferramentas poderosas que permitem aos desenvolvedores criar aplicativos sofisticados e eficientes. Compreender e utilizar esses tipos de dados é essencial para aproveitar ao máximo as capacidades de Delphi. Eles oferecem formas estruturadas e organizadas de armazenar e manipular dados complexos, facilitando a criação de software modular, escalável e de fácil manutenção. Explorar esses tipos de dados e suas aplicações práticas enriquecerá seu arsenal de programação e melhorará significativamente a qualidade de seus projetos em Delphi. Portanto continue evoluindo e colocando em prática o seu aprendizado para elevar o seu nível e do seu projeto também.
Nenhum comentário:
Postar um comentário