28 Abr 2016 09:12
28 Abr 2016 09:53
28 Abr 2016 09:56
28 Abr 2016 10:07
28 Abr 2016 10:38
#include "inkey.ch" // arquivo com definições das teclas
Function Main()
Local nCtrlC:=SetKey( K_CTRL_C, { || Copiar() } )
Local nCtrlV:=SetKey( K_CTRL_V, { || Colar() } )
Private cCampo1, cCampo2, cCampo3, cCampo4, cBuffer, cResultado:=Space(20)
Clear Screen
cCampo1 := "1234 "
cCampo2 := "5678 "
cCampo3 := "9874 "
cCampo4 := "6532 "
@ 3,10 Say "Pressione CTRL+C para copiar os campos, e depois ESC para sair"
@ 5,10 Say "Campo1:" Get cCampo1
@ 6,10 Say "Campo2:" Get cCampo2
@ 7,10 Say "Campo3:" Get cCampo3
@ 8,10 Say "Campo4:" Get cCampo4
Read
@ 12,10 Say "==> Pressione CTRL+V para colar o resultado"
@ 15,10 Say "Resultado:" Get cResultado
Read
SetKey( K_CTRL_C, nCtrlC )
SetKey( K_CTRL_V, nCtrlV )
Return Nil
Function Copiar()
cBuffer := AllTrim( M->cCampo1 ) + AllTrim( M->cCampo2 ) + AllTrim( M->cCampo3 ) + AllTrim( M->cCampo4 )
Return
Function Colar()
Clear TypeaHead
KeyBoard cBuffer
Return Nil
28 Abr 2016 10:58
28 Abr 2016 12:20
Function Copiar()
cBuffer := AllTrim( M->cCampo1 ) + AllTrim( M->cCampo2 ) + AllTrim( M->cCampo3 ) + AllTrim( M->cCampo4 )
HB_GTINFO( HB_GTI_CLIPBOARDDATA, cBuffer)
Return
28 Abr 2016 13:09
#include "hbgtinfo.ch"
28 Abr 2016 14:13
*Prg para teste de Copiar e colar dados
#include "FiveWin.ch"
#include "inkey.ch"
#include "hbgtinfo.ch"
static TesteInkey
//----------------------------------------------------------------------------//
CLASS TesteInkey FROM JanDlg
export:
METHOD getInstance(oWnd)
METHOD BuildDlg()
hidden:
METHOD New(oWnd) CONSTRUCTOR
METHOD DeleteW()
METHOD Copiar()
METHOD Colar()
DATA xCampo1,xCampo2,xCampo3,xCampo4,xCampo5,xCampo6
DATA gCampo1,gCampo2,gCampo3,gCampo4,gCampo5,gCampo6
DATA bCopiar, bColar ,cBuffer
ENDCLASS
//----------------------------------------------------------------------------//
METHOD getInstance(oWnd) CLASS TesteInkey
IF TesteInkey = nil
TesteInkey := ::New(oWnd,"#8041",325,130,"Teste Inkey")
ELSE
TesteInkey:oChld:SetFocus()
ENDIF
return TesteInkey
//------------------------------------------------------------------------------
METHOD New(oWind,cIcone,vLarg,vAlt,cTitulo) CLASS TesteInkey
super:New(oWind,cIcone,vLarg,vAlt,cTitulo)
ACTIVATE DIALOG ::oDlg NOMODAL VALID ( TesteInkey:oChld:End(), .t.)
RETURN self
//------------------------------------------------------------------------------
METHOD BuildDlg(oWnd) CLASS TesteInkey
local nCtrlC:= SetKey( K_CTRL_C, { || ::Copiar() } )
local nCtrlV:= SetKey( K_CTRL_V, { || ::Colar() } )
DEFINE DIALOG ::oDlg RESOURCE "#1161" OF ::oChld
Clear Screen
::xCampo1 := "1234"
::xCampo2 := "5678"
::xCampo3 := "4679"
::xCampo4 := "9564"
::xCampo5 := "3256"
REDEFINE GET ::gCampo1 VAR ::xCampo1 ID 4001 OF ::oDlg
REDEFINE GET ::gCampo2 VAR ::xCampo2 ID 4002 OF ::oDlg
REDEFINE GET ::gCampo3 VAR ::xCampo3 ID 4003 OF ::oDlg
REDEFINE GET ::gCampo4 VAR ::xCampo4 ID 4004 OF ::oDlg
REDEFINE GET ::gCampo5 VAR ::xCampo5 ID 4005 OF ::oDlg
REDEFINE GET ::gCampo6 VAR ::xCampo6 ID 4006 OF ::oDlg
SetKey( K_CTRL_C, nCtrlC )
SetKey( K_CTRL_V, nCtrlV )
return Nil
//------------------------------------------------------------------------------
METHOD DeleteW() CLASS TesteInkey
TesteInkey:= nil
return .T.
//------------------------------------------------------------------------------
METHOD Copiar() CLASS TesteInkey
::cBuffer := AllTrim( ::xCampo1 ) + AllTrim( ::xCampo2 ) + AllTrim( ::xCampo3 ) + AllTrim( ::xCampo5 ) + AllTrim( ::xCampo6 )
HB_GTINFO( HB_GTI_CLIPBOARDDATA, ::cBuffer)
Return
//------------------------------------------------------------------------------
METHOD Colar() CLASS TesteInkey
Clear TypeaHead
KeyBoard ::cBuffer
return Nil
28 Abr 2016 14:43
28 Abr 2016 14:55
28 Abr 2016 17:01
Vinícius, apesar do exemplo usar hbgtinfo.ch e a lib gtwvg, ele está em Harbour/DOS (Console) puro.viniciuspc escreveu:mas apenas no modo gráfico? não teria no harbour/DOS puro?
Daiane, biblioteca creio que não, se não daria falta de função. Quanto a ser em FiveWin, não sei nada de FiveWin. Vamos aguardar algum colega que conhece FiveWin e ver se dá uma luz...Daiane escreveu:Sera q é alguma biblioteca? ou pelo fato deu usar o fivewin?
28 Abr 2016 17:05
29 Abr 2016 09:37
METHOD Copiar() CLASS TesteInkey
Define ClipBoard oCop Of ::oDlg
oCop:clear()
oCop:setText( AllTrim( ::xCampo1 ) + AllTrim( ::xCampo2 ) + AllTrim( ::xCampo3 ) + AllTrim( ::xCampo5 ) + AllTrim( ::xCampo6 ) )
Return .t.
02 Mai 2016 09:59
Jairo Maia escreveu:viniciuspc escreveu:mas apenas no modo gráfico? não teria no harbour/DOS puro?
Vinícius, apesar do exemplo usar hbgtinfo.ch e a lib gtwvg, ele está em Harbour/DOS (Console) puro.
Function Ctrl_C()
******** **************************************************
* copia o conteudo de um get para a area de transferencia *
* http://www.pctoledo.com.br/forum/viewtopic.php?p=72440
* http://pctoledo.com.br/forum/viewtopic.php?f=4&p=105627#p105627
* Problema : Ctrl + C = PgDn, Ctrl-ScrollLock no inkey.ch *
* então temos que diferenciar
***********************************************************
local cVar:=''
If IsKeyCtrl()
if GetActive():type == 'N'
cVar:=Alltrim(Str(GetActive():varGet()))
Elseif GetActive():type == 'D'
cVar:=Alltrim(DTOC(GetActive():varGet()))
else
cVar:=Alltrim(GetActive():varGet())
Endif
Endif
IF !EMPTY(cVar)
Ctrl_C_Var(cVar)
ENDIF
Return
Function Ctrl_C_Var(cVar)
******** ********************************************************
* copia o conteudo de uma variavel para a area de transferencia *
*****************************************************************
IF !EMPTY(cVar)
HB_GTINFO( HB_GTI_CLIPBOARDDATA, cVar )
ENDIF
Return
Function Ctrl_V()
******** ********************************************************
* cola um conteudo da area de transferencia para o GET corrente *
* PROBLEMA : CTRL + V = Ins no inkey.ch! *
* então devemos diferenciar se a tecla CTRL foi pressionada *
*****************************************************************
local cVar:=''
local lIns
If IsKeyCtrl()
Clear TypeaHead
cVar:=Alltrim(HB_GTINFO( HB_GTI_CLIPBOARDDATA))
keyboard cVar
Else
lIns := ReadInsert() && retorna o estado do Ins
ReadInsert(.not.lIns) && alterna o estado do Ins
KSETINS(.not.lIns) && ct.lib
Endif
return
Function IsKeyCtrl()
******** *************************************************
* http://www.pctoledo.com.br/forum/viewtopic.php?p=72440 *
* verificar se a tecla CTRL foi pressionada! *
**********************************************************
Local nBits := hb_gtinfo( HB_GTI_KBDSHIFTS )
Return nBits == hb_bitor( nBits, HB_GTI_KBD_CTRL )