Tenho o seguinte cenário, tenho um array que preciso mostrar varios elementos dentro dele em um MSDialog
Porém ao adicionar com um loop, ele vai pegar a variavel que passei e recalcular de acordo com o novo valor de nx
#define PERC(num,total) ((total*(num/100))/2)
for nx := 1 to nParcelas
nLin += nGap
@ PERC(nLin,nHeight), PERC(10, nWidth) SAY aParcelas[nx,1] OF oDlg PIXEL SIZE 300,100
@ PERC(nLin,nHeight), PERC(20, nWidth) MSGET oTxt VAR aParcelas[nx,2] SIZE nBoxWidth, nBoxHeight OF oDlg COLORS 0, 16777215 PIXEL
@ PERC(nLin,nHeight), PERC(67, nWidth) MSGET oTxt VAR aParcelas[nx,3] SIZE nBoxWidth, nBoxHeight OF oDlg COLORS 0, 16777215 PIXEL next
Tiago, pelo que entendi, você quer montar uma tela com as informações sobre parcelas, correto? Se sim, tenho uma sugestão: ao invés de “imprimir” os dados em tela, vc poderia criar um Dialog, e neste dialog vc poderia inserir um componente do tipo grid como FWBrowse, por exemplo, para exibir esses dados das parcelas. A ideia do grid é mais pelo dinamismo, pois em alguns momentos vc pode ter uma ou duas parcelas, mas em algumas situações vc poderia ter 30, 40 parcelas e aí começa a ficar difícil o controle para não estourar o espaço utilizado da tela. Com uma grid, isso não seria uma preocupação.
Nesta outra postagem, tem até um exemplo de uso desse componente que eu mencionei utilizando vetor:
Bom dia, Felipe!
Consegui resolver esse problema, era por que em MSDialog quando estava passando uma variável, por exemplo nNumero com o valor de 30.
O TGet não estava salvando o valor ‘30’ e sim qual variável que ele deveria apresentar.
Então no momento que eu alterasse o valor da variável nNumero, esse TGet também iria atualizar com o novo valor , e isso tem um comportamento inesperado em um loop