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 460 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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 3092
- 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