mis
Upcoming SlideShare
Loading in...5
×
 

mis

on

  • 1,080 views

 

Statistics

Views

Total Views
1,080
Views on SlideShare
1,080
Embed Views
0

Actions

Likes
1
Downloads
59
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    mis mis Presentation Transcript

    • Programmation évènementielle avec VB ISIGK, 2011 Adel ESSAFI adel.safi@imag.fr http://www.slideshare.net/adelessafi
    • Plan du cours Les bases de VB Les structures conditionnelles Les structures itératives Les structures de données complexes (structures, tableau, collection) Les procedures et les fonction La programmation évènementielle avec VB Les objets de bases Reactions aux évènements
    • langage binaire (des 0 et des 1).Langages delangageGénération II: le programmationassembleur, sadresse au microprocesseurinstruction par instruction.Génération III: introduit une syntaxe et desmots réservés, ce sont les langagesprocéduraux(COBOL, Fortran, BASIC, Pascal, langageC, RPG) ou encore à objets(Java, C++, Eiffel, Python).Génération IV: associée à des bases dedonnées, se situe un niveau au-dessus, enintégrant la gestion de linterface utilisateur eten proposant un langage moinstechnique, plus proche de la syntaxe naturelle.
    • Langages de programmationTendances: oLes langages de programmation Internel oLes langages basé sur XML (markup)
    • Historique du langage VisualBasic Le BASIC (Beginners All-purpose Symbolic Instruction Code, 1963) Principes de concept: ofacile dutilisation pour les débutants oun langage généraliste (All-purpose) ; oautoriser lajout de fonctionnalités pour les ointeractif ; ofournir des messages derreur clairs et conviviaux ; oavoir un délai de réaction faible pour les petits programmes ; oIndépendant du matériel oisoler lutilisateur du système dexploitation.
    • Visual Basic Le VB est directement dérivé du BASIC et permet le développement rapide dapplications, la création dinterfaces utilisateur graphiques, laccès aux bases de données, ainsi que la création de contrôles ou dobjets ActiveX. VB est un langage de haut niveau
    • FrameworkUn framework (dans notre cas, le framework.NET de Microsoft) est une sorte dimmensebibliothèque informatique contenant des outilsqui vont faciliter la vie du développeurEvolution: oVersion 2.0 en 2005 oVersion 3.5 en 2007 oVersion 4 en 2010Visual studio et framework oVS 2003 (Framework 1.1), VS 2005 (Framework 2.0), VS 2008 (Framework 3.5) et VS 2010 (Framework 4.0).
    • Premier programme Créer un nouveau projet (application console)Voici le code que nous devons obtenirModule Module1Sub Main()End SubEnd Module Chaque section ce termine par END (end sub, end module) la première chose que ce dernier va faire sera de localiser et de sauter dans la partie appelée « Main »
    • Premier programme (exécution) Exécution très rapide Affichons un messageConsole.Write("Hello World !") Attendons un évènementConsole.Read() Apres l exécution de ce programme, on va avoir unmessage affiché sur la console. L’application va ensuite attendre uneaction de l’utilisateur pour se terminer
    • Procédure, objets et fonctions Main(): fonction principale qui sera appelée lors de l’exécution console: objet offrant un ensemble de fonctions relié à l’affichage, la lecture, le BEEP , …… Fonction: ce sont les comportement que offre un objet (la méthode write par exemple permet d afficher sur la console). Une procédure/fonction peut prendre plusieurs arguments
    • Variables Dim MaVariable As type Les types disponibles: oBoolean oInteger oDouble oString oDate Stocke une date et son heure sous la forme « 12/06/2009 11:10:20 ».
    • Variables : exemplesd’utilisation Dim MaVariable As Integer MaVariable = 10 Console.Write(MaVariable) Quelques opérations: Addition (+) Soustraction (-) Multiplication (*) Division( /) Division entière () Puissance (^) Modulo (Mod)
    • Les constantes Une constance est un objet dont la valeur ne change pas au cours de l’exécutionDéclaration:Const NomConstante As Type = ValeurConst LONGUEURTABLEAU As Integer = 9
    • StructuresUne structure est utilisée comme conteneur pour un petitjeu de variables.Permet de regrouper des données de type différent:EXEMPLE:
    • UtilisationLa variable MonAdresse contientun numéro qui est dans MonAdresse.Numeroun nom de rue qui est dans MonAdresse.Rueun nom de ville qui est dans MonAdresse.VilleMonAdresse.Numero=2MonAdresse.Rue= "Grande rue"MonAdresse.Ville= "Lyon"
    • Utilisation Mot clé With pour ne pas avoir à répéter le nom de la variable With MonAdresse .Rue= "Grande rue" .Ville= "Lyon" End With Structures et tableaux Dim Adresses(99) as Adresse Permet de travailler sur un tableau de 100 adresses Adresses(33).Rue="Place de la mairie"
    • La fonction write Write: affiche sans retour à la ligne Writeline : affiche avec retour à la ligne & : concaténer deux chaines
    • Exemple: Que fait ce programmeModule Module1Sub Main() Initialisation des variables Dim MaVariable As Integer = 0 Dim MaVariable2 As Integer = 0 Console.WriteLine("- Multiplication de deux nombres -") Demande du premier nombre stocké dans MaVariable Console.WriteLine("Veuillez entrer le premier nombre") MaVariable = Console.ReadLine() Demande du second nombre stocké dans MaVariable2 Console.WriteLine("Veuillez entrer le second nombre") MaVariable2 = Console.ReadLine() Affiche "X x Y = " puis le résultat (multiplication de MaVariable par MaVariable2) Console.WriteLine(MaVariable & " x " & MaVariable2 & " = " & MaVariable * MaVariable2)
    • Structure conditionnelle If - end if : structure classique If – else – end if If –elseif – else - end if
    • La structure selectSelect Case MaVariableCase 1Si MaVariable = 1Case 2Si MaVariable = 2 CaseElse Si MaVariable <> 1 et <> 2End Select
    • Structure Do whileDoInstruction exécutée au moins une foisLoop While MaVariable = 10
    • Structure whileWhile MaVariable = 10Exécuté tant que MaVariable = 10End While
    • La boucle forFor x As Integer = 0 to 10 step 2Instruction à exécuter 5 foisNext
    • Tableaux  1 dimension oDim MonTableau(4) As Integer  2 dimensions oDim MonTableau(3,4) As Integer  3 dimensions oDim MonTableau(2,3,4) As IntegerTAILLE D’UN TABLEAULe nombre de cases dun tableau est toujours « indice + 1 ».Réciproquement, lindex de sa dernière case est « taille - 1 ».
    • Les tableaux dans les structuresEn Visual Basic .NET il y a 2 méthodes pour utiliser un tableaudans une structure:1-Méthode par initializeUne structure peut comporter une méthode Initialize qui seraexécutée quand on déclare une variable de type structure.Public Structure DriveInfoDim DriveNumber() As ShortNoter que le nombre délément a disparu.Dim DriveType As Stringmaintenant on instance les 25 éléments.Public Sub Initialize()ReDim DriveNumber(25)End SubEnd Structure
    • Les tableaux dans les structures2. Après la déclaration de la variable, on Redimensionnele tableau.Public Structure DriveInfoDim DriveNumber() As ShortDim DriveType As StringEnd StructureFunction AddDrive(ByRef Number As ShorByRefDriveLabel As String) As ObjectDim Drives As DriveInfoRedim Drives.DriveNumber(25)Drives.DriveNumber(3)=12Drives.DriveType = "Fixed"End Function
    • Opérations sur les tableaux:affichageafficher les éléments un par unfor i=0 to N console.write(t(i))Next
    • recherche dans un tableau Pour une liste non triée, on na pas dautres choix que de comparer la string cherchée à chaque élément du tableau, on utilisera donc une boucle: N=4 tableau de 5 éléments. Dim T(N) As String élément de 0 à 4 T(0)="vert" T(1)="bleu" T(2)="rouge" T(3)="jaune" T(4)="blanc" Dim i As Integer Variable de boucle Dim AChercher As String= "rouge" String à chercher For i=0 To N If T(i)=AChercher then Exit For End if Next i
    • opérations sur les tableaux: supprimersi on veut supprimer lélément dindice x, on doit copier les élements dindicesi+1 dans lelement dindice i pour tout i>=xDim N As IntegerDim T(N) As Stringcréation dun tableau de String.Dim i As IntegerFor i= x To N-1 T(i)=T(i+1)Next iT(N-1)=""ne pas oublier de modifier le dernier élément
    • opérations sur les tableaux : insérer unélementpour insérer un element à lindice x, on doit decaler toutesles cases à partir de x dune unité et insérer lélément voulu à lendroit xDim N As IntegerDim T(N) As String création dun tableau de String.Dim i As IntegerFor i= N-1 To x+1 Step -1 T(i)=T(i-1)Next iT(x)="LFSI"ne pas oublier dajouter
    • Opérations sur les tableaux: recherchedun élémentPour une liste non triée, on na pas dautres choix que de comparer lastring cherchée à chaque élément du tableau, on utilisera donc uneboucle:N=4 tableau de 5 éléments.Dim T(N) As String élément de 0 à 4T(0)="vert"T(1)="bleu"T(2)="rouge"T(3)="jaune"T(4)="blanc"Dim i As Integer Variable de boucleDim AChercher As String= "rouge" String à chercherFor i=0 To N If T(i)=AChercher then Exit For End ifNext i
    • Les collectionsLes Collections permettent de regrouper des données. Les collections sonttrès utilisées dans la programmation Objet.Une collection fonctionne plutôt comme un groupe déléments dans laquelle il estpossible dajouter ou denlever un élément à nimporte quel endroit sans avoir àse préoccuper de la taille de la collection, ni ou se trouve lélément.Le nombre délément nest pas défini au départ comme dans un tableau. Dansune collection, il ny a aucun élément au départ, puis il ny a que les éléments quelon a ajouté.Les éléments sont repérés grâce à un index ou avec une Clé uniqueLes items affichés dans une ListBox donnent une idée concrète de ce quest unecollection.Types de collections:  Les Listes:ArrayList, List(Of..) VB 2005 ...........................................
    • collection de type array list Cest une Liste dobjets, dItem: La ArrayList est une collection particulière: On peut y mettre des objets : chaînes, nombres... rien nempêche que le premier élément soit un entier, le second une chaîne … . Il ny a pas de clé. Dim L As New ArrayList() On crée une collection ArrayList Dim L As ArrayList = ArrayList.Repeat("A", 5) On crée une ArrayList de 5 éléments contenant chacun "A" (on répète "A") L.Add("Bonjour") On ajoute un élément à la collection
    • arraylist : quelques opérationsL.Remove("Bonjour")On enlève lélément de la liste qui contient "Bonjour"L.RemoveAt(0)On enlève lélément 0 de la listeL.Sort()Trie la collectionL.Clear()Efface tous les élémentsL.Contains (élément) Retourne True si la liste contient élément.
    • arraylist: quelques opération Insert permet dinsérer à un index spécifié: L.Insert( position, Ainserrer)recherche L.Containts (élément) Retourne True si la liste contient élément. Recherche dun élément dans une collection NON TRIEE avec IndexOf: Dim l As New ArrayList Dim i As Integer l.Add("toto") l.Add("lulu") i = l.IndexOf("lulu") MsgBox(i.ToString) Affiche 1 qui est lindex de "lulu"
    • Fonction et procédure Une procédure est un ensemble dinstructions qui effectue une fonction précise. En Visual Basic.NET, il existe deux sortes de procédures : les sub et les function . oLes sub commencent par le mot clé sub puis finissent par end sub et ne retournent aucune valeur oLes fonctions qui débutent par function puis finissent par end function et qui retournent une valeur précise.
    • Les fonctions SyntaxeFunction NOMF(ByVal Valeur1 As Integer, ByVal Valeur2 As Integer)As IntegerInstructions ……Return ResultatEnd Function
    • Arguments dune fonctionPassage par valeur (ByVal)La procédure utilise alors une copie de la variable. Lavaleur de la variable ne peut pas être modifiée par laprocédure.Passage par référence (ByRef)Ladresse de la variable qui est passée à la procédure etpeut donc être modifiée par la procédure.
    • Fonctions/Procedure et StructuresSub AfficheAdresse( ByVal Une Adresse As Adresse)...Imprimer ladresseEnd sub
    • La boucle For eachStructure générale :For Each Item In CollectionboucleNext ItemExempledim tab(10) as integerfor each v in tabs=s+vnext v
    • Partie II : Programmationévénementielle
    • Créer un projet  Créer nouveau projet  Choisir « application windows forms »  Le contrôle de base « form »  Le contrôle de base en Visual Basic est la feuille, ou formulaire, en anglais, Form.  Deux proriétés basiques:  Name: nom de l’objet tel qu’il est géré par l’application  Caption: texte associé à l’objet sur l’écran
    • Autres propriétés Modal : propriété qui gère le caractère « impératif » ou non de toute Form (on peut cliquer ou non en dehors de la form, sur une autre Form) Style : propriété qui gère la tête générale de la Form (présence ou non du menu système, tête des bordures, etc.) Visible : propriété booléenne qui gère, comme son nom l’indique, le caractère visible ou non de la Form (et partant, des autres contrôles qu’elle contient)
    • Form (propriétés) BackColor: Définis larrière plan du contrôle Text: Le titre de la form Name: Le nom du contrôle utilisé dans le codage Enabled: Indique si le contrôle est activé ou pas
    • Un Label Un Label est un contrôle "inerte", qui sert à afficher un texte sur une Form. oName : Nom de l’objet oCaption : évidemment oAlignment : qui règle l’alignement du texte (gauche, centré, droite) oBorderStyle : qui désigne le type de bordure
    • Un textbox (zone de texte) Ces zones (de la classe "TextBox" pour VB) peuvent servir à saisir une information. toute information contenue dans une zone de texte est obligatoirement de type texte ! Propriétés : oText: C’est la propriété qui désigne son contenu. oMultiline : autorise ou non l’écriture sur plusieurs lignes oScrollbars : fait figurer dans la TextBox une barre de défilement horizontale ou verticale (ou les deux) oPasswordChar : crypte le texte entré par le caractère stipulé (généralement, on choisit le caractère *) oMaxLength : limite le nombre de caractères qu’il est possible de saisir dans la zone de texte.
    • Accéder aux objets Pour accéder aux informations (données) dans le formulaire, on utilise la syntaxe suivante Nomobjet.propriété Exemple Somme.text=5
    • Les checkbox Les " cases à cocher " (CheckBox): Elles sont carrées, et indépendantes les unes des autres, si lutilisateur coche une case , cela na pas dinfluence sur les autres cases du formulaire, quelles soient regroupées dans un cadre pour faire plus joli ou non oChecked: Indique si la case est cochée oCheckState: Indique létat de la case à cocher
    • Les boutons radiosLes " boutons radio " (RadioButton): Ils sontronds et font toujours partie dun groupe (Ilssont dans une fenêtre ou dessinés dans unobjet GroupBox ). Ce groupe estindispensable, car au sein dun groupe deRadioButton, un seul bouton peut être coché àla fois : si lutilisateur en coche un, les autres sedécochent
    • LeLe bouton est le composant le plus  bouton important puisque cest grâce à lui que lutilisateur pourra interagir avec le programme. Un bouton permet essentiellement de valider ou dannuler une fonction. oText: Le texte du bouton oTextAlign: Lalignement du texte du bouton oEnabled Indique si le contrôle est activé ou pas oVisible Indique si le contrôle est visible ou pas oName Le nom du contrôle utilisé dans le codage oSize La taille du contrôle en pixels
    • La Combobox Les ComboBox sont des menus déroulants. Elles permettent de choisir une option parmi plusieurs oSorted: Indique comment sont triés les éléments de la liste oItems: Permet dajouter les éléments dans la liste déroulante
    • listboxLe contrôle ListBox affiche une liste déléments(dobjets) dans laquelle lutilisateur peut faire unou plusieurs choix.Exemple de codesVider la ListBoxListBox1.Items.Clear()Ajouter un ou des élémentsListBox1.Items.Add(" quelquechose")Ajouter un tableau oDim t() As String {"Franc", "Norgege", " Thaïlande" } oMe.ListBox1.Items.AddRange(t)
    • La fonction MessageBox Cest une fonction qui affiche un messagedans une boîte de dialogue, attend quelutilisateur clique sur un bouton (Ok ou Oui-Non..), puis retourne si on le désire, le nom dubouton cliqué par lutilisateur. On utilise la méthode Show pour afficher laboite. On doit fournir le texte à afficher, on peut aussifournir le titre dans la barre, le type de bouton, le type dicône et le bouton par défaut, uneoption , la présence dun bouton daide.
    • La fonction MessageBox:ExempleMessageBox.show(Texte,Titre, TypeBouton ,Icone, BoutonParDéfaut, Option, Bouton aide)MessageBox.Show("bonjour", "Programme",MessageBoxButtons.YesNo,MessageBoxIcon.Error, _MessageBoxDefaultButton.Button1,MessageBoxOptions.RightAlign, True)
    • InputBoxCest une fonction qui permet douvrir unefenêtre qui pose une question :Elle retourne la réponse tapée par lutilisateur.Le retour est effectué dans une variableString.Dim Nom As String Nom =InputBox("Bonjour","Tapez votre nom ?")
    • procédures événementielles  A chaque objet créé peuvent correspondre autant de procédures que d’événements possibles survenant sur cet objet  Double click : la procédure gérant l’événement le plus courant pour l’objet considéré vient d’être créée  CODE CREE ->Private Sub NomObjet_Evenement()…End Sub
    • procédures événementielles Private signifie que la procédure n’est utilisable que pour la Form considérée (et pas pour d’autres objets situés sur d’autres Form). On peut aussi créer des procédures Public End Sub marque la fin de la procédure en question (mais pas la fin de l’application).
    • Combobox (VB6)Une combox est un contrôle qui permet de choisur un élèment d’une listeUne liste peut être ajouté graphiquement (menu propiétés) ou avec le codesourceChaque item d’une combobox comporte: le nom et un dataitemla propriété ItemData dun contrôle ComboBox peut être définie au moment dudesign dans la fenêtre Propriétés pour associer un Integer à unélément ComboBox
    • Comboxbox: ajouter un item et definir savaleurcbonom.AddItem " mehdi "cbonom.ItemData(cboFood.NewIndex) = 02328545cbonom.AddItem " sihem"cbonom.ItemData(cboFood.NewIndex) = 08254789cbonom.AddItem " gaith"cbonom.ItemData(cboFood.NewIndex) = 105 la propriété NewIndex était utilisée pour récupérer lindex du dernier élémentajouté à un contrôle ComboBox
    • Combobox: évènement et propriétésCet évènement se déclenche quand on clique sur la comboboxPour récupérer l’indexe de l’élément seléctionnée nous utilisons la propriété :listIndexPour récupérer le nombre d’éléments on utilise la propriété ListCountPour accéder à un élément d’indice i, on utilise la propriétéList(intX)L’indice de l’item sélectionné est récupéré grâce à ListIndex
    • exerciceEcrire une application VB qui contientUne comboboxUne zone de texte (nom)Un bouton chercherQuand l’utilisateur appui sur le bouton chercher , le programme cherche si lenom tapé dans la zone de texte existe dans les éléments de la listbox et affichele message qui convientTraiter les cas particuliers (liste vide, zone de texte vide ….)
    • Référenceshttp://www.areaprog.com/vb6/cours-31-combobox-description-du-controle-comboboxhttp://www.vb6.us/tutorials/visual-basic-combo-box-tutorial