CHERCHE TUT DELPHI API

cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002 - 26 juin 2002 à 17:28
jjnouiphp Messages postés 33 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 21 janvier 2020 - 13 juil. 2004 à 12:55
Salut je suis a la recherche d'un tut Delphi et API un peu comme EstDev pour VB

Auriez vous quelque chose ? des adresses ?

11 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
26 juin 2002 à 21:37
Tu veux savoir quoi, exactement, sur les API ?? Et tu veux faire quoi avec ?

Si tu te poses pas ces questions, tu en as pour un moment, pasque des API, y en a des tonnes, et pour tous les goûts...

Bonne recherche quand même !
Bestiol.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
26 juin 2002 à 23:51
Une bonne source d'informations : l'unité ShellApi.pas.
Sinon, regardes sur le site Microsoft Developer's Network, tu trouveras les explications des API, classées par fonction et ponctuées d'exemples utiles (écrites en C, celà va de soi).

May Delphi be with you.
Delphi advanced
0
cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002
27 juin 2002 à 12:02
Merci quand même de m'avoir répondu.
J'espere cette fois etre plus clair :

soit une fonction API écrite en C comme ceci :
unsigned short int mafnctAPI ( unsigned short int * par1)

Qu'est ce que ca donne en Delphi sachant que c'est une DLL externe ?
Comment se servir des pointeurs pour la déclarer, comment l'appeler ?
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
27 juin 2002 à 13:54
La plupart des API (si ce n'est toutes) sont implémentées dans des unités de Delphi... Si, dans la clause uses de ton prog, tu as mis l'unité dans laquelle ton API est déclarée, tu as juste à faire
mafnctAPI( et tu attends un peu... Un hint s'ouvre avec les paramètres et leurs types.

Ensuite, pour de l'aide sur les API, savoir comment ça marche etc, tu as le fichier d'aide Win32 programmer's reference (dont Delphiprog à indiqué le site, si j'ai bien compris)... Tu peux l'obtenir en faisant un click droit sur la barre d'outils de Delphi, tu choisis "Personnaliser", l'onglet "Commandes" dans la fenêtre qui s'ouvre, tu cliques sur la ligne "Aide" dans la boite liste et enfin tu fais glisser le "raccourci" s'appelant "API Windows"...

Voilà... J'espère que cela pourra t'aider... Dans ce fichier d'aide tu as toutes les API dont les paramètres sont expliqués en détails, mais en Anglais... Et si tu veux savoir quelle unité mettre dans la clause uses de ton prog, tu cliques, dans le fichier d'aide, sur "Quick Info", et tu regardes le nom correspondant à "Header".

Bonne prog'
Bestiol.
0

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

Posez votre question
cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002
27 juin 2002 à 14:22
merci, si ce n'est que ce sont pas des API Windows mais des API externes
0
cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002
27 juin 2002 à 14:23
merci, si ce n'est que ce sont pas des API Windows mais des API externes
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
27 juin 2002 à 14:52
Quel genre ?? Ce sont des DLLs d'une librairie spéciale ? Si c'est le cas, tu dois avoir de la doc à disposition qui te dit comment faire, non ??

Donne un exemple de ce que tu peux trouver (une vraie fonction)

Bestiol.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 juin 2002 à 23:10
Microsoft Windows est conçu pour exploiter les bibliothèques de liens dynamiques dont les plus connues sont kernel32.dll, etc.
Je ne vais pas expliquer le principe de fonctionnement des DLL mais juste dire que ces bibliothèques exposenet des procédures ou fonctions. Par nature, les dll sont donc né-ce-ssai-re-ment des API externes.
Delphi redéfinit les procédures et fonctions en Pascal (wrappers) pour faciliter les appels à partir du code écrit en Pascal.
Et comme, dans presque tous les cas, Borland a donné le même nom à ces fonctions que celles écrites et décrites par Microsoft, il est aisé de trouver le nom de la fonction à utiliser dans ton code source.
Si tu jettes un oeil dans ShellApi.pas, par exemple, tu verras comment sont écrites les entêtes des fonctions (elles font référence à la bibliothèque "external xxxx.dll" et, au bout de la déclaration, "StdCall").
Bestiol t'as suggéré de regarder dans l'ai den ligne fournie avec Delphi (Win32 programer's reference) qui décrit ce que réalises chaque fonction, procédure ou l'utilité des constantes prédéfinies par Windows. C'est une excellente source d'information.
Mais comme je n'étais pas sûr quelle soit disponible avec chaque niveau de Delphi, je t'ai aussi suggéré de regarder sur MSDN pour accéder à la même information, mais en ligne cette fois-ci.
A proprement parler, il ne doit pas exister de tutorial sur les API (plusieurs centaines de fonctions). En revanche tu peux trouver de l'aide sur comment utiliser une fonction particulière.

Et, pour finir, nous sommes là pour t'aider si tu veux bien nous dire ce que tu cherches de précis à faire. A défaut de te donner la solution, il y aura au moins une personne pour te mettre sur une piste.

Alors, décris-nous précisément ton problème et nous nous ferons un plaisir de te rendre service.

May Delphi be with you.
Delphi advanced
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
28 juin 2002 à 00:37
Bah... Si j'ai bien compris, Delphiprog, ce que veux Golum, ce n'est pas utiliser une API à proprement parler, mais une fonction intégrée dans une DLL d'une librairie téléchargée sur le Net ou un truc dans le genre... Je me trompe ??

C'est pour cela que je te demande, Golum, de fournir un exemple concret de fonction contenue dans ce(s) DLL(s)...

Bonne prog' !
Bestiol.
0
cs_bgK Messages postés 131 Date d'inscription vendredi 7 juin 2002 Statut Membre Dernière intervention 19 janvier 2004
18 août 2002 à 19:14
En delphi, la fonction c déscrite plus haut :
unsigned short int mafnctAPI ( unsigned short int * par1)

se traduit
function mafnctAPI(par1 : Byte): Byte; external 'NomDll.dll';StdCall;

(à mettre dans la section 'interface')

ensuite, pour l'appeler :

NomVar := mafnctAPI(Valeur);

où 'valeur' peut être une valeur numérique ou une variable de valeur numérique

bgK
0
jjnouiphp Messages postés 33 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 21 janvier 2020 1
13 juil. 2004 à 12:55
la réponse donnée par bgk (merci!) est interessante mais personnellement je préfère apprendre à pécher plutôt que de recevoir des poissons. Donc existe-t'il des méthodes ou des règles ou des utilitaires permettant à partir de la définition en C de définir la même chose en Delphi ?
merci de votre patience ;-)
0
Rejoignez-nous