Record/pt

From Lazarus wiki
Revision as of 00:44, 9 November 2015 by Rodrigorgs (talk | contribs) (Translate Record to Portuguese)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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. Eles 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 é chamado 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 o constructo 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;

(* main program *)
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.


navigation bar: data types
simple data types

boolean byte cardinal char currency double dword extended int8 int16 int32 int64 integer longint real shortint single smallint pointer qword word

complex data types

array class object record set string shortstring