Clipper On Line • Ver Tópico - Consulta Browse com problema em :colSep e :hardSep

Consulta Browse com problema em :colSep e :hardSep

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

Moderador: Moderadores

 

Consulta Browse com problema em :colSep e :hardSep

Mensagempor clodoaldomonteiro » 02 Out 2019 11:14

Boas a todos,

Estou migrando de xHarbour + GTWVW 1.00 para Harbour 3.4 + GTWVW e estou com um problema na definição dos caracteres de linha e coluna de separação: (oBrowse:colSep e oBrowse:headSep).
O problema aconteceu, quando abro uma janela com a função WVW_nOpenWindow(), onde nesta janela irei colocar a consulta e notei que o sistema coloca a linha de separação do cabeçalho numa posição a baixo e a linha de se paração de colunas em uma posição a mais.

Desde já agradeço a atenção de todos.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Consulta Browse com problema em :colSep e :hardSep

Mensagempor clodoaldomonteiro » 02 Out 2019 13:55

Agora que vi, que já tem um link tratando desse assunto, mas que o erro continua desde de 2014.

viewtopic.php?f=4&t=15117
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Consulta Browse com problema em :colSep e :hardSep

Mensagempor Fernando queiroz » 02 Out 2019 23:45

*******************************
function pesq_orca
*******************************
SELE ORCAMENTO
TELA_ORC := SAVESCREEN( LIN_MENU + 1, 00, 23, 79 )
DBGOTOP()
COR( "MENU" )
JANELA( 03, 02, 21, 77, "Consulta Or‡amento" )
L_CON := L_SOM; C_CON := C_SOM
COR( "MENU" )
@ 05, 04 CLEAR TO 19, 75
@ 05, 04 SAY SUBS( TB_JANELA, 1, 1 ) +;
             REPL( SUBS( TB_JANELA, 2, 1 ), 70 ) + SUBS( TB_JANELA, 3, 1 )
@ 06, 04 SAY SUBS( TB_JANELA, 12, 1 )
@ 06, 75 SAY SUBS( TB_JANELA, 4, 1 )
@ 07, 04 SAY SUBS( TB_JANELA, 11, 1 )
@ 07, 75 SAY SUBS( TB_JANELA, 5, 1 )
FOR CONTAR = 8 TO 18
   @ CONTAR, 04 SAY SUBS( TB_JANELA, 10, 1 )
   @ CONTAR, 75 SAY SUBS( TB_JANELA, 6, 1 )
NEXT
@ 19, 04 SAY SUBS( TB_JANELA, 9, 1 ) +;
             REPL( SUBS( TB_JANELA, 8, 1 ), 70 ) + SUBS( TB_JANELA, 7, 1 )

OBJETO := TBROWSEDB( 06, 05, 19, 74 )
OBJETO:HEADSEP := TB_SEP_CAB
OBJETO:COLSEP := TB_SEP_LIN
OBJETO:FOOTSEP := TB_RODAPE
OBJETO:COLORSPEC := CONTECOR[ 2 ] + "," + CONTECOR[ 3 ] + "," + TB_COR_DEL
OB_COLUN := TBCOLUMNNEW( "Or‡amento", { || ORCAMENTO->NUMNOT } )
OB_COLUN:PICTURE := "999999"
OBJETO:ADDCOLUMN(OB_COLUN)
OB_COLUN := TBCOLUMNNEW( "Data Or‡amento", { || ORCAMENTO->DATVEN } )
OB_COLUN:PICTURE := "99-99-99"
OBJETO:ADDCOLUMN(OB_COLUN)
OB_COLUN := TBCOLUMNNEW( "Nome Cliente", { || ORCAMENTO->NOMCLI } )
OB_COLUN:PICTURE := "@S30"
OBJETO:ADDCOLUMN(OB_COLUN)
COR( "MENU" )
WHILE .T.
   WHILE ( !OBJETO:STABILIZE() )
      IF ( TECLA := INKEY() ) != 0
         EXIT
      ENDIF
   ENDDO
   IF OBJETO:STABLE
      SETCOLOR( CONTECOR[ 5 ] )
      @ 22, 04 SAY STRZERO( RECN(), 7 ) + "   " + IIF( DELETED(), "Del", "   " )
      TECLA := INKEY( 0 )
   ENDIF
   IF TECLA == T_CIMA
      OBJETO:UP()
   ELSEIF TECLA == T_BAIXO
      OBJETO:DOWN()
ELSEIF TECLA == T_ESQUERDA
      OBJETO:LEFT()
   ELSEIF TECLA == T_DIREITA
      OBJETO:RIGHT()
   ELSEIF TECLA == T_HOME
      GO TOP
      OBJETO:REFRESHALL()
   ELSEIF TECLA == T_END
      GO BOTT
      OBJETO:REFRESHALL()
   ELSEIF TECLA == T_PGUP
      OBJETO:PAGEUP()
   ELSEIF TECLA == T_PGDN
      OBJETO:PAGEDOWN()
   ELSEIF TECLA == T_CTRL_PGUP
      OBJETO:GOTOP()
   ELSEIF TECLA == T_CTRL_PGDN
      OBJETO:GOBOTTOM()
   ELSEIF TECLA == T_CTRL_HOME
      OBJETO:PANHOME()
   ELSEIF TECLA == T_CTRL_END
      OBJETO:PANEND()
   ELSEIF TECLA == T_CTRL_ESQUERDA
      OBJETO:PANLEFT()
   ELSEIF TECLA == T_CTRL_DIREITA
      OBJETO:PANRIGHT()
   ELSEIF TECLA == T_ESC
      M->NUMORC:=VAL(NUMNOT)
      RESTSCREEN( LIN_MENU + 1, 00, 23, 79, TELA_ORC )
      COR( "GETS" )
      RETURN
   ELSEIF TECLA = T_ENTER
      M->NUMORC:=VAL(NUMNOT)
      RESTSCREEN( LIN_MENU + 1, 00, 23, 79, TELA_ORC )
      COR( "GETS" )
      RETURN
   ENDIF
ENDDO


#define TB_COR_DEL      CONTECOR[ 4 ]  // Cor dos registros DELETADOS
#define TB_RODAPE       "ÄÁÄ"  // Caracteres para o rodape do TBROWSE
#define TB_SEP_LIN      " ³ "  // Separadores de coluna do TBROWSE
#define TB_SEP_LI1      "³"  // Separadores de coluna do TBROWSE
#define TB_SEP_CAB      "ÄÂÄ"  // Separadores do cabecalho do TBROWSE
#define TB_SEP_CA1      "ÂÄ"  // Separadores do cabecalho do TBROWSE
#define TB_JANELA       "ÚÄ¿³´³ÙÄÀ³Ã³"


Enfim não uso mais, tudo gráfico agora :)) :)) :))

coloca no editor com pagina de código 850
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Consulta Browse com problema em :colSep e :hardSep

Mensagempor clodoaldomonteiro » 03 Out 2019 17:38

Já descobri qual é o erro, é causado pela chamada da função WVW_setMainCoord(.T.), que seria pra dar independência de coordenadas a cada janela, ou seja, cada janela WVW_nOpenWindow(), teria sua contagem de linhas independente da janela Mãe.
Se o parâmetro passado for .F., as próximas janelas terão que usar as referências de linhas/coluna baseadas na janela Main, mas fica muito difícil ajustar os @ SAY e @ GET.

Vejo que isso seria um BUG do Harbour, que já está assim a muito tempo e a minha solução é mudar pra GTWVG.

Muito obrigado a todos.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Consulta Browse com problema em :colSep e :hardSep

Mensagempor clodoaldomonteiro » 04 Out 2019 08:47

Ontem, pesquisando até mais tarde, descobri os fontes da TBrowse no Harbour 3.4 e xHarbour 1.21, onde percebi que a versão do xHB121 não tem esse problema.
Então, basta anexar o .PRG correto no seu projeto que o Browse será apresentado de forma correta, quando usado junto com a GTWVW e WVW_SetMainCoord(.T.).

Espero ter ajudado a todos e segue em anexo os arquivos mencionados.
Anexos
Teste.rar
Teste Browse em janelas com WVW
(625.54 KiB) Baixado 52 vezes
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Consulta Browse com problema em :colSep e :hardSep

Mensagempor clodoaldomonteiro » 07 Out 2019 14:56

O problema era causado pela função hb_DispOutAtBox() e a solução foi substituir por DispOutAt().

Finalizado.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 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