Difference between revisions of "Record/pt"
Rodrigorgs (talk | contribs) m (Minor revision) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
=== Estrutura fixa === | === Estrutura fixa === | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
type | type | ||
TMembro = record | TMembro = record | ||
Line 29: | Line 29: | ||
Os campos são acessados colocando-se um ponto entre o nome do registro e o nome do campo. Assumindo que ''a'' é uma variável do tipo TMembro, pode-se escrever: | Os campos são acessados colocando-se um ponto entre o nome do registro e o nome do campo. Assumindo que ''a'' é uma variável do tipo TMembro, pode-se escrever: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
a.nome := 'Jorge'; | a.nome := 'Jorge'; | ||
a.sobrenome := 'Pedreira'; | a.sobrenome := 'Pedreira'; | ||
Line 36: | Line 36: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Alternativamente, todos os campos ficam disponíveis usando-se a palavra-chave [[with]]: | + | Alternativamente, todos os campos ficam disponíveis usando-se a palavra-chave [[With/pt|with]]: |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
with a do | with a do | ||
begin | begin | ||
Line 52: | Line 52: | ||
Um registro é tratado pelo programa como uma única entidade. Uma das consequências disso é que uma variável de um tipo de registro pode ser copiada integralmente para outra do mesmo tipo: | Um registro é tratado pelo programa como uma única entidade. Uma das consequências disso é que uma variável de um tipo de registro pode ser copiada integralmente para outra do mesmo tipo: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
var | var | ||
a, b: TMembro; | a, b: TMembro; | ||
− | (* | + | (* programa principal *) |
begin | begin | ||
{ ... atribui valores para os campos no registro "a" ... } | { ... atribui valores para os campos no registro "a" ... } |
Latest revision as of 15:55, 10 August 2022
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
magyar (hu) │
polski (pl) │
português (pt) │
русский (ru) │
Um registro é um tipo de dados altamente estruturado em Pascal. Registros são amplamente usados em Pascal para agrupar itens relacionados.
Enquanto estruturas de dados simples como vetores or conjuntos consistem de elementos do mesmo tipo, um registro pode consistir de elementos de diferentes tipos e pode ser muito complexo. Cada parte separada de um registro é chamada de campo.
Declaração
Estrutura fixa
type
TMembro = record
nome, sobrenome : string;
endereco: array [1..3] of string;
telefone: string;
nascimento: TDateTime;
pagouAssinaturaAtual: boolean
end;
Estrutura variável
Veja a versão em inglês deste artigo.
Endereçamento
Campos
Os campos são acessados colocando-se um ponto entre o nome do registro e o nome do campo. Assumindo que a é uma variável do tipo TMembro, pode-se escrever:
a.nome := 'Jorge';
a.sobrenome := 'Pedreira';
a.telefone := '789534';
a.pagouAssinaturaAtual := true;
Alternativamente, todos os campos ficam disponíveis usando-se a palavra-chave with:
with a do
begin
nome := 'Jorge';
sobrenome := 'Pedreira';
telefone := '789534';
pagouAssinaturaAtual := true
end;
Instâncias
Um registro é tratado pelo programa como uma única entidade. Uma das consequências disso é que uma variável de um tipo de registro pode ser copiada integralmente para outra do mesmo tipo:
var
a, b: TMembro;
(* programa principal *)
begin
{ ... atribui valores para os campos no registro "a" ... }
b := a
{ agora "b" tem uma cópia de "a" }
{ não se confunda com referências: }
{ "a" e "b" ainda apontam para entidades diferentes do tipo TMembro }
end.
simple data types |
|
---|---|
complex data types |