Record/pt

From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) 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.
Data Types
Simple Data Types Boolean | Byte | Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word
Complex Data Types Array | Class | Record | Set | String | ShortString