Clad49
Messages postés265Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention29 mars 2010
-
18 sept. 2005 à 20:49
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 2009
-
20 sept. 2005 à 07:21
Salut !
j'aurai voulu savoir kel été le meilleur moyen de contenir des images (sachant kil y en aura pas mal) pour mon prog ?
Au départ je voulé les gardé dans une base acces mais j'ai lue que ce n'été pas le mieu !
Il y a aussi un facon des les métre dans un dossier et de les appelé mais j'auré voulu ke les images ne sois pas accesible par les utilisateur ! Donc si vous avez une autre facon je suis preneur ;)
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 19 sept. 2005 à 08:32
Pour éviter d'avoir à créer et effacer les fichiers image tu mets tes images JPG en binaire dans un dossier "JPG" du fichier ressources par exemple et tu les récupères avec l'excellente fonction de EBArtSoft, PictureFromBits
http://www.vbfrance.com/code.aspx?id=25452
Il suffit de rajouter dans le module
Public Function GetPic(ByVal PicNum As Integer) As StdPicture
Dim Data() As Byte
Data = LoadResData(PicNum, "JPG")
Set GetPic = PictureFromBits(Data)
End Function
Dans ton programme tu appelles les images par GetPic(100) .... 101 etc
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 18 sept. 2005 à 21:03
Salut,
Tu peux les mettres dans un fichier ressource, il y a un editeur de ressource dans vb6.
Sinon tu peux les placer dans un controle imagelist mais je ne sais pas quel est la limite de ce controle en nombre d'image et en dimension d'image !
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 18 sept. 2005 à 22:38
Bonsoir,
Tu fais Compléments/Gestionnaire de compléments, dans la fenêtre qui apparaît, tu choisis Editeur de ressources vb 6 et tu coches Chargé/Déchargé, tu fais OK.
Ensuite tu cliques sur Outils/Editeur de ressources.
jpleroisse
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 18 sept. 2005 à 22:39
Sous VB6
Menu Compléments -> Gestionnaire de compléments
La tu va tomber sur une liste des compléments.
Recherche "Editeur de ressources VB6" (vers le bas de la liste il me semble)
Une fois trouvé tu le selectionnes et coche charger/décharger et charger au démarrage.
Ceci étant fait tu vas dans le menu Outils et la tu va trouver l'éditeur de ressources
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 sept. 2005 à 06:33
Non pas, tu peux très bien mettre des JPG, des GIF, ou encore des
PNG tant que tu les mets en ressources binaires, et que tu les
extraient avant de les charger (rien ne t'empêche de supprimer le
fichier extrait une fois utilisé après).
Voir les sources qui parlent d'extraction de ressources binaires pour vois comment faire.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
Clad49
Messages postés265Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention29 mars 2010 19 sept. 2005 à 21:36
Private Declare Sub RtlMoveMemory Lib "kernel32" (pDest As Any, pSource As Any, ByVal dwLength As Long)
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalAlloc Lib "kernel32" (ByVal uFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function OleLoadPicture Lib "olepro32" (pStream As Any, ByVal lSize As Long, ByVal fRunmode As Long, riid As Any, ppvObj As Any) As Long
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpsz As Any, pclsid As Any) As Long
Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long
Function PictureFromBits(Bits() As Byte) As IPicture
'//------------------------------------------------------//
Dim vStream As IUnknown
Dim vIID(15) As Byte
Dim vSize As Long
Dim vMem As Long
Dim vPtr As Long
vSize = 1 + UBound(Bits)
vMem = GlobalAlloc(2, vSize)
If (vMem = 0) Then Exit Function
vPtr = GlobalLock(vMem)
If vPtr Then
RtlMoveMemory ByVal vPtr, Bits(0), vSize
GlobalUnlock vMem
If (CreateStreamOnHGlobal(vMem, 1, vStream) = 0) Then
If (CLSIDFromString(StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), vIID(0)) = 0) Then
OleLoadPicture ByVal ObjPtr(vStream), vSize, 0, vIID(0), PictureFromBits
End If
End If
End If
GlobalFree vMem
End Function
Public Function GetPic(ByVal PicNum As Integer) As StdPicture
Dim Data() As Byte
Data = LoadResData(PicNum, "JPG")
Set GetPic = PictureFromBits(Data)
End Function
et on l'appel avec :
image = GetPic(101)
Ca marche nikel ;)
Dernier question et t'il possible d'en ajouté ou den modifier une foi le prog compilé ?
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 20 sept. 2005 à 07:21
Une fois le programme compilé tu ne peux rien lui ajouter ni supprimer, les données du fichier ressources étant intégrées dans l'EXE !
Mais tu peux toujours rajouter/modifier/supprimer des données dans le fichier RSC et recompiler le prog à partir du moment où tu possèdes les sources !