PROGRAMME EN C (API WIN32), COMMANDES GÉNÉRALES POUR CRÉER UN PROGRAMME

DevGizmo Messages postés 122 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 27 février 2007 - 8 juin 2005 à 12:08
cs_ThArGos Messages postés 3 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 22 août 2006 - 12 sept. 2006 à 17:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31914-programme-en-c-api-win32-commandes-generales-pour-creer-un-programme

cs_ThArGos Messages postés 3 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 22 août 2006
12 sept. 2006 à 17:46
Merci ça m'a pas mal aidé ;)
Criterion Messages postés 3 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 28 août 2005
28 août 2005 à 21:59
Hmmmm, ca me donne une erreur 404 sur ton site... je peux pas voir l'image
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
21 août 2005 à 23:00
Bon, je trouve ta source super, mais j'ai des erreurs quand je compile avec dev-cpp(quand je compile avec VC++ 2005 il trouve meme pas windows.h ^^).

Pour voir les erreurs et, éventuellement les corriger, va sur :


http://www.freazer.com/perso/delroth/Erreur.bmp


(J'essaye de voir si des balises HTML dans un message ça marche ^^^)
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
21 août 2005 à 22:39
Pour ouvrir les fichiers .sln et . vcproj, téléchargez Visual C++ 2005 Beta (gratuit).
Criterion Messages postés 3 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 28 août 2005
8 juin 2005 à 22:21
Hmmmm ouain, pour le "Cé" comme j'ai dit dans mon explication: "Aussi, j'ai commencé les commentaires en l'explicant pour quelqu'un et j'ai décidé après de venir la mettre ici, donc les commentaires du début sont peut-être un peu moins clairs et contiennent un peu plus de "mettons" :P"

J'étais pas sensé venir publier ça ici pis j'avais pas tellement l'intention de réécrire 684 lignes de code... :P

Pis le "initialisé à 0" c'est parce que j'ai fait un copier-coller de l'autre memset, pis j'ai oublié de le changer, arf...

C'est vrai que ya quelques choses que j'ai peut-être mal expliquées, c'est sur que je peux faire des erreurs, mais bon, surment que y'en a d'autres que t'as pas mentionnées. Je vais corriger ça vite vite.

Et je suis désolé pour le projet en .sln, j'ai juste VS.NET chez moi :/
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
8 juin 2005 à 20:39
Bon je suis d'accord que c'est vrai qu'il vaut mieux un livre ou un vrai tuto C ou C++(qui ne sûrement pas les même languages)
Bon quelques commentaires(pas méchants mais c'est un tuto donc il mérite quelques précisions):

->"Cé " ?? C'est un peut famillier pour un tuto

->"// Ya des structures comme ça des fois où il faut que tu leur donne leur propre grosseur..." -> faudrait dire pourquoi: il existe plusieurs version de cette structure et le seul moyen de trouver la bonne version pour Windows c'est en fonction de sa taille .

->"// Paramètre supplémentai re comme pour créer une fenêtre MDI avec plusieurs fenêtres CHILD" -> plus généralement: paramètre passé comme lParam au message WM_CREATE du control . Pour les fenêtre MDI cela a une signification particulière

->"Si on met une valeur "default:" dans le switch, toutes les vérifications qui n'auront trouvées aucune correspondance dans le switch vont passer dans le default:" -> si toutes les vérifications placé AVANT ont échouées !! Si il y a des test après, il ne seront jamais appelé car jamasi testé !

->"srand(GetTickCount());" -> il faudrait préciser qu'il faut l'appeler UNE FOIS PAR EXECUTION .

->"Le >>2 est tout simplement un byte shift. C'est pour faire des divisions
par des multiples de 2." -> oui pour des nombres non signé mais pour les nombre signé, le signe n'est pas conservé(je ne crois pas)

->"initialisée à 0 (ça pourrait être n'importe quoi)
memset(&g_Colors,255,sizeof(g_Colors));" -> initialisé à 0 ou 255 ?? faudrait savoir lol

->"il retourne le reste de division de rand() par 255, ça nous donne donc un nombre aléatoire entre 0 et 255" -> non çà nous donne un nombre entre 0 et 254 car 255/255=1 reste=0 donc 255%255=0 et pas 255 donc c'est 254 le maximum

Voilà rien de bien de méchant, des détails très détaillé(lol) mais comme c'est un tuto il vaut mieux ne pas laissé d'imprécisions ou de mauvaises habitudes

Sinon bons commetaires .
Bonne soirée

Pamaury
Criterion Messages postés 3 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 28 août 2005
8 juin 2005 à 16:31
Hehehe, ouais, évidement c'est sûr que c'est mieux d'apprendre à partir d'un livre, mais tu sais comme moi qu'ici, il y a BEAUCOUP de monde qui viennent en espérant trouver une source qui va tout leur apprendre...

La mienne apprend pas tout, mais je trouve que ca explique quand même plus précisément, dans le cas où la personne voudrait apprendre uniquement des sources qu'elle télécharge. C'est aussi pourquoi j'ai expliqué les principes de base en général EN DEHORS du code comme tel, avant de commencer. Si tu les connais, tu peux facilement sauter par-dessus :P
DevGizmo Messages postés 122 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 27 février 2007 1
8 juin 2005 à 12:08
Salut,

Effectivement distrubuer des tutoriaux, c'est sympa...mais ca n'apprend ni la semantique ni la maniere de bien programmer avec ces 2 langages (qui sont vraiment differents en termes de concept). Ensuite quand on connait le langage, pas besoin de source qui decrit comment utiliser une api...(hormis certaines qui sont vraiment tres tordue); il suffit d'aller sur le site msdn de microsoft pour avoir les parametres et ce que ca retourne...

Bref, voila vous avez mon avis mias il n'engage que moi
Un bon conseil commncer par vous acheter un bon bouquin C ou C++ suivant votre choix. (Delanoy chez Eyrolles par exemple)

A+

Fred
Rejoignez-nous