Bom dia,
Preciso fazer um “Questionario” de perguntas, onde estou buscando as perguntas de um SX5, porem quero fazer com que caso precise adicionar uma nova pergunta, só adicionar no SX5.
Consegui fazer com que na FwDialogModal gere da forma que preciso usando um loop, o TSay vem com as perguntas da forma que preciso e o radios tbm é gerado
Mas a resposta do Radio não esta sendo salvo corretamente, só pega a resposta do ultimo
Esse é o codigo atual;
For nI := 1 To Len(aPergs)
&(cObjTSay + cValToChar(nI)) := TSay():New(nLinha,005,{||}, oDlgModal:getPanelMain(),,,,,,.T.,,,80,10)
&(cObjTSay + cValToChar(nI)):SetText(aPergs[nI][1])
//RADIO
&(cObjTRad + cValToChar(nI)) := TRadMenu():New( nLinha, 080, aItens,, oDlgModal:getPanelMain(),,,,,,,, 110, 15,,,, .T.,.T.)
&(cObjTRad + cValToChar(nI)):bSetGet := {|u|Iif (PCount()==0,aPergs[nI][2],aPergs[nI][2]:=u)}
nLinha+=nSoma
Next
A variavel aPergs é declarada da seguinte forma;
dbSelectArea('SX5');DbSeek(xFilial('SX5')+'XS', .F.)
While SX5->X5_TABELA$'XS'
Aadd(aPergs, {alltrim(SX5->X5_DESCRI), 0})
DbSelectArea('SX5')
DbSkip()
EndDo
o 0 na segunda posição é para que o radios venha desmarcado, quando marco sim ele altera para 1, quando marco não, ele altera para 2,
como eu disse no inicio, na hora de verificar as resposta ele só altera o valor da primeira posição do array mantendo os outros como 0, mesmo marcado na caixa de dialogo
alguem ja precisou fazer algo parecido, ou sabe como contornar isso?