Fonction C

dmcr Messages postés 6 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 25 juin 2003 - 12 juin 2003 à 12:18
UnExPeCtEdSpy Messages postés 139 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 3 juillet 2003 - 12 juin 2003 à 18:06
hi,

Je dispose d'une fonction en C.
Admettons une fonction qui envoie en sortie ce qu'elle recoit en entrée :
//----------------------------------------
#include <stdio.h>
int main (int argc, char *argv[]) {
int c;
while ((c = getchar ()) != EOF)
putchar (c);
return 0;
}
//----------------------------------------

Est-il possible d'appeller cette fonction à partir de VB et par quel biais?

thx

3 réponses

UnExPeCtEdSpy Messages postés 139 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 3 juillet 2003
12 juin 2003 à 13:56
Bonjour,
Il me semble que ton bout de code C, surveille la frappe de touche clavier, et au fur et a mesure qu'elle detecte un appuie elle envoie la touche a l'écran..

Donc en fait c'est l'API de detection de frappe que tu dois utiliser l'API suivante pour gerer le clavier, le reste a toi de broder..

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

A+
,.~*`'^~.(^. :question) .^),.~^'`*~.
0
dmcr Messages postés 6 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 25 juin 2003
12 juin 2003 à 17:27
-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
> Il me semble que ton bout de code C, surveille la frappe de touche clavier, et au fur et a mesure qu'elle detecte un appuie elle envoie la touche a l'écran..
>
> Donc en fait c'est l'API de detection de frappe que tu dois utiliser l'API suivante pour gerer le clavier, le reste a toi de broder..
>
> Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
>
>
> A+
> ,.~*`'^~.(^. :question) .^),.~^'`*~.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > hi,
> >
> > Je dispose d'une fonction en C.
> > Admettons une fonction qui envoie en sortie ce qu'elle recoit en entrée :
> > //----------------------------------------
> > #include <stdio.h>
> > int main (int argc, char *argv[]) {
> > int c;
> > while ((c = getchar ()) != EOF)
> > putchar (c);
> > return 0;
> > }
> > //----------------------------------------
> >
> > Est-il possible d'appeller cette fonction à partir de VB et par quel biais?
> >
> > thx
> >
> >
Bon, ce que je veux appeller une fonction codée en C dans un prg VB.
Je prenais en exemple une fonction qui retourne exactement la valeur d'entrée tapée au clavier, mais une fonction qui retournerait exactement le flux d'entrée en sortie serait ptetre un meilleur exemple.
ce que j'aimerais savoir c dans quel type compiler en C, puis la manip pour pouvoir ensuite utiliser la fonction en Vb.
Il devrait y avoir une possibilité...
0
UnExPeCtEdSpy Messages postés 139 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 3 juillet 2003
12 juin 2003 à 18:06
J'avais pas bien saisie ce que tu voulais, en fait peut etre est ce l'utilisation d'une dll c++ dans ton prog vb?

En C++...

#include <stdio.h>
#include <string.h>
//etc...
#define EXPORT __declspec(dllexport) // définit la macro EXPORT
EXPORT int __stdcall TaFonction(void); // spécifie que cette fonction est à exporter

int  __stdcall  TaFonction()   {  
        int c;  
        while ((c = getchar ()) != EOF)  
        putchar (c);  
        return 0;  
}


Ne pas oublier de creer le .def dans ton projet c++ avant de compiler du genre :

LIBRARY   TaDll
DESCRIPTION "Une Dll"
EXPORTS
  TaFonction   =   @1



En VB...

<table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0><tr><td class=code>
Public Declare Function DllFonction Lib "TaDll.dll" Alias "TaFonction" () As integer

Private Sub proc()
Dim retour As integer '
retour = DllFonction() 'appel de la fonction de la Dll
End Sub
<table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0><tr><td class=code>

,.~*`'^~.(^. :question) .^),.~^'`*~.

--------------------
> > > hi,
> > >
> > > Je dispose d'une fonction en C.
> > > Admettons une fonction qui envoie en sortie ce qu'elle recoit en entrée :
> > > //----------------------------------------
> > > #include <stdio.h>
> > > int main (int argc, char *argv[]) {
> > > int c;
> > > while ((c = getchar ()) != EOF)
> > > putchar (c);
> > > return 0;
> > > }
> > > //----------------------------------------
> > >
> > > Est-il possible d'appeller cette fonction à partir de VB et par quel biais?
> > >
> > > thx
> > >
> > >
> Bon, ce que je veux appeller une fonction codée en C dans un prg VB.
> Je prenais en exemple une fonction qui retourne exactement la valeur d'entrée tapée au clavier, mais une fonction qui retournerait exactement le flux d'entrée en sortie serait ptetre un meilleur exemple.
> ce que j'aimerais savoir c dans quel type compiler en C, puis la manip pour pouvoir ensuite utiliser la fonction en Vb.
> Il devrait y avoir une possibilité...
0
Rejoignez-nous