.
Moderador: Moderadores
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Boa Noite !!!
Vou criar uma matriz chamada aNot2 e vou alimentá-la e exibi-la no
Tbrowse ...
Vc deverá usar o include inkey.ch bastando colocar no seu prg
#include "inkey.ch"
Vou criar uma matriz chamada aNot2 e vou alimentá-la e exibi-la no
Tbrowse ...
Vc deverá usar o include inkey.ch bastando colocar no seu prg
#include "inkey.ch"
Código: Selecionar todos
/*Defino a Matriz */
anot2 := {}
/*Nesse Exemplo eu estou alimentando a matriz com
os dados do meu banco de notas fiscais.... */
arqnot->(dbseek(cCliente))
while arqnot->CLIENTE==cCliente .and. !arq_not->(eof())
aadd(anot2,{arqnot->NUMNOT,arqnot->arqnot->QTDNOT})
arqnot->(dbskip())
enddo
/*Verifico se a Matriz possue conteúdo */
if len(anot2) > 0
/*Crio o Tbrowse */
oCorpo2 := tbrowsenew(03, 03, 12, 73)
/*Para controlar a posição da array */
nPoint := 1
/*Cores e Molduras do Tbrowse */
oCorpo2:colorspec := "w+/bg,n/w,n,n,w/b,r/b,r/bg"
oCorpo2:colsep := chr (032) + chr (179) + chr (032)
oCorpo2:headsep := chr (196) + chr (194) + chr (196)
oCorpo2:footsep := chr (196) + chr (193) + chr (196)
/* Para controlar a navegação*/
oCorpo2:gotopblock := {|| nPoint := 1 }
oCorpo2:gobottomblock := {|| nPoint := len (anot2)}
oCorpo2:skipblock := {|n| arrayskiper (n, @nPoint, len (anot2))}
/* defino as colunas */
oCol1 := tbcolumnnew ("Nota", {|x| iif (x <> nil, anot2[nPoint,1] := x, anot2[nPoint,1])})
oCol2 := tbcolumnnew ("Qtde", {|x| iif (x <> nil, anot2[nPoint,2] := x, anot2[nPoint,2])})
/* crio browse com as colunas definidas... */
oCorpo2:addcolumn(oCol1)
oCorpo2:addcolumn(oCol2)
while ( .t. )
setcursor (0)
while ( !oCorpo2:stabilize () )
enddo
nTecla := inkey (0)
libera()
do case
case ( nTecla == K_ESC )
exit
case ( nTecla == K_DOWN )
oCorpo2:down ()
case ( nTecla == K_UP )
oCorpo2:up ()
case ( nTecla == K_LEFT )
oCorpo2:left ()
case ( nTecla == K_RIGHT )
oCorpo2:right ()
case ( nTecla == K_PGUP )
oCorpo2:pageup ()
case ( nTecla == K_PGDN )
oCorpo2:pagedown ()
case ( nTecla == K_CTRL_PGUP )
oCorpo2:gotop ()
case ( nTecla == K_CTRL_PGDN )
oCorpo2:gobottom ()
endcase
enddo
else // Se não achar nota para esse cliente...
tone (3000,2)
? "Não existem notas emitidas para esse cliente..."
inkeY(2)
endif
/***********
*
* ArraySkiper ()
*
* Controla o posicionamento do browse no array.
*
* by dudu_xbase
***********/
function ARRAYSKIPER (n, nPointer, nElementos)
local nSalvo := nPointer
if ( n > 0 )
nPointer := min (nPointer + n, nElementos)
else
nPointer := max (1, nPointer + n)
endif
return ( nPointer - nSalvo )
Editado pela última vez por Dudu_XBase em 11 Mar 2005 12:11, em um total de 1 vez.
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Pessoal, procure utilizar a pesquisa da seção Download do fórum, lá tem muita coisa útil para todos. :)Pos
Grings, veja esta rotina que está na seção Download:
https://pctoledo.org/forum/dload. ... file_id=65
Abraços,
Grings, veja esta rotina que está na seção Download:
https://pctoledo.org/forum/dload. ... file_id=65
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
evolver
- Membro Master

- Mensagens: 189
- Registrado em: 28 Ago 2004 01:02
- Localização: Cruz Alta - RS
- Contato:
Acabei de postar na área de downloads na seção de rotinas com fontes um editor hexadecimal que fiz usando tbrowse pra editar o arquivo. Ali tu vai poder ter umas excelentes ideías sobre como usar o tbrowse de outras formas. Seja como editor de arquivos (dá pra fazer planilhas ao estilo excel com isso) seja browseando matrizes... Bem dá uma olhada tem o prg junto, bom divertimento.
Sergio "Evolver" Fagundes
CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
