Utilizo uma rotina com mouse para menus, no lugar do prompt.
Mas peguei um sistema grande de terceiros, e não deu certo como eu queria.
isto não funciona:
#command MENU TO <v> => <v> := RatMenuTo(<v>)
isto não funciona:
#command MENU to <v> => <v> := iif(<v>==NIL,1,<v>); <v> := RatMenuTo(<v>)
Isto funciona:
#command MENU to <v> => <v> := 1 ; <v> := RatMenuTo(<v>)
Na função tem lá if variavel==NIL, para o caso de não existir.
mas dá erro de variável inexistente em run-time.
No estilo 1 deu erro e no estilo 2 também.
O estilo 3 funciona, mas sempre reseta a variável para 1, perdendo o default caso a variável já exista.
Alguma sugestão?
Obs. Há milhares de "MENU TO" dentro dos fontes, e criar variável em cada local por enquanto não seria viável.
Por enquanto deixei no modo 3, sempre resetando pra 1.
#command criando variavel
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
#command criando variavel
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
#command criando variavel
José verifique antes se a variável existe. Para isso Maligno neste tópico deu uma solução: https://pctoledo.org/forum/viewto ... 308#p24308
Talvez dê para implentar no seu #command, nos diga se deu certo.
Talvez dê para implentar no seu #command, nos diga se deu certo.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Re: #command criando variavel
Tentei igual a declaração do default, com if/end, mas também não foi.
#xcommand DEFAULT <v1> TO <x1> [, <vn> TO <xn> ] ;
=> ;
IF <v1> == NIL ; <v1> := <x1> ; END ;
[; IF <vn> == NIL ; <vn> := <xn> ; END ]
Olhei via ppo, e a substituição está sendo feita, só não funcionou.
Muito esquisito.
As próximas tentativas vão ser usando ValType() ou Type().
Por enquanto continua daquele jeito, com o default 1, mas funcionando.
#xcommand DEFAULT <v1> TO <x1> [, <vn> TO <xn> ] ;
=> ;
IF <v1> == NIL ; <v1> := <x1> ; END ;
[; IF <vn> == NIL ; <vn> := <xn> ; END ]
Olhei via ppo, e a substituição está sendo feita, só não funcionou.
Muito esquisito.
As próximas tentativas vão ser usando ValType() ou Type().
Por enquanto continua daquele jeito, com o default 1, mas funcionando.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
#command criando variavel
Ahh não está aceitando condicional na diretiva do #command... E se tentar utilizar #ifDef podendo até usar valtype="U" para fazer o #command de forma diferenciada ?
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Re: #command criando variavel
Ou também colocar o comando para chamar uma função que faça esse procedimento.
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Re: #command criando variavel
Consegui.
Funcionou assim:
#command MENU to <v> => If Type("<v>") != "N"; <v> := 1; End ; <v> := RatMenuTo(<v>)
Funcionou assim:
#command MENU to <v> => If Type("<v>") != "N"; <v> := 1; End ; <v> := RatMenuTo(<v>)
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/