Foros del Web » Programación para mayores de 30 ;) » Programación General »

aaaayuda con insertar imágenes en VB 6

Estas en el tema de aaaayuda con insertar imágenes en VB 6 en el foro de Programación General en Foros del Web. Hola, necesito hacer lo siguiente, a ver si me pueden ayudar: Tengo una base de datos en access y debo incluuir en los registro 3 ...
  #1 (permalink)  
Antiguo 31/07/2003, 16:02
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
aaaayuda con insertar imágenes en VB 6

Hola, necesito hacer lo siguiente, a ver si me pueden ayudar:

Tengo una base de datos en access y debo incluuir en los registro 3 fotos,

la idea es que los usuarios puedan incluir la imágen desde un directorio cualquiera, haciendo clic en un botón, y seleccionando la foto de un directorio cualquiera. Esta ruta quedaría guardada en un campo de la base de datos, y luego sería mostradada en el programa final.

pensaba hacer algo con un dirlistbox+ un filelistbox y de esta manera capturar la ruta, pero soy bien inexperto y no tengo mucho tiempo ...

Alguno me puede dar unas lineas de codigo o orientar donde buscar información para empezar??


Saludos y gracias
  #2 (permalink)  
Antiguo 01/08/2003, 08:45
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Hola... no sería mas fácil que el usuario seleccione la foto que quiere subir... y tu recojas solo el nombre del archivo.. y guardes en en un directorio en específico todas las imágnes y en tu base de datos las mandas a llamar.. por ejemplo... el usuario selecciona la imágen que está en :

c:\directorio\otro\foto.jpg...

y cuando la suba guardas solo
foto.jpg.

en un directorio predeterminada por ejemplo
c:\imágenes\


y cuando quieras accesarla.. lees el nombre de la imágen en tu bd... y la llamas..

loadpicture("c:\imágenes\" & rs("tu_campo_foto") )


Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 01/08/2003, 12:14
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
Hola, muchas gracias por la ayuda...

pero cómo lohago para que al usuario le aparezca la ventanita de buscar la ruta, y luego como tomo esa ruta y la meto en la base de datos??

saludos
  #4 (permalink)  
Antiguo 02/08/2003, 07:07
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Un Ejemplo ...

Hola,

Trata de cortar y pegar el siguiente código, a mi me funciona. Sólo debes ajustar algunos valores, de acuerdo con tu realidad:

Public Sub StoreToDB(ByRef FilePath, ByRef ImgDec)
On Error Resume Next
Dim Cnn1 as ADODB.Recordset
Dim rs As ADODB.Recordset
Dim fds As ADODB.Stream
Set fds = New ADODB.Stream
fds.Type = adTypeBinary
fds.Open

Set Cnn1 = New ADODB.Recordset
Cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0; ... bla, bla, bla"

Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM images", Cnn1, adOpenKeyset, adLockOptimistic

'Load File
fds.LoadFromFile FilePath
rs.AddNew
rs!MyPath = FilePath
rs!Description = ImgDec '<-- Esta es la descripción de mi imagen
rs!A_Image = fds.Read
rs.Update
'...clean up objects ect.
If rs.State = adStateOpen Then
rs.Close
End If
Set rs = Nothing
fds.Close
Set fds = Nothing
End Sub


Esto supone una DB con los campos MyPath (string), Description (string), A_Image (Objeto OLE).

FilePath contendrá la ruta completa de ubicación de tu imagen.

La solucion que da RootK es bastante eficiente y económica.

Saludos.

Última edición por jcl; 02/08/2003 a las 07:10
  #5 (permalink)  
Antiguo 04/08/2003, 16:26
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
Hola, gracias por la ayuda, ya lo he podido resolver, aunque todavía tengo pendiente lo de copiar imágenes a un directorio desde el visual. pero lo dejaré para más adelante. Estoy analizando el código de jlc,

muchas gracias
  #6 (permalink)  
Antiguo 04/08/2003, 17:39
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Se me olvidaba ...

Hola,

Creo que me olvidé de darte la otra parte del código para recuperar la imagen desde la DB.

Es algo así (Mensaje Editado):


Public Sub LoadFromDB(ByRef picObj)
On Error Resume Next
Dim Cnn1 as ADODB.Connection
Dim rs As ADODB.Recordset
Dim fds As ADODB.Stream
Set fds = New ADODB.Stream
fds.Type = adTypeBinary
fds.Open

Kill "C:\ImageTemp.jpg" '<<= un lugar temporal para la imagen

Set Cnn1 = New ADODB.Recordset
Cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0; ... bla, bla, bla"

Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM images", Cnn1, adOpenKeyset, adLockOptimistic

fds.Write rs.Fields("A_Image").Value
fds.SaveToFile "C:\ImageTemp.jpg", adSaveCreateOverWrite
Set picObj.Picture = LoadPicture("C:\ImageTemp.jpg")

'Suponiendo que tienes un objeto Picture "picObj" en algun Form.

Set rs = Nothing
fds.Close
Set fds = Nothing
End Sub



Saludos.

Última edición por jcl; 04/08/2003 a las 18:02
  #7 (permalink)  
Antiguo 08/08/2003, 09:16
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 1 mes
Puntos: 3
Muchas gracias!!, me será mu útil para agregar eso de guarda las imágenes en un directorio...

Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #8 (permalink)  
Antiguo 08/08/2003, 11:54
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
En Buenahora ...

Bueno, espero que te sirva ... para eso está el foro. Cuando no puedo colaborar en algo, prefiero no decir nada y así evito incurrir en el bla, bla, bla, ... tu sabes.


Saludos.
  #9 (permalink)  
Antiguo 08/08/2003, 12:11
 
Fecha de Ingreso: agosto-2003
Mensajes: 24
Antigüedad: 21 años, 3 meses
Puntos: 0
Otra forma es utilizar el componente commondialog, ya que este te maneja las ventanas para abrir un archivo, guardar como, para la impresion y otras tres que no recuerdo, y creo que puedes acoplarla al codigo que te habian enviado antes

Espero te sirva
__________________
Atte. Darkness Programer
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 14:19.