Dúvida achoice()
Enviado: 06 Jun 2008 22:03
Caros colegas, existe a possibilidade de tornar indisponível alguns itens de um menu criado por vetores e a função achoice para preencher um campo ? Tenho um sistema em clipper 5.2 e nos gets uso uma rotina de ajuda para preenchimento dos campos, formada pela função achoice(). Gostaria que dependendo do que foi escolhido no get anterior, apenas alguns itens do menu no achoice() ficasse disponível para escolha e preenchimento do próximo get.
Ilustrando:
@ 5,55 say "Tipo:" get voutros pict "@!" valid .not. empty(voutros) WHEN AVISO("TECLE <<<F1>>> PARA O TIPO DE PROCESSO")
@ 5,60 say chr(25) color 'r/n'
@ 6,2 say "Fase:" get vfase pict "@!" valid .not. empty(vfase) WHEN AVISO("TECLE <<<F1>>> PARA A FASE EM QUE SE ENCONTRA O PROCESSO")
@ 6,7 say chr(25) color 'r/n'
PROCEDURE AJUDA(PROG,LINHA,VAR)
LOCAL OUTRO[4]
LOCAL FASES[12]
OUTRO[1]:="C.P. "
OUTRO[2]:="INFRATOR "
OUTRO[3]:="OUTROS "
OUTRO[4]:="NÇO INFR."
FASES[1]:= "PRECATàRIA"
FASES[2]:= "OUTROS "
FASES[3]:= "SEM SENT. "
FASES[4]:= "COM SENT. "
FASES[5]:= "TRIBUNAL "
FASES[6]:= "EXECUۂO "
FASES[7]:= "REVISÇO "
FASES[8]:= "P/ARQUIVAR"
FASES[9]:= "DEVOLVIDA "
FASES[10]:="REDISTRIB."
FASES[11]:="ARQUIVADO "
FASES[12]:="APENSADO "
DO CASE
CASE VAR = "VOUTROS"
SAVE SCREEN
@ 4,60 TO 9,70
sombra2(4,60,9,70)
RESP:=ACHOICE(5,61,8,69,OUTRO)
if resp = 0
resp = resp + 1
endif
VOUTROS:=OUTRO[RESP]
RESTORE SCREEN
CASE VAR = "VFASE"
SAVE SCREEN
@ 5,7 TO 18,18
sombra2(5,7,18,18)
RESP:=ACHOICE(6,8,17,17,FASES)
if resp = 0
resp = resp + 1
endif
VFASE:=FASES[RESP]
RESTORE SCREEN
ENDCASE
RETURN
Dependendo do que foi escolhido no primeiro get, gostaria que apenas alguns itens do segundo menu ficassem disponíveis. Obrigado.
Ilustrando:
@ 5,55 say "Tipo:" get voutros pict "@!" valid .not. empty(voutros) WHEN AVISO("TECLE <<<F1>>> PARA O TIPO DE PROCESSO")
@ 5,60 say chr(25) color 'r/n'
@ 6,2 say "Fase:" get vfase pict "@!" valid .not. empty(vfase) WHEN AVISO("TECLE <<<F1>>> PARA A FASE EM QUE SE ENCONTRA O PROCESSO")
@ 6,7 say chr(25) color 'r/n'
PROCEDURE AJUDA(PROG,LINHA,VAR)
LOCAL OUTRO[4]
LOCAL FASES[12]
OUTRO[1]:="C.P. "
OUTRO[2]:="INFRATOR "
OUTRO[3]:="OUTROS "
OUTRO[4]:="NÇO INFR."
FASES[1]:= "PRECATàRIA"
FASES[2]:= "OUTROS "
FASES[3]:= "SEM SENT. "
FASES[4]:= "COM SENT. "
FASES[5]:= "TRIBUNAL "
FASES[6]:= "EXECUۂO "
FASES[7]:= "REVISÇO "
FASES[8]:= "P/ARQUIVAR"
FASES[9]:= "DEVOLVIDA "
FASES[10]:="REDISTRIB."
FASES[11]:="ARQUIVADO "
FASES[12]:="APENSADO "
DO CASE
CASE VAR = "VOUTROS"
SAVE SCREEN
@ 4,60 TO 9,70
sombra2(4,60,9,70)
RESP:=ACHOICE(5,61,8,69,OUTRO)
if resp = 0
resp = resp + 1
endif
VOUTROS:=OUTRO[RESP]
RESTORE SCREEN
CASE VAR = "VFASE"
SAVE SCREEN
@ 5,7 TO 18,18
sombra2(5,7,18,18)
RESP:=ACHOICE(6,8,17,17,FASES)
if resp = 0
resp = resp + 1
endif
VFASE:=FASES[RESP]
RESTORE SCREEN
ENDCASE
RETURN
Dependendo do que foi escolhido no primeiro get, gostaria que apenas alguns itens do segundo menu ficassem disponíveis. Obrigado.