Jump to content
Fivewin Brasil

Ajuda com Get em Folder


Fabio Ramirez

Recommended Posts

  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

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:

assinatchris.gif

Link to comment
Share on other sites

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.)

assinatpaulo.jpg

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

assinatchris.gif

Editado por - kapiaba on 07/02/2006 09:51:35

Link to comment
Share on other sites

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

assinatpaulo.jpg


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:

assinatchris.gif

Link to comment
Share on other sites

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:

assinatchris.gif

Link to comment
Share on other sites

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

Link to comment
Share on other sites

//->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:

assinatchris.gif

Editado por - kapiaba on 07/02/2006 13:39:57

Link to comment
Share on other sites

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:

assinatchris.gif

Editado por - kapiaba on 07/02/2006 16:37:48

Link to comment
Share on other sites

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

Link to comment
Share on other sites

//-> 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:

assinatchris.gif

Link to comment
Share on other sites

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()

assinatpaulo.jpg

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

assinatchris.gif

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

assinatchris.gif

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

assinatchris.gif

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...