Página 1 de 1

FALTA POUCO (tbrowse)

Enviado: 01 Abr 2005 18:30
por Machado_s
Caros irmãos.
:xau
Peço desculpas se estou sendo chato amigos, mas eu preciso terminar a implantação desse tbrowse em meu projeto, ele é m+ importante para mim. E é aqui aonde sempre recorro qdo me vejo enrascado e sei que posso contar com voces.

quero lhe disse q estou a um passo de termina-ló. O que acontence.

o tbrowse iniciar normal, beleza. Agora qdo utilizo qualquer tecla de operaçao (minhas funcoes) ao voltar para o tbrowse os registros se repetem na tela dando faz seta para cima e para baixo.

Segue abaixo a minha rotina:

SELE PRPED1
DBSetorder(2)
DBSeek( Dtos(mData) )

bTela:= SaveTela(ls,cs,li,ci)

oCorp:= TBrowsenew(ls+1,cs+1,li-1,ci-1) /* Crio o Tbrowse */

/* filtro tbrowse com a funcao skipwhil() */
oCorp:skipblock := { |x| SkipWhil(x, {||PRPED1->emissao == mData}) }
oCorp:gotopblock := { || Skipwhil((Lastrec() * -1),{||PRPED1->emissao == mData}) }
oCorp:gobottomblock := { || Skipwhil((Lastrec() * 1),{||PRPED1->emissao == mData}) }

oCorp:colorspec := "w+/bg,n/w,n,n,w/b,r/bg,gr+/bg" /* Cores e Molduras do Tbrowse */
oCorp:colsep := chr(32) + chr(179) + chr(32)
oCorp:headsep := chr(196) + chr(194) + chr(196)
oCorp:footsep := chr(196) + chr(193) + chr(196)

*tbColumnNew('Cliente', {|| Clientes->(dbSeek(PrPed1->Cliente), Left(Razao,25)) })

/* Defino as colunas */
oCol1 := TBcolumnnew (" Pedido", { || TRANS(PRPED1->numero,"99999999") })
oCol2 := TBcolumnnew ("Descri‡Æo do Cl¡ente ", { || CLIENTES->(DBSeek(PRPED1->cliente),LEFT(CLIENTES->razao,25)) })
oCol3 := TBcolumnnew (" Saida " ,{ || PRPED1->saida })
oCol4 := TBcolumnnew ("Prz" ,{ || TRANS(PRPED1->prazo,"99") })
oCol5 := TBcolumnnew (" Compra " ,{ || TRANS(PRPED1->debito,"@E 999,999.99") })
oCol6 := TBcolumnnew ("Aut", { || IF(PRPED1->autoriza='S','Sim','Nao') })

/* Cor na coluna liberação */
oCol5:colorblock:= {|| IIF(PRPED1->debito=0, {1},{6,6})}
oCol6:colorblock:= {|| IIF(PRPED1->autoriza="S", {7,6},{1})}

/* Crio o browse com as colunas definidas.. */
oCorp:addcolumn(oCol1)
oCorp:addcolumn(oCol2)
oCorp:addcolumn(oCol3)
oCorp:addcolumn(oCol4)
oCorp:addcolumn(oCol5)
oCorp:addcolumn(oCol6)

oCorp:gotop()
WHIL (.t.)

setcursor (0)
whil ( !oCorp:stabilize () )
endd

if oCorp:stable
nTecla:= Inkey(0)
endi

DO Case

Case (nTecla == K_ESC)
Exit
Case (nTecla == K_DOWN)
oCorp:down()
Case (nTecla == K_UP)
oCorp:up()
Case (nTecla == K_LEFT)
oCorp:left()
Case (nTecla == K_RIGHT)
oCorp:right()
Case (nTecla == K_HOME)
oCorp:Home()
Case (nTecla == K_END)
oCorp:End()
Case (nTecla == K_PGUP)
oCorp:pageup()
Case (nTecla == K_PGDN)
oCorp:pagedown()
Case (nTecla == K_CTRL_PGUP)
oCorp:gotop()
Case (nTecla == K_CTRL_PGDN)
oCorp:gobottom()
Case (nTecla == K_CTRL_HOME)
oCorp:PanHome()
Case (nTecla == K_CTRL_END)
oCorp:PanEnd()
Case (nTecla == K_CTRL_LEFT)
oCorp:PanLeft()
Case (nTecla == K_CTRL_RIGHT)
oCorp:PanRight()
Case (nTecla == K_ENTER)
// aqui entrar a minha funcao para consulta dos produtos e pesos
// somente isso
campo1:= PRPED1->numero
------------------------------
Case (nTecla == K_F2)
ProwTela() // funcao para lancar os pedidos
Case (nTecla == K_F3)
campo1:= FrDados[nPoint,1]
IF CONFEXCL()
SELE PRPED1
DBSetOrder(1)
DBSeek (campo1)
RLOCK()
dbDELETE()
SELE PRPED2
DBSeek (campo1)
Whil !eof() .and. numero = campo1
RLOCK()
dbDELETE()
Skip
Endd
dbCOMMITALL()
dbUNLOCKALL()
NLen:= LEN(FrDados)
NPos:= ASCAN(FrDados, {|x| x[1] == campo1})
ADEL(FrDados,NPos)
ASIZE(FrDados,(NLen-1))
oCorp:RefreshAll()
ENDI
Case (nTecla == K_F4)
// menus de cadastro

ENDc
oCorp:RefreshAll()

ENDD

O que será q está errado? Falta alguma coisa?
Agradeço m+ por qualquer Ajuda.

Um abraço.

Machado_s
dilsonmachado@hotmail.com.br
ds_machado@ig.com.br

"Escrevo sem pensar, tudo o que o meu inconsciente grita. Penso depois: não só para corrigir, mas para justificar o que escrevi". (Mário de Andrade)

Clipper 5.2e Blinker 7 Med

Enviado: 02 Abr 2005 03:05
por Dudu_XBase
Boa Noite Machado_S!

Faça isso e verifique se continua duplicando.

Case (nTecla == K_F2)
ProwTela() // funcao para lancar os pedidos

SELE PRPED1
DBSetorder(2)
DBSeek( Dtos(mData) )
oCorpo:refreshall()

Enviado: 02 Abr 2005 10:46
por Machado_s
FUNCIONOOUUUU!! ACABEI!! VALEU DUDU.
:))
Finalmente conseguir concluir a tela de pedidos utilizando tbrowse, ficou beleza.
E é importante disser, que isso só foi possível com a ajudar de vocês irmãos, de todos que me ajudaram nessa caminhada. Agradeço a todos, todos os irmãos que se dispuseram a gastar alguns minutos do seu precioso tempo em me ajudar, esclarecendo duvidas e me indicando qual o melhor caminho a seguir. Agradeço pelas mensagens (msm), pelas respostas que obtive aqui. E digo:

Esta é a verdadeira essência desse fórum; Da sua natureza; Da sua criação; Da sua luta em manter o "Clipper" vivo e dar respostas quando muitos há dizem que não tem, não existe. Isso o tornar tão grandioso quanto ele é, e por que não dizer, o grau de sua importância no desenvolvimento de nossos trabalhos e no aprendizado profissional.

O meu m+ obrigado. Deus abençoe a todos.
:xau

Machado_s
dilsonmachado@hotmail.com.br
ds_machado@ig.com.br

"A felicidade não está no fim da jornada, e sim em cada curva do caminho que percorremos para encontrá-la".

Clipper5.2e, Blinker 7, Med

Enviado: 02 Abr 2005 13:54
por Dudu_XBase
QUE DEUS ABENÇOE A TODO NÓS AMÉM.
FICAMOS FELIZES POR SUA VITÓRIA.