OVH Cloud OVH Cloud

[WD9] API

10 réponses
Avatar
AV
bonjour
je dois utiliser une API fournit par un tiers mais je ne sais comment
traduire les paramètres que je dois passer
voici l'appel en C++ est ce qu'il serait possible de la traduire avec des
variable Windev svp

XchFileDll_send_file(HWND hwnd,char **filename,char *cPath,int iNb_file)

je sais déjà que :

- HWND hwnd : représente le handle de ma fenêtre donc pas de pb j'utilise
Handle()
- char **filename : représente un pointeur sur un tableau de chaine
- char *cPath : représente un pointeur sur une chaine

comment traduire cela

merci par avance

--
AV
http://cerbermail.com/?RPJy2vdLno

10 réponses

Avatar
Pascal R.
AV a écrit :

bonjour
je dois utiliser une API fournit par un tiers mais je ne sais comment
traduire les paramètres que je dois passer
voici l'appel en C++ est ce qu'il serait possible de la traduire avec des
variable Windev svp

XchFileDll_send_file(HWND hwnd,char **filename,char *cPath,int iNb_file)

je sais déjà que :

- HWND hwnd : représente le handle de ma fenêtre donc pas de pb j'utilise
Handle()
- char **filename : représente un pointeur sur un tableau de chaine
- char *cPath : représente un pointeur sur une chaine

comment traduire cela

merci par avance



Bonjour

Tu n'as pas un peu d'aide sur cette fonction ???

Le tableau doit-il être alloué ?
Quel est le but de la fonction ?

Le tableau est-il remplit par la fonction, ou bien
par le programme appelant ?
iNb_File contient le nombre d'éléments du tableau,
je suppose, mais est-ce la fonction qui le renvoie,
ou bien le programme appelant ?

As-tu un exemple C ou autre d'utilisation de cette Fonction ???

Si tu ne nous aides pas un peu, on ne pourra pas t'aider en retour.

Pascal
Avatar
AV
"Pascal R." a écrit dans le message de news:
d01flh$rlr$



Bonjour



bonjour

Tu n'as pas un peu d'aide sur cette fonction ???



non

Le tableau doit-il être alloué ?



le tableau doit contenir la liste des fichiers à copier

Quel est le but de la fonction ?



copie des fichier sur un terminal portable


Le tableau est-il remplit par la fonction, ou bien
par le programme appelant ?



par le programme appelant

iNb_File contient le nombre d'éléments du tableau,



oui

je suppose, mais est-ce la fonction qui le renvoie,



non

ou bien le programme appelant ?



oui


As-tu un exemple C ou autre d'utilisation de cette Fonction ???



non


Si tu ne nous aides pas un peu, on ne pourra pas t'aider en retour.



je n'ai que çà désolé

si je résume je dois remplir un tableau en windev contenant la liste des
fichiers à copier puis indiquer à l'API le tableau, le chemin des fichiers,
le nombre de fichiers contenu dans le tableau

j'espère que cela suffit
merci bcp


Pascal



cdt

--
AV
http://cerbermail.com/?RPJy2vdLno
Avatar
Pascal R.
Donc, d'apres ce que tu me dis, j'essaierais...

Local
alFileName est un tableau dynamique de 0 chaines asciiz
nlNbFic est un entier = 0
clChemin est une chaine asciiz
nlHwnd est un entier

//Tu remplis ton tableau (redimensionnant et reactulalisant nlNbFic)

Puis tu executes ta DLL
nlHwnd = handle( )
APi( "NOM_DE_LA_DLL", "XchFileDll_send_file", nlHWND, &alFileName,
&clChemin, nlNbFic)


AV a écrit :
"Pascal R." a écrit dans le message de news:
d01flh$rlr$

Bonjour




bonjour


Tu n'as pas un peu d'aide sur cette fonction ???




non


Le tableau doit-il être alloué ?




le tableau doit contenir la liste des fichiers à copier


Quel est le but de la fonction ?




copie des fichier sur un terminal portable


Le tableau est-il remplit par la fonction, ou bien
par le programme appelant ?




par le programme appelant


iNb_File contient le nombre d'éléments du tableau,




oui


je suppose, mais est-ce la fonction qui le renvoie,




non


ou bien le programme appelant ?




oui


As-tu un exemple C ou autre d'utilisation de cette Fonction ???




non


Si tu ne nous aides pas un peu, on ne pourra pas t'aider en retour.




je n'ai que çà désolé

si je résume je dois remplir un tableau en windev contenant la liste des
fichiers à copier puis indiquer à l'API le tableau, le chemin des fichiers,
le nombre de fichiers contenu dans le tableau

j'espère que cela suffit
merci bcp


Pascal




cdt



Avatar
AV
"Pascal R." a écrit dans le message de news:
d01m43$e0$
Donc, d'apres ce que tu me dis, j'essaierais...

Local
alFileName est un tableau dynamique de 0 chaines asciiz
nlNbFic est un entier = 0
clChemin est une chaine asciiz
nlHwnd est un entier

//Tu remplis ton tableau (redimensionnant et reactulalisant nlNbFic)

Puis tu executes ta DLL
nlHwnd = handle( )
APi( "NOM_DE_LA_DLL", "XchFileDll_send_file", nlHWND, &alFileName,
&clChemin, nlNbFic)



merci bcp
j'essai de suite

--
AV
http://cerbermail.com/?RPJy2vdLno
Avatar
:-\)
Souvent en C les fonctions attendent un tableau de pointeurs de chaines.
Il te faudrait dans cette hypothèse allouer une chaine asciiz par nom de
fichier puis stocker l'adresse de chaque chaine dans le tableau passé en
param à la fonction.

"Pascal R." a écrit dans le message de news:
d01m43$e0$
Donc, d'apres ce que tu me dis, j'essaierais...

Local
alFileName est un tableau dynamique de 0 chaines asciiz
nlNbFic est un entier = 0
clChemin est une chaine asciiz
nlHwnd est un entier

//Tu remplis ton tableau (redimensionnant et reactulalisant nlNbFic)

Puis tu executes ta DLL
nlHwnd = handle( )
APi( "NOM_DE_LA_DLL", "XchFileDll_send_file", nlHWND, &alFileName,
&clChemin, nlNbFic)


AV a écrit :
"Pascal R." a écrit dans le message de news:
d01flh$rlr$

Bonjour




bonjour


Tu n'as pas un peu d'aide sur cette fonction ???




non


Le tableau doit-il être alloué ?




le tableau doit contenir la liste des fichiers à copier


Quel est le but de la fonction ?




copie des fichier sur un terminal portable


Le tableau est-il remplit par la fonction, ou bien
par le programme appelant ?




par le programme appelant


iNb_File contient le nombre d'éléments du tableau,




oui


je suppose, mais est-ce la fonction qui le renvoie,




non


ou bien le programme appelant ?




oui


As-tu un exemple C ou autre d'utilisation de cette Fonction ???




non


Si tu ne nous aides pas un peu, on ne pourra pas t'aider en retour.




je n'ai que çà désolé

si je résume je dois remplir un tableau en windev contenant la liste des
fichiers à copier puis indiquer à l'API le tableau, le chemin des
fichiers, le nombre de fichiers contenu dans le tableau

j'espère que cela suffit
merci bcp


Pascal




cdt





Avatar
AV
":-)" a écrit dans le message de news:

Souvent en C les fonctions attendent un tableau de pointeurs de chaines.
Il te faudrait dans cette hypothèse allouer une chaine asciiz par nom de
fichier puis stocker l'adresse de chaque chaine dans le tableau passé en
param à la fonction.


bonjour

c'est exatement ce que je veux comment le faire ?
cdt

--
AV
http://cerbermail.com/?RPJy2vdLno
Avatar
:-\)
TNomFic est un tableau de 100 chaînes ASCIIZ sur 1024
TPointeurs est un tableau de 100 entiers sur 4 octets
eNb est entier=3
eIndice est entier

TNomFic[1] = "toto.fic"
TNomFic[2] = "titi.fic"
TNomFic[3] = "tata.fic"

POUR eIndice=1 A eNb
TPointeurs[eIndice] = &TNomFic[eIndice]
FIN

Passer ensuite &TPointeurs comme valeur dans le paramètre filename.
(code pas testé et à améliorer en transformant les tableaux statiques en
dynamiques)

"AV" a écrit dans le message de news:
42248d11$0$19314$

":-)" a écrit dans le message de news:

Souvent en C les fonctions attendent un tableau de pointeurs de chaines.
Il te faudrait dans cette hypothèse allouer une chaine asciiz par nom de
fichier puis stocker l'adresse de chaque chaine dans le tableau passé en
param à la fonction.


bonjour

c'est exatement ce que je veux comment le faire ?
cdt

--
AV
http://cerbermail.com/?RPJy2vdLno





Avatar
AV
":-)" a écrit dans le message de
news:
TNomFic est un tableau de 100 chaînes ASCIIZ sur 1024
TPointeurs est un tableau de 100 entiers sur 4 octets
eNb est entier=3
eIndice est entier

TNomFic[1] = "toto.fic"
TNomFic[2] = "titi.fic"
TNomFic[3] = "tata.fic"

POUR eIndice=1 A eNb
TPointeurs[eIndice] = &TNomFic[eIndice]
FIN

Passer ensuite &TPointeurs comme valeur dans le paramètre filename.
(code pas testé et à améliorer en transformant les tableaux statiques en
dynamiques)



bonjour
merci
je vais tester ça
Cdt

--
AV
http://cerbermail.com/?tPrilZLWEY
Avatar
AV
bonjour

voici un extrait de code en C++ que j'ai pu me procurer car je n'arrive
toujours pas à le mettre en oeuvre en WinDev
merci d'avance pour l'aide que l'on pourrait m'apporter

// ************************************************

char *file_list2[] {
"CATVIS.DAT",
"LOCALISE.DAT",
"CATTYP.DAT" // Il en manque : (tous les points ".DAT" fournis )
};

void CScopySDlg::OnEnvoyerLesReferences()
{
int iErr;
char cBuff[100];

iErr = XchFileDll_ajuste_date(m_hWnd);
if(iErr == 0)
{
XchFileDll_send_file(m_hWnd,file_list2, // Handle, Pointeur sur
tab de pointeurs de chaines
gcFilesRefPath,sizeof(file_list2)/sizeof(char*)); // Chemin avec ''
à la fin !!!!!, nombre de chaines
}

if(iErr < 0) // Erreur ?
{
switch(iErr)
{
case -1:
{
//strcpy(cBuff,"Erreur de communication");
}break;

case -3: // Annulation utilisateur
{
strcpy(cBuff,"Communication interrompue");
}break;

case -4:
{
strcpy(cBuff,"Il manque un fichier");
}break;

default :
{
strcpy(cBuff,"Erreur ???");
}break;
}

MessageBox(cBuff,"Erreur communication",MB_ICONEXCLAMATION);
}
else // OK
{
MessageBox("Les références ont été envoyées"," ",MB_ICONINFORMATION);
}

}

// ************************************************************************

Cdt

--
AV
http://cerbermail.com/?tPrilZLWEY
Avatar
AV
please help me

Cdt


--
AV
http://cerbermail.com/?tPrilZLWEY