Pregunta sobre TBrowseNew

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

Moderador: Moderadores

Ruben Dario
Usuário Nível 3
Usuário Nível 3
Mensagens: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Pregunta sobre TBrowseNew

Mensagem por Ruben Dario »

Saludos al forum.
Uso el TBrowseNew, tengo un problema como hago para que me refresque column:footing, ya que tengo unos valores y me cambian de valor, alguien me puede indicar como solucionarlo.
uso una matriz-

Código: Selecionar todos

   ::Obje := TBrowseNew( a1, a2, b1, b2 )
  
   ::S_SUMA(11)
   ::Obje:skipBlock := {|x| ;
                 k := IF(ABS(x) >= IF(x >= 0,;
                 ::MAXLEN - nSubscript, nSubscript - 1),;
                 IF(x >= 0, ::MAXLEN - nSubscript,;
                 1 - nSubscript),;
                 x), nSubscript += k,;
                 k }
   ::Obje:goTopBlock    := {|| nSubscript := 1}
   ::Obje:goBottomBlock := {|| nSubscript := ::MAXLEN}
   ::Obje:colorSpec := oApp:COLOR_BROWS //color30 //"b/w,gr+/rb,r/w,g/rb,n+/w,w+/b" //color30
*  ::Obje:colorSpec := MYCOLORS
*  ::Obje:headSep   := HSEP
*  ::Obje:colSep    := CSEP

   ::Obje:colSep  := DEF_SEP
   ::Obje:headSep := DEF_HSEP
   ::Obje:footSep := DEF_FSEP

   // One subarray per column


   column := TbcolumnNew( "M.", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,1],;
                               ::aArray[nSubscript,1] := p)})
   column:picture := "!"
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "Borra")
           
   column := TbcolumnNew( "No;Factura", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,2],;
                               ::aArray[nSubscript,2] := p)})
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "Nfac")
                    
   column := TbcolumnNew( "Descuento;P.Pago", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,3],;
                               ::aArray[nSubscript,3] := p)}) 
   column:picture := "999,999,999.99"  
   column:footing :=  TRANSFORM(::XVALOR_DESC ,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")


   column := TbcolumnNew( "Valor;Retencion", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,4],;
                               ::aArray[nSubscript,4] := p)})    
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XVALOR_RETE ,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")

   column := TbcolumnNew( "Valor;Aplicar", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,5],;
                               ::aArray[nSubscript,5] := p)})
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XVALOR_APL ,"999,999,999.99")  // Eval(aBlock) 
   ::Obje:addcolumn( column )  
   
   column:defColor := { 5, 6, 2, 3 }  // { 6, 3, 4, 2 }  { 5, 6, 2, 3 }  { 3, 4, 5, 6 }  { 2, 1, 3, 4 } //PXPpruebas.prg
   //column:colorBlock := {|val| { val % 5 + 1, val % 3 + 2 } }

   SET_FIELD_NAME( Column, "XX")

   column := TbcolumnNew( "Valor;Rete.Iva", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,6],;
                               ::aArray[nSubscript,6] := p)})
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XVALOR_XIVA,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")

   column := TbcolumnNew( "Valor;Rete.ica", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,9],;
                               ::aArray[nSubscript,9] := p)})
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XVALOR_RICA,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")

   column := TbcolumnNew( "Valor;CxC", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,7],;
                               ::aArray[nSubscript,7] := p)})
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XVALOR_CXC  ,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")

   column := TbcolumnNew( "Saldo;Documento", ;
                        {|p| If( p == NIL, ::aArray[nSubscript,8],;
                               ::aArray[nSubscript,8] := p)})
   column:picture := "999,999,999.99"
   column:footing :=  TRANSFORM(::XSALDO_DOC,"999,999,999.99")  // Eval(aBlock)
   ::Obje:addcolumn( column )
   SET_FIELD_NAME( Column, "XX")



   APP_MODE_OFF( ::Obje )
   ::clt_cep := 0
   ::new_pos:=1

  asimenu1(::aContl[11],0,xps,edmenu,a1,a2,b1,b2)

WHILE .T.
  nMouseR := 0; nMouseC := 0
  STABILIZE ::Obje INKEY TO nKey

 If xps=0
  IF (::Obje:stable)
        nLastKey := rat_event(0,.f.,.f.,@nMouseR,@nMouseC)
        nKey := nLastKey //INKEY(0) nuevo para manejar reareas mau s

  ENDIF
  //  @ 21,31 say x_tot_uni picture "999,999,999.9"

  IF !::TbMoveCursor( nKey, nMouseR, nMouseC,0,11,a1, a2, b1, b2 )
     IF (nKey == 287) .OR. (ISMOUSEAT(nMouseR, nMouseC,b1+1,a2+23,b1+1,a2+31))   //* IF (nKey == K_ESC )
        EXIT
     ELSEIF ( nKey == K_F1 )
         oApp:BROHELP()
     ELSEIF (nKey == K_ENTER)
            ::DoGet( 0,Nil )   //DoGet( 0,::Obje,aArray,::new_pos ,t_tra)
      ELSEIF (nKey == K_DEL) .OR. (ISMOUSEAT(nMouseR, nMouseC,b1+1,a2+12,b1+1,a2+21))
       if ::c_edi = 1
             if ::aArray[::new_pos,1]="*"
                ::aArray[::new_pos,1] := " "
             else
                ::aArray[::new_pos,1] := "*"
             endif
             ::Obje:refreshCurrent()
       endif

     ELSEIF (nKey == K_INS ) .OR. (ISMOUSEAT(nMouseR, nMouseC,b1+1,a2+02,b1+1,a2+10))
       if ::c_edi = 1
          if ::aArray[::MAXLEN,2]=" "
          else
            ::ini_detpagfac(" " )  
            ::MAXLEN++
            ::new_pos:=::MAXLEN
          endif
          ::Obje:goBottom()
          ::DoGet( 1,Nil )
       endif
     ELSEIF (nKey == K_F3)
        ::Obje:configure()
        ::Obje:invalidate()
     ELSE
       //  ::b_displ(0)
     ENDIF   
    // este es el que actualiza los valores peron no los muestra.

     ::S_SUMA(11) 
        
   ENDIF
 Else
   Exit
 Endif
END

** SCROLL()
** restscreen(,,,,cScreen)
   RETURN (NIL)
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Pregunta sobre TBrowseNew

Mensagem por vailton »

Tente

Código: Selecionar todos

::Obje:configure:refreshall():forcestable()
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
Responder