Página 1 de 1

Melhor combinação Visual Lib 2.3 e xHarbour

Enviado: 19 Abr 2007 11:59
por sygecom
Buenas....se alguem poder me dizer qual a melhor versão do xharbour para migrar com a visual lib...fico agradecido...se poderem tb. dar algumas dicas ! tudo é bem vindo.

Obs: Jah estou compilando com a versão xHarbour build 0.99.50 Intl. (SimpLex) em janela tudo bonitinho. soh me deu alguns problema com o Tbrowse q ainda não sei o que é ! e quando entro em algum dbedit() ele custa a abrir a tabela.....

Abraços

Enviado: 19 Abr 2007 17:11
por vailton
Explica melhor o que é "ele custa a abrir a tabela" por favor.

Enviado: 19 Abr 2007 17:26
por sygecom
Primeiramente quero lhe agradecer pelo belo trabalho com a visual lib 2.3 Vailton....desculpa achei o problema é que uso as teclas de atalho com F1,F2 e uso tb o ENTER ai deu problema no ENTER...mas isso eu resolvo apesar que são bastante dbedit()....mas meu problema mesmo esta no tbrowse quando ele chega no stabilize() dah um erro e cai...sabe como posso resolver ? vou postar um exemplo de como faço:


Código: Selecionar todos

***********
FUNC TBROSE
***********
FIELD CODPRO,SUBCOD,PRODUTO,BRUTO,DESCONTO,LIQUIDO IN ENTRADA
LOCAL nButton := 1
LOCAL nOpcao  := 0
LOCAL OTbr  :=TBrowseDB( 06, 01, 15, 78 )
LOCAL OTbc1 :=TbColumnNew("N§Pro",                  { || CODPRO   } )
LOCAL OTbc2 :=TbColumnNew("T",                      { || SUBCOD   } )
LOCAL OTbc3 :=TbColumnNew("Descricao Produto",      { || PRODUTO  } )
LOCAL OTbc4 :=TbColumnNew("Peso Bru",               { || BRUTO    } )
LOCAL OTbc5 :=TbColumnNew("Desc.Kg",                { || DESCONTO } )
LOCAL OTbc6 :=TbColumnNew("Peso Liq",               { || LIQUIDO  } )

LOCAL nKey
LOCAL lExitRequested
********************************************************************
                //   1   2    3     4     5     6    7     8     9
oTbr:colorspec :="N*/W,N*/W, W+/B, R+*/N, N/R+, B/W, W/B, R/W*, B/W*"
oTbr:addColumn(oTbc1)
oTbr:addColumn(oTbc2)
oTbr:addColumn(oTbc3)
oTbr:addColumn(oTbc4)
oTbr:addColumn(oTbc5)
oTbr:addColumn(oTbc6)

************ Definicao de Cores ***********
oTbC5:COLORBLOCK :={| DESCONTO | IIF ( DESCONTO > 0 , { 9,9} , { 1,1} ) }
************ largura das colunas ***********
oTbc3:width:=20
************ largura das colunas ***********
************ Marcara das colunas ***********
oTbc1:picture:="!!!!!"
oTbc4:picture:="@E 99,999.9"
oTbc5:picture:="@E 9,999.9"
oTbc6:picture:="@E 99,999.99"
********************************************

************ 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 := 3              // atraves de variaval colfix
oTbr:freeze := ColFix
********************************************

aTABELA := savenv( 01, 00, 24, 79 )
CLEAR TYPEAHEAD         // limpa sujeira no teclado
SAGEM(01,00,'LANCAMENTO DE PRODUTOS NO BOLETO',1)

SETCOLOR( "N+/W,N*/W, , , N*/W" )
SETCURSOR( 1 )
SETCOLOR( "N*/W,W+/BG" )

SELE ENTRADA
ORDScope(0, XNFISCAL)
ORDScope(1, XNFISCAL)
go top

*nSaveRec := Recno()  // NÇO FUNCIONO NO XHARBOUR 09950
*oTbr:RefreshAll()    // NÇO FUNCIONO NO XHARBOUR 09950
*oTbr:ForceStable()   // NÇO FUNCIONO NO XHARBOUR 09950

sum  all bruto to bru
@ 16,36 say bru pict "@E 99,999.9"

Otbr:gotop()  // no arquivo indexado

IExitRequested := .F.
DO WHILE !IExitRequested
   DO WHILE !oTbr:stabilize()   //ELE CAI BEM AQUI
   ENDDO
   nKey := inkey(0)

   IF nKey == K_C .OR. nKey == K_c
      DO WHILE .T.
         CADBOL("C")  // FUNۂO BLA,BLA,BLA
         SELE ENTRADA
         SET ORDER TO 1
         ORDScope(0, XNFISCAL)
         ORDScope(1, XNFISCAL)

         nSaveRec := Recno()
         oTbr:RefreshAll()
         oTbr:ForceStable()

         sum  all bruto to bru
         @ 16,36 say bru pict "@E 99,999.9"

         dbgotop()     // arruma por ordem os dados
         Otbr:gotop()  // no arquivo indexado
         IF vVOLTAR="S"
            LOOP
         ELSE
            EXIT
         ENDIF
      ENDDO
   ELSEIF nKey == K_F .OR. nKey == K_f
      IExitRequested := .T.
   ELSEIF nKey == K_A .OR. nKey == K_a
      vREG=RECNO()

      CADBOL("A")        // FUNۂO BLA,BLA,BLA
      SELE ENTRADA
      SET ORDER TO 1
      ORDScope(0, XNFISCAL)
      ORDScope(1, XNFISCAL)

      nSaveRec := Recno()
      oTbr:RefreshAll()
      oTbr:ForceStable()

      sum  all bruto to bru
      @ 16,36 say bru pict "@E 99,999.9"

      dbgotop()     // arruma por ordem os dados
      Otbr:gotop()  // no arquivo indexado
   ELSEIF nKey == K_DEL
      vREG=RECNO()
      DELCADBOL()        // FUNۂO BLA,BLA,BLA
      SELE ENTRADA
      SET ORDER TO 1
      ORDScope(0, XNFISCAL)
      ORDScope(1, XNFISCAL)

      nSaveRec := Recno()
      oTbr:RefreshAll()
      oTbr:ForceStable()

      sum  all bruto to bru
      @ 16,36 say bru pict "@E 99,999.9"

      dbgotop()     // arruma por ordem os dados
      Otbr:gotop()  // no arquivo indexado
   ELSEIF nKey == F_5
      ATUALIZA()         // FUNۂO BLA,BLA,BLA

      OBRIGA3()          // FUNۂO BLA,BLA,BLA
      SELE ENTRADA
      SET ORDER TO 1
      ORDScope(0, XNFISCAL)
      ORDScope(1, XNFISCAL)

      nSaveRec := Recno()
      oTbr:RefreshAll()
      oTbr:ForceStable()

      sum  all bruto to bru
      @ 16,36 say bru pict "@E 99,999.9"

      dbgotop()     // arruma por ordem os dados
      Otbr:gotop()  // no arquivo indexado

   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()
   ENDIF
ENDDO
RETURN NIL
Desde Já Agradeço...

Enviado: 19 Abr 2007 18:12
por vailton
Alguma msg de erro?

Enviado: 19 Abr 2007 18:27
por sygecom
Sim.....desculpa falha minha não ter postado !! outra coisa estou usando a Visual Lib 2.3 + xHarbur 09950 + wvtgui....Abaixo o post do erro:

Código: Selecionar todos

++++++++++++++++++++ Internal Error Handling Information  +++++++++++++++++++++

Subsystem Call ..: BASE
System Code .....: 1075
Default Status ..: False
Description .....: Argument error
Operation .......: >
Arguments .......:  [ 1] = Type: C Val:         [ 2] = Type: N Val:          0
Involved File ...: 
Dos Error Code ..: 0

 Trace Through:
----------------
(b)PLABOLETO          :     586 in Module: BAL.PRG
TBROWSE:DRAWAROW      :   2,206 in Module: tbrowse.prg
TBROWSE:PERFORMSTABIL :   1,909 in Module: tbrowse.prg
TBROWSE:STABILIZE     :   1,815 in Module: tbrowse.prg
PLABOLETO             :     651 in Module: BAL.PRG
PESAGEM               :     484 in Module: BAL.PRG
(b)MENU               :     321 in Module: MENUS.PRG
DWNEXECUTE            :   1,246 in Module: 
DOWNMENU              :     998 in Module: vlib.prg
BAREXECUTE            :     745 in Module: 
BARMENU               :     591 in Module: vlib.prg
MENU                  :   1,028 in Module: MENUS.PRG
MAIN                  :     225 in Module: SAGI.PRG


############################## Video Screen Dump ##############################

+--------------------------------------------------------------------------------+
| N§Pro   T   Descricao Produto      Peso Bru   Desc.Kg   Peso Liq    Vl Preco   |
| ÄÄÄÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ |
|       ³   ³                      ³      0,0 ³     0,0 ³      0,00 ³      0,00  |
|       ³   ³                      ³          ³                                  |
|       ³   ³                      ³          ³                                  |
|       ³   ³                      ³          ³                                  |
|       ³   ³                      ³          ³                                  |
|       ³   ³                      ³          ³                                  |
|       ³   ³                      ³          ³                                  |
|Error BASE/1075  Argument error: > Arguments: ( [ 1] = Type: C Val:         [ 2]|
| = Type: N Val:          0)o Total->     0,0ÄÄÄ¿ÚÄ Resultado da Compra ÄÄÄÄÄÄÄÄ¿|
|³                                              ³³ N§ Total Produtos:           ³|
|Error at ...: (b)PLABOLETO(586) in Module: BAL.PRGPeso Liquido.....:           ³|
|Called from : TBROWSE:DRAWAROW(2206) in Module: tbrowse.prg.......R$           ³|
|Called from : TBROWSE:PERFORMSTABILIZATION(1909) in Module: tbrowse.prg        ³|
|Called from : TBROWSE:STABILIZE(1815) in Module: tbrowse.prgL ....R$           ³|
|Called from : PLABOLETO(651) in Module: BAL.PRGÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ|
|Called from : PESAGEM(484) in Module: BAL.PRGrtador                             |
|Called from : (b)MENU(321) in Module: MENUS.PRGinta-feira       9Calcula0Sa¡da  |
|Called from : DWNEXECUTE(1246) in Module:                                       |
|Called from : DOWNMENU(998) in Module: vlib.prg                                 |
|Called from : BAREXECUTE(745) in Module:                                        |
|Called from : BARMENU(591) in Module: vlib.prg                                  |
|Called from : MENU(1028) in Module: MENUS.PRG                                   |
|Called from : MAIN(225) in Module: SAGI.PRG                                     |
+--------------------------------------------------------------------------------+


Desde ja agradeço sua Atenção

Abraços

Enviado: 19 Abr 2007 18:49
por vailton
Oq tem nesta linha:
(b)PLABOLETO : 586 in Module: BAL.PRG

Enviado: 19 Abr 2007 18:53
por sygecom
Abaixo o que esta nah linha indicada....são referencias para mudar a COR.

Código: Selecionar todos

oTbC5:COLORBLOCK :={| DESCONTO | IIF ( DESCONTO > 0 , { 9,9} , { 1,1} ) }
Abraços

Enviado: 19 Abr 2007 18:55
por sygecom
Tche, se eu tirar elas ele vai tranquilo !!! mas como mudo as cor no tbrowse ?

Enviado: 19 Abr 2007 19:09
por vailton
Qual o nome do campo q vc quer testar? Se for desconto teste:

Código: Selecionar todos

oTbC5:COLORBLOCK :={|| IIF ( DESCONTO > 0 , { 9,9} , { 1,1} ) } 

Enviado: 19 Abr 2007 19:17
por sygecom
Testado e Aprovado....tenho bastante serviço pela frente......vlw...muito obrigado...aproveitando o post vc sabe alguma coisa de comunicação da porta serial para xharbour ? tens algum exemplo ??

Muito Obrigado !!


Abraços

Enviado: 19 Abr 2007 20:41
por vailton
Rapaz nesta questão não...

Enviado: 19 Abr 2007 21:02
por sygecom
Ok....mesmo assim agradeço muito....no que eu poder ser util prende o grito..

Abraços

Enviado: 19 Abr 2007 22:54
por sygecom
Tche, Aproveitando Topico...como faço pra rodar em TELA CHEIA na VISUAL LIB 2.3 ??

Desculpa alguma coisa...mas sou iniciante com varias duvidas....

Abraços

Enviado: 20 Abr 2007 00:48
por vailton
Tem 1 funcao que o pessoal usa para testar a resolucao atual do monitor e deste modo setar o tamanho correto da fonte, dando a impressao de se estar em tela cheia...

Eu já a vi várias vezes, mas num sei onde ela está aqui no HD...
rsrsrs (nao ajudou muito,né?...)

Enviado: 20 Abr 2007 01:17
por sygecom
Grande Vailton, vc simplesmente disponibilizar a visual lib 2.3 jah ajudou até de mais........mas toh conseguindo compilar com xharbour 09950 com o codigo abaixo:

Código: Selecionar todos

FUNC MAIN()

REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
DBSETDRIVER("DBFCDX")

#include "inkey.ch"
#include "visual2.ch"
#include "GTINFO.ch"

REQUEST WVT_SETCODEPAGE
WVT_SETTITLE(HB_OEMTOANSI("Sistema de Agendamento de Consultas"))
WVT_SETICON(2)

WVT_SETCODEPAGE(255)
SET EVENTMASK TO 159
do case  // Identifica a resolucao do video
   case gtinfo(GTI_DESKTOPWIDTH) > 1023
       gtinfo(GTI_FONTWIDTH, 12) // 12 anterior   //   13  //   12
       gtinfo(GTI_FONTSIZE, 27)  // 28 anterior   //   29  //   27
   case gtinfo(GTI_DESKTOPWIDTH) > 799
        gtinfo(GTI_FONTWIDTH, 10 ) // 10 anterior  //   10
        gtinfo(GTI_FONTSIZE, 22 )  // 20 anterior  //   22
   otherwise
        gtinfo(GTI_FONTWIDTH, 8)
        gtinfo(GTI_FONTSIZE, 17)
endcase

SET CENTURY ON
SET BELL OFF
SET DATE BRITISH
SET EPOCH TO 2000
SET CONFIRM ON
SET DELETED ON
SET EXACT ON
SET SCOREBOARD OFF
SET WRAP ON
SET EXCLUSIVE OFF
set(_SET_DBFLOCKSCHEME,2)
Estou dando passo a passo...e estou com os seguintes problema abaixo:
1- como faço para usar o comando DrawFn( 02, "Busca" ) ?
2- como uso a tabela ASCII para visuais na tela como por exemplo CHR(24) ?


Obrigado pela Atenção

Abraços