Clipper On Line • Ver Tópico - ¿Como totalizar en un Browse?

¿Como totalizar en un Browse?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

¿Como totalizar en un Browse?

Mensagempor Adalberto » 21 Set 2012 16:43

Caros amigos do foro,

Necesito totalizar una o varias columnas de un Browse, estoy usando MiniGui Ext (ultima version) y el TSBROWSE, que lo defino asi:
   //
   XSele( cArcDbf2, 1 )
   DBGOTOP()
   DEFINE TBROWSE oBrow AT 100, 010 CELLED ALIAS cArcDbf2       ;
      HEIGHT   270 WIDTH 510 FONT 'Font1' BOLD             ;
      HEADERS  'Madera', 'Especie', 'Precio', 'Importe'      ;
      WIDTHS   070, 200, 100, 120                        ;
      FIELDS   Madera, Nom_Esp, Precio, Importe            ;
      PICTURE  REPL( '!', 05), REPL('!', 25), '##,###.##', '##,###.##';
      ON DBLCLICK Editar( RECNO() )


Me ajudan por favor?, les agradezco mucho.

El Dios del cielo sea con ustedes.

[] Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

¿Como totalizar en un Browse?

Mensagempor Adalberto » 26 Set 2012 17:39

Caros amigos do foro.

Desejo compartilhar com vocês a solução deste problema que me tirou o sonho muitas noites; com a ajuda do amigo lichitorres y outros amigos do foro harbourminigui_es consegui isso. (muito agradecido com cada um deles)

ADD COLUMN TO oBrow               ;
         DATA FieldWblock( 'Metros', Select( cArcDbf2 ) )  ;
         PICTURE '##.###' HEADER 'Metros³' SIZE 080 PIXELS ;
         COLORS CLR_BLACK,CLR_NBLUE 3DLOOK TRUE, TRUE, TRUE;
         MOVE DT_MOVE_NEXT ALIGN DT_RIGHT, DT_CENTER FOOTER {|| SumaCol()}


//
STATIC FUNCTION SumaCol()
LOCAL nTotal := nReg := 0
//
nReg := &cArcDbf2.->( RECNO() )
&cArcDbf2.->( DBGOTOP() )
&cArcDbf2.->( DBEVAL( {||nTotal += Metros}) )
&cArcDbf2.->( DBGOTO(nReg) )
RETURN TRANS( nTotal, '##.###' )


Muito obrigado com cada um de vocês, nosso bom Deus os abençoe assim também os seus amados e suas amadas.
[] Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

¿Como totalizar en un Browse?

Mensagempor alxsts » 26 Set 2012 18:19

Olá!

Muy bien!

Não conheço HMG mas, em se tratando de xBase, é possível melhorar a performance deste código, eliminando a utilização do operador macro ( & ):
STATIC FUNCTION SumaCol()
LOCAL nTotal := nReg := 0
//
nReg := (cArcDbf2)->( RECNO() )
(cArcDbf2)->( DBGOTOP() )
(cArcDbf2)->( DBEVAL( {||nTotal += Metros}) )
(cArcDbf2)->( DBGOTO(nReg) )
RETURN TRANSFORM( nTotal, '@E 999,999.999' )
ou
STATIC FUNCTION SumaCol()
LOCAL nTotal := 0, nReg := (cArcDbf2)->( RECNO() )
//
(cArcDbf2)->( DBGOTOP(), DBEVAL( {||nTotal += Metros}), DBGOTO(nReg) )
//
RETURN TRANSFORM( nTotal, '@E 999,999.999' )
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

¿Como totalizar en un Browse?

Mensagempor Adalberto » 28 Set 2012 13:49

Hola Alexandre Santos,
Gracias por tu respuesta, ya implemente tus sugerencias y funciono mu bien

[] Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro