Enlazar foto a Formulario

733 views
Skip to first unread message

Jose Luis Navas

unread,
Aug 16, 2017, 11:56:07 AM8/16/17
to Comunidad de Visual Foxpro en Español
Muy buenos dias a todos.
hace no mucho. pedí ayuda para cargar una imagen:

ahora tengo el siguiente problema:
al usar los controles, todos los datos cambian    ...menos la foto  :(
y debo decir qe ya tengo las 100 primeras fotos cargadas!

estuve googleando y parece que debo usar: (SKIP +1, SKIP -1)....pero no se como hacerlo
he colocado como muestra la foto:




alguien podría ayudarme por favor?
soy novato en VFP9  y me gustaria que alguien me dé una buena explicacion.(solo si es posible)    ...muchas gracias de antemano







PS: en el post mencionado con anterioridad. Fidel Charny me dio un optimo ejemplo  ...muy bien explicado!
quisiera agradecer a Fidel Charny ya que en el post anterior no tuve la oportunidad   ....Muchas Gracias!

PS2: estoy usando VFP9 (Visual Fox Pro 9)

Euro Nava

unread,
Aug 16, 2017, 12:18:16 PM8/16/17
to publice...@googlegroups.com

Thisform……imagen.picture=”nombre y ubicación de la imagen que deseas mostrar#

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas
Enviado el: miércoles, 16 de agosto de 2017 11:56 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Enlazar foto a Formulario

 

Muy buenos dias a todos.
hace no mucho. pedí ayuda para cargar una imagen:

 

ahora tengo el siguiente problema:
al usar los controles, todos los datos cambian    ...menos la foto  :(
y debo decir qe ya tengo las 100 primeras fotos cargadas!

 

estuve googleando y parece que debo usar: (SKIP +1, SKIP -1)....pero no se como hacerlo

he colocado como muestra la foto:

 

Imagen quitada por el remitente.

~WRD000.jpg

Jose Luis Navas

unread,
Aug 16, 2017, 12:37:27 PM8/16/17
to Comunidad de Visual Foxpro en Español
Hola Euronv,
eso ya lo he hecho.
de hecho muestra la imagen, (pero solo la ultima imagen cargada)
al cambiar de usuario con los controles ...cambian todos los datos del usuario   ...pero no cambia la imagen  :(

alguna idea?

Jose Luis Navas

unread,
Aug 16, 2017, 12:56:32 PM8/16/17
to Comunidad de Visual Foxpro en Español
estube leyendo aqui:  (para que tengas una idea)
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/visual-fox-pro/respuestas/xy68jpckrhqta/enlazar-foto-a-formulario-vfp

a un cierto punto el usuario "ravenn" dice:

"Si tenes algún botón para desplazarte entre registros... entonces al hacer el desplazamiento (usando SKIP +1, SKIP -1) debes colocar

thisform.iMAge1.Picture = ima.foto
Thisform. Refresh

Para que así desplaces el registro y la foto! Ves! :)

Proba y me avisas!"

la mayoria de las veces googleando encuentro la respuesta pero si no la hallo  ...vengo a molestarlos  :)
no entiendo que quizo decir con eso de SKIP+1, SKIP-1

bien, yo tengo un formulario con datos ya ingresados
he agregado  la foto a cada usuario usando el metodo de Fidel Charny 
....(la foto ya está agregada)

ahora quiero que al hacer clic en el boton de desplazamiento (o tambien llamados controles) cambie la foto de cada usuario.
osea:
si veo al usuario "pippo"   ...se muestre la foto de pippo
si veo la foto de "pluto"     ...se muestre la foto de pluto

Gracias de antemano

integral

unread,
Aug 16, 2017, 1:45:20 PM8/16/17
to Comunidad de Visual Foxpro en Español

Estimado Amigo :

Hace buen tiempo tuve el mismo problema y la solución que encontré es mediante el código que
muestro en la imagen adjunta...

Espero con ello resuelvas el problema de los botones de desplazamiento.

Saludos,

INTEGRAL

Euro Nava

unread,
Aug 16, 2017, 2:02:19 PM8/16/17
to publice...@googlegroups.com

Según dices en tu mensaje que usas skip para navegar en los registros si es asi en el evento clic de los botones de navegación debes colocar al instrucción de ejemplo que te pase

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas


Enviado el: miércoles, 16 de agosto de 2017 12:37 p.m.
Para: Comunidad de Visual Foxpro en Español

Jose Luis Navas

unread,
Aug 16, 2017, 2:49:55 PM8/16/17
to Comunidad de Visual Foxpro en Español

por favor. 
yo no he dicho que uso SKIP.


he dicho que estaba siguiendo el consejo de esa pagina mostrada en el mensaje anterior  :(

CODIGO COMPLETO:

LOCAL lcFotoUsuario as character,;
    lcFolderSource,;
    lcFolderTarget,;
    lcFoto_Nueva_Usuario,;
    lcFolderIni,;
    oWsh as Object

* Se suponen definidas las variables (para un procedure deberían ser parámetros)
* Empresa y Dir_Inicial

*<Directorio de búsqueda>
    * Se puede indicar cualquier otra ruta de busqueda
    * para el ejemplo tomo "Documents" del usuario actual.
    oWsh = CREATEOBJECT("WScript.Shell")
    lcFolderSource = oWsh.SpecialFolders("Desktop")
    owsh=null
*</Directorio de búsqueda>
lcFolderIni = FULLPATH("")

*<Directorio de destino>
    lcFolderTarget = ADDBS(dir_Inicial);
        +ADDBS(m.Empresa);
        +ADDBS("images");
        +ADDBS("usuarios")
    
    * Verificar si existe, si no, crearlo    
    IF !DIRECTORY(m.lcFolderTarget)
        MD &lcFolderTarget
    ENDIF 
*</Directorio de destino>    

*<Buscar Imagen>
    CD (m.lcFolderSource)
    lcFotoUsuario=GETPICT("jpg,bmp")
    CD (m.lcFolderIni)
*</Buscar Imagen>


IF !EMPTY(m.lcFotoUsuario)
    lcFoto_Nueva_Usuario = ADDBS(m.lcFolderTarget);
        +alltrim(m.codigo_usu);
        +".";
        +LOWER(JUSTEXT(m.lcFotoUsuario))

    COPY FILE (m.lcFotoUsuario) TO (m.lcFoto_Nueva_Usuario)

    * Reemplazo en la tabla.
    * Conviene seleccionar el area de trabajo
    * Si no se quiere seleccionar el área, la notación correcta sería
    *     REPLACE logo with m.lcFoto_Nueva IN Mantenimiento
    SELECT usuarios
    replace foto_usuario WITH m.lcFoto_Nueva_Usuario
    thisform.cont_datos.foto.picture= ALLTRIM(m.lcFoto_Nueva_Usuario)
ENDIF



y en el INIT de la imagen tengo:



y en los botones de desplazamiento (o controles) tengo:



ahora diganme ustedes !!!

HernanCano

unread,
Aug 16, 2017, 2:59:39 PM8/16/17
to Comunidad de Visual Foxpro en Español
En el Init estás asignando la imagen a This.Picture.... Bien...

Pero no la estás cambiando con cada cambio de registro.... (es decir en cada Siguiente o Anterior o Primero o Ultimo... también debes "reasignar" lo que estás haciendo en el Init).

Euro Nava

unread,
Aug 16, 2017, 3:02:30 PM8/16/17
to publice...@googlegroups.com

¿la foto la almacenas en la base datos?

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas
Enviado el: miércoles, 16 de agosto de 2017 02:50 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] Enlazar foto a Formulario

 

por favor. 

Jose Luis Navas

unread,
Aug 16, 2017, 4:24:49 PM8/16/17
to Comunidad de Visual Foxpro en Español
@HernanCano 
          Exacto HernanCano !
          y como hago eso ??


@euronv  
          No euronv  ...la foto no la almaceno en la base de datos   ....son miles de fotos. (no puedo almacenar todo)
          asi que almaceno solo el directorio de la foto    ...y las fotos estan en una carpeta aparte

Fidel Charny

unread,
Aug 16, 2017, 4:35:09 PM8/16/17
to Comunidad de Visual Foxpro en Español
José Luis
Para asignar la fotografía al control imagen no debes usar el evento Init del control Imagen.
Tienes que tener algún método o evento que localiza al usuario en la tabla.
En ese método debes asignar la imagen
thisform.cont_datos.foto.picture = trim(usuarios.foto_usuario)
No hace falta ningún refresh para esto, y menos Thisform.Refresh.

Euro Nava

unread,
Aug 16, 2017, 4:35:59 PM8/16/17
to publice...@googlegroups.com

Coloca un refresh al final de la instrucción a ver que pasa

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas
Enviado el: miércoles, 16 de agosto de 2017 04:25 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] Enlazar foto a Formulario

 

@HernanCano 

Fidel Charny

unread,
Aug 16, 2017, 4:36:53 PM8/16/17
to Comunidad de Visual Foxpro en Español
Me olvidé una apostilla:
El evento Init de cualquier control o de un form, sucede cuando el objeto se crea. Luego no debería volver a utilizarse.

Jose Luis Navas

unread,
Aug 16, 2017, 4:53:07 PM8/16/17
to Comunidad de Visual Foxpro en Español
@Fidel Charny
podria ser esto a lo que te refieres Fidel :


CODIGO:
 SCATTER MEMVAR
 thisform.cont_datos.cont2.label10.caption = nombre_usu
 FOR a = 1 TO 32
    c = RIGHT('00'+ALLTRIM(STR(a)), 2)
    b = 'thisform.cont_datos.cont2.check'+ALLTRIM(STR(a))+'.value'
    &b=.F.
    IF AT('&c',cod_reportes) > 0
       &b=.T.
    ENDIF
 ENDFOR
 FOR a = 1 TO 6
    c = ALLTRIM(STR(a))
    IF a<5
       b = 'thisform.cont_datos.cont1.check'+ALLTRIM(STR(a))+'.value'
       &b=.F.
       IF AT('&c',menu_compras) > 0
          &b=.T.
       ENDIF
       b = 'thisform.cont_datos.cont1.check'+ALLTRIM(STR(a+29))+'.value'
       &b=.F.
       IF AT('&c',menu_produccion) > 0
          &b=.T.
       ENDIF
    ENDIF
    IF a<6
       b = 'thisform.cont_datos.cont1.check'+ALLTRIM(STR(a+9))+'.value'
       &b=.F.
       IF AT('&c',menu_rol) > 0
          &b=.T.
       ENDIF
    ENDIF
    b = 'thisform.cont_datos.cont1.check'+ALLTRIM(STR(a+19))+'.value'
    &b=.F.
    IF AT('&c',menu_por_pagar) > 0
       &b=.T.
    ENDIF
 ENDFOR
 thisform.refresh
no veo nada mas qe se refiera a esto






@euronv
ok, lo hare !

Fidel Charny

unread,
Aug 16, 2017, 5:17:31 PM8/16/17
to Comunidad de Visual Foxpro en Español
Vayamos por partes:
1) Cual es tu idea?
      a) Mostrar los datos de un usuario en un form que incluye su fotografía, donde el usuario ingresa su nombre de usuario
      b) Mostrar los datos de todos los usuarios en un form con todas las fotografías.
      c) Mostrar los datos de un usuario, pero los datos surgen de recorrer la tabla. (y de ahí vienes lidiando con los skip)
      d) Otra idea que no se me ocurre
2) Cual es el procedimiento o evento donde algo de lo que puede pasar, sucede. (recorrida por la tabla, SELECT-SQL, localización de registro, etc)

Jose Luis Navas

unread,
Aug 16, 2017, 5:37:27 PM8/16/17
to Comunidad de Visual Foxpro en Español
1) Cual es tu idea?
             c) recorrer la tabla usando los controles

       2) he buscado por todos lados pero no encuentro nada parecido.
           temo venga especificado desde otro form   ....como puedo averiguarlo?



 this.value = UPPER(this.value)
 IF EMPTY(thisform.tag) .AND.  .NOT. EMPTY(this.value)
    SEEK this.value 
    IF  .NOT. EOF()
       WAIT WINDOW TIMEOUT 1 'ya existe..'
       this.value = '  '
       RETURN 0
    ENDIF
 ELSE
    IF this.value<>thisform.tag .AND.  .NOT. EMPTY(this.value)
       SEEK this.value 
       IF  .NOT. EOF()
          WAIT WINDOW TIMEOUT 1 'ya existe..'
          this.value = thisform.tag
          RETURN 0
       ELSE
          SEEK thisform.tag 
       ENDIF
    ENDIF
 ENDIF


Jose Luis Navas

unread,
Aug 16, 2017, 5:39:51 PM8/16/17
to Comunidad de Visual Foxpro en Español
disculpa se me olvido mencionar que las imagenes son del campo "codigo_usuario"

 .


.

Fidel Charny

unread,
Aug 16, 2017, 7:56:19 PM8/16/17
to Comunidad de Visual Foxpro en Español
Realmente no entiendo que es lo que quieres hacer.
Estás mostrando (supuestamente), el evento valid de textbox. Supuestamente es un text1.
Lo primero que observo es que en el controlSource de ese textbox estás poniendo una variable de memoria, que supuestamente debe ser pública,
Para empezar, el controlsource se debe asignar en tiempo de ejecución.
Por seguir, nunca metas una varible pública en un ControlSource. Utiliza una propiedad del formulario.
Addproperty(thisform,"coduser","")
Thisform.Text1.ControlSource = "Thisform.coduser"    && va encomillado, pueden ser comillas simples o dobles. Siempre es "Thisform.Propiedad"

Para continuar, no haces nada en ese lugar aparte de buscar con un comando obsoleto como SEEK. No tengo idea de que has puesto en la propiedad Tag del formulario ni porqué usas ese recurso.
Normalmente uno buscaría el usuario y de ahí en más, cuando lo encuentra, muestra todo lo que necesita.
Si la tabla se llama usuario y el campo del valor clave se llama "codUser", podés intentar buscarlo:

* Valid Event
SELECT * FROM USUARIOS WHERE trim(CODUSER) == THIS.VALUE INTO CURSOR curUsuario
IF _TALLY = 1
        Thisform.txtNombre.Value = curUsuario.Nombre
        thisform.CntFoto.Foto.Picture = trim(curUsuario.foto_usuario)
        Thisform.TxtAlgo.Value = Evaluate("curUsuario."+lcCampo)
ELSE
        Messagebox("Código de Usuario Inválido",0,"Mensaje",2000)
        THIS.VALUE = ""
        RETURN 0
ENDIF
USE IN CURUSUARIO

Disculpá la desprolijidad.

JuanK

unread,
Aug 17, 2017, 12:00:14 AM8/17/17
to Comunidad de Visual Foxpro en Español
voy ahcer sincero, me salte muchos comentarios porque desde el inicio se ve que tiene que ser sencillo, en mi caso tengo la tabla la ruta a la foto de X persona.
uso dos botones avansar que sintetisando tiene el comando skip y atras que es skip -1, em ambos botones envio a la propiedad picture osea thisform.imgae1.picture=alltrim(foto) y con eso es mas que suficiente, repito en mi caso.
Message has been deleted

Euro Nava

unread,
Aug 17, 2017, 10:32:23 AM8/17/17
to publice...@googlegroups.com

Bueno yo básicamente tengo algunos formulario que al momento de cargarse en el evento actívate del form coloco el puntero en el primer registro de la tabla, hago lectura del campo donde guardo la ruta y el nombre del archivo de imagen, el resto de los datos los muestro en un grid y los eventos clic y AfterRowColChange utilizo el mismo código, ejemplo:

 

Variable=alltrim(tabla.ruta y nombre del archivo de imagen)

 

Thisformset.formulario.grid.imagen.picture=Variable

 

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Mauricio Gonzalez


Enviado el: jueves, 17 de agosto de 2017 08:57 a.m.
Para: Comunidad de Visual Foxpro en Español

Asunto: [vfp] Re: Enlazar foto a Formulario

 

Jose Luis Navas, el siguiente codigo adaptalo a tu necesidad y ponlo en el metodo ACTIVATE del FORM:

******

vfoto = catalogo.foto

IF FILE("&vfoto")

            THISFORM.Container1.image1.Picture = "&vfoto"

ELSE

            THISFORM.Container1.image1.Picture = vfoto

ENDIF

*

THISFORM.Refresh

 

catalogo.foto es la tabla donde tengo la informacion de los articulos.

De esta manera no hay que tocar los botones de navegacion para nada.....

Tambien creo que no es necesario refrescar.....Saludos

Euro Nava

unread,
Aug 17, 2017, 10:34:04 AM8/17/17
to publice...@googlegroups.com

Jose Luis Navas

unread,
Aug 17, 2017, 12:22:34 PM8/17/17
to Comunidad de Visual Foxpro en Español
no lo logré!  
parece que se tráe variables de otro  u otros forms  ....no se!
ya que en este form no hay nada que explique como se reagrupa ese registro
pensé que podría agregar la foto a ese registro    ...pero nada

creo que me rindo   :(

Euro Nava

unread,
Aug 17, 2017, 1:09:22 PM8/17/17
to publice...@googlegroups.com

¿estas usando Form o FormSet?

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas
Enviado el: jueves, 17 de agosto de 2017 12:23 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Enlazar foto a Formulario

 

no lo logré!  

Jose Luis Navas

unread,
Aug 17, 2017, 1:31:20 PM8/17/17
to Comunidad de Visual Foxpro en Español
estas sando form o formset?
     -   uso FORM

Fidel Charny

unread,
Aug 17, 2017, 2:48:29 PM8/17/17
to Comunidad de Visual Foxpro en Español
José Luis
Si quieres solucionar el problema debes comenzar por el principio
1) A qué quieres llegar? o qué necesitas hacer?
2) Qué recursos tienes (tablas, interfaz, etc) ( o qué tienes para ese propósito)

Cada uno de nosotros tiramos ideas parciales según nos parece. En mi caso, no se cual es el propósito. Arrancamos con una foto. Pero si querés ayuda, tienes que plantear el escenario.

No uses variables públicas, ni privadas (salvo que no haya ninguna otra solución).
Declara en cada evento, método o procedimiento las variables que uses como LOCAL.
Si vas a liar controles por ControlSource, no lo hagas en tiempo de diseño. Programa eso en el init del form. Y no uses variables de memoria para esto, sino propiedades del formulario o registros de un cursor o tabla.

Euro Nava

unread,
Aug 17, 2017, 3:46:44 PM8/17/17
to publice...@googlegroups.com

Según comentaste al principio de tu caso al cargar el formulario la imagen se ve sin problemas y corresponde al registro en pantalla, el problema sucede al navegar por los registros es decir al mover el puntero se actualizan los datos pero la imagen no ¿correcto?

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Jose Luis Navas


Enviado el: jueves, 17 de agosto de 2017 01:31 p.m.
Para: Comunidad de Visual Foxpro en Español

Magora

unread,
Aug 17, 2017, 4:28:29 PM8/17/17
to Comunidad de Visual Foxpro en Español
En mi caso tengo un grid con los registros y en afterrowcolchange hago una llamada a un método refrfoto y luego refreso el formaulario:
asi:
LPARAMETERS nColIndex
THISFORM.REfrfoto
THISFORM.Refresh
En el método refrfoto:
lcfoto = "..\Datos\comunes\fotos\" + ALLTRIM(PROVINS.idprod) + ".jpg"
IF NOT FILE( lcfoto )
   thisform.imgfoto.Visible = .f.
   this.lbsinfotoa.Visible=.t.
  else
   this.lbsinfotoa.Visible=.f.
   thisform.imgfoto.picture = lcfoto
   thisform.imgfoto.Visible = .t.
endif

Donde imgfoto es un objeto image, y lbsinfotoa es un label que su caption solo indica que no hay foto.
Funciona Perfectamente.

Saludos, MAnuel González

Jose Luis Navas

unread,
Aug 17, 2017, 4:37:11 PM8/17/17
to Comunidad de Visual Foxpro en Español
@Fidel Charny
Sé exactamente donde quiero llegar.

si el project fuera mio lo entendería. pero no lo es!
ademas de eso es un project muy grande (solo en la carpeta "Forms" hay 721 archivos)





como podras darte cuenta.  yo abri el form qe deseaba modificar!  
y no me esperaba que fuera asi.....
al abrir:  "login"  me doy centa que no se com diablos hace login    ...no tiene nada de codigo
igual en mantenimiento (osea el que estaba modificando   ...agregando foto)  ...no hay mucho que diga de donde salen las cosas    
pero al compilar en archivo executable!    ...funciona todo    :(



@ euronv
...asi es!     ...exacto! euronv
Message has been deleted
Message has been deleted

Fidel Charny

unread,
Aug 17, 2017, 7:47:14 PM8/17/17
to Comunidad de Visual Foxpro en Español
José Luis
Me alegro que sepas a dónde vas. Tampoco lo pongo en duda. Lo que no veo que hayas hecho, es transmitir tu idea al grupo, con lo cual, cada uno de los que contestamos, lo hacemos sobre lo que nos parece que quieres hacer.

Si no sos el constructor de ese sistema, y tienes objetos que parecen como sin código y en realidad hacen su tarea, seguramente serán objetos de clase. En el cuadro de propiedades puedes ver el origen del control en la solapa Other. También puede que sea visible el código de clase con el boton View parent code. Puedes chequear antes la solapa Methods para ver cuales son heredados. Y si escribes algo ahí, no te olvides de ponerle dodefaultI() porque de otra forma el código de la clase no se ejecutará.
En cuanto al número 721, podemos pensar que corresponden a 360 formularios más un archivo de otro tipo. Hasta ahora no tenemos ninguna pista de que los 360 forms estén en el proyecto porque la sola residencia en una carpeta común no los involucra.

Dices que quieres "recorrer la tabla usando los controles" y pones un código donde intentas buscar un registro con un comando SEEK, donde parece que buscas el valor del cuadro de texto o el valor de la propiedad TAG del formulario. Entonces, lo que muestras que haces no se condice con lo que dices que piensas.

Y sobre este código, en particular, vuelvo a preguntar qué papel juega la propiedad TAG del formulario?
Por otra parte, si quieres saber si un valor clave ya existe en una tabla o cursor y no quieres mover el puntero de registro, lo mejor es usar:
lExiste = INDEXSEEK(lcValor , .F. , lcTabla , lcEtiqueta_Indice). Tanto la función Seek() como Indexseek() tienen la ventaja de que no necesitas establecer un SET ORDER TO lcEtiqueta_indice, ni tampoco tener la tabla seleccionada.



 this.value = UPPER(this.value)
 IF EMPTY(thisform.tag) .AND.  .NOT. EMPTY(this.value)
    SEEK this.value 
    IF  .NOT. EOF()
       WAIT WINDOW TIMEOUT 1 'ya existe..'
       this.value = '  '
       RETURN 0
    ENDIF
 ELSE
    IF this.value<>thisform.tag .AND.  .NOT. EMPTY(this.value)
       SEEK this.value 
       IF  .NOT. EOF()
          WAIT WINDOW TIMEOUT 1 'ya existe..'
          this.value = thisform.tag
          RETURN 0
       ELSE
          SEEK thisform.tag 
       ENDIF
    ENDIF
 ENDIF


HernanCano

unread,
Aug 18, 2017, 1:15:17 AM8/18/17
to Comunidad de Visual Foxpro en Español

Y etcétera.

Jose Luis Navas

unread,
Aug 19, 2017, 5:47:02 PM8/19/17
to Comunidad de Visual Foxpro en Español
Hola a todos!  
pido disculpas por estar desconectado todos estos dias!   ...llegó mercaderia y todos tuvimos que ir a las bodegas  :(    ...aburrido y cansado :(

pero ya estoy aqui  :)

@ Fidel Charny
he buscado por todos lados pero no logro saber que papel juega la propiedad "TAG"     


muchas gracias @Mauricio Gonzalez    ...ese archivo me sirvió mucho! :)   ...gracias a tu archivo y la imagen de @HernanCano pude resolver este inconveniente.
me bastó hacer exactamente lo que muestra en la foto HernanCano y los otros botones "Inicio, Siguiente, Fin" los saqué del archivo del archivo de Mauricio Gonzalez.

Muchas Gracias a todos


PD:  "crei que no lo lograría   ...en serio muchas gracias"

Jose Luis Navas

unread,
Aug 19, 2017, 6:12:19 PM8/19/17
to Comunidad de Visual Foxpro en Español
creo que aqui cierro el tema!
Muchas gracias a todos!

....no lo habría logrado sin ustedes !   :)



PD: "vamos a por otro tema"  :)    ...(les invito a mi siguiente pregunta)

Octavio Daza

unread,
Apr 15, 2022, 7:46:29 PM4/15/22
to publice...@googlegroups.com
Excelente muchas gracias,   me funciono a la perfeccion 

Saludos

De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Euro Nava <eur...@gmail.com>
Enviado: jueves, 17 de agosto de 2017 14:34
Para: publice...@googlegroups.com <publice...@googlegroups.com>
Asunto: RE: [vfp] Re: Enlazar foto a Formulario
 
Reply all
Reply to author
Forward
0 new messages