Erro em algoritmo com array de inteiros

Delphi

24/11/2004

Gostaria de mostrar 100 numeros de uma array inteira no memo.
mas nada que fiz até agora deu certo.
o codigo é, este.

var
a : array[1..100] of integer;
x : integer;

begin
for x:=1 to 100 do
begin
MM1.Lines.Text:=(inttostr(x));
end;
MM1.Lines.Text:=(inttostr(a[x]);
end;

Ele só mostra o 100, o que eu quero é todos os numeros...
alguem sabe onde eu errei?

[b:9608e4909d][color=red:9608e4909d]Título editado pelo Moderador (AZ) - Removido: ´codigo erroneo(Parte3)´[/color:9608e4909d][/b:9608e4909d]


Gollum

Gollum

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

24/11/2004

[b:22f85c093a][color=red:22f85c093a]Notificação de Infração às Regras de Conduta :[/color:22f85c093a][/b:22f85c093a]

Título não descritivo

Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


GOSTEI 0
Massuda

Massuda

24/11/2004

Imaginando que MM1 seja um TMemo e que você queira por o conteúdo de a[] no memo...
// a[] foi preenchido antes de chegar aqui
MM1.Lines.Clear;
for x:=1 to 100 do begin 
  MM1.Lines.Add(inttostr(a[x]));
end; 

deve resolver


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

24/11/2004

Colega,

Adicionando mais dois exemplos:

Neste aqui, é demonstrado exatamente da forma que mencionou, ou seja, são listados os valores dos 100 (todos) elementos do array. É importante ter atribuído os valores aos elementos. Na linha a[i] := i, se omitida ou comentada, vai exibir o lixo que está na memória e se isto for ´esquecido´, vair ocorrer resultados inesperados.

procedure TForm1.Button1Click(Sender: TObject);
var a: Array[1..100] of integer;
    i: SmallInt;
begin
  memo1.Lines.Clear;
  for i := low(a) to high(a) do
  begin
    a[i] := i; // Atribuindo o valor de i para cada elemento de a
    memo1.Lines.Add(IntToStr(a[i]));
  end;
end;


Este exemplo é apenas para ilustrar o funcionamento do método de adição (Add) da propriedade Lines:

procedure TForm1.Button2Click(Sender: TObject);
var i: SmallInt;
begin
  memo1.Lines.Clear;
  for i := 1 to 100 do
    memo1.Lines.Add(IntToStr(i));
end;



GOSTEI 0
POSTAR