Delphi xe8.Como botar todo o conteúdo de um Array em uma única variável?

Delphi

22/09/2016

Bom dia,

Eu tenho um Array,

Meu_Array: Array [0..50] of Integer


Eu gostaria de botar todo o conteúdo do Array numa variável; N, por exemplo. Já tentei:

Meu_Array[0][50]:= N;


Dá o seguinte erro de compilação:

[dcc32 Error] ProgreArit.pas(44): E2016 Array type required

Meu_Array: Array [0..50] of integer := N;


Erro:

[dcc32 Error] ProgreArit.pas(44): E2010 Incompatible types: 'array[0..50] of Integer' and 'Set'.

Dentre outras tentativas, mas não compila de jeito nenhum.

É só isso. Se precisar de mais informações, eu posto.

Valew.
Adriano Freitas

Adriano Freitas

Curtidas 0

Respostas

Natanael Ferreira

Natanael Ferreira

22/09/2016

Qual o tipo de dados da variável que você está tentando transferir o array?
GOSTEI 0
Adriano Freitas

Adriano Freitas

22/09/2016

Qual o tipo de dados da variável que você está tentando transferir o array?


Olá, amigo.



É um inteiro.


Por favor, dê uma olhada aqui https://www.devmedia.com.br/forum/progressao-aritmetica-em-delphi-xe8/562724
que eu esclareço tudo.


Obrigado pela resposta. Abraço!
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

22/09/2016

Transferir todo conteúdo de um array de integer para apenas uma variável Integer não é possível.

Imagine 51 inteiros dentro de um 1 Inteiro.

Se for o contrário (atribuir o mesmo valor da variável inteira para todos as posições do array) , é possível através de um loop.

Var
  A1, i: Integer;
  Meu_Array: Array [0 .. 50] of Integer;
begin
  A1 := StrToInt(Edit2.Text);

  for i := 0 to 50 do
    Meu_Array[i] := A1; // Todos os termos do array serão o valor de A1
end;
GOSTEI 0
Raylan Zibel

Raylan Zibel

22/09/2016

  
TNumeros = record
    Valores: Array [0..50] of Integer;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
   Meus_Numeros: TNumeros;
   Meu_ArrayVar: Array [0..50] of TNumeros;
   i, j: Byte;
begin
   mmo1.Lines.Clear;
   for i := 0 to 50 do
      Meus_Numeros.Valores[i] := i;
   for i := 0 to 50 do
      Meu_ArrayVar[i] := Meus_Numeros;
   for i := 0 to 50 do
   begin
      for j := 0 to 50 do
      begin
         if Meu_ArrayVar[i].Valores[j] = 0 then
            mmo1.Lines.Add( '- POSIÇÃO '+IntToStr(i)+' -' );
         mmo1.Lines.Add( IntToStr( Meu_ArrayVar[i].Valores[j] ) );
      end;
   end;
end;
GOSTEI 0
POSTAR