Boa tarde a todos, revendo novamente as funções.
Cada dia uma surpresa nova do Harbour (rsrsrsrs)
Alterei de Harbour 3.2 para 3.4 e arrumei muitos problemas, mas em compensação ganhei outros.
Bom é o seguinte:
hb_gtInfo( HB_GTI_INKEYFILTER, ;
{ | nKey |
LOCAL nBits, lIsKeyCtrl
nBits := hb_GtInfo( HB_GTI_KBDSHIFTS )
lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
SWITCH nKey
CASE HB_K_CLOSE
RETURN K_ESC
CASE K_MWBACKWARD
RETURN K_DOWN
CASE K_MWFORWARD
RETURN K_UP
CASE K_RBUTTONDOWN
RETURN K_ESC
CASE K_RDBLCLK
RETURN K_ESC
//CASE K_TAB
// RETURN K_DOWN
CASE K_SH_TAB
RETURN K_UP
CASE K_CTRL_V
IF lIsKeyCtrl
IF GetActive() != NIL
hb_GtInfo( HB_GTI_CLIPBOARDPASTE )
RETURN 0
ENDIF
ENDIF
CASE K_CTRL_C
IF lIsKeyCtrl
IF GetActive() != NIL
hb_gtInfo( HB_GTI_CLIPBOARDDATA, Transform( GetActive():buffer,"") )
RETURN 0
ENDIF
ENDIF
ENDSWITCH
RETURN nKey
} )
A função acima, funcionava perfeitamente no 3.2, mas no 3.4 não cola como deveria.
O problema, ao colar um conteúdo copiado de qualquer lugar para dentro de um GET texto e até grande o mesmo não respeita o simbolo ';' automaticamente os dados são jogados de get em get posteriores e não ficando tudo em um get só.
Exemplo campo email 350 caracteres totais.
teste@gmail.com;teste1@gmail.com;teste2@gmail.com (area de transferencia copiada de qualquer lugar, até de um get mesmo)
Ao ser colado esta area de transferencia em um get a função acima joga agora desta forma abaixo.
teste@gmail.com no get corrente e cada um dos outros em outros gets sucessivos pra frente separados certinho no ';'.
Já fiz teste, troquei o ';' por ',' e funciona perfeitamente, então por isto descobri que é justamente o caracter ';'.
Alguem sabe como resolver este b.o ?
Valeu