Tah na conta.......
Abraços
Moderador: Moderadores

Código: Selecionar todos
Fala galera , fiz este pequeno browse para ir pegando a moral mas ñ estou conseguindo usar as teclas de navegação dentro dele , simplesmente o codigo trava no INKEY(0)
cls
set date brit
set century on
set epoc to 2000
set score off
#include 'inkey.ch'
@00,00 to 2,79
@1,5 say [Exemplo de uso TBrowse]
@03,00 to 23,79
use fornec
use fornec index xforn
omybrowser:= tbrowsedb(04,01,22,78)
ocolumn1:= tbcolumnNew('codigo fornecedor',{||fornec->cod})
ocolumn2:= tbcolumnNew('Nome Fornecedor' ,{||fornec->forn})
ocolumn3:= tbcolumnNew('CNPJ' ,{||fornec->cnpj})
ocolumn4:= tbcolumnNew('inscri‡ao est.' ,{||fornec->ie})
ocolumn5:= tbcolumnNew('ENDERE€O' ,{||fornec->end})
omybrowser:addcolumn(ocolumn1)
omybrowser:addcolumn(ocolumn2)
omybrowser:addcolumn(ocolumn3)
omybrowser:addcolumn(ocolumn4)
omybrowser:addcolumn(ocolumn5)
do while .t.
do while(!omybrowser:stabilize())
nKey:= inkey()
if nkey!=0
exit
endif
enddo
if omybrowser:stable
inkey(0)
endif
if nkey == K_UP
oMyBrowser:up()
elseif nkey == K_DOWN
oMybrowser:down()
elseif nkey == K_LEFT
oMybrowser:left()
elseif nkey == K_RIGHT
oMybrowser:right()
elseif nkey == K_HOME
oMybrowser:home()
elseif nkey == K_END
oMybrowser:end()
elseif nkey == K_PGUP
oMybrowser:pageUp()
elseif nkey == K_PGDN
oMybrowser:pageDown()
elseif nkey == K_CTRL_PGUP
oMybrowser:goTop()
elseif nkey == K_CTRL_PGDN
oMybrowser:goBottom()
elseif nkey == K_CTRL_HOME
oMybrowser:panHome()
elseif nkey == K_CTRL_END
oMybrowser:panEnd()
elseif nkey == K_CTRL_LEFT
oMybrowser:panLeft()
elseif nkey == K_CTRL_RIGHT
oMybrowser:panRight()
elseif nkey == K_ESC
exit
endif
enddo
dbcloseall()
cls
return
Código: Selecionar todos
cls
set date brit
set century on
set epoc to 2000
set score off
#include 'inkey.ch'
@00,00 to 2,79
@1,5 say [Exemplo de uso TBrowse]
@03,00 to 23,79
use fornec
use fornec index xforn
omybrowser:= tbrowsedb(04,01,22,78)
ocolumn1:= tbcolumnNew('codigo fornecedor',{||fornec->cod})
ocolumn2:= tbcolumnNew('Nome Fornecedor' ,{||fornec->forn})
ocolumn3:= tbcolumnNew('CNPJ' ,{||fornec->cnpj})
ocolumn4:= tbcolumnNew('inscri‡ao est.' ,{||fornec->ie})
ocolumn5:= tbcolumnNew('ENDERE€O' ,{||fornec->end})
omybrowser:addcolumn(ocolumn1)
omybrowser:addcolumn(ocolumn2)
omybrowser:addcolumn(ocolumn3)
omybrowser:addcolumn(ocolumn4)
omybrowser:addcolumn(ocolumn5)
do while .t.
do while !omybrowser:stabilize()
enddo
nKey:= inkey(0)
if nkey == K_UP
oMyBrowser:up()
elseif nkey == K_DOWN
oMybrowser:down()
elseif nkey == K_LEFT
oMybrowser:left()
elseif nkey == K_RIGHT
oMybrowser:right()
elseif nkey == K_HOME
oMybrowser:home()
elseif nkey == K_END
oMybrowser:end()
elseif nkey == K_PGUP
oMybrowser:pageUp()
elseif nkey == K_PGDN
oMybrowser:pageDown()
elseif nkey == K_CTRL_PGUP
oMybrowser:goTop()
elseif nkey == K_CTRL_PGDN
oMybrowser:goBottom()
elseif nkey == K_CTRL_HOME
oMybrowser:panHome()
elseif nkey == K_CTRL_END
oMybrowser:panEnd()
elseif nkey == K_CTRL_LEFT
oMybrowser:panLeft()
elseif nkey == K_CTRL_RIGHT
oMybrowser:panRight()
elseif nkey == K_ESC
exit
endif
enddo
dbcloseall()
cls
return


Código: Selecionar todos
b:colorSpec := "09/01","00/07","15/04","15/01","00/03","00/07"Código: Selecionar todos
column := TBColumnNew( "Data Nascimento", { || TRANSFORM(DTANAS,"@D") } )
column:colorblock({ || IIF( (DTANAS-DATE())<18, {5,2}, {1,2}) })
b:addColumn(column)Código: Selecionar todos
b:freeze := 1
while (lMore)
if ( b:colPos <= b:freeze )
b:colPos := b:freeze + 1
endif
while ( !b:stabilize() )
nKey := InKey()
if ( nKey != 0 )
exit
endif
enddo
if ( b:stable )
if ( b:hitTop .or. b:hitBottom )
Tone(125, 0)
endif
... e assim por dianteCódigo: Selecionar todos
FUNCTION PESQ2()
RESTSCREEN(00,00,24,80,TELA1)
SELE C
SET ORDER TO 2
@02,01 SAY 'NOME FORNECEDOR:' COLOR('GR+/B')
@02,45 SAY 'DATA EMISAO:' COLOR('GR+/B')
@24,09 SAY PADC('PESQUISA NO BANCO DE DADOS',60)COLOR('G+*/B')
@02,17 GET VMOSTFORN PICT '@!'COLOR('B/W')
@02,57 GET VDATEMI PICT '99/99/9999' COLOR('B/W')
READ
IF LASTKEY()=27
DBCLOSEAREA()
RETURN
ENDIF
setcolor('w+/b')
VMOSTFORN=ALLTRIM(VMOSTFORN)
if DBSEEK(VMOSTFORN)
VFORN=COD
SELE D
SET ORDER TO 2
GO TOP
CHAVE=(STR(VFORN,3)+DTOS(VDATEMI))
IF DBSEEK(CHAVE)
tabela() //aqui usava o dbedit
else
go top
tabela() //aqui usava o dbedit
endif
ENDIF
return
**************************<Funcao Tabela>***************************************
function tabela()
#include "inkey.ch"
setcolor('n/gb')
@06,03 clear to 20,76
dispbox(06,03,20,76)
oMybrowser:=TBrowseDb(07,04,19,75)
oMybrowser:HeadSep :=Chr(196) + Chr(196) + CHr(196)
oMybrowser:ColSep :=Space(01) + Chr(179) + Space(01)
oMybrowser:ColorSpec:='N/GB'
ocolum1:=tbcolumnnew('NUMERO DA NOTA' ,{||NF })
ocolum2:=tbcolumnnew('DATA DE EMISSAO' ,{||DATEMI})
ocolum3:=tbcolumnnew('NOME FORNECEDOR' ,{||MOSTFORN})
oMybrowser:addcolumn(ocolum1)
oMybrowser:addcolumn(ocolum2)
oMybrowser:addcolumn(ocolum3)
oMybrowser:freeze:=1
do while .t.
do while(! oMybrowser:stabilize())
enddo
if oMybrowser:stable
if oMybrowser:hitTop()
@20,60 say" INICIO " color('r/gb')
Elseif oMybrowser:hitBottom()
@20,60 say" FIM " color('R/gb')
else
@20,60 say "ÄÄÄÄÄÄÄÄÄÄÄÄ"
endif
endif
nkey:=inkey(0)
if nkey == K_UP
oMyBrowser:up()
elseif nkey == K_DOWN
oMybrowser:down()
elseif nkey == K_LEFT
oMybrowser:left()
elseif nkey == K_RIGHT
oMybrowser:right()
elseif nkey == K_HOME
oMybrowser:home()
elseif nkey == K_END
oMybrowser:end()
elseif nkey == K_PGUP
oMybrowser:pageUp()
elseif nkey == K_PGDN
oMybrowser:pageDown()
elseif nkey == K_CTRL_PGUP
oMybrowser:goTop()
elseif nkey == K_CTRL_PGDN
oMybrowser:goBottom()
elseif nkey == K_CTRL_HOME
oMybrowser:panHome()
elseif nkey == K_CTRL_END
oMybrowser:panEnd()
elseif nkey == K_CTRL_LEFT
oMybrowser:panLeft()
elseif nkey == K_CTRL_RIGHT
oMybrowser:panRight()
elseif nKey== K_ENTER // aqui ñ retorna os dados
vnf:=nf
vdatemi:=datemi
return
elseif nkey == K_ESC
return
endif
ENDDO
RETURN

Código: Selecionar todos
SEEK DTOC(VDTA)
DO WHILE DTA_CAMPO=VDTA
AADD(VETOR,{DTA_CAMPO,NF_CAMPO,DESC_CAMPO})
SKIP
ENDDOCódigo: Selecionar todos
oMybrowser:freeze:=1
do while .t.
do while(! oMybrowser:stabilize())
enddo
if oMybrowser:stable... e assim por dianteTalvez você consiga retornando o elemento do vetor selecionado.ederxc escreveu:2º coloquei para quando teclar enter retonar os valores para a chave de pesquisa , mas ñ estou conseguindo fazer o retorno corretamente
