Copiar Colar

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Paulo Pereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 28 Abr 2011 00:29
Localização: Joinville / SC

Copiar Colar

Mensagem por Paulo Pereira »

Meu cliente, estava acostumado com o TameDos, tela cheia, opcao de copia colar...
com versao em Harbour o TameDos nao faz efeito..
Uso o modo console, como posso fazer para ter a opcao copiar colar ??
Interessante que estando em janela, se pode colar uma informacao, mas nao copiar...
Obrigado
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Copiar Colar

Mensagem por Pablo César »

Olá Paulo. Você poderia definir uma tecla para copiar, outra para colar. Tudo depende em quê situação você se encontra. Se for para obter uma determinada string e na posição fixa da tela. Você poderia utilizar esta função:

https://pctoledo.org/forum/viewto ... ela#p75728
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.
Paulo Pereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 28 Abr 2011 00:29
Localização: Joinville / SC

Copiar Colar

Mensagem por Paulo Pereira »

Desculpe, acho que nao entedi muito bem..mas nao é janela, sao dados que quero copiar...
O que preciso é que numa tela de consulta ou get de cliente por exemplo...
Se marcar o CNPJ com o mouse, e copiar, depois colar, para outro lugar...dentro do sistema ou para um aplicativo do windows ( tinha essa opcao pelo Tamedos, quando nao era o harbour)

Copiar de fora para dentro funciona. Copiar de um texto do NotePad, por exemplo e colar num campo de get, o windows aceita, preciso do contrario, copiar de dentro do sistema pra outro lugar..

Obrigado
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Copiar Colar

Mensagem por Pablo César »

Paulo Pereira escreveu:Desculpe, acho que nao entedi muito bem..mas nao é janela
Sim, isso entendi. Não está em modo janelado (você já disse isso). Porque se tivesse também iria facilitar, pois você faria toda essa questão de copiar e colar através do sistema operacional. Mas como disse tem que estar em modo janelado.
sao dados que quero copiar...
O que preciso é que numa tela de consulta ou get de cliente por exemplo...
Se marcar o CNPJ com o mouse, e copiar, depois colar, para outro lugar...dentro do sistema ou para um aplicativo do windows ( tinha essa opcao pelo Tamedos, quando nao era o harbour)
Seria copiar do seu get (aplicação em Clipper) e colar em outro programa em Windows. Então você pode definir (por exemplo) a tecla F10 para que o conteúdo daquele GET que contém o CNPJ possa acionar a função que copia para a área de transferência. Ou pode também fazer que após confirmar o CNPJ coloque automaticamente o CNPJ na área de transferência. Mas marcar bloco e utilizar as tecla Ctrl-C de dentro do Clipper... não tem como. Pois justamente as teclas Ctrl-C já são ocupada internamente pelo Clipper e fazer uma alteração dessas não sei se é possível (ao menos em Clipper).

Coloquei um exemplo no arquivo anexo, onde o GetSys.prg foi alterado. Perceba que tem o nome da variavel. Mude para o nome correto da sua variável. Nesse exemplo estou utilizando a WAPI.LIB do Maligno, mas tem outras bibliotecas que poderá utilizar em Clipper. Quando compilar com RTLINK vai dar erro de falta do SWPRUNCMD, mas pode ignorar. Mas se usar BLINKER, não vai dar erro. No exemplo tem para oc aso do Enter colocar automaticamente na memória, no caso do F9 copia manualmente para a memoria e F10 que cola do clipboard.
Anexos
TESTE92.rar
(291.75 KiB) Baixado 220 vezes
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.
Paulo Pereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 28 Abr 2011 00:29
Localização: Joinville / SC

Copiar Colar

Mensagem por Paulo Pereira »

Oi...
esta em modo janelado...mas o mouse nao apresenta opcao de COPIA, só colar..
Sim, isso entendi. Não está em modo janelado (você já disse isso). Porque se tivesse também iria facilitar, pois você faria toda essa questão de copiar e colar através do sistema operacional. Mas como disse tem que estar em modo janelado.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Copiar Colar

Mensagem por Pablo César »

Paulo não sei se você sabia sobre esta informação:

Com o modo de edição rápida, você pode copiar texto entre uma janela de comando e programas baseados no Windows e você também pode colar texto em uma janela de comando usando uma operação com o botão direito. No Microsoft Windows 2000, edição rápida e inserir modo serão ativados por padrão. No Windows XP, porque esses recursos são desabilitados por padrão, há compatibilidade de programas aprimorada com programas mais antigos baseados em MS-DOS que tenha incluído o suporte de mouse.

Para ativar o modo de edição rápida no Windows XP:
Clique em Iniciar, clique em Executar, digite cmd, em seguida, clique em OK.
Clique no ícone no canto superior esquerdo da janela do Prompt de comando e, em seguida, clique em Propriedades.
Na guia Opções, clique para selecionar as caixas de seleção Modo de edição rápida e Modo de inserção.
Clique em OK.
Clique em Salvar as propriedades para janelas futuras com o mesmo título, em seguida, clique em OK.
Tela47.PNG
Faça também:
Clique no ícone no canto superior esquerdo da janela do Prompt de comando e, em seguida, clique em Padrões.
Na guia Opções, clique para selecionar as caixas de seleção Modo de edição rápida e Modo de inserção.
Clique em OK.
Clique em Salvar as propriedades para janelas futuras com o mesmo título, em seguida, clique em OK.

Obs.: Quando você seleciona, bastaria você dar um <Enter> para que o texto selecionado seja colocado na memória.
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.
Paulo Pereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 28 Abr 2011 00:29
Localização: Joinville / SC

Copiar Colar

Mensagem por Paulo Pereira »

Obrigado
No meu XP, ate funciona,
mas nao aparece o menu copiar/colar... tem que usar CTRC-C, depois se clicar no botao direito ja cola, nao ficou tao pratico..porque o usuario pode estar querendo marcar outro lugar e nao copiar para aquele lugar...
vou ver no cliente que tem o Seven 64 bits,
andersoncamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 103
Registrado em: 22 Ago 2004 11:54

Copiar Colar

Mensagem por andersoncamilo »

Boa noite

Eu utilizo o Xharbour 1.21 modo console, e consigo copiar da seguinte forma

1 - Clica com o botão direito do mouse, clica em "Marcar"
2 - Seleciona o que você quer copiar, pode ser qualquer parte da tela
3 - Clica novamente com o botão direito do mouse, pronto ja copiou, ai é so colar onde você quiser.

Se for copiar para algum campo do programa, este campo tem que esta sendo editado no momento do colar.


Ps. Para isto funcionar eu coloco no inicio do programa principal a seguinte instrução: REQUEST HB_NOMOUSE

Bom trabalho

Anderson Camilo
Paulo Pereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 28 Abr 2011 00:29
Localização: Joinville / SC

Copiar Colar

Mensagem por Paulo Pereira »

OPa.. esse REQUEST HB_NOMOUSE é de qual lib ou Include. .??
com esse meu HBP, a funcao é indefinida..

# para exec final
-otransp.exe
-inc
-prgflag=/l
-L\clipper5\lib
-lmylib
-lxhb
-lhbct
-lhbwin
-compr=def
-rebuild
transp.prg
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Copiar Colar

Mensagem por lucimauro »

Em Harbour 3.00 eu fiz COPIAR e COLAR dentro do sistema.
Quero dizer voce pode copiar no windows e colocar na get do sistema e virce verça.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Copiar Colar

Mensagem por JoséQuintas »

O detalhe é não esperar igual o Windows...
Se está usando console deveria aparecer igual.
Se está usando GTWVT que transforma em tela gráfica, apesar de igual console, vai ter que mexer os fontes.

Se fizer uma Inkey() própria é interessante, pra acrescentar recursos.

Aqui fiz assim:

Código: Selecionar todos

Alteração 1:
   hb_gtInfo( HB_GTI_CLIPBOARDDATA )
   hb_gtInfo( HB_GTI_SELECTCOPY, .T. )

Alteração 2:
FUNCTION MyInkey( nTempo)
   LOCAL nKey, nBits, lIsKeyCtrl
   nKey := Inkey( nTempo, INKEY_ALL - INKEY_MOVE ) // Teclado+clicks do mouse

   nBits       := HB_GTINFO( HB_GTI_KBDSHIFTS )
   lIsKeyCtrl  := nBits == HB_BITOR( nBits, HB_GTI_KBD_CTRL )

   DO CASE
   CASE nKey == K_INS .AND. lIsKeyCtrl
      KEYBOARD hb_gtInfo( HB_GTI_CLIPBOARDDATA )
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/
Responder