interface, prototype , procedure ...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

interface, prototype , procedure ...

Message par jerexgrz »

Quelqu'un pourrait me dire à quoi servent exactement ces fonctions ? J'ai regardé sur l'aide, mais il n'y a aucun détails concernant la rapidité d'une ou de l'autre fonction.

Actuellement, j'utilise des procedures du style :
dessin (x,y,type)
pour afficher un carre par exemple.

Je me demande si l'utilisation de prototype n'est pas + approprié pour ce style de commande graphique ou il n'y a pas lieu de mettre en memoire certains parametre comme X, Y. :?:
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

les prototypes ne servent pas du tout à remplacer d'une quelconque manière les procédures.

leur utilisation est réservée à des cas assez particuliers.

ils servent entre guillemets à transformer une adresse d'une fonction en nom de fonction comme s'il s'agissait d'une commande purebasic ou d'une procédure.

Example :

Tu ouvres une DLL avec OpenLibrary.
Tu obtiens l'adresse de la fonction qui t'intéresse avec adresse = GetFunction(0, "NomDeLaFonction")
Tu appelles la fonction via son adresse avec CallFunctionFast(adresse,...)

Mais pour faire plus propre, plus pratique tu peux 'dire' à purebasic que 'adresse' sera implicitement utilisé en définissant un prototype plutot que d'utiliser CallFunctionFast().

L'aide PureBasic (fr) donne un petit example :
Prototype.l ProtoMessageBox(Window.l, Body$, Title$, Flags.l = 0)

If OpenLibrary(0, "User32.dll")

MsgBox.ProtoMessageBox = GetFunction(0, "MessageBoxA")

MsgBox(0, "Hello", "World")
EndIf
Par ailleurs, les prototypes sont aussi très pratiques quand ils sont utilisés avec l'API windows conjointement avec les 'pseudotypes' (voir l'aide).

Mais dans une programmation classique il n'est pas nécessaire de connaitre tout çà.
Image
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message par jerexgrz »

ok ! Merci. :wink:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: interface, prototype , procedure ...

Message par Kwai chang caine »

Trois ans plus tard......
Le fossoyeur de topic KCC..posa une question.... :D

En fait les protoype, c'est un peu comme un ALIAS en VB ???
Ca permet de donner un autre nom a une procedure ???

J'ai essayé ça, et j'comprend pas.....ça marche 8O

Code : Tout sélectionner

Procedure Coucou(Texte$)
 MessageRequester("Essai prototype", Texte$)
EndProcedure

Prototype.l ProtoMessageBox(Texte$)
MsgBox.ProtoMessageBox = @Coucou()

MsgBox("Coucou")
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre