Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Paulo, bom dia. Fiz o teste conf. vc solicitou e retorna sempre 0. Tambem fiz um teste numa dialog que nao trabalha com folder e o retorno tambem eh sempre zero. Vc pode me dizer o que isto significa ??? Obrigado. Fabio FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 citação:Paulo, bom dia. Fiz o teste conf. vc solicitou e retorna sempre 0. Tambem fiz um teste numa dialog que nao trabalha com folder e o retorno tambem eh sempre zero. Vc pode me dizer o que isto significa ??? Obrigado. Fabio FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>PROVAVELMENTE, PORQUE VOCE NAO REFERENCIOU A DIALOG, PRECISA AVISAR AO FIVEWIN, QUE O OBJETO, PERTECNCE A TAL DIALOG, NO ACTION( CHAMA_FUNCAO( oDlg, oSay, aGet, outra, etc.. ) ) E NA FUNCAO, REPETE-SE A MESMA KOISA. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 7, 2006 Report Share Posted February 7, 2006 citação:Paulo, bom dia. Fiz o teste conf. vc solicitou e retorna sempre 0. Tambem fiz um teste numa dialog que nao trabalha com folder e o retorno tambem eh sempre zero. Vc pode me dizer o que isto significa ??? Obrigado. Fabio FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>Fábio, Estava fora do escritório e postei errado o teste. Static Function CHKPR() msginfo(oGetCot[3]:hWnd) msginfo(oGetCot[4]:hWnd) msginfo(oGetCot[5]:hWnd) msginfo(oGetCot[6]:hWnd) Retu(.t.) Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Kapi, pq eu precisaria mensionar na chamada da funcao CHKPR(ogetCot[3])) e na funcao Static Function CHKPR(ogetcot3) os objetos ??? Ja que eles foram declarados como MEMVAR. Se a funcao nao reconhece, daria pau, estou certo ??? Por desencarco coloquei conf acima e continua retornando 0 e passando pela funcao em todos os gets. Fabio FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 7, 2006 Report Share Posted February 7, 2006 Fabio, Faça esse teste e retorne se está retornando handles iguais ou diferentes: Static Function CHKPR() msginfo(oGetCot[3]:hWnd) msginfo(oGetCot[4]:hWnd) msginfo(oGetCot[5]:hWnd) msginfo(oGetCot[6]:hWnd) Retu(.t.) Um abraço Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Paulo, Fiz o teste e retorna numeros diferentes. Fabio FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 CHKPR(ogetCot)) //->Assim. Para que o Fivewin saiba, que este Objeto pertence a DIALOG, que voce desviou no ACTION. Na Realidade, o correto, seria: LOCAL aGet := Array( 8 ), Pois estamos falando de um ARRAY de Gets. Nos Parenteses, ACTION( aGet, oDlg ) Na Function ( aGet, oDlg ), FiveWin Tem o Controle do Objeto em Qualquer situação. Inclusive, posso checar cualquer coisa ao passar este paramentro, posso retornar algo FALSO ou VERDADEIRO, com uma variavel LOCAL na FUNCTION, exemplo: LOCAL lRet //-> Retorno Lógico de Algo. IF ISSO.. lRet := .T. Posso Inclusive desviar o FOCO, para onde eu quiser com o xSetFocus() xSetFocus( aGet[5]) //-> Por exemplo. ELSE lRet := .F. //Retorno para o Mesmo GET, se for Falso. ENDIF RETURN( lRet ) João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Editado por - kapiaba on 07/02/2006 09:51:35 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 7, 2006 Report Share Posted February 7, 2006 citação:Paulo, Fiz o teste e retorna numeros diferentes. Fabio FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>Então me retiro humildemente e vou acompanhar com interesse o final deste tópico. Nunca và um VALID atuar onde não é chamado. Um abraço Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 citação: citação:Paulo, Fiz o teste e retorna numeros diferentes. Fabio FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>Então me retiro humildemente e vou acompanhar com interesse o final deste tópico. Nunca và um VALID atuar onde não é chamado. Um abraço id=quote>id=quote>RETIRE-SE NÃO MEU REI, VOCÊ TEM RAZÃO, PORÉM O KE OKORRE, É QUE O FOCO DO PROGRAMA PERDE-SE PORQUE O FIVEWIN NÃO SABE PARA ONDE RETORNAR, MESMO QUE ELE DIGA: RETURN( .T. ), O FIVEWIN NÃO SABE PARA ONDE VOLTAR, POIS NAO HOUVE REFERENCIA AO OBJETO, NA REALIDADE NAO Hà UM INTERCAMBIO ENTRE A DIALOG E O OBJETO GET. COISA SIMPLES DE RESOLVER, SIMPLESMENTE QUANDO ELE RETORNA TRUE, O FIVEWIN PODE RETORNAR EM QUALQUER LUGAR, POIS ELE NAO SABE PARA ONDE VOLTAR. Bem... Pelo menos foi isso que eu entendi em meus testes por aká... Mas... Eu posso estar errado! PAULO... DIZEM QUE UMA 'RECONHECE A OUTRA'... hehehehe. VEM KÃ... 'EU TE CONHEÇO??'... EU HEIM?! UUUUIIIIIII! VOCE NÃO É BRASILEIRO??? ENTÃO... 'NÃO DESISTA NUNCA!!!' João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Kapi. Zipei a bagaca toda e mandei pra voce. Por favor de uma olhada rapida pra mim. Se vc achar que vai perder muito tempo, deixe pra la. De qq forma agradeco a vc e ao Paulo pela forca. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 citação:Kapi. Zipei a bagaca toda e mandei pra voce. Por favor de uma olhada rapida pra mim. Se vc achar que vai perder muito tempo, deixe pra la. De qq forma agradeco a vc e ao Paulo pela forca. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>MEU QUERIDO AMIGO FIVEWINNER, O LEMA DOS FIVEWINNERS, É JAMAIS DESISTIR, SE ISTO É IMPORTANTE PARA VOCE, SE EU NÃO CONSEGUIR RESOLVER, MOVO O MUNDO PARA AJUDÃ-LO. AGUARDE E CONFIE. AFINAL DE CONTAS, KEM É O MAIS PODEROSO DO FIVEWIN BRASIL??? HEIM? HEIM?? SE VOCÊ NÃO SABE, MUITO MENOS EU! hehehehehehe. Brincadeirinha, só para relaxá-lo. PAULO ARAUJO, PREPARE-SE... Là VAI BOMBA PRA VOCE!!! hehehehe. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
senun Posted February 7, 2006 Report Share Posted February 7, 2006 Fábio, mesmo que vc coloque em ordem os objetos, a funcao fara com que todos os botoés passem por ela. coloque uma opcao nao sua Funcao, para que , quando não for o objeto desejado, ela retorne .T.. Nelson Nunes de Araujo Santo André - SP nelson.n.araujo@gmail.com Clipper 5.3E, Blinker 7.0, FW 2.4, Workshop Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 //->Linha 479 REDEFINE BTNGET oGetCot[3] VAR vn_prod ; ID 23 OF oFld:aDialogs[7] PICTURE "999999" ; RESOURCE "LUPA" ; VALID CHKPR( oGetCot, oDlg ) ; action(buscapro()) ; COLOR CLR_LETRA,CLR_FUNDO *---> Funcao para checar existencia do produto. * STATIC FUNCTION CHKPR( oGetCot, oDlg ) LOCAL lRet if vn_prod=0 return nil Endif Sele PRO Dbsetorder(2) Set soft on Seek str(vn_prod,7) Set soft off IF FOUND() lRet := .T. Else msginfo(" Código Produto Não Cadastrado !!! ","Informação") dbsetorder(1) lRet := .F. //-> Aqui Ponha um xSeFocus() Para Ele Retornar ao Get da Busca. // Ou Mude esta L¢gica a Gosto. endif if vn_prod#999999 VN_DESCR :=PRO->TITULO if lAppend#1 vn_cf:=codipi Sele Fis seek vn_cf vn_peripi=0 if .not. eof() vn_peripi=fis->percipi lRet := .T. Else lRet := .T. Endif lRet := .T. Endif Endif Sele pro DbSetorder(1) sele cot oGetCot[3]:Refresh() oGetCot[4]:Refresh() oGetCot[5]:Refresh() oGetCot[6]:Refresh() Return( lRet ) João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Editado por - kapiaba on 07/02/2006 13:39:57 Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Kapi, por acaso vc testou a mudanca que vc fez ??? Pois, eu alterei conf. vc pediu e nao adiantou nada. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 citação:Kapi, por acaso vc testou a mudanca que vc fez ??? Pois, eu alterei conf. vc pediu e nao adiantou nada. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>SIM, PASSA NORMAL, AGORA VOCE NAO PODE COLOCAR UM MSGINFO QUANDO O VALID RETORNA .T., POIS O ACTIVATE DIALOG, ESTà EM LOOPING ETERNO E VAI PARAR O MSGINFO SEMPRE, O MSGINFO, DEVE SER COLOCADO QUANDO O VALID RETORNA .F., EXEMPLO QUANDO NAO ECONTROU O PRODUTO, AI SIM, VOCE PARA O GET PARA O USUARIO SABER QUE O SEEK NAO FUNCIONOU. É ISSO! A UNICA COISA QUE VOCE TEM QUE FAZER, É ACERTAR A LOGICA, QUANDO O VALID NAO ACHA O PRODUTO, AI VOCE RETORNA PARA O MESMO GET DA PESQUISA, COM RETURN( .F. ), OU lRet := .F., E USA-SE O XSETFOCUS() PARA LEVAR O CONTROLE ATÉ O GET DA PESQUISA NOVAMENTE. PS: PARA VOCE ENTENDER O QUE ESTAVA ACONTECENDO, NA REALIDADE, VOCE ESTAVA PARANDO GET POR GET, COMO SE ESTIVESSE DEBUGANDO O SEU CODIGO. ? OU MSGINFO, É O DEBUGADOR DO FIVEWIN MEU CARO! Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Editado por - kapiaba on 07/02/2006 16:37:48 Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 7, 2006 Author Report Share Posted February 7, 2006 Kapi, me desculpe. Fiz o q vc pediu : Mandei o focu para ogetcot[3]. Tirei os msginfo da vida. Coloquei os iret da vida. Mas continua passando pela rotina. Vc chegou a fazer o teste colocando por exemplo o cod de produto 1350. Ai ele traz a clas.fiscal em branco. Vc digita A e da um enter. Ai volta pra branco, pois, ele novamente passou pelo chkpr e trocou o valor da variavel. Desculpe o incomodo e se estou sendo orelhudo. Fabio Ramirez. FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 Quando eu digito 1350, já vem o nome do produto junto. Tire os REFRESH. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 7, 2006 Report Share Posted February 7, 2006 //-> Coloque esta lógica, e ache o erro. Corrija. *---> Funcao para checar existencia do produto. Static Function CHKPR( oGetCot, oDlg ) LOCAL lRet if vn_prod=0 return( .F. ) Endif Sele PRO Dbsetorder(2) Set soft on Seek str(vn_prod,7) Set soft off IF FOUND() lRet := .T. Else msginfo(" Código Produto Não Cadastrado !!! ","Informação") dbsetorder(1) RETURN( .F. ) endif if vn_prod#999999 VN_DESCR :=PRO->TITULO if lAppend#1 ? lAppend vn_cf:=codipi * Sele Fis seek vn_cf * vn_peripi=0 IF FOUND() ? 'ACHEI!' ELSE ? 'NAO ACHEI!' ENDIF if .not. eof() ? 'AQUI 1' vn_peripi=fis->percipi lRet := .T. Else ? 'AQUI 2' lRet := .F. Endif ? 'AQUI 3' lRet := .T. Endif Endif Sele pro DbSetorder(1) sele cot oGetCot[3]:Refresh() oGetCot[4]:Refresh() oGetCot[5]:Refresh() oGetCot[6]:Refresh() Return( lRet ) //-> Tudo se concentra nesta logica e no ACTION que vai abrir os produtos, cheque a logica dos produtos também. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 7, 2006 Report Share Posted February 7, 2006 Não adianta. Não aguento ficar quieto no meu canto. 1º) A coisa iniciou em um GET simples e virou para BTNGET. 2°) Como a DIALOG não foi mostrada até o momento, acredito que primeiro se tenha que atualizar a variável, segundo o objeto e por último se dar o REFRESH(). Eu sei que tem colegas que usam a opção UPDATE, mas não uso. vn_peripi:=fis->percipi oGetCot[6]:VarPut(vn_peripi) oGetCot[6]:Refresh() Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 8, 2006 Author Report Share Posted February 8, 2006 Kapiaba, bom dia. Na rotina q vc mandou tem q tirar o iret=.t. no "aqui 3", pois, a logica sempre vai passar por ali, matando o if anterior. Deixa eu te explicar uma coisa : Na sua logica vc esta retornando iRet:=.f. se nao encontrar a Classificacao Fiscal ("Aqui2),nao precisa. O prg tem q continuar, pois, a variavel vn_peripi volta com valor 0. O Detalhe e'que qdo retorna e vai pro get para digitar o vn_peripi que esta zerado, se vc digitar um outro valor e dar o enter o campo volta pro valor 0, pois, a rotina CHKPR foi startada novamente. Se vc quiser fazer um teste com o produto 1350, basta vc ir no cadastro de produtos e alterar a cls.fiscal dele Ex: A. Por favor faca um teste e me retorne o que aconteceu. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 Nao e iRet, e lRet -> Logical. Tente entao, trazer o codigo - ( cCod ) diretamente da Busca do produto(ACTION ) do Get, e mande checar o Conteudo do cCod que retorna da Busca do ACTION dos produtos. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 8, 2006 Author Report Share Posted February 8, 2006 Kapiaba. iRet,lRet Nao muda nada, eh apenas um nome de variavel. Eu gostaria apenas que vc testasse o programa conf. solicitei na mensagem anterior e me retornasse se o problema ocorre tambem ai com vc. Ja tomei muito o seu tempo com esta merda. Eu ate posso fazer um cambalacho e arrumar uma saida alternativa, mas o problema vai ficar sem solucao e assim como eu outros tambem podem vir a passar por esta situacao. E como infelizmente nao temos muito ao que recorrer acabamos por ter que incomodar a vcs que conhecem o FW profundamente. Esquece esse problema, deixa pra la. Obrigado - Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 citação:Kapiaba. iRet,lRet Nao muda nada, eh apenas um nome de variavel. Eu gostaria apenas que vc testasse o programa conf. solicitei na mensagem anterior e me retornasse se o problema ocorre tambem ai com vc. Ja tomei muito o seu tempo com esta merda. Eu ate posso fazer um cambalacho e arrumar uma saida alternativa, mas o problema vai ficar sem solucao e assim como eu outros tambem podem vir a passar por esta situacao. E como infelizmente nao temos muito ao que recorrer acabamos por ter que incomodar a vcs que conhecem o FW profundamente. Esquece esse problema, deixa pra la. Obrigado - Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>EASY... EASY... AGUARDE UM POUCO, QUE VOU VER. É QUE ESTOU MEIO 'ENRROLADO'. MAS VOU VER. TENHA FÉ. TENHO A IMPRESSÃO, QUE NÃO ESTOU CONSEGUINDO TE CAPTAR DIREITO. EXPLIQUE MELHOR, O QUE VOCE QUER FAZER, QUE NAO ESTà CONSEGUINDO??? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 8, 2006 Author Report Share Posted February 8, 2006 Eu preciso apenas q vc faca o teste conf. eu pedi. Ou seja : Depois que vc digita o cod.produto eu trago a clas.fiscal na tela (De acordo com o que esta registrado no produto) para o usuario digitar. Se o usuario alterar o valor e der um enter, eu vou pro campo seguinte, porem, como o prg esta chamando a rotina chkpr em todos os gets, o valor digitado e trocado novamente pelo valor apurado na rotina chkpr(). Entendeu, por favor faca o teste que vc vai entender. Esperimente mudar a classificacao fiscal do produto 1350 para A e teste. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 Fabio, na classificacao fiscal, voce tem que colocar outro VALID, para fazer a checagem tambem. Troquei para A, e ele voltou a Classificação anterior, era isso? Se for, ponha um VALID para checar a classificao tambem. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: 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.