programmation informatique dingÉnierie ii pro-1024

57
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024

Upload: jules-paul

Post on 04-Apr-2015

120 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

PROGRAMMATION INFORMATIQUE D’INGÉNIERIE

II

PRO-1024

Page 2: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

Contenu du Chapitre III

Visual Basic .NET (VB.NET)– VB et premier programme – Introduction à la programmation-objet

– Applications Windows» Chapitre 11 (Troelsen)

– Manipulations de fichiers– Dessins et images

Page 3: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Une application Windows est un programme qui a une ou

plusieurs fenêtres servant à l'inter-action avec l'utilisateur (autrement qu'en mode-texte, comme dans le cas des anciennes applications DOS).

Une fenêtre (Window) est une région de l'écran à laquelle est associée une fonctionnalité spéciale qu'on appelle Window sous la plate-forme Windows.

Bien entendu le concept Window est à la base du système d'exploitation Windows.

Un contrôle .NET est une classe qui dérive de plusieurs anciennes interfaces COM (anciennes classes).

Page 4: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Par exemple observons dans Object Browser (Namespace:

System.Windows.Forms):

Un contrôle a le comportement d'une fenêtre générale (IWin32Window), plusieurs interfaces OLE servant aux échanges d'informations et plusieurs autres fonctionnalités complexes.

Page 5: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) La fenêtre principale d'une application Windows est de type Form. Les lignes suivantes montrent qu'une Forme hérite de plusieurs

classes:

Quand nous parlons de fenêtre, nous abordons la notion de points à l'écran qui s'appellent des pixels. Le pixel est aussi l'unité de mesure pour les éléments de l'écran. La structure Point représente les coordonnées (x,y) d'un point de l'écran. La structure Size représente la taille d'une zone rectangulaire (Width, Height) i.e. largeur, hauteur.

Page 6: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Voici une liste partielle des propriétés des formes (fenêtres):

– Height: hauteur de la forme en Y

– Width: largeur de la forme en X

– Left: coordonnée en x du coin supérieur gauche de la forme

– Top: coordonnée en y du coin supérieur gauche de la forme

– Location: position (coin supérieur gauche) par rapport à son conteneur

– MaximumSize, MinimumSize, Size: tailles: largeur, hauteur

– FormStartPosition, FormWindowState: énumérations (constantes pré-définies) qui définissent les propriétés StartPosition et WindowState

Page 7: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Supposons, maintenant que nous créons un projet VB avec une forme

et que la propriété Text de la forme est mise "Principale, aModale":

Ensuite, dans la fenêtre de code de la forme, ouvrons la section Windows Form Designer generated code.

Page 8: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code généré automatiquement

Page 9: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code généré automatiquement

Page 10: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) La section Region contient du code qui a été ajouter par "VS

Designer". Voici quelques remarques à propos du code précédent découlant des ajouts fait par VS: – Création d’une nouvelle classe appelée Form1 qui dérive de la classe Form

– Création d’une fonction New qui sert à créer des objets de type Form1

– Création d’une fonction Dispose qui sert à détruire les formes de type Form1

– Initialisation des propriétés concernant la taille de la fenêtre (280,173) le nom de la forme est "Form1"

– Initialisation de la propriété Text de la Form1 à "Principale, aModale"

La forme ainsi décrite est en fait la forme principale de notre programme et elle est opérée en mode amodal (avec Show) i.e. le programme qui a exécuté Show montre la fenêtre et continue.

Page 11: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Exemple d’un projet avec plusieurs formes

– Nous allons maintenant ajouter une nouvelle classe Form2 et montrer comment passer de la forme principale à la seconde et inversement.

– D'abord, ajoutons une nouvelle forme avec le menu Project/Add Windows Form

Page 12: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Sélection du template Windows Form

Page 13: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Ajoutons aussi un bouton à la forme principale:

Page 14: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) De la même façon, ajoutons un bouton à la forme Form2:

Page 15: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code associé à la forme Form1 (principale):

Page 16: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code associé à la forme Form2:

Page 17: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Sub Main

– Nous pourrions définir la fonction Main dans un module de code et utiliser cette fonction pour démarrer et contrôler notre programme, au lieu que ce soit la forme Form1 (par défaut).

– Pour modifier le programme précédent, il faut d'abord, ouvrir la fenêtre des propriétés du projet "deuxfenetres" et choisir "Sub Main".

Page 18: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

Page 19: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Ensuite, ajoutons un module de code pur avec le menu "Project/Add

Module ...":

Page 20: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Voici le code du module:

Page 21: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Si nous plaçons un point d'arrêt sur l’énoncé "End Sub", la

fonction ShowDialog est aModale ce qui signifie que la seule façon de quitter la fonction ShowDialog et d'arriver au point d'arrêt est de fermer la fenêtre (la fonction Show ne bloque pas).

En plus, ShowDialog retourne une valeur de type DialogResult (Yes, No, OK, etc).

Elle a un fonctionnement semblable à la fonction MsgBox.

Page 22: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

Boutons-radio et case à cocher– La figure suivante montre une forme qui contient 2

textbox 1 et 2, 2 cases à cocher qui contrôlent les propriétés Enable et Visible du TextBox1.

– Les boutons-radio (cercles en haut à droite) contrôlent la position en Z (devant-derrière) des textbox (on montre les cas possibles):

Page 23: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

Boutons-radio et case à cocher

Page 24: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

Code de la forme:

Page 25: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Un TextBox est en gris lorsqu’il est désactivé. Un Textbox désactivé

ou non visible ne répond pas aux événements. Notez que ces propriétés se retrouvent dans tous les contrôles.

Contrairement aux cases à cocher, les boutons-radio fonctionnent en groupe: si nous cochons un des boutons du groupe, alors le bouton déjà coché est dé-coché automatiquement. Souvent, on place les boutons dans un contrôle de regroupement (GroupBox) comme suit:

Page 26: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

Menus et TextBox– Pour ajouter un menu en haut d'une forme, il suffit de

double-clicker le contrôle MainMenu de la boîte à outils.

– De même, pour créer un menu contextuel (qui apparaît avec le bouton droit de la souris), il faut double-clicker le contrôle ContextMenu de la boîte à outils.

– Ensuite, nous ajoutons les entrées appropriées pour les menus.

– Notez que nous devons d'abord entrer un titre dans un menu, et ensuite utiliser l'onglet des propriétés comme avec les autres contrôles.

Page 27: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Insertion des contrôles de gestion de menus

Page 28: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Ensuite, définissons un choix de menu appelé MenuItemCouper. Le nom est

important car il est utiliser dans le programme. Nous pourrions choisir un racourci

(Shortcut).

Page 29: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Procédons de façon semblable avec le menu contextuel:

Page 30: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Dans cet exemple, nous avons ajouté un TextBox avec les

propriétés:

– Multiline=True, – Scrollbars=Both– AcceptReturn=True.

Ensuite, nous définissons des procédures qui répondent aux choix de menus: à cette fin, il suffit de double-clicker le titre de chaque choix de menu.

Finalement, nous devons choisir le menu MainMenu1 dans la propriété Menu de la forme Form1.

Également, nous pouvons choisir le menu contextuel ContextMenu1 pour l’associer à la propriété ContextMenu du TextBox.

Page 31: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Fenêtre d’édition résultante:

Page 32: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code associé aux items du menu

Page 33: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) TextBox

– Un Textbox est un contrôle sophistiqué qui correspond à un éditeur de texte comme Notepad.

– En effet, ce contrôle contient beaucoup de fonctionnalités qui proviennent en majorité de la classe TextboxBase.

Page 34: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) En observant la figure précédente, nous remarquons que les

fonctionnalités "Couper/Coller" avec le presse-papier (clipboard) sont déjà fournies

Les touches de racourci Ctrl-X, Ctrl-V sont aussi fournies (note: on a redéfini Ctrl-C).

Des fonctions pour manipuler le texte sélectionné, etc. Voici une liste particielle de ce qui est disponible: Copy, Cut, Paste, Select(start, length), SelectAll, SelectedText, SelectionLength, SelectionStart, ...

Page 35: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) ListBox et Combo

– Les contrôles ListBox et ComboBox servent à afficher une liste de choix.

– Un ListBox permet de sélectionner plusieurs éléments et les choix sont toujours visibles.

– Un ComboBox possède une liste déroulante pour les choix.

– De plus, il est possible d’éditer un choix qui est ensuite ajouté à la liste.

Page 36: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Voici une forme qui permet de montrer quelques possibilités de la

ListBox et du ComboBox:

Page 37: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Fonctionnement de cet exemple:

Page 38: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Exemple qui montre la possibilité de modifier la zone de texte du

ComboBox et lorsque nous enfoncons la touche "return" (ou Enter ou Entrée), le texte est ajouté comme un nouveau choix et ce choix est sélectionné:

Page 39: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code du programme lié à la Form:

Page 40: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code du programme lié à la Form (suite):

Page 41: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

WebControl– Tous les contrôles et les composantes logicielles ActiveX, COM

ou .NET ne sont pas tous disponibles dans les listes du menu "Customize Toolbox ..." sous les onglets COM et .NET.

– Par exemple, la partie d'Internet Explorer qui affiche les pages Web est un contrôle contenu dans le fichier normalement installé dans le répertoire: C:\winnt\system32\shDocvw.dll.

– Si nous voulons l'utiliser, nous devons insérer ce contrôle dans le ToolBox en suivant les étapes suivantes:

Page 42: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Sélectionner le menu Customize Toolbox.

Page 43: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Pressez le bouton Browse.

Page 44: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Insertion du nouveau contrôle dans le Tool Box.

Page 45: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Dans l’exemple suivant nous avons créé une forme avec une boîte de

texte servant à contenir une adresse URL (de page Web quelconque), un contrôle WebBrowser (ou Explorer) et un bouton GO:

Page 46: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Code associé au bouton GO:

Page 47: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Après avoir introduit une adresse URL valide et pressé la touche GO:

Page 48: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS)

TabControl– Le contrôle TabControl permet de créer une forme qui contient

plusieurs onglets. – Les onglets sont en réalité des contrôles de type TabPage (page)

qui sont eux-mêmes dérivés de la classe Panel. – Un panel est un contrôle qui gère des bordures et des barres de

défilement.– Les onglets sont très utiles pour offrir plusieurs informations à

l’utilisateur dans un même espace à l'écran.– Les contrôles agissent souvent comme des conteneurs pouvant

recevoir d'autres contrôles (ControlContainer). – La propriété Controls d'un contrôle donne la liste de tous les

contrôles contenus dans le contrôle parent.

Page 49: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Voici une forme contenant un contrôle TabControl avec 2 onglets et un contrôle de

type panel, à droite. Pour utiliser la propriété AutoScroll=True avec un panel (ou Page), on place d'abord les contrôles sur une forme avec le TabControl et le Panel agrandi :

Page 50: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Redimensionnement des contrôles

Page 51: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Résultat initial de l’exécution

Page 52: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) TreeView

– Le contrôle TreeView sert à afficher des arborescences (des arbres). La figure suivante montre la fenêtre de l'application Explorer. La section de gauche (avec les + et les - ) est réalisée avec un contrôle TreeView:

Page 53: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Exemple de programme: Le programme suivant montre un arbre avec tous ses

noeuds développés et un TextBox:

Page 54: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Le code suivant montre comment initialiser la structure des noeuds qui sont des

objets TreeNodes et comment capter le noeud sélectionné avec un double-click:

Page 55: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) La figure suivante montre dans ObjectBrowser toutes les classes qui sont utiles dans

le contexte des arbres:

Page 56: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Progress bar

– La barre de progrès peut être utile pour signaler à un utilisateur la progression d'une opération qui peut prendre un temps non négligeable. Voici un exemple de forme dans laquelle nous avons placé un contrôle ProgressBar:

Page 57: PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024

VB .NET (Applications WINDOWS) Dans le code suivant de la forme nous initialisons les paramètres du contrôle

ProgressBar, et signalons ensuite l'avancement des opérations (PerformStep):