Browse do GASPro zebrado
Moderador: Moderadores
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Browse do GASPro zebrado
Olá amigos!
Converti minha aplicação Clippers/Gas para xHarbour 1.00 e queria saber se tem como zebrar o browse, e/ou colocar uma tarja colorida na linha em esteja o foco.
Desde já agradeço a atenção de todos.
Converti minha aplicação Clippers/Gas para xHarbour 1.00 e queria saber se tem como zebrar o browse, e/ou colocar uma tarja colorida na linha em esteja o foco.
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
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Browse do GASPro zebrado
Bom dia!
Faço assim, segue parte do codigo!
Faço assim, segue parte do codigo!
Código: Selecionar todos
*nMaxCol:= 90
nMaxLin:= nMaxRow
nJanGet:= CAIXATEXTO(00,00,nMaxLin-1,nMaxCol,"CADASTRO DE ENTIDADES","BG+/NB+","NN/NN","N")
_alias := 'Produto' // Dbf para Navegacao
_browse:= 'oTab'
If lViaFatura==.f.
BuildMenu( @hMenu, @hMenuItem )
endif
if !ToolBarGEN(nJanGet)
Return NIL
endif
SetInkeyAfterBlock({|nkey| AfterInkeyGEN( nkey ) })
oTab:=TbrowseDb(00,00,nMaxLin-1,nMaxCol)
oTab:ColSep := " "
oTab:HeadSep := "__"
oTab:ColorSpec := "n/ww+*,B/GR+*,N/w,N/W*+,g+*/ww+*"
Coluna1 := TbColumnNew("RAZAO SOCIAL",{ ||Forneced->codigo+'-'+Forneced->Razao } )
Coluna2 := TbColumnNew("Fantasia" ,{ ||Forneced->Fantasia } )
Coluna3 := TbColumnNew("### Cnpj ###",{ ||Forneced->cgc } )
Coluna4 := TbColumnNew("I.E /RG" ,{ ||Forneced->Ie } )
Coluna5 := TbColumnNew("Contato" ,{ ||Forneced->Contato } )
Coluna6 := TbColumnNew("Endereco" ,{ ||Forneced->Endereco } )
Coluna7 := TbColumnNew("Cidade " ,{ ||Forneced->cidade } )
Coluna8 := TbColumnNew("Opcao Pagamento",{|| Iif(Forneced->Finan_001=='2',;
'## NEGOCIAR ##',;
Iif(Forneced->Finan_001=='3',;
'## NAO PAGAR ##',;
'## PAGAR EM DIA ##')) } )
Coluna9 := TbColumnNew("Prz.Entreg." ,{ ||Forneced->PrzEntrg } )
Coluna10 := TbColumnNew("TP.Contribuinte." ,{ ||Ajusta_Campo10(Forneced->indiedest,.f.) } )
oTab:AddColumn(Coluna1)
oTab:AddColumn(Coluna2)
oTab:AddColumn(Coluna3)
oTab:AddColumn(Coluna4)
oTab:AddColumn(Coluna5)
oTab:AddColumn(Coluna6)
oTab:AddColumn(Coluna7)
oTab:AddColumn(Coluna8)
oTab:AddColumn(Coluna9)
oTab:AddColumn(Coluna10)
oTab:Freeze := 1 // oTab:Colpos - 1
Centra(24,'')
Sele Forneced
Go top
Do While .t.
OrdSetFocus('fornece2')
For i:= 1 to 10
oTab:GetColumn(i):ColorBlock := { || { Iif(OrdKeyNo()%2==0,4,3),2 } } // Aqui fica zebrado
Next
Lin_Br := 21
Do While ! oTab:Stabilize()
Enddo
Browse do GASPro zebrado
Mas nesta solução a 'barra luminosa' fica apenas no primeiro campo do browse ne?
Janio
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Browse do GASPro zebrado
Ele irá pintar as 10 colunas neste caso, mais você pode colocar pra pintar todas caso queira.
For i:= 1 to Len(oTab:ColCount()) // Pra quantas coluna tiver
Frazato
For i:= 1 to Len(oTab:ColCount()) // Pra quantas coluna tiver
Frazato
Browse do GASPro zebrado
Frazato,
Mim refiro a 'barra luminosa' de navegação no browse!
Testei seu exemplo e funciona perfeitamente! Ocorre que uso um recurso para deixar essa barra luminosa inteira no browse e não somente no primeiro campo. Mas, usando esse recurso, a medida q vamos navegando no browse a 'zebra' vai sumindo.
Pergunto se ha alguma solução para a barra luminosa de navegação ficar inteira no browse (todos os campos visiveis) e ainda o browse continuar zebrado a medida q for navegando nas setinhas
Janio
Mim refiro a 'barra luminosa' de navegação no browse!
Testei seu exemplo e funciona perfeitamente! Ocorre que uso um recurso para deixar essa barra luminosa inteira no browse e não somente no primeiro campo. Mas, usando esse recurso, a medida q vamos navegando no browse a 'zebra' vai sumindo.
Pergunto se ha alguma solução para a barra luminosa de navegação ficar inteira no browse (todos os campos visiveis) e ainda o browse continuar zebrado a medida q for navegando nas setinhas
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Browse do GASPro zebrado
Assim funcionou como eu queria!
Código: Selecionar todos
for n := 1 to Len( aCampos )
oCol := TBColumnNew( aCabecalho[n], &( "{||" + aCAMPOS[n] + "}" ) )
oCol:Picture := aPict[n]
oBrw:AddColumn(oCol)
oBrw:GetColumn(n):ColorBlock := { || { Iif(OrdKeyNo()%2==0,4,3),2 } } // Aqui fica zebrado
next
oBrw:ForceStable()
While ( .t. )
// para deixar selecionada toda a linha
oBrw:colorrect({oBrw:rowpos,1,oBrw:rowpos,oBrw:colCount},{Iif(OrdKeyNo()%2==0,1,3), 1}) // q nao esta com o cursor
do While ( !oBrw:stabilize() ) ; Enddo
oBrw:colorrect({oBrw:rowpos,1,oBrw:rowpos,oBrw:colCount},{2,2}) // esta com o cursor
nTecla := Inkey( 0 )
do Case
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Quando passei pra Harbour, isso de deixar a linha inteira de outra cor nunca mais funcionou.
Vou até testar agora pra ver se voltou a funcionar.
Vou até testar agora pra ver se voltou a funcionar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Deu certo.
Retirei a aceleração da minha rotina (parte comentada).
No meu caso foi só pra linha inteira ficar com a mesma cor.
Uso cor no browse conforme status da informação da linha, e bastou essa alteração.
Então dá pra simplificar o zebrado, pois oBrowse:RefreshCurrent() faz o serviço de tirar o destaque.
Valeu pelo post.
Nota:
A intenção da aceleração seria nem perder tempo atualizando a tela, caso o usuário tecle alguma coisa.
O Inkey(600) é porque se o usuário demorar mais de 10 minutos pra escolher, o sistema dá ESC automático.
Com isso dá pra pressupor que oBrowse:ColorRect() pinta a área, mas sem mexer nos codeblocks de cores.
Retirei a aceleração da minha rotina (parte comentada).
Código: Selecionar todos
//nkey := 0
//DO WHILE nkey == 0 .AND. .NOT. oBrowse:Stable
// oBrowse:Stabilize()
// nkey := Inkey()
//ENDDO
//IF oBrowse:Stable
oBrowse:RefreshCurrent()
DO WHILE .NOT. oBrowse:Stabilize()
ENDDO
oBrowse:ColorRect( { oBrowse:RowPos, 1, oBrowse:RowPos, oBrowse:ColCount }, { 2, 2 } ) // esta com o cursor
nkey := Inkey(600)
IF nKey == 0
KEYBOARD Chr( K_ESC )
LOOP
ENDIF
//ENDIF
Uso cor no browse conforme status da informação da linha, e bastou essa alteração.
Então dá pra simplificar o zebrado, pois oBrowse:RefreshCurrent() faz o serviço de tirar o destaque.
Valeu pelo post.
Nota:
A intenção da aceleração seria nem perder tempo atualizando a tela, caso o usuário tecle alguma coisa.
O Inkey(600) é porque se o usuário demorar mais de 10 minutos pra escolher, o sistema dá ESC automático.
Com isso dá pra pressupor que oBrowse:ColorRect() pinta a área, mas sem mexer nos codeblocks de cores.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Confirmado no manual do Clipper:
Retorna à cor original assim que não for mais a linha atual.Cells that are colored using colorRect retain their color until they are scrolled off the screen up or down
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Browse do GASPro zebrado
Muito obrigado meus amigos, vou testes e postarei aqui os resultados.
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
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Reli meus posts, e acabei não explicando direito:
A rotina do Frazato deu certo, pro zebrado basta definir cor das colunas pro zebrado:
A rotina do Janio também deu certo, de destacar a linha inteira, mas deu pra simplificar
O detalhe de não funcionar comigo antes, era que a rotina de aceleração acabava desposicionando e fazendo o refreshcurrent() em registro errado.
Não estranhem eu repassar.
É que eu até já tinha até desistido disso, e agora voltou a funcionar, então pode ter mais alguém na mesma situação.
Novamente valeu pelo post, Frazato e Janio.
Depois vou rever minha rotina de aceleração.
Parece óbvio agora:
- ColorRect() faz destaque (não interessa :ColorBlock, e só precisa se for diferente do padrão)
- RefreshCurrent() Retorna ao default da linha (retira ColorRect e obedece :ColorBlock - destaque ou não)
- coluna:ColorBlock() define as cores pra normal e destaque, podendo ser zebrado
Se alguma coisa não funcionar, é porque um desses está sendo executado na hora/lugar/posicionamento errado.
A rotina do Frazato deu certo, pro zebrado basta definir cor das colunas pro zebrado:
Código: Selecionar todos
oBrw:GetColumn(n):ColorBlock := { || { Iif(OrdKeyNo()%2==0,4,3),2 } } // Aqui fica zebrado
A rotina do Janio também deu certo, de destacar a linha inteira, mas deu pra simplificar
Código: Selecionar todos
oBrowse:RefreshCurrent()
DO WHILE .NOT. oBrowse:Stabilize()
ENDDO
oBrowse:ColorRect( { oBrowse:RowPos, 1, oBrowse:RowPos, oBrowse:ColCount }, { 2, 2 } ) // esta com o cursor
nkey := Inkey(0)
Não estranhem eu repassar.
É que eu até já tinha até desistido disso, e agora voltou a funcionar, então pode ter mais alguém na mesma situação.
Novamente valeu pelo post, Frazato e Janio.
Depois vou rever minha rotina de aceleração.
Parece óbvio agora:
- ColorRect() faz destaque (não interessa :ColorBlock, e só precisa se for diferente do padrão)
- RefreshCurrent() Retorna ao default da linha (retira ColorRect e obedece :ColorBlock - destaque ou não)
- coluna:ColorBlock() define as cores pra normal e destaque, podendo ser zebrado
Se alguma coisa não funcionar, é porque um desses está sendo executado na hora/lugar/posicionamento errado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Browse do GASPro zebrado
Amigos!
Muito obrigado pela ajuda e optei por deixar a linha em foco toda colorida, mas não estou conseguindo deixar a coluna em foco com cor diferente, pois assim deixaria o usuário perdido.
Muito obrigado pela ajuda e optei por deixar a linha em foco toda colorida, mas não estou conseguindo deixar a coluna em foco com cor diferente, pois assim deixaria o usuário perdido.
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
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Talvez alterar aqui, testando a coluna atual, ou pra simplificar, pintar novamente somente a coluna atual de outra cor:
Código: Selecionar todos
oBrowse:ColorRect( { oBrowse:RowPos, 1, oBrowse:RowPos, oBrowse:ColCount }, { 2, 2 } ) // linha inteira com cursor
oBrowse:ColorRect( { oBrowse:RowPos, oBrowse:ColPos, oBrowse:RowPos, oBrowse:ColPos}, { 3, 3 } ) // linha/coluna com o cursor
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Browse do GASPro zebrado
Perfeito José, o trabalho foi só definir as novas cores.
Muito obrigado meu amigo.
Muito obrigado meu amigo.
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
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Browse do GASPro zebrado
Este tópico me transformou num expert... rs
Estamos sempre aprendendo e ensinando.
Só acertei minha rotina em Harbour neste mês, durante este tópico.
Estamos sempre aprendendo e ensinando.
Só acertei minha rotina em Harbour neste mês, durante este tópico.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

