A border la programmation Windows n'est pas une mince affaire. Windows est un s
A border la programmation Windows n'est pas une mince affaire. Windows est un système d'exploitation multi tâches complexe, qui ne se laisse pas aisément dompter. Ensuite se pose le problème des outils. Windows est écrit en C. Alors dé- buter avec ce langage est un choix qui se tient. Il existe un com- pilateur libre, lcc-win32, doté d'une documentation suffisante, même pour entreprendre l'écriture de gros programmes. Nous avons d'ailleurs consacré une série d'articles à ce thème il y a quelques temps dans Programmez! Toutefois, cette approche com- porte des difficultés. Il est nécessaire de bien maîtriser C pour avoir une chance de s'en sortir. Ensuite, il faut comprendre la structure complexe d'une application C asynchrone, c'est à dire pilotée par les événements. Enfin, le comportement des appels système n'est pas toujours simple à appréhender. Loin de là même ! Apprendre la programmation Windows à travers le langage C# est une autre possibilité, très intéressante. C# est le dernier langage sorti des têtes pensantes de Microsoft. Certes, concevoir C# comme un outil d'apprentissage ou pédagogique, n'a pas été la motivation première de Microsoft ;-) Mais le fait est, que C# est un langage robuste, sûr à l'exécution et facile à apprendre. Orienté objet, sa bibliothèque d'exécution est un ensemble de classes ,qui constituent une sur-couche aux APIs en C du système, ce qui en simplifie considérablement la programmation, tout en apportant une meilleure concision du code. Enfin, considération non négli- geable, il est possible de programmer en C# uniquement avec des outils gratuits. C'est d'ailleurs cet aspect de la question qui nous intéresse aujourd'hui. Nous ne nous adressons pas aux profes- sionnels, qui ont les moyens de s'offrir l'environnement Visual Studio .NET et qui n'ont que faire de nos conseils. Nous nous adressons aux débutants fauchés, mais pleins de bonne volonté :) Nous considérons toutefois que le lecteur à quelques notions de programmation objet. Le matériel et les outils Microsoft permet de télécharger l'environnement appelé "Micro- soft .NET Framework Software Development Kit," qui contient absolument tout ce qu'il faut pour écrire des programmes Win- dows en C#, y compris une documentation exhaustive. Seulement il y a une ombre au tableau : il vous faut un système d'exploita- tion costaud. Autrement dit, vous devez programmer sur : • Microsoft Windows NT 4.0 • Microsoft Windows 2000 • Microsoft Windows XP Notons que Windows XP Pro est requis pour une utilisation com- plète du SDK. Cependant, avec un 'petit' XP, seules les classes asp.net sont inopérantes, ce qui ne fera pas défaut au débutant. La bonne nouvelle est, qu'une application C# peut être déployée C#, langage solide et relativement facile à apprendre, est un bon choix pour se lancer dans la programmation Windows. PRATIQUE C# NIVEAU : DÉBUTANT Programmez N°49 • JANVIER 2003 68 Par Frédéric Mazué Débuter la programmation Windows avec C# et tourner sur un Windows 98 ou Millénium, pourvu que les librai- ries d'exécution .NET soient installées sur ces systèmes. Etant averti de tout cela, vous pouvez vous rendre à : http://msdn.micro- soft.com/downloads/ pour tenter l'aventure et télécharger ce pan- tagruélique bébé de 137 Mo. Si vous avez une connexion poussive, l'achat du Cd-Rom pour moins de 10 dollars est une option à considérer sérieusement. Enfin, puisqu'on en est aux dépenses, l'achat d'un petit livre de poche sur C# peut être une bonne idée. Il en existe d'excellents pour des prix ridicules. Par exemple 'Formation à C# -- Microsoft Press', vous apprendra tout ce dont vous avez besoin pour 10 Euros. Une fois en possession de la SDK, vous devez bien sûr l'installer, ce qui ne pose pas de problème. L'opération terminée, ouvrez une fenêtre console et lancez le compilateur C# comme ceci : csc Si vous voyez un message du genre : Microsoft (R) Visual C# .NET Compiler version 7.00.9466 for Microsoft (R) .NET Framework version 1.0.3705 Copyright (C) Microsoft Corporation 2001. All rights reserved. Tout est en ordre. Les éditeurs Un programme en C# doit être écrit dans un ou plusieurs fichiers, contenant uniquement du texte, pour pouvoir être traités par le compilateur. Pour cette raison, l'emploi d'un programme de traite- ment de texte, qui insère des caractères spéciaux dans le docu- ment est à proscrire. Vous pouvez employer le rudimentaire bloc-note (Notepad) ou le un peu moins fruste Wordpad, pourvu que vous sauvegardiez vos documents au format texte. Cela dit, il est pertinent de vous équiper d'un éditeur dédié à la programma- tion. Il en existe de nombreux, disponibles sur le net. Je vous sug- gère de considérer Eclipse (http://www.eclipse.org/). Cet éditeur encore jeune, mais très prometteur (figure 1) dispose d'un plugin C# que vous pouvez téléchargez à http://www.improve.com. Sachez toutefois que Java (Jdk >= 1.3) doit être présent sur votre machine, pour utiliser Eclipse. Une autre possibilité, celle qu'en tant que vieux dinosaure je pré- fère, est d'employer le légendaire éditeur Emacs (http://www.gnu.org) En fait j'utilise XEmacs (http://www.xemacs.org), dont l'interface est plus agréable. Emacs dispose désormais de nombreux modes C#. Vous les trouverez facilement sur le Web. Certains de ces modes sont très puissants, mais assez lourds et intéresseront principalement les utilisateurs chevronnés d'Emacs. Je vous suggère de télécharger un mode Emacs C# simple, mais amplement suffisant à http://davh.dk/script/. L'installation de ce mode, qui vient sous la forme d'un seul fichier, consiste à déposer ce dernier dans le sous- répertoire xemacs-packages\lisp\prod-modes de votre installation de XEmacs. Ensuite, ajoutez ces lignes à la fin du fichier de confi- guration .emacs.el ou init.el : (autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t) (setq auto-mode-alist (cons '( "\\.cs\\'" . csharp-mode ) auto-mode-alist )) Si vous ne savez pas où localiser ce fichier, accédez y directement depuis le menu 'Options|Edit Init File' d'Emacs. Tout est ensuite automatique. Si au lieu d'Emacs, vous utilisez XEmacs, et selon la version de celui-ci, il se peut que vous vous heurtiez à un message d'erreur pour les fichiers C#: file mode spécification error: (void-variable font-lock-constant-face) La raison en est que la variable font-lock-constant-face, qui doit détenir une fonte, n'existe pas par défaut dans votre XEmacs. Pour y remédier, ajouter ces deux lignes : (setq font-lock-constant-face nil) (make-face 'font-lock-constant-face) JUSTE AVANT les lignes ajoutées plus haut. Un coucou traditionnel Il est maintenant temps de passer à la pratique en écrivant le pro- gramme traditionnel. On suppose que le texte de ce code se situe dans un ficher nommé coucou.cs. class Coucou { public static void Main() { System.Console.WriteLine("Coucou !"); } } Programmez N°49 • JANVIER 2003 69 > Figure 1: Ecriture de code C# avec Eclipse. PRATIQUE NIVEAU : DÉBUTANT Programmez N°49 • JANVIER 2003 70 C# Cet article n'ayant pas pour but d'expliquer C#, mais seulement d'apprendre à utiliser des outils, nous ne donnons maintenant que les explications minimum pour comprendre ce code. • C# est un langage objet. Un programme C# est constitué d'une ou plusieurs classes. Une classe dans le code source devient un objet lors de l'exécution. • Un programme C# doit avoir au moins une classe ayant une méthode Main (avec un m majuscule). Cette méthode est alors le point d'entrée du programme, c'est à dire que l'exécution de tout programme C# commence par cette méthode Main. • C# est équipé à la base d'un énorme jeu de classes, groupées dans des namespace ou espaces de noms. • Les classes ayant des propos communs sont groupés dans un même namespace. Il est possible d'accéder à une classe avec une notation pointée. Ainsi System.Console fait référence à la classe Console de l'espace de nom 'System'. • On invoque les méthodes d'une classe ou d'un objet également avec cette notation pointée. Finalement System.Console.Writeline invoque la méthode 'WriteLine' de la classe 'Console' de l'espace de nom 'System' Le Framework SDK vient avec une documentation complète. Vous pouvez connaître tous les espaces de noms, toutes les classes et leurs méthodes à votre disposition. Il suffit d'ouvrir la documenta- tion, puis de choisir 'Reference' puis 'Class Libray' (figure 2). Usez et abusez de cette documentation. Le compilateur C# Apprenons maintenant à utiliser le compilateur C#. Celui-ci va transformer le fichier texte coucou.cs en un programme exécu- table. Dans une console et en étant situé dans le répertoire conte- nant le fichier coucou.cs, tapez : csc coucou.cs Dès que le compilateur rend la main, vous pouvez apprécier le résultat en tapant 'coucou' (figure 3). Le compilateur csc est relativement intelligent et a pris beaucoup d'initiatives par lui-même. Il a généré un programme exécutable et connecté celui-ci à une librairie d'exécution de C#. Dans ce cas, la librairie est System.dll. Il est simple de connaître le nom de toutes les librairies existantes: à chaque espace de noms de la documen- tation correspond un fichier de même nom plus l'extension.dll. Exemples : Namespace Librairie System System.dll System.Drawing System.Drawing.dll System.Windows.Forms System.Windows.Forms.dll etc. etc. Compiler du code, en se reposant sur la bonne volonté du compi- lateur, va bien pour de petits exemples. Mais très vite apparaîtra le besoin d'être beaucoup plus directif. Ainsi, nous pouvons spécifier explicitement au compilateur que nous voulons qu'il génère un exécutable uploads/s1/ debuter-la-programmation-avec-c 1 .pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/wQAhx76eZI4yv8k9NgHgB3B1h7btO95S0Q0bT0nOGeutwGipqnOJuY2aQsjHVeI8ef7MMhrzSQVEUtIORkDdwNin.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/tIYtXszAX0iQXbkfwCw7oVftDJtCsU2xvzRNMoaJZnd4J1jToJhEMqsLxNaqXgLwo69o9zKKUvE2K3EFJibCmwqS.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/lDVmc0FymmrPqeqEz2viRgh0WEr7pWquSQL1WqUL70T3xjG68yzgC1LumwfcSqAJGVrJuEejnuxEGEC8clziaqxs.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/SirTqmawp4osisomrHgniePLol2RUH7Rq2j75duCAYXXfIa2XtSOK97ly8g9UhOoDGgO70z3qILLU9LqqM7CJwjo.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ynC9H4EoecTjDVy7g7PVzSP1AUpzZAGyrr73zmSQBxRvcrdBplB0wa7Nv73EdBq6ADnN8q3FrBGoovvC7tSzEj0u.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ifrifxyHfy1iCZKbyjmzxMkIvRp4yYGJbCG7ztrrwLtH5iwou1Fr3mFl1TuaPSHxyhpLo0nGvoRzcGbysdL7qv4I.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/yxbQmrIztxntdwDqLys7kQvSXWcwMvWUDbKuDIlV5zAAEFicg9y0I3FjNQseFrwL7s86JUPo8oLtBNQIcMMi658A.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Hvfq4srID69gsY40r2RgB3rd2qC7RTWzVc2zdzE0WwddrsTrwPsRnRliNIMfAwFdQ0lhObAeq5EuKpgPLHPkHUto.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/eSAgaKoXWqgpjVo1eu60XqTivLVaRkOBfkvK87oVfXpIXhfuMjwQED0wvj44ABhaozUtPoA2GVubTtGLFLvQMajh.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/QWpsVxMNpmgl5E2mvzIvtcxWqIOlcznRDj3Cr3ri7yHBG2wl20BnGuNL7tpBc01WYudcX5dWlvxCSWJYlC1CFbow.png)
-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 12, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 0.0855MB