Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Criar Matriz no meio do evento de um componente


K!ko

Pergunta

Bom dia senhores.

Seguinte... eu preciso criar uma matriz no meio do evento do um determinado componente, um BitBtn pra ser mais preciso.

Por exemplo:

procedure TFRelMov_Cob.BitBtn3Click(Sender: TObject);
type data = array[1.. 15] of string;
type sum = array[1.. 2,1.. 15] of integer;
var {Variáveis};
Begin

//Linhas de código

//Criar a matriz aqui. <<<<<<<<< 

//Restante dos códigos

end;

não sei se fui claro com meu exemplo, mas preciso criar a matriz no meio do código pois o nº de linhas da mesma deve ser o nº de registros resultantes de um select que já esta no código e só sei criar matrizes e vetores usando o "Type" como esta no exemplo.

agradecido desde já.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
eu preciso criar uma matriz no meio do evento do um determinado componente, um BitBtn pra ser mais preciso.

Vou te dar um exemplo de como criar um array dinamico, com o numero de indices que voce quizer

procedure TForm1.Button1Click(Sender: TObject);
var MeuArray: array of String;
    i : integer;
    InputString : string;
begin
   InputString:= InputBox('Digite o valor do array', 'Prompt', '0');

   SetLength(MeuArray, strtoint(InputString));

   for i := 0 to strtoint(InputString)-1 do
      begin
         MeuArray[i] := inttostr(i);
         memo1.Lines.Append(MeuArray[i]);
      end;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Vou te dar um exemplo de como criar um array dinamico, com o numero de indices que voce quizer

abraço

Brow... eu fiquei um tanto confuso em algumas partes do código... se não for pedir muito, teria como explica-lo?

Como ficaria se eu fosse montar algo com seu exemplo usando o recordcount de um ClientDataSet pra indicar as linhas e que o mesmo array tivesse 15 colunas?

Obrigado pela atenção

Abraço.

Editado por K!ko
Link para o comentário
Compartilhar em outros sites

  • 0
Como ficaria se eu fosse montar algo com seu exemplo usando o recordcount de um ClientDataSet pra indicar as linhas e que o mesmo array tivesse 15 colunas?

Ficara mais ou menos assim

procedure TForm1.Button1Click(Sender: TObject);
var MeuArray: array of array of Integer;
    i,j : integer;
begin

   for i := 0 to CDS_Query1.RecordCount-1 do
      for j := 0 to 14 do         
         begin

            MeuArray[i,j] := CDS_Query1CampodaTabela.Value;

         end;

end;

Primeiro voce define um array com duas dimensões ( var MeuArray: array of array of Integer; )

depois voce define o tamanho dos indices do array ( SetLength(MeuArray,CDS_Query1.RecordCount,15); )

depois disso é só trabalhar com os indices

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Como ficaria se eu fosse montar algo com seu exemplo usando o recordcount de um ClientDataSet pra indicar as linhas e que o mesmo array tivesse 15 colunas?

Ficara mais ou menos assim

Primeiro voce define um array com duas dimensões ( var MeuArray: array of array of Integer; )

depois voce define o tamanho dos indices do array ( SetLength(MeuArray,CDS_Query1.RecordCount,15); )

depois disso é só trabalhar com os indices

abraço

Agora ficou claro... funfo beleza....

Obrigado Jhonas!

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...