Problema GetSys Alterado
Moderador: Moderadores
Problema GetSys Alterado
Pessoal,
Uso ha muito tempo uso um GetSys.prg alterado que peguei neste fórum que serve para que campos numericos os numeros fluem da direita para a esquerda. Sem problemas.
Ocorre que somente agora fui perceber um problema nesse getsys: quando há no get um numero negativo, nao consigo inserir um numero positivo. Ele sempre reassume o numero como se fosse negativo.
Ja olhei o codigo, mas nao soube identificar onde deve ser corrigido no getsys.prg.
Ajudem-me!
Uso ha muito tempo uso um GetSys.prg alterado que peguei neste fórum que serve para que campos numericos os numeros fluem da direita para a esquerda. Sem problemas.
Ocorre que somente agora fui perceber um problema nesse getsys: quando há no get um numero negativo, nao consigo inserir um numero positivo. Ele sempre reassume o numero como se fosse negativo.
Ja olhei o codigo, mas nao soube identificar onde deve ser corrigido no getsys.prg.
Ajudem-me!
- Anexos
-
getsys.prg- (31.66 KiB) Baixado 465 vezes
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Problema GetSys Alterado
Não analisei o código, mas a minha sugestão seria criar uma opção na tela que possa mudar o sinal. Para isto bastaria multiplicar por -1 para alternar o valor negativo para positivo e vice versa. Pode até mesmo acionar tal multiplicação na hora que o usuário digitar "-" ou "+".
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.
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Problema GetSys Alterado
Olá Jânio....
Embora o tópico seja muito antigo... está acontecendo o mesmo comigo... você encontrou a solução?
No clipper funciona perfeitamente... daí compilei no harbour e acontece o erro.
Obrigado
Rubens
Embora o tópico seja muito antigo... está acontecendo o mesmo comigo... você encontrou a solução?
No clipper funciona perfeitamente... daí compilei no harbour e acontece o erro.
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Problema GetSys Alterado
Talvez tenha passado desabercebida a resposta do Pablo.
Na digitação do número, o "-" transforma em negativo.
Então é alterar para o "-" inverter o sinal, ou talvez usar a tecla "+".
Pensei em fazer uso da função Abs(), mas a sugestão dele já inverte o sinal de uma vez, multiplicando por -1.
Na digitação do número, o "-" transforma em negativo.
Então é alterar para o "-" inverter o sinal, ou talvez usar a tecla "+".
Pensei em fazer uso da função Abs(), mas a sugestão dele já inverte o sinal de uma vez, multiplicando por -1.
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/
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Problema GetSys Alterado
José, debuguei o getsys.prg e quando ele passa nesse trecho
da função GetPostValidate( oGet ), ele não muda o valor. Assim imaginemos a variável nNumero1. Você digita -5 nela e pressiona enter para o próximo campo... daí resolve que não é -5 e sim 5. Pressiona seta para cima e volta para a digitação. Daí digita 5 e pressiona enter de novo. Quando sai do get ele volta para o valor -5. Dentro do getsys.prg, debugando é possível verificar que: a variável nNumero1 está com o valor -5 e a propriedade oGet:Buffer está 5, como digitado. Daí o método oGet:assign() deveria atribuir o valor de oGet:Buffer na variável(get) infocus que no momento é o nNumero1. E não está acontecendo. Usando o mesmo getsys.prg no clipper 5.2, funciona perfeitamente.
Daí já não sei como corrigir. Não sei se o método oGet:assign() tem alguma outra dependência para funcionar.
Obrigado
Rubens
getsys.prg usado
Código: Selecionar todos
// If editing occurred, assign the new value to the variable
IF ( oGet:changed )
oGet:assign()
slUpdated := .T.
ENDIFDaí já não sei como corrigir. Não sei se o método oGet:assign() tem alguma outra dependência para funcionar.
Obrigado
Rubens
getsys.prg usado
"Eu e minha casa servimos ao Senhor e você
"
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Problema GetSys Alterado
Descobri o problema... depois de uns 03 dias. Tô tentando fazer o programa funcionar em modo texto e modo gráfico com a minigui. Daí quando insiro a minigui.lib começa a dar estes erros... removi todos os os includes da minigui e tire a lib da compilação e voltou ao normal. Foi bom porque achei o problema e ruim porque talvez não consiga rodar a minigui junto por causa destes problemas... mas vamos testar para ver o que acontece...
Obrigado
Rubens
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"
Problema GetSys Alterado
Boa noite, defensores do Impeachment
Aproveito o assunto, pra citar que um dos itens mais procurados aqui no fórum é um GETSYS alterado
com Temporização dos GETS
Alguém, por acaso, debruçou na loucura do GETSYS e produziu um com Temporizador que possa compartilhar ?
Obrigado
Aproveito o assunto, pra citar que um dos itens mais procurados aqui no fórum é um GETSYS alterado
com Temporização dos GETS
Alguém, por acaso, debruçou na loucura do GETSYS e produziu um com Temporizador que possa compartilhar ?
Obrigado
lugab
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Problema GetSys Alterado
Gabriel não entendi o que seria o "temporizador".....
Tempo para quê ? Aguardar que uma tecla seja pressionada.... após pressionada uma tecla aguardar um tempo ??
...............
Tempo para quê ? Aguardar que uma tecla seja pressionada.... após pressionada uma tecla aguardar um tempo ??
...............
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Problema GetSys Alterado
Bom dia Mário...
Eu não me lembro bem qual foi a solução... mas foi resolvido..
Acredito que com o uso correto do picture.
Dá uma olhada neste tópico https://pctoledo.org/forum/viewto ... 45&t=16261
Vou anexar o getsys.prg que estou usando para você fazer um teste... Rubens
Eu não me lembro bem qual foi a solução... mas foi resolvido..
Acredito que com o uso correto do picture.
Dá uma olhada neste tópico https://pctoledo.org/forum/viewto ... 45&t=16261
Vou anexar o getsys.prg que estou usando para você fazer um teste... Rubens
"Eu e minha casa servimos ao Senhor e você
"
Problema GetSys Alterado
Boa tarde, Mário
É pro GET só esperar X minutos pela digtação e, caso ela não tenha ocorrido, o programa executa alguma função ou simplesmente retorna pra tela anterior
É pro GET só esperar X minutos pela digtação e, caso ela não tenha ocorrido, o programa executa alguma função ou simplesmente retorna pra tela anterior
lugab
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Problema GetSys Alterado
eu tambem uso o getsys alterado (por mim)
e num determinado ponto... lá onde espera-se a digitação eu tenho
e num determinado ponto... lá onde espera-se a digitação eu tenho
Código: Selecionar todos
ctazero := ctafoca := cta_ok := cta_get := seconds()
//clear typeahead
do while (o_Local5 == 0)
while .t.
if volta_ao_main
o_local5 := 27
keyboard 27
setlastkey(27)
else
setlastkey(0)
o_Local5=inkey(1) //inkey()
(era inkey() mas eu mudei para inkey(1) porque não quero que ele fique esperando por uma tecla.... ele espera um segundo... senão vai lá e volta no while .t. e vem esperar mais um segundo......
//msginfo('getsys-'+strzero(procline(),10)+'-'+strzero(o_local5,10))
setcursor(3)
end
/*if o_local5 # 0
@ 1,1 say str(mcol(),4)+'-'+str(col(),4)+'-'+str(o_local5,4)+'-'+if(mleftdown(),'a','d')
end*/
depois que ele sai e antes de voltar lá em cima no while .t. ele sai fazendo fárias comparações como essa aqui de baixo e muitas outras.
if o_Local5 == -33
altC()
end
depois de muitas comparações ele faz esta...
if (seconds() - cta_get > 180 ( ou seja 3 minutos....
o_local5 := 27
keyboard 27
setlastkey(27)
cta_get := seconds()
o_local5 se torna := 27 é inserido o caracter 27 como se tivesse dado um enter.... e ele sai do get
end
daí para baixo é dado todo o prosseguimento como se tivesse dado um esc e o getsys faz tudo sozinho..
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Problema GetSys Alterado
E que tal isto?
Não entendi o fonte do post anterior.
Por acaso isto funciona????
Código: Selecionar todos
// Apply keystrokes until EXIT
WHILE ( oGet:EXITState == GE_NOEXIT )
nKey := Inkey( 600 )
nKey := iif( nKey == 0, K_ESC, nKey )
//nKey := WaitKey()
GetApplyKey( oGet, nKey, lIsMouse)
ENDDO
Não entendi o fonte do post anterior.
Por acaso isto funciona????
Código: Selecionar todos
keyboard 27
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/
-
alxsts
- Colaborador

- Mensagens: 3108
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Problema GetSys Alterado
Olá!
Certamente não. O correto é usar a função CHR() do caracter:. Eu uso a função com a constante manifesta:
Certamente não. O correto é usar a função CHR() do caracter:
Código: Selecionar todos
KEYBOARD CHR( 27 )Código: Selecionar todos
__Keyboard( Chr( K_ESC ) )[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Problema GetSys Alterado
Código: Selecionar todos
keyboard {1,6} //inserindo o Ctrl + Home e o Ctrl + End um seguido do outro
Keyboard 27 //inserindo o esc
Keyboard chr(27) //inserindo o esc
Keyboard {27} //inserindo o esc
:)Pos