Page 1 of 1

ayuda para vizualizar un say

Posted: Mon Jan 29, 2007 8:56 pm
by Pablo
creo que esto no es dificil pero no puedo obtener la solucion, tengo un dialogo que solicita un codigo de articulo y despues realiza una busqueda en un archivo, si no existe envia el mensaje y solicita nuevamente el codigo, si existe y es donde tengo el problema que muestre un say con la descripcion en el dialogo si alguien tiene un ejemplo. asi lo estoy haciendo y no me funciona.. :


STATIC FUNCTION Diacerti()
LOCAL oDlg,odbf,ofnt
local c_fam:=0,c_art:=0

Use miart Shared New &base de Articulos
Set index to miart1
DATABASE oDbf
odbf:bEof:={ || NIL }


DEFINE FONT oFnt NAME "times New Roman" SIZE 0,-18 BOLD

DEFINE DIALOG oDlg RESOURCE "Stok"

REDEFINE GET c_fam Picture "@z 999" ID 4011 OF oDlg
REDEFINE GET c_art Picture "@z 9999" ID 4012 OF oDlg Valid Artic(c_fam,c_art,odbf)

REDEFINE Say odbf:mdes_art ID 4013 Of odlg FONT oFnt update

REDEFINE BUTTON ID 4001 OF oDlg ACTION( lOK := .T., oDlg:End() )
REDEFINE BUTTON ID 4002 OF oDlg ACTION( oDlg:End() )


ACTIVATE DIALOG oDlg CENTERED

if lok=.t.
Endif
RETURN NIL


STATIC FUNCTION Artic(c_fam,c_art,odbf)
Local lRet:= .T.
Local Codigo:=Str(c_fam,3)+Str(c_art,4)

If ( !EMPTY( codigo ) )

oDbf:Seek(codigo)

If oDbf:eof()
MsgStop( "CODIGO "+Str(c_fam,3)+"-"+Str(c_art,4)+ " NO EXISTE.", "Error" )
oDbf:Gotop()
lret:=.f.
endif

Endif
odbf:mdes_art

aqui lo encuentra pero al volver al dialogo no me muestra..

RETURN (lRet)

mucha gracias


Re: ayuda para vizualizar un say

Posted: Mon Jan 29, 2007 9:42 pm
by ACC69
Hola Pablo, te falta la instruccion de Refresh()
oDbf:mdes_art
oDbf:Refresh()

Espero que con esto soluciones tu problema amigo...
Adriano

Posted: Tue Jan 30, 2007 12:02 am
by Rochinha
Amiguinho

REDEFINE GET oGet001 VAR c_fam Picture "@z 999" ID 4011 OF oDlg
REDEFINE GET oGet002 VAR c_art Picture "@z 9999" ID 4012 OF oDlg Valid Artic(c_fam,c_art,odbf,oSay003)

REDEFINE Say oSay003 VAR cSay003 ID 4013 Of odlg FONT oFnt update

REDEFINE BUTTON ID 4001 OF oDlg ACTION( lOK := .T., oDlg:End() )
REDEFINE BUTTON ID 4002 OF oDlg ACTION( oDlg:End() )


ACTIVATE DIALOG oDlg CENTERED

if lok=.t.
Endif
RETURN NIL


STATIC FUNCTION Artic(c_fam,c_art,odbf,osay)
Local lRet:= .T.
Local Codigo:=Str(c_fam,3)+Str(c_art,4)

If ( !EMPTY( codigo ) )

oDbf:Seek(codigo)

If oDbf:eof()
MsgStop( "CODIGO "+Str(c_fam,3)+"-"+Str(c_art,4)+ " NO EXISTE.", "Error" )
oDbf:Gotop()
lret:=.f.
endif

Endif
oSay003:SetText(odbf:mdes_art)

aqui lo encuentra pero al volver al dialogo no me muestra..

RETURN (lRet)

Gracias por la informacion

Posted: Tue Jan 30, 2007 2:52 am
by Pablo
les agradesco la pronta respuesta, adriano no supe donde poner el refresh(), me arrojaba error y con la opcion de rochinha me funciono ok.