Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

[VAZA]

Gravar registos em Record (pilha)

Recommended Posts

Pessoal, to fazendo um exercícios em pilha onde tenho um record chamado cilindro:type cilindro = record CN : integer; H : real; R : real;end;To estudando orientação a objetos no Delphi...E to querendo inserir vários registros em cilindro...por exemplo, tenho 10 cilindros e quero ir colocando isso no record..como faria isso? eu ja tentei: cilindro[1].CN := 5 e não da....como faria isso? terei que criar um array dentro desse record?Abraços...t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando Record pode-se usar um array dinâmico, fazendo algo como:

 

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Buttons;type  TCilindro = record	CN: integer;	H: real;	R: real;  end;  TForm1 = class(TForm)	BitBtn1: TBitBtn;	Memo1: TMemo;	procedure BitBtn1Click(Sender: TObject);  private	{ Private declarations }  public	{ Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);var	cilindro: array of TCilindro;	x: integer;beginRandomize;//Define o tamanho do array TCilindroSetLength(cilindro,10);//Carregafor x:=0 to (Length(cilindro) - 1) do	begin	cilindro[x].CN:=x;	cilindro[x].H:=Random(1000);	cilindro[x].R:=Random(1000);	end;//Exibe em um TMemofor x:=0 to (Length(cilindro) - 1) do	Memo1.Lines.Add(IntToStr(cilindro[x].CN) + ' - ' + FloatToStr(cilindro[x].H) + ' - ' + FloatToStr(cilindro[x].R));end;end.

 

Pode-se ainda usar via "Dynamic allocation routines", mas é mais complicado de trabalhar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.