Formatar Moeda no TBrowse()?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

labaroazul
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 26 Fev 2008 14:52
Localização: São Paulo - SP
Contato:

Formatar Moeda no TBrowse()?

Mensagem por labaroazul »

Boa noite, amigos! -:]

Como faço para formatar campo moeda no TBrowse? Eu queria que saísse mais ou menos como "93.437,03". Nos gets do programa eu faço isso:

@ 00,00 say "Digite: " get cSalario picture "@E 99,99999.99"

E no DBedit() eu fazia a mesma coisa. Mas, no TBrowse, como se faz isso? ´o)
Windows XP Professional + Clipper 5.2e + Exospace + Dbase III Plus + SIX3 + NoDosImp + LXPic
"O trabalho afasta três males: o vício, a pobreza e o tédio." (Voltaire)
Site: http://www.labaroazul.xpg.com.br
Repositório: http://www.4shared.com/dir/31334106/e79 ... aring.html
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Formatar Moeda no TBrowse()?

Mensagem por sygecom »

labaroazul escreveu:Boa noite, amigos! -:]

Como faço para formatar campo moeda no TBrowse? Eu queria que saísse mais ou menos como "93.437,03". Nos gets do programa eu faço isso:

@ 00,00 say "Digite: " get cSalario picture "@E 99,99999.99"

E no DBedit() eu fazia a mesma coisa. Mas, no TBrowse, como se faz isso? ´o)
Exemplo abaixo:

Código: Selecionar todos

************************************************
#define K_C                67   //   C
#define K_c                99   //   c
#define K_F                102  //   F
#define K_f                70   //   f
#define K_A                65   //   A
#define K_a                97   //   a
#define K_I                73   //   I
#define K_i                105  //   i
************************************************
#DEFINE DEF_CSEP " "+CHR(179)+" "             // define o caracter da coluna
#DEFINE FOOT_SEP CHR(196)+CHR(193)+CHR(196)   // define o caracter do horizontal
#DEFINE HEAD_SEP CHR(196)+CHR(194)+CHR(196)   // define o caracter do horizontal
************************************************

*************
FUNC PESQAGE
*************
FIELD NOME,TELEFONE1,CELULAR,TIPO,TELEFONE2,ENDERECO,BAIRRO,CIDADE,UF,CEP IN AGENDA
LOCAL nButton := 1
LOCAL nOpcao  := 0
LOCAL OTbr  :=TBrowseDB( 03, 01, 22, 80 )
LOCAL OTbc1 :=TbColumnNew("Descricao do Cadastrado",{ || NOME     } )
LOCAL OTbc2 :=TbColumnNew("N§ Telefone",            { || TELEFONE1} )
LOCAL OTbc3 :=TbColumnNew("N§ Celular",             { || CELULAR  } )
LOCAL OTbc4 :=TbColumnNew("TIPO",                   { || TIPO     } )
LOCAL OTbc5 :=TbColumnNew("N§ Telefone",            { || TELEFONE2} )
LOCAL OTbc6 :=TbColumnNew("Endere‡o Completo",      { || ENDERECO } )
LOCAL OTbc7 :=TbColumnNew("Bairro",                 { || BAIRRO   } )
LOCAL OTbc8 :=TbColumnNew("Cidade",                 { || CIDADE   } )
LOCAL OTbc9 :=TbColumnNew("UF",                     { || UF       } )
LOCAL OTbc10:=TbColumnNew("CEP",                    { || CEP      } )

LOCAL nKey
LOCAL lExitRequested
PARA TIPOCAD,LINHA
********************************************************************
*                  1      2       3       4      5       6     7      8     9      10       11      12      13
oTbr:colorspec :="N*/W , W+/BG , W+/B , R+*/W , W*/W+ , RJ/W , W/B , R/N , B+*/W , RW*/W , N+*/W, BG+*/W, RG+*/W"
oTbr:addColumn(oTbc1)
oTbr:addColumn(oTbc2)
oTbr:addColumn(oTbc3)
oTbr:addColumn(oTbc4)
oTbr:addColumn(oTbc5)
oTbr:addColumn(oTbc6)
oTbr:addColumn(oTbc7)
oTbr:addColumn(oTbc8)
oTbr:addColumn(oTbc9)
oTbr:addColumn(oTbc10)

************ Definicao de Cores ***********
oTbC1:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE",    { 9,2  } ,;
                             IIF ( TIPO ="FORNECEDOR", { 4,2  } ,;
                             IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
                             IIF ( TIPO ="COMPRADOR",  { 13,2 } ,;
                             IIF ( TIPO ="CREDOR",     { 12,2 } ,;
                             IIF ( TIPO ="DIVERSOS",   { 11,2  } , { 1,2} ) ) ) ) ) ) }

oTbC2:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE",    { 9,2  } ,;
                             IIF ( TIPO ="FORNECEDOR", { 4,2  } ,;
                             IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
                             IIF ( TIPO ="COMPRADOR",  { 13,2 } ,;
                             IIF ( TIPO ="CREDOR",     { 12,2 } ,;
                             IIF ( TIPO ="DIVERSOS",   { 11,2  } , { 1,2} ) ) ) ) ) ) }

oTbC3:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE",    { 9,2  } ,;
                             IIF ( TIPO ="FORNECEDOR", { 4,2  } ,;
                             IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
                             IIF ( TIPO ="COMPRADOR",  { 13,2 } ,;
                             IIF ( TIPO ="CREDOR",     { 12,2 } ,;
                             IIF ( TIPO ="DIVERSOS",   { 11,2  } , { 1,2} ) ) ) ) ) ) }

oTbC4:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE",    { 9,2  } ,;
                             IIF ( TIPO ="FORNECEDOR", { 4,2  } ,;
                             IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
                             IIF ( TIPO ="COMPRADOR",  { 13,2 } ,;
                             IIF ( TIPO ="CREDOR",     { 12,2 } ,;
                             IIF ( TIPO ="DIVERSOS",   { 11,2  } , { 1,2} ) ) ) ) ) ) }

************ largura das colunas ***********
oTbc1:width:=29
************ largura das colunas ***********

************ Marcara das colunas ***********
oTbc2:picture:="@R (99) 9999-9999"   // MASCARA
oTbc3:picture:="@R (99) 9999-9999"   // MASCARA
oTbc5:picture:="@R (99) 9999-9999"   // MASCARA
*******************************************

************ Linhas das colunas ************
oTbr:COLSEP :=DEF_CSEP  // desenha colunas Verticais
oTbr:HEADSEP:=HEAD_SEP  // desenha colunas Horizontais superior
oTbr:FOOTSEP:=FOOT_SEP  // desenha colunas Horizontais inferior
*********************

************ COLUNAS A CONGELAR ************
ColFix := 1              // atraves de variaval colfix
oTbr:freeze := ColFix

**********************************
SELE AGENDA
DBSETORDER(2)

Otbr:gotop()
IExitRequested := .F.
vCONTINUA=" "

DO WHILE !IExitRequested
   DO WHILE !oTbr:stabilize()
   ENDDO

   IF !vCONTINUA="S"
      nKey := inkey(0)
   ENDIF

   IF nKey == K_ENTER .OR. nKey == K_a .OR. nKey == K_A
      nCOLNUM:=OTBR:COLPOS

      DBSETORDER(2)
      OTBR:refreshall()
   ELSEIF nKey == K_C .OR. nKey == K_c
      SELE AGENDA
      DBSETORDER(2)
      AppRede()
      TRAVAREG("S")
      REPL TIPO    WITH "DIVERSOS"
      DBCOMMIT()
      LIBERAREG()

      OTBR:refreshall()
      Otbr:gotop()  // no arquivo indexado

      vCONTINUA="S"
      LOOP
   ELSEIF nKey == K_F .OR. nKey == K_f
      vVOLTAR=SPACE(1)
      IExitRequested := .T.
   ELSEIF nKey == K_DEL
      IF TIPO="DIVERSOS"
         IF !MsgYesNo("Deseja Realmente Excluir ?" ,"Aviso do Sistema")
            LOOP
         ENDIF

         TRAVAREG("S")
         dele
         LIBERAREG()
         OTBR:refreshall()
         Otbr:gotop()  // no arquivo indexado
      ELSE
         MsgINFO("Não é permitido a Alteração por esse processo, Favor entrar no cadastro de origem.","Aviso do Sistema" )
      ENDIF
   ELSEIF nKey == K_F1
      IF INDEXORD()==2
         DBSETORDER(7)
      ELSEIF INDEXORD()==7
         DBSETORDER(2)
      ENDIF
      oTbr:refreshall()
   ELSEIF nKey == K_F2
      aBusca := savenv( 01, 00, 23, 79 )
      chave:= Space(30)
      SETCOLOR( "N*/W,B/W" )
      aWin := Win( 10, 15, 13, 62, "Busca por Nome",WT_VERDE2BRANCO,WD_VERDE2BRANCO)
      __Keyboard()
      @  12, 18 say "Nome.:" get CHAVE pict"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" when DwnMsg( "Informe o Nome para uma pesquisar")
      READ
      RstEnv(aBusca)
      SETCOLOR( "N*/W,W+/B" )
      set softseek on
      seek chave
      set softseek off
      oTbr:refreshall()
   ELSEIF nKey == K_DOWN
      oTbr:down()
   ELSEIF nKey == K_UP
      oTbr:up()
   ELSEIF nKey == K_PGDN
      oTbr:pageDown()
   ELSEIF nKey == K_PGUP
      oTbr:pageUp()
   ELSEIF nKey == K_CTRL_PGUP
      oTbr:goTop()
   ELSEIF nKey == K_CTRL_PGDN
      oTbr:goBottom()
   ELSEIF nKey == K_RIGHT
      oTbr:right()
   ELSEIF nKey == K_LEFT
      oTbr:left()
   ELSEIF nKey == K_HOME
      oTbr:home()
   ELSEIF nKey == K_END
      oTbr:end()
   ELSEIF nKey == K_CTRL_LEFT
      oTbr:panLeft()
   ELSEIF nKey == K_CTRL_RIGHT
      oTbr:panRight()
   ELSEIF nKey == K_CTRL_HOME
      oTbr:panHome()
   ELSEIF nKey == K_CTRL_END
      oTbr:panEnd()
   ELSEIF nKey == K_ESC
      vVOLTAR="S"
      OTBR:refreshall()
      Otbr:gotop()  // no arquivo indexado
      IExitRequested := .T.
   ENDIF
ENDDO
RETURN NIL
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Mensagem por rosalvo rosa »

Muito bom exemplo, tche Leonardo. vou pegar uma carona e tambem procurar entender um pouco mais esta ferramenta que é o TBrowse.
Aliás, pelo tua boa vontade, aposto que tu és colorado também..
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Olá Rosalvo,
O TBROWSE() é muito bom mesmo, qualquer duvida só postar aqui ! Sou colorado...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Formatar Moeda no TBrowse()?

Mensagem por billy1943 »

Oi Sygecom !

Desculpe remexer em tópico meio antigo, mas é que, fuçando em busca de melhoria em meus Tbrowse, interessei-me pela rotina exposta acima.

Ocorre que algumas funções não estão nela e gostaria de saber onde conseguí-las.
Algumas, presumo, são facilmente identificáveis as suas finalidades, mas tem outras não tão presumíveis.

São elas:

APPREDE
TRAVAREG
LIBERAREG
MSGYESNO
MSGINFO
SAVENV
WIN
DWNMSG
RSTENV
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Responder