Difference between revisions of "Record/pt"

From Lazarus wiki
Jump to navigationJump to search
m (Translate "main program")
m (Fixed syntax highlighting)
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 38: Line 38:
 
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]]:
  
<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;

Revision as of 08:23, 25 February 2020

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.


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