Página 1 de 1
Browser em um tablet.
Enviado: 27 Nov 2015 12:04
por rbonotto
Boa tarde pessoal.
Colocamos em um tablet com um aplicativo que acessa a area de trabalho de um servidor.
Fiz uma adaptação no programa para usar somente o mouse; no PC ficou nota 10 mas no
tablet apresentou um problema só, mas um problemão.
No dbedit() coloquei na função que o controla o seguinte código:
Código: Selecionar todos
IF M_DE = 0
IF LASTKEY() == 1002
RETURN(DE_ABORT)
END
END
IF M_DE = DE_EXCEPT
IF LASTKEY() == 1014
*** RODA DO MOUSE PARA CIMA
SKIP -1
RETURN(2)
END
IF LASTKEY() == 1015
*** RODA DO MOUSE PARA BAIXO
SKIP +1
RETURN(2)
END
END
No PC rodando a roda do mouse ele sobe e desce, mas no tablet não...e o engraçado é que o LASTKEY() 1002 ele funcionou.
Alguém teria uma idéia de como fazer para o browswer subir e descer ?
Abraços,
Browser em um tablet.
Enviado: 27 Nov 2015 14:37
por rochinha
Amiguinhos,
Os GESTURES como são conhecidos os movimentos feitos com os dedos nas telas não funcionarão com o acesso remoto pois o mesmo não foi adaptado para emitir estes movimentos para as telas remotas.
É bem provável que o Windows 10 possa ter em seu aplicativo de acesso remotos o reconhecimento destes movimentos.
Enquanto isto não acontece, acrescente ao lado dos browses dois botões largos e compridos que simulem a seta-para-cima e seta-para-baixo e implemente os movimentos ao toque deles.
Browser em um tablet.
Enviado: 27 Nov 2015 18:26
por rbonotto
Boas Rochina.
Pensei em fazer isto, mas o dbedit() trabalha com inkey(), como poderia adicionar um botão ? teria um começo de caminho para isto ?
Usando harbour no modo console.
Browser em um tablet.
Enviado: 28 Nov 2015 03:07
por rochinha
Amiguinhos,
rbonotto, não me atentei para o fato de estar rodando em modo console, mas se voce estiver usando alguma biblioteca que permita o uso de mouse, tenho certeza que conseguirá este recurso.
Defina duas áreas, retangulos que atuarão como botões e quando o mouse for pressionado nesta área, faça o inkey/movimento no browse.
Browser em um tablet.
Enviado: 28 Nov 2015 13:32
por rbonotto
Boas Rochinha.
Ai acho que pode dar certo....
Mas me desculpe, é que realmente é a primeira vez que tento fazer isto, e ainda por cima
com a pressão do cliente; se pudesse me ajudar de como que é defino a posição do clique do mouse e passo para o inkey() ajudaria muito mesmo.
Browser em um tablet.
Enviado: 28 Nov 2015 13:33
por frazato
boa tarde! e possível VC colocar a imagem da tela pra mim ter um ideia de como fica e qual programa VC usar no tablet pra acesso.
Frazato
Browser em um tablet.
Enviado: 28 Nov 2015 14:10
por rbonotto
O programa que faz o link do PC com o tablet vou pedir para o técnico.
Algumas imagens:

Browser em um tablet.
Enviado: 28 Nov 2015 17:33
por frazato
muito obrigado! eu uso gtwvw com xharbour vou tentar fazer algo no sentido com um módulo de pedido que uso hj. assim q tiver o nome do programa me envie, arrumei um motivo pra comprar um tablet. RSS
Browser em um tablet.
Enviado: 28 Nov 2015 18:09
por rochinha
Amiguinhos,
Frazato,
Aroveita
esta oferta enquanto ainda estiver ativa, R$ 159,90.
rbonotto,
Você diz que colocou no tablet um
aplicativo que acessa a
Área Remota, que aplicativo é esse. Se não for o
Microsoft Remote Desktop, provavelmente voce não terá o recurso do mouse a contento.
Inclusive, por sua aplicação ser console ela deve prover uso do mouse nativo, ou seja, a
gtwvw deve prover isto, já que se funciona no PC no tablet o efeito será o mesmo pois o tablet irá simular os toques nas áreas da tela como cliques do mouse.
Browser em um tablet.
Enviado: 28 Nov 2015 18:34
por rbonotto
Obrigado pela atenção pessoal.
O técnico me passou agora que o aplicativo é o 2xcliente.
Pedi para ele ver o Microsoft Remote Desktop.
Na verdade o toque está funcionando ok, o que não consigo fazer é o browser descer os itens quando eles ocupam mais do que a tela.
Se houver uma maneira de fazer os SKIP funcionarem com toques já estaria resolvido.
Browser em um tablet.
Enviado: 28 Nov 2015 19:14
por rochinha
Amiguinhos,
rbonotto
O Gesture de pegar-e-arrastar com os dedos, poderia ser simulado por sua aplicação desde que ela conseguisse entender que o momento que o dedo parou em um ponto da tela retornasse um MouseKeyDown e ao movimentar para cima ou para baixo retornasse um MouseGoUp ou MouseGoDown. Estes nomes são ilustrativos.
Exemplo:
Código: Selecionar todos
METHOD MouseAtHeader( nRow, nCol ) CLASS TXBrowse
return ( ::MouseColPos( nCol ) > 0 .and. nRow < ::HeaderHeight() )
METHOD MouseAtFooter( nRow, nCol ) CLASS TXBrowse
return ( ::MouseColPos( nCol ) > 0 .and. nRow > ( ::BrwHeight() - ::FooterHeight() ) )
Estas funções do XBrowse verificam se o mouse está posicionado no cabecalho ou rodapé do mesmo. Veja que as funções de retorno se baseiam em valores não fixos, pois depende da posição que o browse está, seu tamanho, etc.
Já nesta função:
Código: Selecionar todos
METHOD MouseRowPos( nRow ) CLASS TXBrowse
local nRowPos, nTmp
if nRow <= ::HeaderHeight()
return 0
endif
nTmp := nRow - ::HeaderHeight()
nRowPos := Int( nTmp / ::nRowHeight ) + 1
if nRowPos > ::nDataRows
nRowPos := 0
endif
return nRowPos
Verifica e retorna a posição em linha do mouse sobre o browse. Neste caso ele se baseia nas coordenadas do retangulo que o browse está visível.
Veja bem, para que o gesture de arrastar dentro do browse só deverá funcionar se no PC o seu aplicativo tiver o mesmo comportamento, ou seja, se no PC, quando voce pousar o mouse dentro do browse e arrastar para cima e para baixo, o browse se move, voce conseguirá este mesmo efeito pelo tablet.
Browser em um tablet.
Enviado: 11 Fev 2016 17:34
por rbonotto
Boas, pegando um pouco de tudo aqui no forum montei este sample:
http://www.4shared.com/rar/wAkwT0gXba/prog.html?
A única coisa que não consegui fazer é colocar um GET e um botão para limpar ( clear gets ), alguém saberia como poderia fazer ?
Fiz assim:
Código: Selecionar todos
***************************************
FUNCTION getobsitem(QDIVZ)
***************************************
LOCAL tElObsv := SAVESCREEN()
WHILE .T.
VLMouseOn()
aWSt := WaitState()
oObsiTem := SPACE(25)
tela(08,15,12,65)
@ 09,17 SAY item->produto
@ 10,17 SAY 'OBSERVACOES.:' GET oObsiTem PICT('@!')
cur(1); READ; cur(0)
IF aWSt:wsType == WAIT_KEYPRESS
IF LASTKEY() == 27
CLEAR GETS
END
END
IF aWSt:wsType == WAIT_MOUSEDOWN .AND.;
aWSt:wsRow >= 24 .AND. aWSt:wsRow <= 25 .AND.;
aWSt:wsCol >= 00 .AND. aWSt:wsCol <= 80
CLEAR GETS
* sim
EXIT
END
EXIT
END
Não funcionou nem com WAIT_KEYPRESS nem com o WAIT_MOUSEDOWN