Pegar valor de uma coluna do TBrowse

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Pegar valor de uma coluna do TBrowse

Mensagem por asimoes »

A dica é para pegar o valor de uma coluna no TBrowse:

Código: Selecionar todos

With Object oBr
   cCodPessoa := Eval(:getColumn(1):Cargo[2])
End 
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pegar valor de uma coluna do TBrowse

Mensagem por JoséQuintas »

Tem certeza?
Que eu me lembre, cargo é coisa personalizada/pra usuário

Em harbour\src\rtl\tbrowse.prg, o método AddColumn() contém isto: AAdd( ::columns, oCol )

Em harbour\src\rtl\tbcolumn.prg, tem este método METHOD block( bBlock ) SETGET /* Code block to retrieve data for the column */

Me parece que seria isto:

Código: Selecionar todos

Eval( oBrowse:Columns[ nCont ]:Block )
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Pegar valor de uma coluna do TBrowse

Mensagem por asimoes »

Cargo pode ser usado para este propósito bem como block.

Código: Selecionar todos

oColuna := TBColumnNew( "Mˆs/Ano", {|| SubStr(APA01->AnoMes, 3, 2)+APA01->NovoAno})
oColuna:picture := "@R 99/9999"
oColuna:Cargo := {|| SubStr(APA01->AnoMes, 3, 2)+APA01->NovoAno}
oTBrowse:addColumn( oColuna )

cVar := Eval( oTBrowse:getColumn(1):Cargo)

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Pegar valor de uma coluna do TBrowse

Mensagem por asimoes »

Quintas,

No seu exemplo dá erro, porque o método Columns é protegido.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pegar valor de uma coluna do TBrowse

Mensagem por JoséQuintas »

Tem este outro:

Código: Selecionar todos

   METHOD getColumn( nColumn )                  // gets a specific TBColumn object

Código: Selecionar todos

? Eval( oTBrowse:GetColumn( nCont ):Block )
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/
wmanesco
Usuário Nível 3
Usuário Nível 3
Mensagens: 116
Registrado em: 09 Set 2016 13:18
Localização: ITAJAI - SC

Pegar valor de uma coluna do TBrowse

Mensagem por wmanesco »

Para utilizar o cargo então teria que primeiro setar o valor a ele?
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pegar valor de uma coluna do TBrowse

Mensagem por JoséQuintas »

Pelo exemplo que o ASimões colocou, sim.
O :Cargo é um campo livre, disponível pro programador usar para o que quiser.
No exemplo dele, usou como "comunicação" entre o tbrowse e o programa, mas a rotina de tbrowse terá que gravar essa informação em :Cargo, senão nada feito.

Se não me engano, o GET tem algo parecido, que fica na GetList.
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/
Responder