Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cargar imagen desde internet

Estas en el tema de Cargar imagen desde internet en el foro de Visual Basic clásico en Foros del Web. Hola.. Tengo un objeto Image en un Form... normalmente uno hace Image1.Picture = LoadPicture("C:\image.jpg") pero en mi caso quiero cargar esa imagen desde internet.. tengo ...
  #1 (permalink)  
Antiguo 22/10/2005, 10:35
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 23 años
Puntos: 0
Cargar imagen desde internet

Hola..

Tengo un objeto Image en un Form... normalmente uno hace

Image1.Picture = LoadPicture("C:\image.jpg")

pero en mi caso quiero cargar esa imagen desde internet.. tengo una página de una librería con portadas, y la idea es que se pueda desde el programa revisar si la portada existe y cargar la imagen en el Form de Visual Basic pero cargar desde internet.. claro, yo probé poniendo la ruta "http...." perio no funcionó.. que podría utilizar? gracias!!
  #2 (permalink)  
Antiguo 22/10/2005, 11:24
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años, 7 meses
Puntos: 3
Hola primero deves vajar la imagen i luego la lees te paso un ejemplo

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Command1_Click()
DownloadFile "http://usuarios.lycos.es/palaceofexile/Imagenes/jim31.jpg", App.Path + "\Imagen.jpg"
Image1 = LoadPicture(App.Path + "\imagen.jpg")
End Sub
  #3 (permalink)  
Antiguo 24/10/2005, 10:58
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 23 años
Puntos: 0
Gracias.. voy a probarlo! :)
  #4 (permalink)  
Antiguo 30/10/2005, 19:15
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
Muchas gracias! Me habeis salvado de un gran problema

Pero tengo otro problemilla. Necesito la accion del Command click se realiza sola, es decir, que no haga falta darle para que se baje la imagen. Algo así como programar la acción para que ocurra cada X tiempo.

Muchas gracias otra vez!
  #5 (permalink)  
Antiguo 30/10/2005, 19:26
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
He encontrado esto en el foro

Private Sub Timer1_Timer()
Image1.Visible = Not (Image1.Visible)
Image1.Image1 = loadImage1("c:\imagen.jpg")
End Sub

Pero el problema es que esto recarga la imagen, pero no la descarga de la web.

Y otra pregunta, como puedo hacer que la imagen nueva que baja, se renombre con el mismo nombre siempre? Es decir, que cada nueva captura que bajo, se llame Imagen.jpg, y se vaya actualizando?


Muchas gracias nuevamente, estoy aprendiendo un monton gracias a vosotr@s
  #6 (permalink)  
Antiguo 30/10/2005, 19:59
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
Aps! Error de compilacion

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Command1_Click()
DownloadFile "http://www.xxx.com/mapa.jpg", "c:\Imagen.jpg"
Image1 = LoadPicture("C:\imagen.jpg")
End Sub

Private Sub Form_Click()
Unload Me
End Sub



Private Sub Timer1_Timer()
Image1.Visible = Not (Image1.Visible)
Image1.Image1 = LoadImage1("c:\imagen.jpg")
End Sub



Error " No se ha definido Sub o Function"


Entonces solo me falta saber el porque de ese error y automatizar la descarga de la imagen!
  #7 (permalink)  
Antiguo 31/10/2005, 06:54
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
Bien! Creo que ya la tengo!

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Form_Load()
If App.PrevInstance Then Unload Me
DownloadFile "http://www.xxx.commapa.jpg", "c:\Imagen.jpg"
Image1 = LoadPicture("C:\imagen.jpg")
End Sub

Private Sub Form_Click()
Unload Me
End Sub


Private Sub Timer1_Timer()
Image1.Visible = Not (Image1.Visible)
Image1.Image1 = loadImage1("c:\imagen.jpg")
End Sub

Sugerencia para los novatos (como yo) No pregunteis por preguntar, intentar hacerlo por vosotros mismos. Se aprende un montón!

Solo tengo una duda ahora, se cargará la imagen automaticamente cada vez que actualicen el jpg en el servidor?
  #8 (permalink)  
Antiguo 31/10/2005, 08:38
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReservd As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Form_Load()
DownloadFile "http://www.xxx.com/mapa.jpg", "c:\Imagen.jpg"
Image1 = LoadPicture("C:\imagen.jpg")
If App.PrevInstance Then Unload Me
End Sub
Private Sub Form_Click()
Unload Me
End Sub


He conseguido reducir el codigo hasta esto. Lo que pasa que cuando depuro se me queda pillado en el Private Sub Form_Load

Sin embargo, cambio el Form_Load por Form_Long y entonces me funciona. Porque?? Llevó desde anoche con esto del Visual Basic...no me entero de mucho

Si lo dejo asi
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReservd As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Form_Long()
DownloadFile "http://www.meteoclimatic.com/bot/mapa.jpg", "c:\Imagen.jpg"
Image1 = LoadPicture("C:\imagen.jpg")
If App.PrevInstance Then Unload Me
End Sub

Private Sub Form_Click()
Unload Me
End Sub


Se me queda pillado en el Ultimo Private sub. Tiene narices la cosa

Gracias!
  #9 (permalink)  
Antiguo 31/10/2005, 08:53
 
Fecha de Ingreso: octubre-2005
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
Vaya...con el Long no carga la imagen...

Entonces, puede ser que en el formulario me falte definir la variable?

Pongo Dim As Long?
  #10 (permalink)  
Antiguo 31/12/2005, 09:23
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 23 años
Puntos: 0
Disculpa.. no había entrado hace tiempo y vi que has puesto muchas respuestas a este tema.. lograste solucionar el problema?.. voy a ponerme a revisar eso y cualquier cosa pongo alguna respuesta!.

chao.
  #11 (permalink)  
Antiguo 02/01/2006, 08:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Exclamación

Cita:
Iniciado por Sinnerenecia
Vaya...con el Long no carga la imagen...

Entonces, puede ser que en el formulario me falte definir la variable?

Pongo Dim As Long?
El Form no tiene ningún evento Long...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:24.