Difference between revisions of "Record/pt"

From Lazarus wiki
Jump to navigationJump to search
(Translate Record to Portuguese)
 
m (Minor revision)
Line 2: Line 2:
  
 
Um '''registro''' é um [[Type|tipo]] de dados altamente estruturado em [[Pascal]].
 
Um '''registro''' é um [[Type|tipo]] de dados altamente estruturado em [[Pascal]].
Eles são amplamente usados em Pascal para agrupar itens relacionados.
+
Registros são amplamente usados em Pascal para agrupar itens relacionados.
  
Enquanto estruturas de dados simples como [[Array|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.
+
Enquanto estruturas de dados simples como [[Array|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 ==
 
== Declaração ==
Line 36: Line 36:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Alternativamente, todos os campos ficam disponíveis usando-se o constructo [[with]]:
+
Alternativamente, todos os campos ficam disponíveis usando-se a palavra-chave [[with]]:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 58: Line 58:
 
(* main program *)
 
(* main program *)
 
begin
 
begin
{ ... atribui valores para os campos no registro "a" .. }
+
{ ... atribui valores para os campos no registro "a" ... }
 
b := a
 
b := a
 
{ agora "b" tem uma cópia de "a"  }
 
{ agora "b" tem uma cópia de "a"  }

Revision as of 00:47, 9 November 2015

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;

(* 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