Exemples d'utilisation d'API sous WinDev
Auriez-vous un exemple à partager avec la communauté ?

Le , par jdsetls, Membre habitué
Bonjour,

Qui peut me fournir des exemples d'utilisation d'API sous Windev ?
Et ce en expliquant pourquoi elles sont si 'économiques' (par exemple Créer un cube dans le GDI) ?

Merci pour vos réponses !

Cordialement


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de logic_man logic_man - Membre habitué https://www.developpez.com
le 19/05/2014 à 10:34
Trés Bonne Question. je suis aussi fort intéressé... par contre faut-il avoir des bonnes connaissance dans des langages spécifique comme le C+ pour pouvoir utiliser les API...
J'ai chercher de la DOC mais j'ai pas trouvé quelque chose pour débutant..
Même sur le Forum de http://www.jose.it-berater.org rien n'est vraiment clair...
Avatar de michel.souris michel.souris - Membre chevronné https://www.developpez.com
le 19/05/2014 à 10:48
http://doc.pcsoft.fr/fr-FR/?3014005

....le plus dur est de trouver le bon type des paramètres dans Windev !
Avatar de Ry_Yo Ry_Yo - Membre éprouvé https://www.developpez.com
le 19/05/2014 à 11:06
Bonjour,

dans mon cas, je me sers d'api lorsque PCSOFT n'a pas implémenté dans son framework la fonction équivalente... Faisant uniquement de la programmation orientée gestion, les demandes sont plus des interactions avec windows que graphique ou bas niveau.

Par exemple :
- déclencher un code spécifique si une fenêtre d'un logiciel tiers (Word, Norton, etc...) prend le focus.
- bloquer certaines touches du clavier que Windev ne sait pas faire
- modifier la position d'un ascenseur hors application windev courante
- etc...

De plus, Windev fourni une petite aide avec WDAPI.EXE (dans le répertoire de windev/programme) pour mieux comprendre le type paramètre attendu.
Ensuite avec l'aide de la MSDN, on arrive à mieux comprendre le fonctionnement.

Cordialement
Avatar de jdsetls jdsetls - Membre habitué https://www.developpez.com
le 19/05/2014 à 11:43
Bonjour,
Les exemples que j'ai analysés et testés ne sont pas reproductibles.
Lorsque je fais un copier-coller de l'exemple cité :
Code : Sélectionner tout
1
2
3
4
5
6
7
 nResultat est un entier 
nResultat = API("user32", "SystemParametersInfoA",  SPI_SETDESKWALLPAPER, 0,&sNomFichierPapierPeint, SPIF_UPDATEINIFILE) 
SI nResultat = 0 ALORS 
	RENVOYER Faux 
SINON 
	RENVOYER Vrai 
FIN
... j'obtiens le résultat suivant :
Erreur à la ligne n°3 : L'élément 'SPI_SETDESKWALLPAPER' est inconnu.
Je suis par ailleurs déconcerté par le fait que les programmes PCSoft pourraient être parfois plus explicites.
Par exemple pour les API, je suis sous Vista, j'ai vérifié que les API sont présentes, donc rien de spécifiques à charger ?

Je suis stupéfait, vu l'importance qu'elles représentent, qu'il n'existe pas des dizaines d'exemples bien documentés.
Cordialement
Avatar de Patrice Terrier Patrice Terrier - Membre averti https://www.developpez.com
le 19/05/2014 à 12:07
SPI_SETDESKWALLPAPER

Google et MSDN sont nos amis
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Avatar de Ry_Yo Ry_Yo - Membre éprouvé https://www.developpez.com
le 19/05/2014 à 12:17
Citation Envoyé par jdsetls  Voir le message
Bonjour,
Les exemples que j'ai analysés et testés ne sont pas reproductibles.
Lorsque je fais un copier-coller de l'exemple cité :
Code : Sélectionner tout
1
2
3
4
5
6
7
 nResultat est un entier 
nResultat = API("user32", "SystemParametersInfoA",  SPI_SETDESKWALLPAPER, 0,&sNomFichierPapierPeint, SPIF_UPDATEINIFILE) 
SI nResultat = 0 ALORS 
	RENVOYER Faux 
SINON 
	RENVOYER Vrai 
FIN
... j'obtiens le résultat suivant :
Erreur à la ligne n°3 : L'élément 'SPI_SETDESKWALLPAPER' est inconnu.
Je suis par ailleurs déconcerté par le fait que les programmes PCSoft pourraient être parfois plus explicites.
Par exemple pour les API, je suis sous Vista, j'ai vérifié que les API sont présentes, donc rien de spécifiques à charger ?
...

Sachez que les API de microsoft sont normalisés, donc quand vous récupérez un code et que vous voyez des mots en majuscule, cela correspond à des constantes. Donc il est normal que SPI_SETDESKWALLPAPER et SPIF_UPDATEINIFILE sort en erreur si vous n'avez pas défini ces constantes ou alors remplacer par les valeurs numériques ou pointeur ou autres attendu.

Citation Envoyé par jdsetls  Voir le message
...
Je suis stupéfait, vu l'importance qu'elles représentent, qu'il n'existe pas des dizaines d'exemples bien documentés.
Cordialement

On peut certainement reprochés des choses à PCSOFT, mais sur ce point, je ne suis pas d'accord. Quel est l'éditeur de l'API ? dans votre exemple, "user32" n'a pas été développé par PCSOFT il me semble. Donc si on regarde l'aide de l'éditeur, en l'occurrence microsoft, on trouve facilement la réponse :
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

C'est comme si vous reprochiez à Renault de ne pas fournir les manuels d'utilisation des voitures Peugeot... vous voyez bien l'incohérence de l'argument.
Avatar de jdsetls jdsetls - Membre habitué https://www.developpez.com
le 19/05/2014 à 12:45
Bonjour,
Tout cela est bel et bon mais tu ne me donnes pas la réponse.
Je ne m'y retrouve pas dans le code Windev.
Ce n'est qu'un simlple exemple.
Je crois que je vais reprendre mes cours Expert où tout cela figurait.
Et acheter le bouquin de Petzold. Windows programming version 5.
Pour autant que je les retrouve.
Cordialement
Avatar de jurassic pork jurassic pork - Membre expert https://www.developpez.com
le 19/05/2014 à 13:13
hello,
ma classe cconsole ici utilise les api windows.
Ami calmant, J.P
Avatar de Hibernatus34 Hibernatus34 - Membre expérimenté https://www.developpez.com
le 19/05/2014 à 15:01
J'avais écrit une doc dont le but était d'expliquer à un développeur WinDev comment utiliser un SDK (avec des headers C) dans WinDev : comprendre les pointeurs, les équivalences de types, l'alignement dans les structures, etc.
Mais je ne sais pas si je la retrouverai, ni si ça peut intéresser quiconque. (mes collègues ne l'ont pas beaucoup utilisée)
Ca vous dit ?
Avatar de michel.souris michel.souris - Membre chevronné https://www.developpez.com
le 19/05/2014 à 15:08
Pour les équivalences je t'aurais dit oui il y a quelques temps... avant que je tombe sur cette page d'aide : http://doc.pcsoft.fr/fr-FR/?conversion-types

Pour le reste ça peut être intéressant si tu la retrouves.
Offres d'emploi IT
Ingénieur conception en électronique de puissance H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique WinDev