Problemas Con Codigo Para Insertar Foto O Imagen


Subject: Problemas Con Codigo Para Insertar Foto O Imagen
Hi all. Tengo este pequeño problema. Este codigo lo saque del listin de Julio pero no logro que me capture la imagen o foto. Y no se cual es el error
' gambas class file
PUBLIC foto AS NEW String[]
PUBLIC rutafoto AS String[]

PUBLIC SUB _new()
END
PUBLIC SUB reinicio()
foto.Resize(0)
rutafoto.Resize(0)
END
PUBLIC SUB Form_Open()
ME.Center()
PictureBoxfoto.Picture = Picture["icon:/64/people"]
END

PUBLIC SUB PictureBoxfoto_MouseDown()
PictureBoxfoto.Stretch = TRUE
Dialog.Title = "Seleccione un archivo para abrir"
Dialog.Path = User.Name
Dialog.Filter = ["*.jpg", "JPG", ".png", "PNG", "*.bmp", "BMP"]
IF NOT Dialog.OpenFile() THEN
PictureBoxfoto.Picture = Picture[Dialog.Path]
''variable global que controla la ruta donde esta la imagen
rutafoto = Replace$(Dialog.Path, " ", Chr$(64) & " ")
END IF
END

pantallazo_5
Me bota este error
pantallazo_6
y la consola me bota este mensaje
(Imagen:1751): Gtk-CRITICAL **: gtk_file_chooser_default_set_current_name: assertion `impl->action == GTK_FILE_CHOOSER_ACTION_SAVE || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER' failed
Plis, una ayuda para poder insertar una foto al hacer clic sobre el picturebox desde un archivo.
Gracias.

Profile PM  
Subject: Re: Problemas Con Codigo Para Insertar Foto O Imagen
Hola

Tienes varios errores:

PUBLIC foto AS NEW String[]
PUBLIC rutafoto AS String[]

¿por qué no PRIVATE en vez de PUBLIC?

PUBLIC SUB _new()
END

No necesitas ponerlo. Pones este método si necesitas hacer algo al crear este form (mejor dicho instanciarlo). Por ejemplo pasarle un parámetro pero podría ser cualquier cosa, conectar una bd o un socket por ejemplo. Si no lo necesitas no lo pongas. Ten presente que si abres algo (por ejemplo una bd o un socket) muy probablemente querrás cerrarlo al cerrar el form. Para eso está el método especial _free donde programas lo que quieres hacer al cerrar el form. Es contrario a _new.

PictureBoxfoto.Stretch = TRUE

Esto solo necesitas hacerlo una vez. Es una propiedad, le das el valor true y así se queda hasta que lo cambies. no hace falta ejecutar esto cada vez que pulsas el ratón en el picture. Con que lo hagas en el form_open por ejemplo estaría igual.

Dialog.Path = User.Name

User.name devuelve el nombre del usuario. Si tu usuario es ivanovichenco estas haciendo dialog.path="ivanovichenco". Eso está mal. Lo que tu buscas no es user.name sino user.home que devolverá algo como /home/ivanovichenco

rutafoto = Replace$(Dialog.Path, " ", Chr$(64) & " ")

Para obtener el path de un archivo se utiliza file
PRINT "Path completo " & Dialog.Path
PRINT "Nombre (con extensión): " & File.Name(Dialog.Path)
PRINT "Nombre (sin extensión): " & File.BaseName(Dialog.Path)
PRINT "Extensión: " & File.Ext(Dialog.Path)
PRINT "Directorio: " & File.Dir(Dialog.Path)

Un saludo

Profile PM  
Subject: Re: Problemas Con Codigo Para Insertar Foto O Imagen
ivanovichenco:

Tambien he visto que tienes otro error, tienes puestos chr$(64), cuando es chr$(92) ....

Citar:
var.rutaimagen =Replace$(Dialog.Path, " ", Chr$(92) & " ")
ENDIF
END


Nota:
Mejora con la versión 2: Replace$.
Esta orden reemplaza el “ “ (espacio) del nombre de una ruta por “\ “ (barra invertida +
espacio) que es la forma en que entiende linux los espacios entre las palabras que
formen el nombre de la ruta o archivo. (\=chr$(92))

Soplo:

Citar:

¿por qué no PRIVATE en vez de PUBLIC?

Estas son manias mias, de usar variables que se puedan leer desde otros formularios...(ahora mismo no recuerdo si las uso en otra parte del programa)....

Citar:
Dialog.Path = User.Name

Esto lo tengo que ver... ya que a mi me funcionaba bien...(lo revisare)...

Ayortano
Subject: Re: Problemas Con Codigo Para Insertar Foto O Imagen
Edito: Ya lo dijo soplo

Last edited by Guest on Friday, 19 November 2010, 12:45; edited 1 time in total
Subject: Re: Problemas Con Codigo Para Insertar Foto O Imagen
Ahora tengo un problemita,se me daño el disco duro y frikis sin Ubuntu, y no se hasta cuando lo podré conseguir de nuevo porque no se dejo volver a formatear,ni el widows ni el ubuntu entraron. Me tocaron unos dias de vacaciones forzadas. Yo alcance a hacer una pueba con el listin y le quite estas lineas de codigo
PictureBoxfoto.Stretch = TRUE
Dialog.Path = User.Name

y siguio funcionando bienel listin de Julio. De eso me acuerdo bien,pues fue justo antesque el disco sacara la mano. Estoy en un pc windows, con el alma adolorida pero con la esperanza de volver a recuperarlo pronto, aunque el billete esta escaso estos dias.
Suerte y hasta pronto, confiando en Dios.
Y lo del numero yo lo habia visto y lo arrgle de acuerdo al icono que tengo, pero de todas maneras no me funcionó.
Suerte para todos.

Last edited by ivanovichenco on Saturday, 20 November 2010, 04:23; edited 1 time in total
Profile PM  
Subject: Re: Problemas Con Codigo Para Insertar Foto O Imagen
ivanovichenco:

De todos modos, como dice Soplo, la orden para sacar la ruta es:

Citar:
File.Dir(Dialog.Path)



Yo no la use, porque la desconocia ....ahora ya la se....

Saludos

Julio


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1412s (PHP: 4% SQL: 96%)
SQL queries: 25 - Debug Off - GZIP Enabled