cor no tbrowse
Enviado: 10 Set 2021 01:57
Olá!
No meu fonte em 09 Set 2021 02:35:
O teu fonte em 03 Set 2021 12:45: não tem a declaração do oBrowse mas referencia ele na linha 50.
Exatamente por isto que corrigi o teu fonte postado em 03 Set 2021 12:45. Neste teu fonte, você inclui o oBrowse na chamada da função tBrowseADO2 e nos parâmetros do code block da rotina de usuário, sem que o oBrowse tivesse sido declarado e criado. Isto gerou erro e eu corrigi chamando a criação do browse antes, fora da rotina TBrowseADO2(). A prova que deu pra usar é o print da tela...JoséQuintas escreveu:O que o Alexandre mostrou NÃO daria pra usar.
Porque? porque na montagem da lista NÃO EXISTE oBrowse.
No meu fonte em 09 Set 2021 02:35:
Código: Selecionar todos
110 oBrowse := CriaBrowse( 2, 2, MaxRow() - 5, MaxCol() - 2, oRs, aCamposList )
111
112 bUserFunction := { |oBrowse, aCamposList, nKey| RotinaUsuario( oBrowse, aCamposList, nKey ) }
113
114 TBrowseADO2( oBrowse, oRs, aCamposList, bUserFunction )Código: Selecionar todos
18 FUNCTION Tbrowseado(cSql)
19 LOCAL oRs, aCamposList
20 LOCAL oCN := ConexaoMySQL( "mysql.xxx.com.br", "xxx", "xxx", "xxx" )
21 local tela :=savescreen(0,0,maxrow(),maxcol())
22
23 Set( _SET_CODEPAGE, "PTISO" )
24 Set( _SET_EVENTMASK, INKEY_ALL + HB_INKEY_GTEVENT - INKEY_MOVE )
25 SET DATE BRITISH
26
27 * hb_gtInfo( HB_GTI_WINTITLE , "TBrowse colorBlock() com Acesso ao MySQL via ADO" )
28 * hb_gtInfo( HB_GTI_FONTNAME , "Lucida Console" )
29 SetColor( "W/B","N/W",,,"W/B" )
30 CLS
31
32 oCn:open()
33
34 DO WHILE .T.
35 @ 4, MaxRow() SAY Padr( "Obtendo informações...", 22 ) COLOR "W/W"
36 oRs := oCn:Execute( cSql )
37 SuperADO( oRs )
38 IF oRs == NIL .OR. oRs:Eof()
39 Hb_Alert( "Não foi possível obter dados para exibição",, "W+/B" )
40 EXIT
41 ENDIF
42 aCamposList := { ;
43 { "DATA", { || oRs:ToDate( "DATA" ) } }, ;
44 { "HORA", { || oRs:ToString( "HORA", 8 ) } }, ;
45 { "COMIDA", { || oRs:ToString( "COMIDA", 30 ) }, { | x | If( At( "TOTAL ", Upper( x ) ) > 0, { 5, 5 }, { 1, 2 } ) } }, ;
46 { "QUANTIDADE", { || oRs:ToString( "QUANTIDADE", 20 ) } }, ;
47 { "PONTOS", { || oRs:ToStr( "PONTOS", 6 ) } }, ;
48 { "ID", { || oRs:ToStr( "ID", 6 ) } } }
49
50 tBrowseADO2( oRs, aCamposList, { | oBrowse, nKey | RotinaUsuario( oRs, oBrowse, nkey ) } )
51 * IF Alert( "Fechar?", { " Não ", " Sim " }, "W+/N" ) == 2