Nome de campo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Nome de campo

Mensagem por clebervn »

Alguém me refresque a memória por favor.

Estou num browse, teclo enter numa determinada coluna, tenho como saber qual o nome da coluna (campo) q cliquei ???

COMO ???

abc
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Nome de campo

Mensagem por sygecom »

De uma olhada no NG por: FieldName() , acredito que resolve ou lhe de uma luz.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Nome de campo

Mensagem por alxsts »

Saudações a todos!

Não sei se é isso que voce precisa. Se quiser saber a qual campo do .DBF (nome do campo) se refere a coluna do browser, fica difícil. Para saber o nome da coluna onde o browser está posicionado, use o seguinte código:

Código: Selecionar todos

               oCol := oTb:getColumn(oTb:colPos)
               cColName := oCol:heading
Sabendo o nome da coluna voce pode fazer o tratamento desejado:

Código: Selecionar todos

               DO CASE
                  CASE cColName == "Coluna 1"
                     Rotina1()
                  CASE cColName == "Coluna 2"
                     Rotina2()
                  // etc...
               END CASE   
Para recuperar os dados da coluna use:

Código: Selecionar todos

               oCol := oTb:getColumn(oTb:colPos)
               xVal := Eval( oCol:block )
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Nome de campo

Mensagem por sygecom »

Olá alxsts,
Olha até pensei em perguntar será BROWSE ou TBROWSE, no seu exemplo só vai funcionar se ele tiver usando TBROWSE.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Nome de campo

Mensagem por alxsts »

Olá Sygecom!

Voce tem razão. O código que postei só funcionará em um TBrowse. É que assumi que o CleberVN esteja usando um TBrowse mesmo. Como voce sabe, a função Browse(), que voce citou, não permite que controlemos as teclas. Ela só reconhece Enter (entra em modo de edição da célula corrente do Browse), Seta Abaixo quando posicionado na última linha (entra no modo append) ou Esc para abandonar a função. Assim, não seria possível construir algum código para tratar esse evento de teclado (a tecla Enter) e recuperar o nome da coluna atual. Nos fontes de exemplo do Clipper 5.xx, vem o fonte dessa função Browse(), com o nome de TBDemo.Prg. Numa instalação padrão do Clipper 5.xx, pode ser encontrado em C:\Clipper5\Source\Sample.

Bom chimarrão!
[]´s
Alexandre Santos (AlxSts)
Responder