Amigos, percebi que quando se constroi um menu com achoice e ao escolher uma opção deste menu, abrindo uma nova escolha (sem apagar o menu anterior), a opção escolhida anteriormente não fica selecionada, fazendo com que nao saibamos qual caminho percorrido ate o menu atual.
Eu não tenho o Achoice.prg que vem com o Clpper52e, precisava do fonte para tentar alterar este procedimento, quando teclar ENTER a opcao escolhida fique destacada, pois desconfio que tem um restore screen ai no meio.
Se alguem tiver alguma dica ou o arquivo, agradeço desde já.
Ate+
Modificação na função Achoice, preciso do fonte.
Moderador: Moderadores
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Modificação na função Achoice, preciso do fonte.
Olá!
A AChoice() aceita um parâmetro que especifica o item inicial. Coloque a função dentro de um loop e a cada iteração ajuste o item inicial para o último selecionado. No NG tem exemplo fazendo isso.
A AChoice() aceita um parâmetro que especifica o item inicial. Coloque a função dentro de um loop e a cada iteração ajuste o item inicial para o último selecionado. No NG tem exemplo fazendo isso.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Modificação na função Achoice, preciso do fonte.
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Re: Modificação na função Achoice, preciso do fonte.
Alxsts, ja utilizo este tecnica da posicao inicial no Achoice. O meu problema não esta ao iniciar o Achoice, o problema mesmo acontece é dentro da função de controle. Quando se tecla ENTER o qual retorna RETURN 1 (selecionado) o Achoice é encerrado, pois dai em diante, o nosso sistema já tem a opção que o usuário escolheu.
Veja esse exemplo:
Toledo Já baixei o arquivo, vou verificar, obrigado.
Anexei o arquivo de imagem contendo o problema, esta como TXT pq nao aceita a extensão JPG, tem que renomea-lo.
Ate+
Veja esse exemplo:
Código: Selecionar todos
tela1:=savescreen(10,20,15,40)
priv ar1:={"Primeira opcao","Segunda opcao"},a2:={.t.,.t.}
sub1:=0;sub2:=0
sub1=achoice(10,20,15,40,ar1,ar2,"minhafuncao",sub1,"")
if sub1=1
*--quando teclo enter no achoice acima na primeira opcao
*--o achoice é terminado e vem para este novo achoice,
*--porem, o achoice anterior, nao fica com a 1a opcao
*--selecionada, para saber que este novo achoice se originou da
*--1a opcao, fica apenas as opcoes na tela, sem nenhuma tarja
*--É como se ao teclar ENTER para selecionar, a funcao achoice
*--restaurasse a tela no quadrado do proprio achoice usando as
*--coordenadas que passamos na propria funcao.
sub2=achoice(16,20,18,40,ar3,ar4,"minhafuncao2",sub2,"")
elseif sub1=2
endif
Anexei o arquivo de imagem contendo o problema, esta como TXT pq nao aceita a extensão JPG, tem que renomea-lo.
Ate+
- Anexos
-
duvida.txt- imagem contendo o que foi citado no codigo acima, esta como txt, renomear para jpg
- (48.17 KiB) Baixado 125 vezes
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Modificação na função Achoice, preciso do fonte.
Olá!
Caro Andril:
não sei se entendi a tua necessidade mas, a intenção é ajudar, sempre.
Nunca soube que o fonte da função AChoice() veio junto com o Clipper 5.2e, como você escreveu. Creio que você tenha se enganado.
Para construir menus, prefiro utilizar outros recursos da linguagem ou mesmo de terceiros. Pelo que entendi, o teu menu tem vários níveis de hierarquia. É difícil fazer isto com AChoice() pois a função trabalha apenas com arrays unidimensionais. Teria que fazer um aninhamento de arrays e tratar tudo isso...
Caro Andril:
não sei se entendi a tua necessidade mas, a intenção é ajudar, sempre.
Nunca soube que o fonte da função AChoice() veio junto com o Clipper 5.2e, como você escreveu. Creio que você tenha se enganado.
Para construir menus, prefiro utilizar outros recursos da linguagem ou mesmo de terceiros. Pelo que entendi, o teu menu tem vários níveis de hierarquia. É difícil fazer isto com AChoice() pois a função trabalha apenas com arrays unidimensionais. Teria que fazer um aninhamento de arrays e tratar tudo isso...
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
