Preencher array of array of String
Boa tarde , estou com um problema e já tentei achar uma solução melhor porém não consegui, eu tenho uma lista de objeto da classe pergunta , eu preencho toda lista com os dados dessa classe, porém eu preciso criar uma matriz de panel e imagem para colocar os dados na tela, esta assim o codigo.
estou adicionando os dados na ListaPerguntas.
vet[i,0] := TPergunta(listaPerguntas[contador]).RspColuna;
vet[i,1] := TPergunta(listaPerguntas[contador]).Rsp1;
vet[i,2] := TPergunta(listaPerguntas[contador]).Rsp2;
vet[i,3] := TPergunta(listaPerguntas[contador]).Rsp3;
vet[i,4] := TPergunta(listaPerguntas[contador]).Rsp4;
vet[i,5] := TPergunta(listaPerguntas[contador]).Rsp5;
contador := contador + 1;
estou colocando os dados dentro de vet do tipo array of array of String , alguém sabe uma forma melhor de pegar os dados da lista e guardar na vet vet do tipo array of array of String ???
pergunta := TPergunta.Create; pergunta.Codigo := queryAcesso.FieldByName('COD_PERGUNTA').AsInteger; pergunta.Pergunta := queryAcesso.FieldByName('PERGUNTA').AsString; pergunta.RspColuna:= queryAcesso.FieldByName('IMGCOLUNA').AsString; pergunta.Rsp1 := queryAcesso.FieldByName('IMG1').AsString; pergunta.Rsp2 := queryAcesso.FieldByName('IMG2').AsString; pergunta.Rsp3 := queryAcesso.FieldByName('IMG3').AsString; pergunta.Rsp4 := queryAcesso.FieldByName('IMG4').AsString; pergunta.Rsp5 := queryAcesso.FieldByName('IMG5').AsString; pergunta.RspCerta := queryAcesso.FieldByName('PALAVRA').AsString; ListaPerguntas.Add(pergunta);
estou adicionando os dados na ListaPerguntas.
vet[i,0] := TPergunta(listaPerguntas[contador]).RspColuna;
vet[i,1] := TPergunta(listaPerguntas[contador]).Rsp1;
vet[i,2] := TPergunta(listaPerguntas[contador]).Rsp2;
vet[i,3] := TPergunta(listaPerguntas[contador]).Rsp3;
vet[i,4] := TPergunta(listaPerguntas[contador]).Rsp4;
vet[i,5] := TPergunta(listaPerguntas[contador]).Rsp5;
contador := contador + 1;
estou colocando os dados dentro de vet do tipo array of array of String , alguém sabe uma forma melhor de pegar os dados da lista e guardar na vet vet do tipo array of array of String ???
Lucas Domiciano
Curtidas 0
Melhor post
Emerson Nascimento
06/07/2018
É redundante você ter uma array com os objetos das perguntas e outro com os conteúdos desses objetos.
Talvez seja mais fácil guardar somente o índice da pergunta e apresentar os dados, obtidos diretamente da lista de objetos.
Algo assim:
Pode ser que eu não tenha entendido sua necessidade....
Talvez seja mais fácil guardar somente o índice da pergunta e apresentar os dados, obtidos diretamente da lista de objetos.
Algo assim:
// vet passa a ser um array de inteiros vet[0] := 5; // aqui você diz que o elemento 0 será a pergunta 5 do conjunto de perguntas. vet[1] := 3; // aqui você diz que o elemento 1 será a pergunta 3 do conjunto de perguntas. vet[2] := 8; // aqui você diz que o elemento 2 será a pergunta 8 do conjunto de perguntas. //então você acessa a pergunta à partir do conteúdo do elemento apontado em "vet". Para ilustrar: for n := low( vet ) to high( vet ) begin msg := 'imgcoluna:' + TPergunta(listaPerguntas[vet[n]]).RspColuna + ' | ' + 'img1:' + TPergunta(listaPerguntas[vet[n]]).Rsp1 + ' | ' + 'img2:' + TPergunta(listaPerguntas[vet[n]]).Rsp2 + ' | ' + 'img3:' + TPergunta(listaPerguntas[vet[n]]).Rsp3 + ' | ' + 'img4:' + TPergunta(listaPerguntas[vet[n]]).Rsp4 + ' | ' + 'img5:' + TPergunta(listaPerguntas[vet[n]]).Rsp5; Application.MessageBox( msg, 'Teste', MB_OK); end;
Pode ser que eu não tenha entendido sua necessidade....
GOSTEI 2
Mais Respostas
Lucas Domiciano
05/07/2018
Eu entendi o que quis dizer, só há um problema no form uma label recebi a pergunta , e eu crio uns TImages runtime recebendo a resposta, por isso tenho que salvar em matriz , onde a linha 1 , col 1 recebe rsp1 , linha1 , col2 recebe rsp2 ... até acabar as perguntas e respostas.
GOSTEI 0
Emerson Nascimento
05/07/2018
Mas não acaba funcionando da mesma forma? A diferença é que da forma que eu fiz não precisa preencher o array vet com o conteúdo da pergunta, somente com o "indice" da pergunta, e a montagem é feita obtendo o valor diretamente da lista de objetos listaPerguntas
GOSTEI 0
Lucas Domiciano
05/07/2018
Eu acredito que não da certo, porque como vou fazer gerar o TImages em tempo de execução ? se for um array ele vai repetir indice porque quando gero as imagens do tipo TImage , faço um loop como se fosse uma matriz e não um array.
GOSTEI 0