SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: ROBER.29 en Lunes 15 de Marzo de 2004, 11:11

Título: Extraer Iconos
Publicado por: ROBER.29 en Lunes 15 de Marzo de 2004, 11:11
Hola,

Estoy intentando extraer los iconos de una base de datos de Access 2000 a una carpeta seleccionada por el usuario, el código que utilizo es el siguiente y la base de  datos donde se encuentran los iconos la he adjuntado.

Código: Text
  1.  
  2.  
  3. Private Sub cmdOk_Click()
  4.     Dim rsFotos As New ADODB.Recordset, Fichero, size As Long
  5.     Dim fragment As Long
  6.     Dim Chunks
  7.     Dim varChunk() As Byte
  8.     Dim objFile As Object
  9.    
  10.    
  11.     Set objFile = CreateObject("Scripting.FileSystemObject")
  12.    
  13.     On Error GoTo Control_errores
  14.        
  15.     If txtFolder.Text = "" Then
  16.         MsgBox "Tiene que seleccionar donde quiere que se guarden las fotos", , "CM Image Creator"
  17.         Exit Sub
  18.     End If
  19.    
  20.     cmdOk.Enabled = False
  21.     strSql = "SELECT * FROM ShapeIcons"
  22.    
  23.     rsFotos.Open strSql, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\rgarcia\Desktop\Copy of iconosDFD.mdb;Persist Security Info=False", 3, 1
  24.     If rsFotos.EOF Then
  25.         MsgBox "No se han encontrado fotos en la base de datos", , "CM Image Creator"
  26.     Else
  27.         DoEvents
  28.     End If
  29.    
  30.     Do While Not rsFotos.EOF
  31.         Fichero = FreeFile
  32.         size = rsFotos!ShapeIcon.ActualSize
  33.         If size = 0 Then Exit Sub
  34.         Open txtFolder.Text & "\" & rsFotos("ShapeMasterId") & ".ico" For Binary Access Write As Fichero
  35.         Chunks = size \ 16384
  36.         fragment = size Mod 16384
  37.         ReDim varChunk(fragment)
  38.         varChunk() = rsFotos!ShapeIcon.GetChunk(fragment)
  39.         Put Fichero, , varChunk()
  40.         For i = 1 To Chunks
  41.             ReDim varChunk(16384)
  42.             varChunk() = rsFotos!ShapeIcon.GetChunk(16384)
  43.             Put Fichero, , varChunk()
  44.             DoEvents
  45.         Next i
  46.         Close Fichero
  47.        
  48.         DoEvents
  49.         rsFotos.MoveNext
  50.     Loop
  51.     rsFotos.Close
  52.     Set rsFotos = Nothing
  53.     cmdSalir.Enabled = True
  54. Control_errores:
  55.     If Err Then
  56.         MsgBox "Se ha producido un error. Consulte con el administrador." & Err.Number, , "CM Image Creator"
  57.     End If
  58. End Sub
  59.  
  60.  
  61.  

He utilizado esto pero no me funciona pero tampoco me da error ¿qué es lo que me está pasando?

Un saludo.
Título: Re: Extraer Iconos
Publicado por: 9tnix en Lunes 15 de Marzo de 2004, 11:29
Salu2 ROBER.29

Acabo de leer el post echare un vistazo yo tambien he estado trabajando con imagenes en un bd de sql server, seguro que entre todos lo resolveremos.

un saludo zeekel ®
[KGT]
Título: Re: Extraer Iconos
Publicado por: 9tnix en Miércoles 17 de Marzo de 2004, 11:14
Salu2 ROBER.29

Use tu base de datos para sacar los iconos de alli y si los saca pero no los puedo visualizar no se porque.

En la Bd tienes lo siguiente:

Tabla
  ShapeIcons
Campos
  ShapeMasterID   Numerico
  ShapeIcon          Objeto Ole

Lo que hice es leer el Dato Binario del Campo ShapeIcon y crear el archivo en una ruta especificada, no me sale error saca todos los iconos que estan en la BD pero no los puedo visualizar

ROBER.29 estas seguro que la informacion contenida alli son Iconos? o son otro tipo de informacion?

un saludo zeekel ®
[KGT]

PD: Alli posteo mi codigo
Título: Re: Extraer Iconos
Publicado por: ROBER.29 en Jueves 18 de Marzo de 2004, 14:01
No estoy seguro de que contenga iconos. Es una tabla que forma parte de la base de datos de Visio 2002 Profesional y lo que quería era extraer los iconos para luego utilizarles en mi aplicación pero al final desisti y lo que he hecho ha sido capturalos con el programa Microangelo y ya está.

Gracias por haberte molestado, yo la verdad es que hice muchas pruebas y siempre me creaba ficheros y no me daba error pero a la hora de abrirlos no me mostraba nada por eso lo dejé por imposible y llege a la misma conclusión que tú, que a lo mejor lo que contenia no son iconos pero es que también si esa tabla no contiene los iconos no se donde estarán pero bueno ya no me hace falta.

Gracias nuevamente.

Un saludo.
Título: Re: Extraer Iconos
Publicado por: 9tnix en Jueves 18 de Marzo de 2004, 15:40
Salu2 ROBER.29

Acerca del programa microangelo me podrias informar con mas detalle acerca de el y si es posible podrias pasarme el link para descargarlo?

Un saludo zeekel ®
[KGT]
Título: Re: Extraer Iconos
Publicado por: piyey en Miércoles 14 de Abril de 2004, 04:18
:hola:  Hola amigos, disculpen por entrometerme en su conversacion pero me llamo la atencion ese programa microangelo, que es lo que hace?... extraer iconos?... yo tengo uno que se llama LiquidIcon que sirve para crear iconos, extraer de archivos .exe, .dll u otros que contengan iconos, mide 360k.

Por si lo quieren ahi se los pongo...



Salu-2 a todos.

Piyey.
Título: Re: Extraer Iconos
Publicado por: 9tnix en Domingo 18 de Abril de 2004, 18:26
Salu2 piyey

Pues gracias por el programita y bueno lo del microangelo tambien es nuevo para mi y por ahora tampoco lo he buscado, yo uso uno que se llama ArtIcons para mie es muy bueno, ahora no tengo el soft a la mano pero el que tengo es una version de prueba de 30 Dias, si lo tengo a la mano lo posteo para que lo pruebes.

Un saludo

Zeekel ®
[TKLP]