PauloPJ Posted April 26, 2012 Report Share Posted April 26, 2012 Ola galera estou aqui denovo Preciso pegar o nome do Prg ou procedure ou funcao ativa e a variavel que esta focada nesta funcao no clipper eu usava o readvar() para pegar o nome da variavel. já fiz de tudo e não consigo pegar eu uso isso para procurar no banco de dados de help Desde já agradeço a colaboração de todos. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Editado por - igpjinfo on 01/05/2012 22:45:07 Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted April 26, 2012 Author Report Share Posted April 26, 2012 Ola galera estou aqui denovo Preciso pegar o nome do Prg ou procedure ou funcao ativa e a variavel que esta focada nesta funcao no clipper eu usava o readvar() para pegar o nome da variavel. já fiz de tudo e não consigo pegar eu uso isso para procurar no banco de dados de help Desde já agradeço a colaboração de todos. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Editado por - igpjinfo on 01/05/2012 22:45:07 Quote Link to comment Share on other sites More sharing options...
FiveWinBr Posted April 27, 2012 Report Share Posted April 27, 2012 Bom tem varis funcoes: ProcName / ClassName / ProcFile De uma olhada no arquivo fwh\source\function\errsysw.prg Abraço. Att. Lailton Fernando Mariano E-Mail: developer@lailton.com.br | Msn: lailton.developer@hotmail.com http://www.lailton.com.br xHarbour 1.2.1 | Fivewin 11.1 | Borland 5.8.2 | MySQL Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 27, 2012 Report Share Posted April 27, 2012 no clipper eu usava o readvar() para pegar o nome da variavel. Mostre como fazia no clipper.. Eu acho que sei sua resposta. João Santos - São Paulo. joao@pleno.com.br Fone: (11) 3106-2832 http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
aferra Posted April 27, 2012 Report Share Posted April 27, 2012 Bom dia... nome da procedure/function = ProcName() no da variavel do get = oGet:oGet:Name Um grande Abraço Alessandroid=blue> FW9.07 + xHb121 + CDX Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red> Quote Link to comment Share on other sites More sharing options...
betovsp Posted April 27, 2012 Report Share Posted April 27, 2012 citação:Bom dia... nome da procedure/function = ProcName() no da variavel do get = oGet:oGet:Name Um grande Abraço Alessandroid=blue> FW9.07 + xHb121 + CDX Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red> id=quote>id=quote>Alessandro, esta sumido? como vão as coisas. Beto FWH 9.08+xHarbour 1.2.1+Mymake+@Say Quote Link to comment Share on other sites More sharing options...
aferra Posted April 27, 2012 Report Share Posted April 27, 2012 Fala Betão... o sol batendo na janela.... rsrsrsrsrs Um grande Abraço Alessandroid=blue> FW9.07 + xHb121 + CDX Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red> Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted April 30, 2012 Author Report Share Posted April 30, 2012 Desculpe a todos por não ter respondido até agora o meu computador deu problema e tive que formatar, até eu voltar com todas as minhas ferramentas demorou. Obrigado a todos pelas dicas , vou testar e já já retorno se due certo. Eu preciso isso para buscar no arquivo de help especifico do modulo e variavel Get em esta ponterado. só que quando chamo o helpindex nao sei qual o prg/procedure e Get. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted April 30, 2012 Author Report Share Posted April 30, 2012 no clipper eu usava o readvar() para pegar o nome da variavel. Mostre como fazia no clipper.. Eu acho que sei sua resposta. João Santos - São Paulo. joao@pleno.com.br Fone: (11) 3106-2832 Ola João Eu usava o readvar() ele retornava o nome da variavel que estava parado o GET do clipper. exemplo em clipper A=0 B=0 C=0 @ 1,0 say "TESTE1" GET A PICT "###" @ 2,0 say "TESTE2" GET B PICT "###" @ 3,0 say "TESTE3" GET C PICT "###" READ RETURN FUNC HELP CPROGRAMA=PROCNAME() // RETORNA O NOME DA PROCEDURE CVARIAVEL=READVAR() // RETORNAVA O NOME DA ULTIMA VARIAVEL GET RETURN Com isso eu procurava no banco de dados do Help especifico. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted April 30, 2012 Author Report Share Posted April 30, 2012 citação:Bom dia... nome da procedure/function = ProcName() no da variavel do get = oGet:oGet:Name Um grande Abraço Alessandroid=blue> FW9.07 + xHb121 + CDX Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red> id=quote>id=quote>Ola Alessandro Obrigado pela colaboracao o ProcName() funciona perfeito mas como eu pego o nome do oGet:oGet:name, se eu nao sei qual objeto oGet estou usando no momento, este é o problema, como descobrir o nome do Get que esta ativo. Um abraco. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted May 1, 2012 Report Share Posted May 1, 2012 Pegar o Get ativo como fazia no clipper é muito chato....mas resolvi assim, graças a ajuda do pessoal. - Cada objeto que é incluido no form (wnd/dlg) tem uma variável hWnd. - De alguma forma vc guarda get:hWnd em um VETOR, ai é só pesquisa e comparar com o Dlg:hWnd que é o ativo. Se for igual, este é o Get( ou outro objeto) ativo. Ex: nObjetoAtivo := ASCAN(ahWnd,odlg:oCtlFocus():hWnd) //EXEMPLO No exemplo criei um vetor para os GETs, mas vc pode pegar automaticamente de um form (wnd/dlg), através do oDLG:aControls{} FOR nCT:=1 TO LEN(oGET) oGET[nCT]:REFRESH() AADD(ahWnd,oGET[nCT]:hWnd) //PARA SABER QUAL O GET ATIVO NEXT //PROCURA O GET ALVO OS NUMEROS SAO IGUAIS nObjetoAtivo := ASCAN(ahWnd,odlg:oCtlFocus():hWnd) ? oGet[nObjetoAtivo]:oGet:Name //END EXEMPLO JMSILVA CARAGUATATUBA/SP Quote Link to comment Share on other sites More sharing options...
aferra Posted May 1, 2012 Report Share Posted May 1, 2012 Boa tarde. Veja se te ajuda, no caso pegando somente os GET´s, senão for o caso retire a verificação do classname(), ou tb. pode ajustar para pegar outros tipos de objetos do form, ai vai da criatividade de cada um. FOR nCtr:=1 TO LEN(oDlg:aControls) IF oDlg:aControls[nCtr]:ClassName() == "TGET" IF oDlg:aControls[nCtr]:hWnd == oDlg:oCtlFocus():hWnd ?oDlg:aControls[nCtr]:oGet:name ENDIF ENDIF NEXT id=code>id=code>Um grande Abraço Alessandroid=blue> FW9.07 + xHb121 + CDX Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red> Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted May 1, 2012 Author Report Share Posted May 1, 2012 Valeu Alessandro e JMSilva A Ajuda de vocês está sendo de muita valia. Estou adaptando o sistema seguindo as sugestões de vocês. mas eu estou tentando descobrir como pegar o nome do oBjeto TGET que esta ponterado sem a utilização de um array, estou debugando todas as classes e métodos que estão na memória, rsrs , eu sou teimoso acho que deve ter um jeito. Mas se não conseguir ... Valeu messssmo. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted May 1, 2012 Author Report Share Posted May 1, 2012 OLA GALERA RESOLVI O PROBLEMA PEGEI O NOME DO PROGRAMA + RESOURSE E O ID ATIVO ABAIXO ESTA COMO EU FIZ O HELP PARA QUEM QUIZER USAR #INCLUDE "Fivewin.ch" *--------------------------------------------------------------------------* * Modulo : help.PRG - help para usuario * * Versao : 2.0 * * Atualizado em : 01/05/2012 - 22:32:53 * *--------------------------------------------------------------------------* FUNCTION HELPINDEX() IF CHORA_HELP=TIME() // criado a variavel publica com o time() para não repetir o help se apertar o f1 rapido demais RETURN END cPrograma:="" cVariavel:="" // pega o nome do prg for i = 1 to 74 if AT("DIALO",UPPER(ProcName(I)))=0 .AND. AT ("TWIND",UPPER(ProcName(I)))=0 .AND. AT("_FWH",UPPER(ProcName(I)))=0 .and. empty(cprograma) cPrograma:=UPPER(ProcName(I)) end NEXT // fim cdialog:="" cIdDialog:="" // pega o nome do resource e do ID ou get ativo for n = 1 to 74 for j = 1 to ParamCount( n ) if GetParam( n, j ):classname()=="TDIALOG" for aaa = 1 to len(GetParam( n, j ):aControls) IF GetParam( n, j ):aControls[AAA]:classname()=="TGET" if GetParam( n, j ):aControls[AAA]:lFocused cIdDialog:=strzero(GetParam( n, j ):aControls[AAA]:nId,4) end end NEXT END if ValType( GetParam( n, j ) )="C" .and. empty(cDialog) CDialog:=cValToChar( GetParam( n, j ) ) end next next IF CPROGRAMA='HELPINDEX' return endif /* ESTRUTURA DO ARQUIVO HELP PROG C 10 VAR C 20 HELP M INDCE PROGRAMA+VAR */ HELP->(DBSETORDER(1)) HELP->(DBSEEK(Padr(cPrograma,10)+cDialog+cIdDialog)) if HELP->(EOF()) HELP->(DBAPPEND()) IF HELP->(MTRAVAREG()) HELP->PROG := cPrograma HELP->VAR := cDialog+cIdDialog HELP->(DBUNLOCK()) END END // FUNCAO QUE MOSTRA O CAMPO MEMO NA TELA COM O HELP OBSERVA('HELP->TEXTO',"HELP",,'HELP DA ROTINA '+ALLTRIM(cPrograma)+if(!EMPTY(cDialog),' Tela '+alltrim(cDialog)+" Id "+cIdDialog,""),.T.) // FIM CHORA_HELP:=TIME() return FELIZ DAQUELE QUE COMPARTILHA OS SEUS CONHECIMENTOS. UM GRANDE ABRACO A TODOS E OBRIGADO PELA COLABORAÇÃO. FWHX 8.4 XHARBOUR 1.1.0 PELE C 6.00.4 TELA EM .RES Editado por - igpjinfo on 01/05/2012 22:50:35 Editado por - igpjinfo on 01/05/2012 22:52:50 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.