[=> VB6] Demande d'aide VB 5

Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 - 5 nov. 2008 à 17:54
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 6 nov. 2008 à 14:45
Je souhaiterais moi aussi, avoir quelques exemples simples pour l'utilisation de DLL dans un programme VB. !!!
Je débute dans ce truc ! (sa rime en plus !)

Galactus le Vrai !

10 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 nov. 2008 à 18:16
Pas bonjour non plus...

VB5 fonctionne de la même manière que VB6 à ce propos.
Tu trouveras là :
http://allapi.mentalis.org/apilist/apilist.php
pour chacune des fonctions des librairies de l'API de Windows :
- des explications
- des exemples d'utilisation.

Pense, la prochaine fois, à poser tes questions relatives à VB5 dans la section VB6 (en précisant que tu développes sous VB5).
0
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
5 nov. 2008 à 18:19
Merci beaucoup ! et désoler du bonjour oublié !... snif !
C'est pas dans mes habitudes mais je suis fatigué !
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 nov. 2008 à 18:54
où ça rime ?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 nov. 2008 à 20:37
Il s'agit bien de VB5 et non pas de VB2005 (VB8) ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 nov. 2008 à 21:45
Bonsoir,
où ça rime ?
Mais voyons : il nous l'a dit : en plus ...
0
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
6 nov. 2008 à 00:04
bonsoir,
Ben faut que je retourne à l'école! le site est en anglais !
Déjà apprendre le vb5 n'était pas facile mais là ! j'abdique !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 nov. 2008 à 08:33
Rebonjour, Galactus,

Tu sais....
 - il va t'être assez difficile de te lancer dans un langage de développement sans un minimum de connaissance de l'anglais.
- le site objet du lien que je t'ai donné est assorti d'exemplesn qui sont principalement des lignes de code (et le code étant le code, ma foi, il est le même en français et en anglais... !...)

Mais je viens de relire ton premier message. Il pourra alors t'être utile de lire ce texte, que j'avais rédifé à une certaine époque en françaisn puis d'aller voir quelques codes (exemples) sur le site de AllApi.


Texte jmfien, donc :



L'appel de l'API est fondamentalement semblable à l'appel d'une fonction ordinaire, aves ses paramètres.




Nous appelons en réalité une fonction d'une librairie (DLL).




Il nous faut déclarer la fonction dont il s'agit et, pour ce faire, préciser les éléments suivants :




- Le nom de la fonction ou de la procédure contenue dans la Dll et que nous voulons utiliser.




- le nom de la librairie (DLL) dans laquelle se trouve cette fonction ou procédure




- les paramètres qui doivent être passés à la fonction ou procédure




- le type de la valeur qui sera renvoyée par la fonction ou procédure.




Examinons par exemple la déclaration de la fonction FindNextFile de la bibliothèque Kernel32.dll :


Cette fonction attend un paramètre hFindFile, de type long, un paramètre lpFindFileData correspondant à une structure WIN32_FIND_DATA et retourne un Long....


La syntaxe de sa déclaration est donc la suivante :




Declare Function FindNextFile Lib "Kernel322" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long




ou encore, en utilisant un Alias (voir plus bas) :




Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long




Encore faudra-t-il définir la structure, ainsi, par exemple en ce qui concerne WIN32_FIND_DATA :




Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type



et, du coup : faire au besoin des déclarations de constantes (ici par exemple la constante MAX_PATH) pour les membres de cette structure, voire, comme c'est le cas pour celle-ci, définir d'autres structures correspondant elle
s-mêmes à un élément de la structure principale (ici, par exemple : une structure FILETIME)




Il est évident que tous ces renseignements sont donc nécessaires. Ils peuvent être obtenus ici et là (sur le Net, dans des ouvrages spécialisés, etc....) et... ici-même, je l'espère, pour un grand nombre des fonctions et procédures les plus utilisées...)







UTILISATION D'ALIAS
Il est possible d'appeler une fonction en utilisant un pseudo (plutot que son nom réel).
Ce pseudo doit alors être déclaré conjointement au nom réel de la façon suivante :
Imaginons vouloir déclarer et appeler sous le nom Titi une fonction Toto de la librairie Machin.dll
Déclare function
Titi
lib "Machin"
Alias "Toto"
(byval.....) as ....
L'utilisation d'un alias peut avoir plusieurs raisons, parmi lesquelles les suivantes :
- raisons de lisibilité : un mot plus "parlant" peut souvent faciliter la maintenance d'une application.
- éviter une ambiguïté : certaines fonctions comportent des
caractères qui pourraient être interprêtés différemment par VB (cas
par exemple du caractère "_" qui, sous VB, a une signification particulière !)
Imaginons par exemple que nous ayons à déclarer
(et utiliser) la fonction _lOpen de la librairie Kernel32
Si nous la déclarions ainsi :
Declare Function _lopen Lib "kernel32" (ByVal _
lpPathname As String, ByVal ireadWrite As Long) As Long
VB lirait bien évidemment :
Declare Function lopen Lib "kernel32" (ByVal _
lpPathname As String, ByVal ireadWrite As Long) As Long
ce qui provoquerait une erreur !

Voilàn ami ! ce texte plus les exemple du site + un bon retroussage de manche + beaucoup d'attention et ça devrait aller moins mal.
Bonne chance
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 nov. 2008 à 08:38
Délolé ....
J'ai utilisé un copier/coller de mon propre fichier d'aide chm (que je ne peux te donner)..
Ce qui était bien présenté lors du copier-coller a perdu sa présentation à la validation du message...
Fais un copier-coller du texte dans le bloc-notes et ajoute manuellement des retours à la lignes afin que ce soit plus facilement exploitable...
0
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
6 nov. 2008 à 13:34
Merci, j'ai plus qu'a prendre ces bouts de code et analyser ou faire des tests avec sa !
Ensuite, voir comment exploiter ce "genre" et regarder comment sa pourrait me servir !
Et par la suite trouver les divers autres commandes !
Plus je découvre VB, plus je me rend compte que je ne sais utiliser que des miettes de ce programme.
J'ai fait un simulateur de jeu Ogame, j'imagine qu'avec plus de savoir nul doute que mon code eu été raccourci !!! Donc moins de travail !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 nov. 2008 à 14:45
Ce "genre", comme tu dis, est avant tout autre chose que du VB qui, lui, n'intervient que pour utiliser des fonctions (écrites en C)
 de librairies externes (de l'Api de Windows). (mon texte t'a montré comment déclarer une telle fonction sous VB, mais sans plus,
le reste dépendant de la connaissance de la fonction et des paramètres qu'elle attend, de la/les valeur(s) qu'elle retourne, etc...)
Comment l'exploiter ? Ben... il faut d'abord commencer par savoir ce que tu veux exploiter, à quelles fins, etc...(et là : tu es seul avec toi)
Je ne sais que te répondre ... et celà relève beaucoup plus de la connaissance de Windows !...

C'est uin peu comme si tu me demandais de dire comment exploiter un véhicule ! Je te répondrais : "quel véhicule et à quelle(s) fin(s) ?"
0
Rejoignez-nous