Jump to content
Fivewin Brasil

Ajuda com Get em Folder


Fabio Ramirez

Recommended Posts

Entao, Kapi. Vc chegou ao problema.

Independente de eu colocar o valid, qdo vc Troca a Classificacao Fiscal e da o enter ele volta para o valor anterior porque passa novamente pela funcao CHKPR(sem ser chamada), onde na funcao eu verifico a class.fiscal do produto e coloco a valor na variavel. Entendeu ??? Este eh o problema. Sempre executa o CHKPR nos Gets.

Aguardo retorno - Fabio

FW2.3 - Clipper5.3 - WS4.5

Link to comment
Share on other sites

  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

citação:

Entao, Kapi. Vc chegou ao problema.

Independente de eu colocar o valid, qdo vc Troca a Classificacao Fiscal e da o enter ele volta para o valor anterior porque passa novamente pela funcao CHKPR(sem ser chamada), onde na funcao eu verifico a class.fiscal do produto e coloco a valor na variavel. Entendeu ??? Este eh o problema. Sempre executa o CHKPR nos Gets.

Aguardo retorno - Fabio

FW2.3 - Clipper5.3 - WS4.5


id=quote>id=quote>

ENTÃO, MUDE A FORMA DE PROGRAMAR, INVENTE OUTRA LÓGICA, VOCE CONSEGUE. VA PASSO A PASSO. INFELIZMENTE, ESTOU SEM TEMPO, VOU POSTAR ALGUM EXEMPLO, PARA IR TE INSPIRANDO.

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

//-> Baixe e leia devagar, voce vai entender.

REDEFINE TBTNGET aGet[1] VAR xCod ;

PICTURE "@K !!!!!!!!!!!!!!!" ;

ID 24 OF oDlgv ;

RESOURCE "FOLDER16" ;

FONT oFont UPDATE ;

COLOR CLR_BLACK, CLR_HCYAN ;

VALID VER_PRODUTOS( xCod, aGet, oLbx, oDbfPedf , ;

oDbfEstoque , ;

oLbx:GoTop() , ;

oLbx:Refresh() , ;

oLbx:SetFocus() , ;

oLbx:GoBottom(), lCxAtiva := .T. ) ;

ACTION( PESQUISA_PRODUTO( aGet[1], oDbfEstoque, lCxAtiva := .T. ) )

*-----------------------------------------------------------------------------*

* VALIDACAO DO PRODUTO

*-----------------------------------------------------------------------------*

STATIC FUNCTION VER_PRODUTOS( cCod, aGet, oLbx, oDbfPedf, oDbfEstoque, ;

lAppend )

LOCAL lRet, T, oFnt, oGet, oSaida

LOCAL nLinhaSay := 001 // Linha dos Say's

LOCAL nColunaSay := 001 // Coluna dos Say's

LOCAL nLinhaButton := 002 // Linha Que Come‡a os Botoes

LOCAL nColunaButton := 002 // Coluna Que Come‡a os Botoes

LOCAL nLinhaDialog := 005 // Linha Que Come‡a a Dialog

LOCAL nColunaDialog := 005 // Coluna Que Come‡a a Dialog

LOCAL nAlturaDialog := 180 // Altura da Dialog

LOCAL nLarguraDialog := 300 // Largura da Dialog

LOCAL cTitle := ( OemtoAnsi( "Op‡äes Para Cadastrar Produtos" ) )

LOCAL oRadio, oWnd, oEscolha, iDcor, nValorTitulos

MEMVAR cNome_Func, cNumer_Orca, cDinCheq // Nome do funcionario, Or‡amento

MEMVAR cUsuario, lItemSalvar, XCOD

MEMVAR XNNF

MEMVAR nValorRad

MEMVAR nRecNo, gcFile, oImagem

nValorRad := 1

//? Val(Subs(xCgcCli,49,10))

// ? cCod + " " + STR( LEN( ALLTRIM( cCod ) ), 2, 0 )

//--> Set cCod Se o C¢digo Estiver Vazio, Retorna True.

IF Empty( cCod )

aGet[1]:Hide()

aSays[4]:Hide()

oLbx:GoTop()

oLbx:Refresh()

oLbx:SetFocus()

oLbx:GoBottom()

lCxAtiva := .T.

RETURN( .T. )

ENDIF

If UPPER(cCod)="K".AND.VAL(xubp)>0

xQtd=Lepeso()

aGet[1]:Refresh()

aGet[2]:Refresh()

aGet[1]:Show()

aGet[2]:Show()

Return( .F. )

Endif

SELECT ( oDbfEstoque:cAlias ) // Cadastro de Produtos

SET ORDER TO 1

GO TOP

SEEK( cCod )

// ? cCod + " " + STR( LEN( ALLTRIM( cCod ) ), 2, 0 )

// ? STR( LEN( ALLTRIM( cCod ) ), 2, 0 )

// ? cCod, ( oDbfEstoque:cAlias )->Cod

IF FOUND() .OR. VAL( LEFT( cCod, 1 ) ) = 0 .AND. LEFT( cCod, 1 ) # "0"

oDbfEstoque:Load()

//-> Abertura das Fotos dos Produtos

// Abrir um Arquivo no Diret¢rio Usando Long File Name -> JoÆo

gcFile := LFN2SFN( oDbfEstoque:Fotos )

If Empty( gcFile ) .OR. !File( gcFile )

LFN2SFN( gcFile := "SEMFOTO2.JPG" ) // Longo NÆo Pega...

oImagem:LoadBMP(gcFile)

oImagem:Show() // Mostra a Telinha da Foto ID 201

oImagem:lStretch := ( .T. ) // Alongamento da Imagem. .F. Alonga .T. NÆo.

Else

nRecNo := ( oDbfEstoque:cAlias )->( RecNo() )

oDbfEstoque:GoTo( nRecNo )

IF !NetRecLock( oDbfEstoque )

RETURN NIL

ENDIF

oImagem:LoadBMP(gcFile)

oImagem:Show() // Mostra a Telinha da Foto ID 201

oImagem:lStretch := ( .T. ) // Alongamento da Imagem. .F. Alonga .T. NÆo.

EndIf

If Val(Left(cCod,1))=0.And.Left(cCod,1)#"0"

cCodd=ESCOLHEPROD( oGet, oDbfEstoque, cCod, xcsat )

cCod=cCodd

SEEK cCod

If .Not. Found() .Or. GetKeyState( VK_ESCAPE )

SELECT ( oDbfPedf:cAlias )

cCod := Space( 15 ) // Limpar o C¢digo do Produto No Buffer do Leitor.

aGet[1]:VarPut( cCod ) // Limpar o Get

If GetKeyState( VK_ESCAPE )

If VAL( xUls) > 0

aGet[1]:Hide()

Endif

Return( .T. )

Endif

aGet[1]:Refresh()

xFocus( aGet[1] )

// Desligar o Banner Quando NÆo Achar o Produto

lCxAtiva := .T.

lRet := .F.

Return( .T. )

Endif

Endif

//--- Carrega os Dados do Produto Para o PDV Set Relation

xDescricao := Desc // Descricao do produto

If xQtd=0 .Or. xUltimaQtd=0

xQtd := 1.00 // Quantidade de Produtos

Else

// ? 'Quantidade Maior Que Zero' // Quantidade de Produtos > 0

Endif

xVlUni := UltTaba // Valor de Venda Para Varejo

xPrecoOrig := UltTaba // Pre‡o de Origem???

If xVlUni<=0

// Busca Produtos Sem Pre‡os +- Linha 3130

xVlUni=ProdSemPreco( oLbx )

If xVlUni<=0

SndPlaySound(".\Erro.Wav" )

MsgInfo( OemtoAnsi( "Pre‡o de Venda do Produto Inv lido ! " ),;

OemToAnsi( "Erro no Pre‡o de Venda. Aten‡Æo! " ) )

xQtd := 0.00

xVlUni := 0.00

xPrecoOrig := 0.00

lRet := .F.

Endif

xPrecoOrig=xVlUni

Endif

lRet := .T.

// Ativa o Banner

lCxAtiva := .T.

SALVAR( cCod, oLbx, oDbfPedf, xQtd, oDbfestoque )

ELSE // Se a Resposta Para Cadastrar Novo Produto, For Sim...

// Ativa o Banner

lCxAtiva := .T.

//aSayCxFree[1]:Hide()

If xTeclaMais = 1 // Se o Usu rio Teclou + e a Qtde de Produtos

xQtd := VAL( cCod )

xultimaqtd := xQtd

nKey := 999

lCxAtiva := .T.

//aSayCxFree[1]:Hide()

Mostra_Teclas( nKey, oDbfPedf, oLbx, aGet, aSays, aSayCxFree, ;

oDlgv, xQtd )

ELSE

SndPlaySound(".\Init.Wav" )

If MsgNoYes( "ATENÇÃO: ESTE PRODUTO NÃO FOI ENCONTRADO! "+ CRLF + ;

+ CRLF + ;

"Código do Produto: " + AllTrim( cCod ) + CRLF + ;

+ CRLF + ;

"Você Deve Cadastrá-lo Primeiro. Cuidado! "+ CRLF + ;

+ CRLF + ;

"O Que Você Deseja Fazer? Escolha..."+ CRLF + ;

" -> Cadastrar Novo Produto... "+ CRLF + ;

" -> Retornar Sem Cadastrar Nada... ", ;

"Informação Para o Usuário... " ) = .T.

// Se Sim, Chamar Rotina de Cadastrar os Produtos Que NÆo Existem .

// Rotina Para Cadastrar Novo Produto No Estoque.Dbf.

xAutoriza := Autoriza("07","S",13, oDbfVendedor)

IF xAutoriza="NAO"

Return( .F. )

ENDIF

// Define 'Tamanho'-(SIZE) da Fonte.

DEFINE FONT oFnt NAME "Arial" SIZE 0,16 BOLD // DIALOG

DEFINE DIALOG oDlg FROM nLinhaDialog, nColunaDialog ;

TO nAlturaDialog, nLarguraDialog OF oWnd ;

TITLE cTitle ;

PIXEL ;

FONT oFnt ;

COLOR nRGB( 127, 127, 127 ), nRGB( 143, 168, 127 ) ;

STYLE nOR( DS_MODALFRAME )

// Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help.

oDlg:lHelpIcon := .F.

//-------------Local Reservado Para os Say's---------------------------------//

@ nLinhaSay, nColunaSay + 45 ;

SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ;

OF oDlg ;

COLOR CLR_HRED, RGB( 143, 168, 127 ) ;

PIXEL

//-------------Local Reservado Para os Radios----------------//

@ nLinhaButton + 15, nColunaButton + 05 ;

RADIO oRadio VAR nValorRad OF oDlg ;

UPDATE ;

ITEMS "&Incluir Novo Produto no Estoque", ;

"&Alterar Um Produto do Estoque " ;

COLOR CLR_BLACK, RGB( 143, 168, 127 ) ;

PIXEL

// 52.50

@ nLinhaButton + 50, nColunaButton + 32.50 ;

BUTTON oEscolha ;

PROMPT "&Confirme" OF oDlg ;

SIZE 35,14 ;

PIXEL ;

ACTION ( lNaoSai := .T., oDlg:End() )

oEscolha:cToolTip := ( OemtoAnsi( "Escolha Op‡Æo e Confirme" ) )

@ nLinhaButton + 50, nColunaButton + 80 ;

BUTTON oSaida ;

PROMPT "&Saida" OF oDlg ;

SIZE 35,14 ;

PIXEL ;

ACTION ( nValorRad := 0, lNaoSai := .T., oDlg:End() ) CANCEL

oSaida:cToolTip := ( OemtoAnsi( "Saida - Escape - Exit" ) )

ACTIVATE DIALOG oDlg CENTERED RESIZE16 ;

VALID( lNaoSai )

// Checa a Escolha do BotÆo do R dio

IF nValorRad == 2

lCxAtiva := .T.

SndPlaySound(".\Init.Wav" )

// Alterar o Estoque ou Incluir

ESTOQUE( .F., oDbfEstoque, cCod, DEONDEVEM:=1 ) // Alterar No Estoque.Dbf

ELSEIF nValorRad == 1

lCxAtiva := .T.

SndPlaySound(".\Init.Wav" )

// Somente Para Incluir o Estoque

GETESTOQUE( .T., oDbfEstoque, cCod, DEONDEVEM:=1 ) // Gravar No Estoque.Dbf

ELSE // Usu rio se Arrependeu de Incluir Novo Produto.

// Vai Sair do ButtonRadio, Caso o Usu rio se Arrependa.

// E NÆo Queira Mais Incluir Um Novo Produto. Ele Volta,

// Para o GET do Produto Digitado. By Edvaldo.

SndPlaySound(".\Erro.Wav" )

lCxAtiva := .T.

lRet := .F.

ENDIF

//--- Reapresenta os Get's

xFocus( aGet[1] )

aGet[1]:Refresh()

lCxAtiva := .T.

ELSE // Se a Resposta Para Cadastrar Novo Produto, For NÆo...

// NÆo Say Se Isso ‚ Necess rio... Testar...

// Seleciona o Estoque, Para Continuar Trabalhando No Balcao.

SELECT ( oDbfEstoque:cAlias )

SET ORDER TO 1

GO TOP

//--- Reapresenta os Get's

aGet[1]:Refresh()

xFocus( aGet[1] )

lCxAtiva := .T.

ENDIF

ENDIF

lCxAtiva := .T.

lRet := .F.

ENDIF

cCod := Space(15) // Limpar o C¢digo do Produto No Buffer do Leitor.

xCod := Space(15) // Limpar o Get

// Se For Teclado com Leitor de C¢digos de Barras.

If VAL( xUls) <= 0

aGet[1]:VarPut( cCod ) // Limpar o Get

aGet[1]:VarPut( xCod ) // Limpar o Get

aGet[1]:Refresh()

xFocus( aGet[1] )

Endif

// Continua Trabalhando no Balcao de Vendas...

SELECT ( oDbfPedf:cAlias )

lNaoSai := .F.

RETURN lRet

//-------------------------------------------------------------------------//

// Funcao que exibe lista de Produtos Com a Tecla F9 -> Para Pesquisa

//-------------------------------------------------------------------------//

STATIC FUNCTION PESQUISA_PRODUTO( oGet, oDbfEstoque, nWidth, nHeight )

LOCAL oWnd, oDlg, oLbx, aPoint, cAlias:= Alias()

LOCAL xVal, bRestore, lNormal, cPesq, nKey, oFont, oSay, Qtd_Estoque

SELECT ( oDbfEstoque:cAlias )

SET ORDER TO 1

GO TOP

nKey := Chr(13)

bRestore := {|| IIF( !lNormal, oGet:Varput( xVal ), ), oDlg:End() }

xVal := oGet:Varget()

lNormal := .F.

cPesq := Alltrim( oGet:oGet:Buffer )

//msginfo(cPesq) // Debugador

IF !Empty( cPesq )

SELECT ( oDbfEstoque:cAlias )

GO TOP

SEEK cPesq

IF !Found()

MsgInfo( "Não Encontrei Este Produto. Erro!!" + CRLF + ;

"Digite as Iniciais do Produto, Assim:" + CRLF + ;

"Ex.: ARRO, FITA, BOLA, MALA, Etc. " + CRLF + ;

"Tente de Novo, e Use: F9-Browse ", ;

OemtoAnsi( "Aten‡Æo, Por Favor!" ) )

GO TOP

ENDIF

// Implementei, Para Busca de Produtos Manualmente, Usando a Tecla

// F9 -> Por Ordem Alfab‚tica. Digita‡Æo Manual do C¢digo.

SELECT ( oDbfEstoque:cAlias )

SET ORDER TO 2 // -> Por Descri‡Æo do Produto

GO TOP

ELSE

SELECT ( oDbfEstoque:cAlias )

SET ORDER TO 2 // -> Por Descri‡Æo do Produto

GO TOP

ENDIF

// ListBox dos Produtos Quando Acionada Com a Tecla F9->BtnGet.Prg

DEFINE FONT oFont NAME "Arial" SIZE 8, 16 BOLD // Par dialog

DEFINE DIALOG oDlg RESOURCE "BROWSE_PDV" ;

COLORS CLR_BLACK, nRGB( 193, 205, 205 )

// Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help.

ODLG:LHELPICON := .F.

REDEFINE LISTBOX oLbx ;

FIELDS (oDbfEstoque:cAlias )->COD , ;

(oDbfEstoque:cAlias )->DESC , ;

TRANSFORM((oDbfEstoque:cAlias)->ULTTABA, "@E 999,999.99" ) , ;

TRANSFORM((oDbfEstoque:cAlias)->ULTTAB, "@E 999,999.99" ) , ;

TRANSFORM((oDbfEstoque:cAlias)->( VAL( SUBSTR( TIPO,12,8 ) ) ) , ;

"@E 999,999.99" ) , ;

TRANSFORM((oDbfEstoque:cAlias)->( VAL( SUBSTR( TIPO,20,8 ) ) ) , ;

"@E 999,999.99" ) ;

HEADERS OemtoAnsi( "C¢digo " ) , ;

OemtoAnsi( "Descri‡Æo " ) , ;

OemtoAnsi( "Pre‡o 1 " ) , ;

OemtoAnsi( "Pre‡o 2 " ) , ;

OemtoAnsi( "Pre‡o 3 " ) , ;

OemtoAnsi( "Pre‡o 4 " ) ;

ALIAS( oDbfEstoque:cAlias ) ;

FIELDSIZES 145, 350, 100, 100, 100, 100 ;

COLOR CLR_BOMBOM, CLR_LGREEN ;

FONT oFont ;

ID 101 ;

OF oDlg ;

ON CHANGE ( oGet:VarPut( ( oDbfEstoque:cAlias)->COD ) , ;

oGet:Refresh() ) ;

ON DBLCLICK ( oDlg:End() )

// Neste Caso, Vai Fazer a Pesquisa Incremental

oDlg:bKeyDown := { | nKey | Faz_Pesquisa( nKey, ;

( oDbfEstoque:cAlias ), oLbx, oSay, ;

oLbx:SetFocus(), oLbx:Refresh() ), ;

IIF( nKey == VK_ESCAPE, ;

EVAL( bRestore ), ;

IIF( nKey == VK_RETURN, ;

( lNormal := .T., EVAL( bRestore) ), ) ) }

//------ Defini‡äes da ListBox dos Produtos em Estoque.Dbf --------------//

oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho

oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem

oLbx:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa

oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos

// Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando

oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;

CLR_LGREEN, CLR_LGRAY ) }

oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar qual coluna?

oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse

oLbx:lCellStyle := .T. // S¢ Pinta a celula que o cursor est 

// Justifica As Colunas dos Campos Esq. .T. = Centro

oLbx:aJustify := { .F., .F., .T., .T., .T., .T., .T. }

oLbx:lMChange := .F. // Desabilita Mousemove

oLbx:SetFocus() // Refocus on The Browse

oLbx:Refresh() // Estabiliza o Browse/Listbox

ACTIVATE DIALOG oDlg RESIZE16 ;

ON INIT ( oDlg:bLostFocus := { || oDlg:bLostFocus := Nil, ;

EVAL( bRestore ) } , oLbx:Refresh() ) ;

VALID ( lNormal := .T. )

SELECT ( cAlias )

lCxAtiva := .T. // Para Acionamento do Banner do CAIXA LIVRE(Free)

RETURN NIL

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, Poste a dialog INTEIRA. Quem sabe alguém não descobre o erro.

------------------------------------------------------------

NÃO ACREDITO. NÃO ACREDITO. NÃO ACREDITO.icon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gif

VOCÊ ESPEROU O VAGNER SAIR DE FÉRIAS PARA SOLTAR ESSA PÉROLA: HAHAHAHAHAHAHAHAHA

//-------------Local Reservado Para os Say's---------------------------------//

@ nLinhaSay, nColunaSay + 45 ;

SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ;

OF oDlg ;

COLOR CLR_HRED, RGB( 143, 168, 127 ) ;

PIXEL

assinatpaulo.jpg

Editado por - pauloaraujo on 08/02/2006 15:42:45

Link to comment
Share on other sites

Se existe um problema de logica (o q aparentemente nao acredito) eu pedi ajuda para descobrir e nao errar mais.

Eu gostaria que alguem CONSTATASSE o problema e me orientasse para que eu nao venha a errar novamente no mesmo lugar.

Criar outra rotina nao vai mudar nada.

Kapi, sabe aquela historia da vaca com carrapato.

Onde pra se ver livre dos carrapatos vc mata a vaca, entao...

Agradeco sua atencao e peco desculpas por ter tomado o seu tempo.

Fabio Ramirez

FW2.3 - Clipper5.3 - WS4.5

Link to comment
Share on other sites

citação:

Fábio, Poste a dialog INTEIRA. Quem sabe alguém não descobre o erro.

------------------------------------------------------------

NÃO ACREDITO. NÃO ACREDITO. NÃO ACREDITO.icon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gificon_smile_shock.gif

VOCÊ ESPEROU O VAGNER SAIR DE FÉRIAS PARA SOLTAR ESSA PÉROLA: HAHAHAHAHAHAHAHAHA

//-------------Local Reservado Para os Say's---------------------------------//

@ nLinhaSay, nColunaSay + 45 ;

SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ;

OF oDlg ;

COLOR CLR_HRED, RGB( 143, 168, 127 ) ;

PIXEL

assinatpaulo.jpg

Editado por - pauloaraujo on 08/02/2006 15:42:45


id=quote>id=quote>

hehehe... Veja Que Como Não Suport @..., o Patrão fez, e eu alterei para não ter @...

Fábio... Envie Tudo Para o Paulo Araújo, Pois Realmente, estou sem tempo. Veja com ele se pode...

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,

Pode mandar para eu dar uma olhada. O único problema é que não uso WS.

Agora, você fez esse teste que te pedi???

Static Function CHKPR( oGetCot, oDlg )

......

......

Sele pro

DbSetorder(1)

sele cot

oGetCot[4]:VarPut(vn_descr)

oGetCot[5]:VarPut(vn_cf)

oGetCot[6]:VarPut(vn_peripi)

oGetCot[4]:Refresh()

oGetCot[5]:Refresh()

oGetCot[6]:Refresh()

Return( lRet )

Outra coisa, coloque um MSGINFO e retorne o que aconteceu

if .not. eof()

vn_peripi=fis->percipi

MSGINFO(vn_peripi)

assinatpaulo.jpg

Editado por - pauloaraujo on 08/02/2006 18:46:16

Link to comment
Share on other sites

pessoal, bom dia...

eu não queria me meter nesta "briga de foice no escuro" rsss ... más não vejo outra forma... este tópico era pra ser bem simples...

seguinte, acho que nenhum de voces ainda entendeu qual é realmente o problema que o Fábio está enfrentando...

ele não está com problema na função de validação... nem de lógica... estou com os fontes dele aqui analisando a alguns dias ... vou tentar explicar pra voces...

imaginem assim... tenho 6 GETs em uma DIALOG ok ..

somente um destes GETs tem clausula VALID ...

qual seria o resultado de uma digitação nesta tela? ... a validação deveria ser executada somente para o GET que tem a clausula VALID ok ... concordam comigo?

pois o que ocorre com o Fábio... e eu reproduzi aqui... é que os 6 GETs executam a validação... mesmo não tendo a clausula VALID definida ..


REDEFINE GET oGetCot[1] VAR mCotacao ID 35 OF oFld:aDialogs[7] PICTURE "999999" FONT FT_DTCAD WHEN .F.

REDEFINE GET oGetCot[2] VAR mDataCot ID 44 OF oFld:aDialogs[7] PICTURE "@d" WHEN .F.

REDEFINE GET oGetCot[3] VAR vn_prod ID 32 OF oFld:aDialogs[7] PICTURE "999999" VALID CHKPR()

REDEFINE GET oGetCot[4] VAR vn_descr ID 50 OF oFld:aDialogs[7] PICTURE "@!"

REDEFINE GET oGetCot[5] VAR vn_cf ID 66 OF oFld:aDialogs[7] PICTURE "@!"

REDEFINE GET oGetCot[6] VAR vn_peripi ID 49 OF oFld:aDialogs[7] PICTURE "99"

id=code>id=code>

observem ai acima no código que somente o terceiro GET tem clausula VALID ... mas o quarto, quinto e sexto GETs tambem executa a validação...!!!! e não poderia, pois não foi definida a clausula VALID para estes...

agora o mais interessante... se eu retirar o WHEN .F. do segundo GET a validação vai ser executada somente para o GET que tem a VALID definida ... uma coisa de louco...

espero que eu tenha conseguido explicar o problema do nosso amigo e que alguem aqui a partir de agora tenha uma "luz" para a solução deste mistério ...

abraços...

ps: o Fábio usa FW 2.4 com Clipper + Blinker 7 ...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS

Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51

Link to comment
Share on other sites

Marllon, Bom dia... Estou sem tempo, mas se voce puder, faca isso:

Abra a Folder dele, e troque estes controles, tem que ficar nesta ordem:

Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste

com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o .

Esta e a sequencia correta para usar RECURSOS.

REDEFINE GET oGetCot[1] VAR mCotacao PICTURE "999999" ;

WHEN( .F. ) ;

UPDATE ;

ID 32 OF oFld:aDialogs[7] ;

FONT FT_DTCAD

REDEFINE GET oGetCot[2] VAR mDataCot PICTURE "@d" ;

WHEN( .F. ) ;

UPDATE ;

ID 33 OF oFld:aDialogs[7]

REDEFINE GET oGetCot[3] VAR vn_prod PICTURE "999999" ;

ID 34 OF oFld:aDialogs[7] ;

UPDATE ;

VALID CHKPR()

REDEFINE GET oGetCot[4] VAR vn_descr PICTURE "@!" ;

ID 35 OF oFld:aDialogs[7] ;

UPDATE

REDEFINE GET oGetCot[5] VAR vn_cf PICTURE "@!" ;

ID 36 OF oFld:aDialogs[7] ;

UPDATE

REDEFINE GET oGetCot[6] VAR vn_peripi PICTURE "99" ;

ID 37 OF oFld:aDialogs[7] ;

UPDATE

Nos Botoes, troque para 301, 302... em diante.

Troque nos Fontes.

Troque a Classe BTNGET.PRG por outra, pode estar defeituosa.

Esqueci: Coloque o comando UPDATE em todos os GET's.

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 09/02/2006 10:14:01

Link to comment
Share on other sites

Tudo isto já foi feito Joao...

citação:

Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste

com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o .

Esta e a sequencia correta para usar RECURSOS.


id=quote>id=quote>

tambem pensei que poderia ser o BTNGET .. troquei pela versao que eu uso e nao adiantou..

o UPDATE é apenas um atalho para refresh de objetos ...

nao resolveria nestes casos ...

estou desconfiado de pau na versao 2.4 do FW ... estou preparando para testar com a 2.6 ... vamos ver o que acontece ...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS

Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51

Link to comment
Share on other sites

citação:

Tudo isto já foi feito Joao...

citação:

Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste

com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o .

Esta e a sequencia correta para usar RECURSOS.


id=quote>id=quote>

tambem pensei que poderia ser o BTNGET .. troquei pela versao que eu uso e nao adiantou..

o UPDATE é apenas um atalho para refresh de objetos ...

nao resolveria nestes casos ...

estou desconfiado de pau na versao 2.4 do FW ... estou preparando para testar com a 2.6 ... vamos ver o que acontece ...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS

Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51


id=quote>id=quote>

Boa Tarde Marllon, desculpe a demora, mas é que fiquei perdendo tempo com as bobagens de DEEELLLPPHHHIIIRRC, e esqueci deste tópico.

Gentileza, vá reportando qualquer coisa... Tamos ae...

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