Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence

Cours VB.NET

Date de mise à jour : 05/12/2010

Par Philippe Lasserre
 

Il s'agit d'un cours de Visual Basic.Net © de Microsoft complet, pour débutants (pas de pré requis) ou programmeurs voulant passer à la version .net .
Autres contributions du même auteur:
Cours sur Chart permettant d'afficher des graphiques
Pour voir et télécharger LDF: logiciel de compta en Shareware, cliquer ici.
Télécharger un dictionnaire médical gratuit pour Word.

philippe@lasserrelyon.fr
Nouveau: MAJ avec VB 2010, Nouvelles rubriques: Son, String.Compare, Chart..


 

Introduction, Contenu du cours
I. Introduction
II. Que trouver dans ce cours ?
II-A. Qu'allons-nous étudier ?
II-B. Quel plan de cours suivrons-nous ?
II-C. Quels logiciels utiliser ?
II-D. Quelle configuration est nécessaire ?
II-E. À propos de l'auteur
Grands principes
III. Principe et structure des programmes
III-A. Les 'Objets'
III-A-1. Dans la vie courante
III-A-2. Dans Visual Basic.net
III-B. Programmation évènementielle : le premier programme
III-B-1. Principes de la programmation VB
III-B-2. Exemple : le premier programme
III-B-3. En pratique, que fait le programmeur ?
III-B-3-a. Il dessine l'interface utilisateur
III-B-3-b. Il écrit le code correspondant aux événements
III-C. Les instructions, les procédures : les 'Sub', les 'Function'
III-C-1. Les instructions
III-C-2. Les procédures
III-C-3. Procédures liées aux évènements
III-C-4. Procédures non liées
III-C-5. Procédures 'Sub'
III-C-6. Procédures 'Function'
III-C-7. Module standard
III-C-8. Private Public
III-C-9. Remarques
III-C-10. Lexique anglais=>Français
III-D. Les modules
III-D-1. Qu'est ce qu'un module ?
III-D-2. Comment créer un module standard
III-D-3. Lexique anglais=>Français
III-E. Notion de programmation 'procédurale' et de programmation 'objet'
IDE
IV. Environnement de développement : les EDI/IDE
IV-A. IDE Visual Studio 2008 (Microsoft)
IV-A-1. Interface 'Windows Forms'
IV-A-2. Interface WPF
IV-A-3. Vb propose des aides
IV-B. Visual Basic 2010 Express
IV-B-1. Interface 'Windows Forms'
IV-B-1-a. Fenêtre Projet
IV-B-1-b. Créer ou ajouter une fenêtre 'WinForm'
IV-B-1-c. Le concepteur (Designer)
IV-B-1-d. Les procédures:
IV-B-1-e. Ajouter des contrôles au formulaire.
IV-B-1-f. Voir tous les composants d'un projet:
IV-B-1-g. Tester son logiciel
IV-B-1-h. Sauvegarde, Projet, chemin.
IV-B-1-i. Propriétés du projet
IV-B-1-j. Autre
IV-B-2. Interface WPF
IV-B-3. Vb propose des aides
IV-C. IDE SharpDevelop (logiciel libre en Open Spource)
IV-C-1. Où le trouver ? Comment l'installer ?
IV-C-2. Fenêtre Projet Windows Forms
IV-C-2-a. Dans un nouveau projet, créer une fenêtre
IV-C-2-b. Ajouter des contrôles au formulaire
IV-C-2-c. Modifier les propriétés d'un contrôle ou du formulaire
IV-C-2-d. Voir les procédures
IV-C-2-e. Voir tous les composants d'un projet, les classes.
IV-C-2-f. Remarque relative aux fenêtres de l'IDE
IV-C-3. Interface WPF
IV-C-10. Tester son logiciel
IV-C-11. Fichiers, Chemins des sources
IV-C-12. Propriétés du projet
IV-C-13. #Develop propose des aides
IV-C-14. Erreur de compilation
IV-C-15. Erreur d'exécution : Exceptions
IV-C-16. Débogage
IV-C-17. Conclusion
IV-C-18. J'ai besoin d'aide
Langage VB 1
V-A. Introduction
V-A-1. Les Classes du framework
V-A-2. Les instructions de Microsoft.VisualBasic
V-A-3. Saisir, Afficher
V-B. Les 'Algorithmes'
V-B-1. Pour écrire un programme
V-B-2. Définition de l'algorithme
V-B-3. Structures élémentaires:
V-B-3-a. Séquences
V-B-3-b. Variables, 'Type' de variable
V-B-3-c. Constantes
V-B-3-d. Affectation (ou Assignation)
V-B-3-e. Booléens
V-B-3-f. Choix : Si..Alors
V-B-3-g. Choix: Décider entre
V-B-3-h. Répétitions : Pour...Répéter
V-B-3-i. Répétitions : Tant que
V-B-3-j. Logique : Et, Ou, Non
V-B-3-k. Les Sauts
V-B-3-l. Programmation structurée
V-B-3-m. 'Sous-programme' ou 'procédure'
V-B-3-n. Tableaux
V-B-3-o. Collection
V-B-3-p. Pile et Queue
V-B-3-q. Liste Chaînée
V-B-3-r. Notion de Clé
V-B-3-s. Notion de Hachage
V-B-3-t. Arbre
V-B-3-u. Erreur d'exécution : Notion de 'Sécurisation' du code
V-B-3-v. Récursivité
V-B-3-w. Flag et variables d'état
V-B-3-x. Compilation, interprétation
V-B-4. Grandes stratégies.
V-B-5. Quelques algorithmes
V-B-5-a. Recherche dans un tableau
V-B-5-b. Tri de tableau
V-B-6. Lexique anglais=>Français
V-C. L'affectation
Langage VB 2
V-D. Les variables : généralités
V-D-1. Nom des variables
V-D-2. Déclaration, initialisation
V-D-3. En pratique : Exemple
V-D-4. Les différents types de variables
V-D-5. Les Boolean
V-D-6. Variable entière
V-D-7. Variable réelle
V-D-8. String, Char
V-D-9. Place occupée en mémoire
V-D-10. Type primitif, littéral
V-D-11. Nullable
V-D-12. Choix des noms de variables
V-E. Variables 'String' et 'Char'
V-E-1. Variables 'String'
V-E-1-a. La Classe System.String
V-E-1-b. Les instructions 'Visual Basic'
V-E-1-c. Un exemple
V-E-1-d. Comparaison de caractères (Option Compare)
V-E-1-e. Comparaison avec Equals et String.Compare
V-E-1-f. Unicode
V-E-2. Variables 'Char'
V-E-3. Et les Chaînes de longueur fixe
V-E-4. Regex, expressions régulières.
V-E-4-a. Principe du regex
V-E-4-b. Caractères pour modèle regex
V-E-4-c. Exemples
V-E-4-d. Divers utilisations de Regex
V-E-5. StringBuilder
V-F. Variables Numériques.
V-F-1. La Classe Math du Framework
V-F-2. Les instructions du langage VisualBasic
V-F-3. Dépassement de capacité, 'Non Nombre'
V-F-4. Problème de précision
V-F-5. BigInteger
V-F-6. Nombre Complexe
V-G. Conversion, séparateur décimal
V-G-1. Conversion numérique vers String
V-G-2. Conversion String vers numérique
V-G-3. Tous les modes de conversion
V-G-4. Pour résumer et faire très simple, retenir
V-G-5. Conversion Explicite et Implicite
V-G-6. Conversion restrictive, erreur
V-G-7. Erreur de dépassement de capacité dans les calculs
V-G-8. Séparateur décimal : le point, la virgule, Culture
V-G-9. IsNumeric
V-G-10. Lexique anglais=>Français
Langage VB 3
V-H. Les 'Tableaux'
V-H-1. Un tableau est un objet de type Array
V-H-2. Fonction avancées sur les tableaux
V-H-3. Exemple courant d'utilisation des tableaux
V-I. Les 'Collections'
V-I-1. Exemple simpliste
V-I-2. Classification des collections
V-I-3. ArrayList
V-I-4. List (Of)
V-I-5. HashTable
V-I-6. Dictionnary (Of)
V-I-7. SortedList SortedList (Of)et SortedSet
V-I-8. Queue
V-I-9. Stack
V-I-10. Les LinkedList (Of)
V-I-11. HashSet (Of)
V-I-12. BitArray
V-I-13. StringCollection
V-I-14. ObservableCollections, SortedSet(Of T)
V-I-15. Généralisation de la notion de collection
V-I-16. Pourquoi le premier élément est-il 0 ou 1 ?
V-I-17. Exemples sur les collections
V-I-18. Lexique anglais=>Français
V-J. Les 'Structures'
V-J-1. Tableau dans une structure
V-J-2. Allons plus loin
V-J-2-a. Les structures sont des types 'valeur'
V-J-2-b. Les structures peuvent contenir plein de choses
V-J-2-c. Portée
Langage VB 4
V-K. Type valeur ou référence
V-K-1. La variable 'par Valeur'
V-K-2. La variable 'par Référence'
V-K-3. Influence sur l''Affectation'
V-K-4. Copie d'objet By Ref: exemple des Tableaux
V-K-5. Le cas particulier des 'String'.
V-K-6. Déclaration avec New ?
V-K-7. Valeur après déclaration
V-K-8. Comparaison
V-K-9. IsReference
V-L. Variable 'Object' et autre type
V-L-1. Le Type 'Object'
V-L-1-a. Comment utiliser les propriétés d'un objet ?
V-L-1-b. Comparaison d'objets
V-L-1-c. Nothing
V-L-2. Les variables d'autres types
V-L-3. Utilisez donc des variables le plus typées possible
V-L-4. Attention quand on met un objet dans une variable objet
V-M. Variable Booléenne
V-M-1. Introduction
V-M-2. Les booléens
V-M-3. Les conditions
V-M-4. Les opérateurs logiques
V-N. Soyons strict et explicite (et Compare et Infer ?)
V-N-1. Notion de conversion Explicite et Implicite
V-N-2. Comment modifier une option ?
V-N-3. Option Strict
V-N-3-a. Conversions implicites
V-N-3-b. Conversions String-numérique
V-N-3-c. Liaisons tardives
V-N-3-d. VB rapide ?
V-N-4. Option Explicit
V-N-5. Option strict et Explicit dans un module
V-N-6. Option Compare
V-N-7. Option Infer
Langage VB 5
V-O. Les constantes, les énumérations
V-O-1. Constantes
V-O-1-a. Intérêts des constantes ?
V-O-1-b. Constantes prédéfinies de VB
V-O-1-c. True False
V-O-2. Énumération
V-O-3. Les énumérations VB.NET
V-O-3-a. ControlChars
V-O-3-b. Couleurs
V-O-3-c. Math
V-O-3-d. Touche du clavier dans le Framework
V-O-3-e. Autre exemple
V-P. Les opérateurs
V-P-1. Addition : +
V-P-2. Soustraction : -
V-P-3. Multiplication : *
V-P-4. Division : /
V-P-5. Division entière: \
V-P-6. Puissance : ^
V-P-7. Modulo : Mod
V-P-8. Concaténation : &
V-P-9. Priorités
V-P-10. Comparaison
V-P-11. Logique : Not And Or ElseOr Xor
V-P-11-a. Si A et B sont des expressions booléennes
V-P-11-b. Si A et B sont des nombres (Integer par exemple)
V-P-11-c. Les opérateurs And, Or et Xor sont évalués en fonction du type des opérandes
V-P-11-c-i. Pour le type Boolean
V-P-11-c-ii. Pour les types Byte, Short, Integer, Long et tous les types énumérés
V-P-12. Déplacement de bits
V-P-13. Remarque 1 : Allons plus loin avec / et \
V-P-14. Remarque 2 : Division par zéro
V-Q. Les structures de contrôle : Choix et boucles
V-Q-1. If Then
V-Q-2. Select Case
V-Q-3. For Next
V-Q-4. Do Loop
V-Q-5. While End While
V-Q-6. For Each
V-Q-7. Switch
V-Q-8. IIF
V-R. Les procédures et leurs paramètres
V-R-1. Les parenthèses
V-R-2. Par Valeur, Par Référence
V-R-3. Par Défaut, que se passe-t-il ?
V-R-4. Optional
V-R-5. Tableau de paramètres
V-R-6. ParamArray
V-R-7. Portée des procédures
V-R-8. Nommage
V-S. Portée des variables
V-S-1. Dans les procédures
V-S-2. Dans un bloc d'instructions
V-S-3. Dans la section déclaration d'un Module
V-S-4. Dans la section déclaration d'une fenêtre, d'un formulaire
V-S-5. En pratique
V-S-6. En général
Langage VB 6
V-T. Les nombres aléatoires
V-T-1. Avec la classe 'Random' du Framework
V-T-2. Avec les instructions Rnd() et Randomize() de Visual Basic.Net
V-T-3. En cryptographie avec le Framework
V-T-4. Un peu de théorie
V-U. La 'Récursivité'
V-U-1. Règles fondamentales d'une fonction récursive
V-U-2. Exemple 1 : Inversion de chaînes
V-U-3. Exemple 2 : Calcul de 'Factorielle'
V-U-4. Exemple 3 : Calcul d'une expression avec parenthèses multiples
V-U-5. Exemple 4 : PGCD
V-U-6. Exemple 5 : Tri récursif
V-U-7. Exemple 6 : Parcours de répertoires et de sous répertoires
V-U-8. Exemple 7 : Évaluation d'un nombre écrit en chiffres romains
V-U-9. Exemple 8 : Suite de Fibonacci
V-U-10. Exemple 9 : Fractales
V-U-11. Autre
V-V. Faut-il oublier le GoTo ?
V-V-1. Le 'Goto'
V-V-2. Pourquoi éviter le 'GoTo'
V-V-3. Quand utiliser le 'GoTo'
V-W. Les bases binaires, hexadécimales, l'algèbre de Boole
V-W-1. Introduction
V-W-2. Notions théoriques
V-W-3. Pratique en Visual Basic
V-W-4. Viewer hexadécimal
V-W-5. Éditeur hexadécimal
Langage VB 7
V-X. Les génériques
V-X-1. Définition
V-X-2. Intérêts des génériques ?
V-X-3. Usage des génériques
V-Y. Linq
V-Y-1. Définition, mise en place
V-Y-2. Principe d'une requête Linq
V-Y-3. Link et les tableaux d'Integers
V-Y-4. Link et les chaînes de caractères
V-Y-5. Link et les mots d'une chaîne de caractères
V-Y-6. Link pour rechercher la différence entre deux listes de noms
V-Y-7. Link et les contrôles
V-Y-8. Inference de Type et type anonyme
V-Z. Les 'Region', compilation conditionnelle, 'Attributs'
V-Z-1. Les Régions
V-Z-2. La Compilation conditionnelle
V-Z-3. Les Attributs
V-AA. Traiter les erreurs
V-AA-1. Les erreurs de syntaxe
V-AA-2. Les erreurs d'exécution
V-AA-3. Les erreurs de logique
V-AA-4. Les Tests
Langage VB 8
V-AB. Travailler sur les dates, les heures, sur le temps
V-AB-1. Définir une date, une heure
V-AB-2. Afficher une date, une heure
V-AB-3. Variable "temps"
V-AB-4. Add, Substrat
V-AB-5. AddDay, AddMouths, AddHours, AddSeconds, AddMiliseconds
V-AB-6. Year, Mouth, Day, Hour, Minute, Seconde, Millisecond
V-AB-7. DayOfWeek, DayOfYear, DayInMonth
V-AB-8. Now, ToDay, TimeOfDay
V-AB-9. Ticks
V-AB-10. Année bissextile, jours fériers
V-AB-11. Comparaison de DateTime
V-AB-12. Calcul de la différence entre deux dates
V-AB-13. Comment saisir rapidement une date dans un programme ?
V-AB-14. Fuseau horaire
V-AB-15. Les Timers
V-AB-16. Perdre du temps
V-AB-17. Chronométrer
V-AB-18. Exemple: Horloge numérique
V-AC. Lire et écrire dans les fichiers (séquentiels ou aléatoires)
V-AC-1. Généralités et rappels
V-AC-2. Classe FileInfo et File, Stream du Framework
V-AC-3. Classe My.Computer.FileSystem
V-AC-4. Utiliser les "Stream" du Framework
V-AC-5. Utiliser "FileOpen" du VisualBasic
V-AC-5-a. Fichier séquentiel en VB
V-AC-5-b. Fichier à accès aléatoire en VB
V-AC-5-c. Fichier binaire en VB
V-AC-6. Utilisation du Contrôle RichTextBox
V-AC-7. Lire ou écrire des octets ou du XML
V-AC-8. Boîte de dialogue pour choix de fichier
V-AC-9. Stream et fichier aléatoire avec structure
V-AD. Travailler sur les répertoires et fichiers
V-AD-1. Classe DirectoryInfo et la Classe Directory du Framework
V-AD-2. Classe Path
V-AD-3. Classe DriveInfo
V-AD-4. Classe Environment
V-AD-5. Classe My.Computer.FileSystem en VS 2005
V-AD-6. Les méthodes de l'espace Visual Basic
V-AD-7. Boîte de dialogue 'Choix de répertoire' en VB2005
V-AD-8. Parcours de répertoires et de sous répertoires
V-AD-9. Fichiers et répertoires avec Linq
V-AE. Afficher correctement du texte
V-AE-1. Remarque sur la mise à jour de l'affichage
V-AE-2. Afficher du texte
V-AE-2-a. ToString
V-AE-2-b. Str() de Microsoft.VisualBasic est toujours accepté
V-AE-2-c. String.Format du Framework
V-AE-3. CultureInfo
V-AF. Méthode d'extension, Lambda expression
V-AG. L'espace de nom 'My'.
V-AG-1. My.Application
V-AG-2. My.Computer
V-AG-3. My.User
V-AG-4. My.Ressources
V-AG-5. My.Setting
V-AG-6. My.Forms
Classes
VI. Classes
VI-A. Espace de noms, Classes, Objet
VI-A-1. Classes
VI-A-2. Essayons de comprendre
VI-A-2-a. Détails en VB 2003
VI-A-2-a-i. Les Références
VI-A-2-a-ii. Importation d'espace de noms
VI-A-2-b. Détails en VB 2005 2008 2010
VI-A-2-b-i. Les Références
VI-A-2-b-ii. Importation d'espace de noms
VI-A-2-b-iii. Portée de l'espace de noms
VI-A-2-b-iiii. Propriété ambiguë
VI-A-2-b-iiiii. Alias
VI-A-2-b-iiiiii. Héritage
VI-A-2-b-iiiiiii. Membre d'instance et membre partagé
VI-A-2-b-iiiiiiii. Classes statiques ou non
VI-B. Les différentes Classes, le Framework
VI-B-1. Les différentes 'Classes'
VI-B-1-a. Les classes du Framework fournies par Microsoft avec VB
VI-B-1-b. Les classes fournies par des tiers
VI-B-1-c. Les Classes écrites par le programmeur
VI-B-2. Dans Visual Basic.Net
VI-B-3. Lors de la création d'un nouveau projet
VI-B-4. Framework 1, 2, 3, 3.5, 4.
VI-C. Le CLR
VI-D. Procédures évènement, surcharge de méthode
VI-D-1. Évènement et procédure évènement
VI-D-2. Différentes méthodes pour gérer les évènements
VI-D-3. Surcharge de Méthode
VI-E. L'écriture 'Compact'
VI-F. Notion de flux ou 'Stream'
Exemples
VII-A. Petites routines sur les chaînes de caractères
VII-A-1. Une string 'Nom' contient un nom, mettre si nécessaire la première lettre en majuscule
VII-A-2. Comment voir si un caractère est une voyelle
VII-A-3. Comment éliminer une combinaison bien précise de caractères en début de chaîne
VII-A-4. Vous avez une chaîne de caractères : comment afficher le premier caractère, puis les 2 premiers, puis 3... ?
VII-A-5. Vous avez deux chaînes de caractères : comment savoir si la seconde est un anagramme de la première ?
VII-A-6. Compter combien de fois un mot apparaît dans un texte
VII-B. Petits programmes de mathématiques
VII-B-1. Calcul de l'hypoténuse d'un triangle rectangle
VII-B-2. Somme de N entiers
VII-B-3. Afficher les tables de multiplications
VII-B-4. Trouver la valeur la plus élevée d'un tableau d'entiers
VII-B-5. Factorielle
VII-B-6. Factorielle avec 'Récursivité'
VII-B-7. Un nombre est-il premier ?
VII-B-8. Décomposition en nombre premier
VII-B-9. Diviseurs d'un nombre
VII-C. Travail sur les tableaux et collections (tri, recherche, insertion, effacement d'éléments)
VII-C-1. Utiliser les Tableaux
VII-C-1-a. Trier un tableau
VII-C-1-b. Rechercher un élément dans un tableau
VII-C-1-c. Effacer, insérer un élément dans un tableau
VII-C-2. Utiliser les Collections
VII-C-2-a. Trier une collection
VII-C-2-b. Rechercher un élément dans une collection
VII-C-2-c. Effacer, insérer un élément dans une collection
VII-C-3. Différences tableau/collection
VII-C-4. Utilisation particulière des tableaux
VII-D. Calculs financiers simples
VII-D-1. Conversion Francs=>Euros
VII-D-2. Coût d'augmentation de la vie
VII-D-3. Remboursement d'un prêt
Exercices
VII-E. Contrôle des connaissances
VII-E-1. Exercices sur les variables
VII-E-2. Exercices sur les Strings et Char
VII-E-3. Exercices sur les nombres
VII-E-4. Exercices nombres-String
VII-E-5. Exercices sur les boucles
VII-E-6. Exercice sur les structures et tableaux
VII-E-7. Exercice sur les collections
VII-E-8. Exercices sur les fonctions et paramètres
WinForms 1
VIII-A. Différentes interfaces utilisateur: Console, Windows Forms, WPF.
VIII-B. Interface utilisateur Windows Forms et 'Control'
VIII-B-1. En pratique, comment créer l'interface utilisateur ?
VIII-B-2. La Classe 'Control'
VIII-B-3. Évènements liés aux objets avec représentation visuelle
VIII-B-4. En résumé
VIII-C. Les fenêtres ou 'Formulaires'
VIII-C-1. Créer une fenêtre en mode conception
VIII-C-2. Propriétés
VIII-C-3. Ouvrir un formulaire
VIII-C-4. Fermer un formulaire
VIII-C-5. Évènements
VIII-C-6. Méthodes
VIII-C-7. Form et code généré par vb
VIII-C-8. Formulaire d'avant plan, Barre de tache.
VIII-C-9. Formulaire non rectangulaire
WinForms 2
VIII-D. Les 'Boutons'
VIII-D-1. Créer un bouton
VIII-D-2. Modifier ses propriétés
VIII-D-3. Utiliser les évènements
VIII-D-4. Créer un bouton Ok ou Cancel
VIII-D-5. Couleur transparente dans les images des boutons
VIII-D-6. Utilisation avancée : Créer de magnifiques boutons à partir de VB2005
VIII-D-7. Utilisation avancée : Création d'un bouton par code
VIII-E. Les 'TextBox'
VIII-E-1. Les contrôles TextBox
VIII-E-1-a. Propriétés
VIII-E-1-b. Validation de saisie
VIII-E-2. Le contrôle RichTextBox
VIII-E-3. Le contrôle MaskedTextBox (VB Framework 2)
VIII-F. Les 'Labels'
VIII-F-1. Les labels
VIII-F-2. Les LinkLabel
VIII-G. Les cases à cocher
WinForms 3
VIII-H. Les 'Listes'
VIII-H-1. Les 'ListBox'
VIII-H-1-a. Pour ajouter ou supprimer des éléments dans un contrôle ListBox
VIII-H-1-b. Vider la ListBox
VIII-H-1-c. Ajouter un ou des éléments
VIII-H-1-d. Charger dans une ListBox1 les nombres de 1 à 100
VIII-H-1-e. Comment enlever des éléments ?
VIII-H-1-f. Comment lire l'élément 3 ?
VIII-H-1-g. Comment rechercher l'élément qui contient une chaîne de caractères ?
VIII-H-1-h. Comment sélectionner un élément par code ?
VIII-H-1-i. L'utilisateur double-clique sur l'un des éléments, comment récupérer son numéro ?
VIII-H-1-j. Et la multi sélection, quels éléments ont été sélectionnés ?
VIII-H-1-k. On peut 'charger' une ListBox automatiquement avec un tableau en utilisant Datasource
VIII-H-1-l. Comment 'charger' une ListBox automatiquement à partir d'un fichier texte
VIII-H-1-m. Comment connaître l'index de l'élément que l'on vient d'ajouter (et le sélectionner) ?
VIII-H-1-n. Comment affecter à chaque élément de la liste un numéro, une clé ?
VIII-H-1-o. Comment, à partir des coordonnées de la souris, connaître l'élément de la liste qui est survolé ?
VIII-H-1-p. Trier les items de la ListBox
VIII-H-1-q. Modifier l'affichage des Items dans une ListBox
VIII-H-2. Les CheckedListBox
VIII-H-3. Les ComboBox
VIII-H-4. Le Contrôle ListView
VIII-H-4-a. ListView détails
VIII-H-4-b. Liste d'icônes
VIII-H-5. Le Contrôle DomainUpDown
VIII-H-6. Le Contrôle TreeView
VIII-H-7. Annexe : Afficher des images dans un ListView
VIII-I. Fenêtres toutes prêtes (MessageBox...)
VIII-I-1. MessageBox du Framework
VIII-I-2. MsgBox du Visual Basic
VIII-I-3. InputBox
VIII-I-4. OpenFileDialog
VIII-I-5. SaveFileDialog
VIII-I-6. FolderBrowserDialog
VIII-I-7. FontDialog
VIII-I-8. ColorDialog
VIII-I-9. Créer une boite 'de dialogue' ou 'A propos de'
VIII-J. Regroupement de contrôles 'Groupe de contrôles'
VIII-J-1. GroupBox et Panel
VIII-J-2. PictureBox
VIII-J-3. TabControl
VIII-J-4. SplitContainer
VIII-J-5. LayoutPanel
VIII-J-6. Comment remplacer les groupes de contrôles de VB6 qui n'existent plus en VB.Net?
VIII-J-6-a. Évènement commun
VIII-J-6-b. Comment travailler sur plusieurs contrôles ?
VIII-K. Dimensions, position des contrôles
VIII-K-1. Unité de mesure
VIII-K-2. Position initiale dans l'écran d'un formulaire
VIII-K-3. Taille et position d'un formulaire ou d'un contrôle
VIII-K-4. Redimensionnement de fenêtre par l'utilisateur
VIII-K-5. Déplacement
VIII-K-6. Coordonnées souris
VIII-K-7. Anchor
VIII-K-8. Dock
VIII-K-9. Spliter
WinForms 4
VIII-L. Main Menu, ContextMenu
VIII-L-1. MainMenu en Vb 2003
VIII-L-2. Menu Contextuel Vb 2003
VIII-L-3. MenuStrip de Vb 2005
VIII-L-4. ContextMenuStrip de Vb 2005
VIII-M. Avoir le Focus
VIII-M-1. Comment donner le focus à une fenêtre ?
VIII-M-2. Comment donner le focus à un contrôle ?
VIII-M-3. Prise ou perte du focus
VIII-M-4. La touche TAB pour passer d'un contrôle à l'autre
VIII-M-5. Raccourcis clavier
VIII-N. Barre de boutons, barre de status
VIII-N-1. La barre de boutons: ToolBar en VB 2003 (ne plus utiliser)
VIII-N-2. Contrôle StatusBar en VB 2003 (ne plus utiliser)
VIII-N-3. ToolStrip en VB 2005
VIII-N-4. StatuStrip en VB 2005
VIII-O. Les images
VIII-O-1. Le contrôle 'PictureBox'
VIII-O-2. La propriété 'Image' des contrôles
VIII-O-3. Le contrôle ImageList
WinForms 5
VIII-P. Couleurs et Font
VIII-P-1. Les couleurs
VIII-P-1-a. Généralités
VIII-P-1-b. Enumération Color
VIII-P-1-c. Rouge, vert, bleu
VIII-P-1-d. Couleurs 'System'
VIII-P-1-e. Couleur dans les objets
VIII-P-1-f. Choix d'une couleur par l'utilisateur
VIII-P-2. Police de caractères (ou Font)
VIII-Q. Grille ou Grid
VIII-Q-1. Contrôles Freeware à télécharger, c'est du '.Net'
VIII-Q-1-a. 'LameGrid'en français +++++
VIII-Q-1-b. Autre
VIII-Q-2. 'DataGridView' à partir de VB 2005
VIII-Q-3. MsFlexGrid de VB6 et DataGrid de 2003(pour mémoire)
VIII-R. ProgressBar
VIII-R-1. ProgressBar de VB 2003
VIII-R-2. ProgressBar de VB 2005
VIII-S. Créer des contrôles par code
VIII-S-1. Créer par code des contrôles
VIII-S-2. Ajouter des évènements
VIII-S-3. Menu par code
VIII-T. Mise à jour et vitesse de l'affichage
Programmation Procédurale
IX. Programmation procédurale
IX-A. La programmation procédurale
IX-A-1. Comment créer un module standard, une Sub ?
IX-A-2. Exemple d'utilisation de procédures et de modules
IX-B. Exemple : Calcul de l'IMC
IX-B-1. Qu'est-ce que l'IMC ?
IX-B-2. Quel est le cahier des charges du programme ?
IX-B-3. Création de l'interface
IX-B-4. Structuration
IX-C. Exemple : Conversion Francs/Euros
IX-D. Exemple : Calcul d'un prêt (les fonctions financières de VB)
IX-E. Ordre des instructions dans un module : résumé
WinForms suite 1
X-A. Démarrer, arrêter un programme : Sub Main(), fenêtre Splash
X-A-1. Démarrer par un formulaire
X-A-2. Démarrer par Sub Main()
X-A-3. Fenêtre Splash
X-A-4. Comment arrêter le programme ?
X-A-5. Fin de programme : Attention !
X-B. Ouvrir plusieurs formulaires
X-B-1. Créer un formulaire en VB 2003
X-B-2. Créer un formulaire en VB 2005
X-B-3. Formulaire modal ou non modal
X-B-4. Dénomination des formulaires après leur création
X-B-5. Autres remarques sur les formulaires
X-B-5-a. Un formulaire est un objet : On peut ajouter des méthodes et des membres à un formulaire
X-B-5-b. Exemple plus complet : Afficher un formulaire
X-B-5-c. Récupération d'informations par DialogResult
X-B-5-d. Bouton par défaut
X-C. Faire communiquer les formulaires
X-C-1. Comment, à partir du premier formulaire, consulter un objet du second formulaire ?
X-C-1-a. En VB 2003 2005 2008 si on instancie le formulaire
X-C-1-a-i. Première solution
X-C-1-a-ii. Seconde solution
X-C-1-a-iii. Troisième solution
X-C-1-a-iv. Quatrième solution
X-C-1-b. En VB 2005, sans instanciation de formulaire
X-C-2. Comment, à partir du formulaire 'secondaire', connaître le formulaire 'propriétaire' ?
X-C-3. Les formulaires ouverts à partir de VB 2005
X-C-4. Utilisation de DialogResult
X-D. Créer une fenêtre 'multi documents'
X-D-1. Comprendre les programmes MDI
X-D-2. En VB 2003
X-D-2-a. Création de la fenêtre conteneur parent
X-D-2-b. Création des fenêtres filles
X-D-2-c. Comment connaître la fenêtre fille active ?
X-D-2-d. Comment avoir accès aux objets de la fenêtre fille à partir du conteneur ?
X-D-2-e. Comment parcourir toutes les fenêtres filles ?
X-D-2-f. Comment fermer toutes les fenêtres enfants ?
X-D-2-g. Comment avoir accès aux objets du conteneur à partir de la fenêtre fille ?
X-D-2-h. Comment une routine du module conteneur appelle une routine dans la fenêtre fille active ?
X-D-2-i. Agencement des fenêtres filles
X-D-3. En VB 2005 2008
WinForms suite 2
X-E. Modifier le curseur, gérer la souris
X-E-1. Apparence du curseur
X-E-2. Curseur sur un contrôle
X-E-3. La souris
X-E-4. Exemples
X-F. Lancer une autre application, afficher une page Web
X-F-1. L'ancienne méthode VisualBasic toujours valable : Shell
X-F-2. On peut utiliser la Classe 'Process' du Framework
X-G. Dessiner
X-G-1. Sur quoi dessiner ?
X-G-2. Comment dessiner ?
X-G-3. Travailler sur un Objet Image
X-G-4. Comment voir un Graphics ?
X-G-5. Un exemple : Afficher un texte en 3D
X-G-6. Espace de noms
X-G-7. Programme simple de dessin
X-G-8. Faire un graphique
X-H. Imprimer
X-H-1. Avec PrintDocument
X-H-1-a. Imprimer 'Hello' avec le composant 'PrintDocument'
X-H-1-a-i. Imprimer un dessin
X-H-1-a-ii. Afficher un Message Box indiquant 'Fin d'impression'
X-H-1-b. Même programme : Imprimer 'Hello' mais avec la Classe PrintDocument
X-H-1-b-i. Comment choisir l'imprimante ?
X-H-1-b-ii. Comment modifier la page à imprimer ?
X-H-1-c. Prévisualisation de la page à imprimer ?
X-H-1-d. Construction d'une application d'impression complexe
X-H-1-e. Propriétés du 'PrintDocument'
X-H-1-f. Imprime le formulaire en cours
X-H-1-g. Imprime un contrôle DataGrid
X-H-2. Imprimer comme en VB6 avec un objet 'Printer'
WinForms suite 3
X-I. Faire une aide pour l'utilisateur
X-I-1. Généralisées sur les 4 sortes d'aide
X-I-2. Les fichiers d'aide
X-I-3. Utilisation des fichiers d'aide
X-I-3-a. Appel direct
X-I-3-b. Appel par F1
X-I-3-c. Utilisation du bouton d'aide
X-I-3-d. Utilisation des info bulles: ToolTip
X-I-3-e. Utilisation d'ErrorProvider
X-J. Appeler une API
X-J-1. Appel d'une fonction dans une API
X-J-2. Les API Windows
X-J-3. Autre exemple classique
X-K. Faire du glisser déplacer (Drag & Drop)
X-K-1. Exemple N° 1 (simple)
X-K-2. Exemple N° 2 (plus complexe)
X-L. Utiliser le 'Registre'
WinForms suite 4
X-M. Utiliser le 'Presse papier'
X-M-1. En VB 2003 (Framework 1)
X-M-1-a. Mettre dans le presse papier
X-M-1-b. Récupérer du presse papier
X-M-1-c. Exemple
X-M-1-d. Alternative
X-M-2. My.Computer.Clipboard à partir de VB 2005
X-M-3. TextBox et couper-coller
X-N. Paramètres de configuration (App.ini, registre, App.config)
X-N-1. Les Fichiers
X-N-2. Fichiers .INI
X-N-3. Registre
X-N-4. Fichier de configuration App.Config File de VB2003 (Framework 1)
X-N-5. Configuration par paramètres Settings de VB2005 (Framework 2)
X-N-6. Liaison propriétés-Settings de VB2005 (PropertyBinding)
X-O. Utiliser les 'Ressources'
X-O-1. Intérêt des ressources ?
X-O-2. Les types de ressources ?
X-O-3. Voir les ressources
X-O-4. Ajouter des ressources
X-O-5. Où se trouvent les ressources
X-O-6. Modifier une ressource
X-O-7. Utiliser une ressource dans le programme
X-O-8. Ressources localisées
X-O-9. Ressources liées ou incorporées
X-O-10. Comment cela marche ?
X-P. Où mettre les programmes et les données
X-P-1. Il faut séparer les données des programmes !!!
X-P-2. Sécurité
X-P-3. Quels répertoires utiliser ?
X-P-4. Obtenir le répertoire de l'exécutable et des données
X-P-5. Droits d'accès utilisateur dans Vista et Windows 7 : l'UAC
WinForms suite 5
X-Q. Choisir une icône, utiliser la barre de tâches - Créer un raccourci, lancer au démarrage
X-Q-1. Icône de l'application
X-Q-2. Bouton dans la barre des tâches
X-Q-3. Icône dans la barre de processus : NotifyIcon
X-Q-4. Créer un raccourci sur le bureau
X-Q-5. Lancer le programme au démarrage de Windows
X-Q-6. Interdire de démarrer le programme dans une plage horaire.
X-R. Multithreads
X-R-1. Un Thread, c'est quoi ?
X-R-2. Comment ajouter un Thread d'arrière plan ?
X-R-3. État d'avancement
X-R-4. Arrêter le thread en cours
X-R-5. Résultat retourné par le thread d'arrière plan
WPF 1
XI-A. Définition : WPF, XAML, SilverLight
XI-B. Créer une interface WPF avec Expression Blend
XI-B-1. Ouvrir Expression Blend
XI-B-2. Écrire du code VB
XI-B-3. Passer l'interface dans VB
XI-C. Créer une interface WPF avec Visual Studio
XI-D. Le XAML
XI-D-1. Définition du XAML
XI-D-2. Balisage
XI-D-3. Case, espace, tabulation
XI-D-4. Attribut, Propriété
XI-D-5. Élément racine
XI-D-6. Code 'Behind', évènements
XI-D-7. Extension de balisage
XI-D-8. Espace de noms
XI-D-9. Remarque importante
WPF 2
XI-E. Grands Principes
XI-E-1. La Classe 'Controls'
XI-E-1-a. Créer un contrôle
XI-E-1-b. Particularités des contrôles WPF
XI-E-1-c. Évènements
XI-E-1-d. Principaux contrôles
XI-E-2. Les applications WPF
XI-E-3. Les formulaires WPF
XI-E-4. Positionnement, dimensions des contrôles
XI-E-4-a. Hiérarchie des contrôles
XI-E-4-b. Position et dimensions d'un contrôle
XI-E-5. Aspect des contrôles
XI-E-5-a. Propriétés des contrôles
XI-E-5-b. Contrôle contenant des contrôles
XI-E-5-c. Aspect visuel des contrôles : Template visuel
XI-E-5-d. Modification du Bitmap d'un contrôle
XI-E-6. Remplissage de surface
XI-E-6-a. SolidColorBrush
XI-E-6-b. LinearGradientBrush
XI-E-6-c. RadialGradientBrush
XI-E-6-d. ImageBrush
XI-E-6-e. Autre
XI-E-7. Ressources
XI-E-7-a. Ressources 'internes'
XI-E-7-a-i. Ressources 'simples'
XI-E-7-a-ii. Les Styles
XI-E-7-a-iii. Les modèles de Contrôle : Control Template'
XI-E-7-a-iv. Les modèles de Données : Data Template
XI-E-7-b. Les fichiers de ressources externes
XI-E-8. Les liaisons de données ou Binding
XI-E-8-a. Principes du Binding
XI-E-8-b. Liaison entre contrôles
XI-E-8-c. Liaison Collection-ListBox et Tableau-ListBox
XI-E-8-d. Liaison avec une collection d'objets
XI-E-8-e. Liaison avec une base de données
XI-E-9. Les Triggers
WPF 3
XI-F. Les différents contrôles
XI-F-1. Les Conteneurs
XI-F-1-a. Les Grid
XI-F-1-b. Les StackPanel
XI-F-1-c. Les WrapPanel
XI-F-1-d. Les DockPanel
XI-F-1-e. Les Canvas
XI-F-2. Les Boutons et RepeatButton
XI-F-2-a. Les 'Button'
XI-F-2-b. RepeatButton
XI-F-3. Les contrôles contenant du texte
XI-F-3-a. Les Labels
XI-F-3-b. Les TextBlock
XI-F-3-c. Les TextBox
XI-F-3-d. Les RichTextBox
XI-F-3-e. Les PasswordBox
XI-F-4. Les cases à cocher et RadioButton
XI-F-4-a. Case à cocher
XI-F-4-b. RadioButton
XI-F-5. Les Listes
XI-F-6. Les boîtes de dialogue
XI-F-6-a. MessageBox
XI-F-6-b. InputBox
XI-F-6-c. PrintDialog
XI-F-6-d. OpenFileDialog
XI-F-6-e. SaveFileDialog
XI-F-6-f. FolderBrowserDialog
XI-F-7. Les Menus et ToolBar
XI-F-8. Les DataGrid
XI-F-7-a. Le DataGrid des WindowsForms
XI-F-7-b. Le DataGrid WPF
Débogage
XII. Débogage
XII-A. Débogage (rechercher les 'Bugs')
XII-B. Suspendre l'exécution en vb 2008
XII-C. Débogage pas à pas en vb 2008
XII-C-1. Comment voir rapidement la valeur des propriétés ou de variables ?
XII-C-2. Modification du code source
XII-D. Débogage en vb 2010
XII-E. Sortie des informations de débogage
XII-E-1. Objet Console
XII-E-2. Objet Debug
XII-E-3. Trace
XII-E-4. Mode 'Trace', 'Release', 'Debug'
XII-F. Comprendre les 'Messages d'erreur'
XII-F-1. Instance d'objet
XII-F-2. Membre absent
XII-F-3. Type Attendu
XII-F-4. Identificateur attendu
Fonctionnement
XIII. Comprendre le fonctionnement de VB
XIII-A. Comprendre le fonctionnement de VB.net
XIII-A-1. Le Framework.NET le CLR
XIII-A-2. Inconvénients ?
XIII-A-3. Intérêts ?
XIII-A-4. Revoyons en détails le contenu du Framework
XIII-A-5. Framework 1, 2, 3, 3.5, 4
XIII-A-6. Code managé
XIII-A-7. Garbage Collector
XIII-A-8. Compilation
XIII-A-9. Comment voir le code source, le code IL, le code exécutable ?
XIII-A-10. Installation du Framework
XIII-B. Comprendre le code crée par VB
XIII-B-1. Code généré automatiquement lors de la création d'un formulaire ou d'un contrôle
XIII-B-2. Substitution de procédures évènement
XIII-C. Les délégués, les évènements
XIII-C-1. Définition
XIII-C-2. Création d'un délégué avec 'Delegate'
XIII-C-3. Délégué et appel asynchrone
XIII-C-4. Délégué et évènement
Diffuser
XIV. Diffuser le programme
XIV-A. Assembly
XIV-A-1. Assembly : définition, composition
XIV-A-2. Les propriétés de l'assembly
XIV-A-3. Le manifeste
XIV-B. Distribuer l'application
XIV-B-1. Introduction
XIV-B-2. Avant de 'Publier'
XIV-B-3. Comment installer simplement un programme chez l'utilisateur ?
XIV-B-4. Créer un programme d'installation classique en VB 2003 (de type Windows Installer)
XIV-B-5. Créer un programme d'installation 'ClickOnce' en VB 2005
XIV-B-6. Autres installateurs:
XIV-C. Exemples de petites applications par Microsoft
POO 1
XV-A. Programmation orientée objet, Propriétés des Classes (Rappel)
XV-A-1. Interface et Implémentation
XV-A-2. Encapsulation
XV-A-3. Héritage
XV-A-4. Polymorphisme
XV-A-5. Constructeur, destructeur
XV-A-6. Accesseur, mutateur
XV-A-7. Déclaration, instanciation
XV-A-8. Propriétés, Méthodes
XV-A-9. Les Classes : elles sont 'By Ref'
XV-A-9-a. Création de variable objet
XV-A-9-b. Affectation
XV-A-9-c. Comparaison
XV-A-10. Nommage
XV-B. Créer une Classe
XV-B-1. Création de Classe
XV-B-1-a. Revenons une nouvelle fois sur la notion de Classe et d'Objet
XV-B-1-b. Créer une Classe
XV-B-1-c. Ajouter des variables dans une classe
XV-B-1-d. Ajouter des propriétés grâce à 'Property'
XV-B-1-e. Méthode
XV-B-1-f. Récapitulatif Property, méthodes
XV-B-1-g. Constructeur
XV-B-1-h. Destructeur
XV-B-1-i. Surcharge
XV-B-1-j. Évènement
XV-B-1-k. Exception
XV-B-1-l. Les Classes partielles
XV-B-1-m. Méthode partielles
XV-B-2. Classe suite et astuces
XV-B-2-a. Me, My, MyClass, MyBase
XV-B-2-b. Propriété par défaut
XV-B-2-c. Méthode de Classe avec Shared
XV-B-2-d. Création d'un compteur d'instances
XV-B-2-e. Création d'un identifiant unique d'instance
XV-B-2-f. Singleton
XV-B-2-g. Surcharge d'opérateur
XV-B-2-h. Surcharge de ToString
XV-C. Créer un composant (Bibliothèque de Classe et de Contrôles)
XV-C-1. Créer une Bibliothèque de classes
XV-C-1-a. Namespace
XV-C-1-b. Utilisation du composant
XV-C-2. Créer un 'contrôle utilisateur' à partir d'un contrôle existant en le modifiant
XV-C-3. Créer un 'contrôle utilisateur' contenant un ou plusieurs contrôles pilotés
POO 2
XV-D. Les interfaces
XV-D-1. Définition : Interface et implémentation
XV-D-2. Les interfaces présentes dans les classes du Framework
XV-D-3. Les interfaces créées par le programmeur
XV-E. L'héritage
XV-E-1. Définition de l'héritage
XV-E-2. Membres de la classe dérivée
XV-E-2-a. Redéfinition de membres (Overrides)
XV-E-2-b. Surcharge de membres (Overloads)
XV-E-2-c. Cacher un membre de la classe de base (Shadows)
XV-E-2-d. Classe abstraite
XV-E-3. MyBase
XV-E-4. Constructeur dans une classe fille
XV-E-5. Héritage successif : exemple
XV-E-6. Création de classes à partir de classes du Framework
XV-E-7. Création de composants et héritage
XV-F. Les espaces de noms, portée des classes et membres (friend protected public private)
XV-F-1. Intérêts des espaces de noms (NameSpace)
XV-F-2. Pour créer une classe dans un espace de noms
XV-F-3. Portée des Classes, procédures, membres
POO 3
XV-G. Composition et groupe d'objets : Tableau, collection d'objets, Classe contenant un groupe d'objets
XV-G-1. Un Objet dans un autre : Composition d'objets
XV-G-2. Groupe d'objets
XV-G-2-a. Comment utiliser un tableau ou une collection d'objets 'Salarié'
XV-G-2-b. Utiliser Une Classe contenant des Salariés
XV-G-2-b-i. Créer une Classe contenant une ArrayList
XV-G-2-b-ii. Créer une Classe héritant de la Classe ArrayList
XV-G-2-b-iii. Créer une Classe héritant de la Classe CollectionBase
XV-G-2-b-iv. Créer une Classe contenant une Classe générique
XV-G-2-b-v. Conclusion
XV-H. Conservation (sauvegarde) d'objet, sérialisation
XV-H-1. La Sérialisation
XV-H-2. Exemple 1 : Sérialisation binaire
XV-H-3. Sérialisation
XV-H-4. Déserialisation
XV-H-5. Exemple 2 : Sérialisation XML
XV-H-6. Exemple 3 : Sérialisation d'une collection
XV-H-7. Exemple 4 : Sérialisation d'un tableau
XV-H-8. Exemple 5 : Sérialisation d'une collection générique
XV-I. Surcharge
XV-I-1. Surcharge en VB 2003
XV-I-2. Surcharge en VB 2005 : nouveautés
POO 4
XV-J. Structure de programme : programmation à trois couches
XV-J-1. Introduction
XV-J-2. Architecture n-tiers
XV-J-3. Architecture 3 tiers
XV-J-4. Exemple 1 : Ma bibliothèque (en écrivant du code)
XV-J-4-a. Couche métier
XV-J-4-b. Couche d'accès aux données
XV-J-4-c. Couche de présentation : interface graphique
XV-J-5. Exemple 2 : Bibliothèque (avec Binding et génération automatique de l'IU)
XV-J-5-a. Couche métier
XV-J-5-b. Création de la source de données
XV-J-5-c. Génération automatique de l'interface utilisateur
XV-J-5-d. Création du Binding
XV-K. Utilisation de Patron (motif de conception, Design Pattern)
XV-K-1. Singleton
XV-K-2. Itérateur
XV-L. Linq dans les Classes
Bonnes pratiques
XVI-A. Diverses sortes de programmation
XVI-A-1. Programmation impérative
XVI-A-2. Programmation structurée
XVI-A-3. Langage fonctionnelle
XVI-A-4. Programmation procédurale
XVI-A-5. Programmation défensive
XVI-A-6. Programmation sécurisée
XVI-A-6-a. Conception
XVI-A-6-b. Réalisation
XVI-A-6-c. Exécution
XVI-A-7. Programmation évènementielle
XVI-A-8. Programmation Objet
XVI-B. Programmation 'procédurale' ou 'objet' ?
XVI-B-1. L'approche procédurale
XVI-B-2. Approche Objet
XVI-B-3. Conclusion
XVI-C. Programmation 'procédurale' : faire de bonnes procédures
XVI-C-1. Approche procédurale, analyse 'descendante' ou 'ascendante'
XVI-C-2. Pourquoi utiliser des procédures ?
XVI-C-3. La 'cohésion' de la procédure doit être importante
XVI-C-4. Le 'couplage' entre procédures doit être modéré
XVI-C-5. Squelette d'un programme
XVI-C-6. Les paramètres
XVI-C-7. Utiliser une 'Sub' ou une 'Function' ?
XVI-C-8. Programmation défensive
XVI-D. Programmation 'objet' : faire de bonnes Classes
XVI-D-1. Rappel
XVI-D-2. Pourquoi utiliser 'Classe' et 'Objet' ?
XVI-D-3. Identifier les objets
XVI-D-4. Faire un 'couplage' modéré
XVI-D-5. Conserver une bonne abstraction et une bonne cohérence
XVI-D-6. Créer des méthodes par paires
XVI-D-7. L'encapsulation doit être bonne
XVI-D-8. Initialisez les données dans le constructeur d'une Classe
XVI-D-9. Problèmes liés à l'héritage
Bon Code
XVI-E. Faire du bon 'code'
XVI-E-1. Bonnes variables
XVI-E-1-a. Utilisez Option Strict=On et Option Explicit=On
XVI-E-1-b. Donnez à chaque variable un seul rôle
XVI-E-1-c. Évitez les variables avec des significations non évidentes
XVI-E-1-d. Initialisez les variables dès leur déclaration
XVI-E-1-e. Utilisez le principe de proximité
XVI-E-1-f. Travaillez sur des variables qui restent actives le moins de temps possible
XVI-E-1-g. Si vous codez la valeur d'une variable en 'dur', utilisez plutôt des constantes
XVI-E-1-h. Groupez les instructions liées
XVI-E-1-i. Réduisez la portée des variables (problème des variables globales)
XVI-E-1-j. Les Booléens sont des Booléens
XVI-E-1-k. Utiliser les variables Date pour stocker les dates
XVI-E-2. Règles de bonne programmation
XVI-E-2-a. Séparer l'interface utilisateur et l'applicatif
XVI-E-2-b. Utiliser le typage fort
XVI-E-2-c. Forcer la déclaration des variables et les conversions explicites
XVI-E-2-d. Utiliser des constantes ou des énumérations
XVI-E-2-e. Vérifier la validité des données que reçoit une Sub une Function ou une Classe
XVI-E-2-f. Se méfier du passage de paramètres 'par valeur' ou par 'référence'
XVI-E-2-g. Structurez le code, évitez les Goto
XVI-E-2-h. Ne faire aucune confiance à l'utilisateur du logiciel
XVI-E-2-i. Rendre le code lisible par tous
XVI-E-3. Rendre le code lisible : commentaires, noms de variables
XVI-E-3-a. Ajoutez des commentaires
XVI-E-3-b. Choisissez les noms de procédures et de variables avec soin
XVI-E-3-c. Éclaircir, aérer le code
Base de données 1
XVII-A. Notions sur les bases de données
XVII-A-1. Généralités
XVII-A-2. Tables
XVII-A-3. Exemple
XVII-A-4. Type de colonne
XVII-A-5. Clé primaire
XVII-A-6. Index
XVII-A-7. Relations entre les tables : différents types de relations
XVII-A-7-a. 1 à N (relation un à plusieurs)
XVII-A-7-b. 1 à 1
XVII-A-7-c. N à M
XVII-A-7-d. Relation N à M avec N fixe et petit
XVII-A-8. Contraintes
XVII-A-9. Serveur de fichier, Client serveur
XVII-A-10. Opérations sur les enregistrements
XVII-B. Généralités sur ADO.NET
XVII-B-1. Généralités
XVII-B-2. Les Managed Providers
XVII-B-3. Les Objets ADO.NET
XVII-B-4. Le DataReader
XVII-B-5. Le DataSet
XVII-C. Syntaxe SQL (Généralités)
XVII-C-1. Généralités
XVII-C-2. Les commandes SQL
XVII-C-3. SELECT : Interrogation
XVII-C-4. Tri des enregistrements
XVII-C-5. Statistiques
XVII-C-6. Extraction de données sur plusieurs tables
XVII-C-7. Ajout, suppression, modification d'enregistrement
XVII-C-8. Ajout de table
Base de données 2
XVII-D. ADO:Lire rapidement en lecture seule: le DataReader
XVII-D-1. Généralités
XVII-D-2. Exemple de DataReader avec une base Access
XVII-D-3. Comment compter ?
XVII-D-4. L'objet Connection (détails)
XVII-D-5 . L'objet Command (détails)
XVII-D-6. L'objet DataReader (détails)
XVII-D-7. Exceptions
XVII-E. ADO: Travailler sur un groupe de données: le DataSet
XVII-E-1. Généralités
XVII-E-2. Utilisation du DataSet, du DataView: en pratique
XVII-E-3. Remplir un DataGrid ou une ListBox avec un DataSet
XVII-E-4. Étudions en détail un DataSet
XVII-F. Liaison DataGrid, ListBox et base de données: le "DataBinding"
XVII-F-1. Remplir une ListBox avec une colonne d'une table d'une BD
XVII-F-2. Remplir un DataGrid avec une base de données via un DataSet.
XVII-F-3. Remplir un contrôle avec une source de données avec le moins de code possible(VB 2005 2008).
XVII-F-3-a. Création de la source de données
XVII-F-3-b. Liaison source de données-Grid avec du code.
XVII-F-3-c. Génération automatique de l'interface utilisateur
XVII-F-3-d. Binding et TextBox
Base de données 3
XVII-G. Créer une BD, ajouter une table à une base de données
XVII-G-1. Créer une base de données
XVII-G-2. Ajouter une table par code
XVII-H. LINQ et les bases de données
Optimisation de la vitesse
XVIII. Optimisation en vitesse
XVIII-A. Comparaison VB6 VB.Net
XVIII-A-1. Comment VB.NET 2003 est situé en comparaison avec les autres langages de programmation ?
XVIII-A-2. Vitesse de VB6, VB.NET 2003, 2005, 2008, 2010
XVIII-B. Chronométrer le code, compteur temps mémoire..
XVIII-B-1. Pour chronométrer une évènement long
XVIII-B-2. Créer un compteur pour les temps très courts (Framework 1, VB2003)
XVIII-B-3. Créer un compteur pour les temps très courts (Framework 2, VB2005)
XVIII-B-4. Compteur de performance
XVIII-C. Comment accélérer une application VB.net ?
XVIII-C-1. Utilisation des nouvelles fonctionnalités
XVIII-C-2. Choix des variables
XVIII-C-3. Tableau
XVIII-C-4. Collections
XVIII-C-5. Éviter la déclaration de variables 'Objet' et les liaisons tardives, les variables non typées
XVIII-C-6. Utiliser les bonnes 'Options'
XVIII-C-7. Pour les fichiers, utiliser System.IO
XVIII-C-8. If Then ou Select Case ?
XVIII-C-9. Utiliser les bonnes 'Opérations'
XVIII-C-10. Utiliser : With End With
XVIII-C-11. Optimiser les boucles
XVIII-C-12. Appel de procédure
XVIII-C-13. Usage de threads
XVIII-C-14. Comment accélérer quand on utilise des 'String' ?
XVIII-C-15. Comment accélérer l'affichage ?
XVIII-C-16. Utiliser les tableaux en mémoire plutôt que la lecture de fichiers sur disque
XVIII-C-17. Ce qui n'influence pas la rapidité du code
XVIII-C-18. Compilation DLL
XVIII-C-19. En conclusion
Liens
XIX. Bonnes adresses, bibliographie du site
XIX-A. Mes livres
XIX-B. VB 2003 sur le Net
XIX-C. VB 2005
XIX-D. VB 2008
XIX-E. VB 2010
XIX-F. Sites dédiés au Visual Basic
XIX-G. Convertisseur C# -> VB
XIX-H. SQL
XIX-I. Glossaire
Annexes 1
XX-A. Le codage de caractères ASCII ANSI UNICODE et UTF
XX-A-1. Codage sur 7 bits : ASCII
XX-A-2. Codage sur 8 bits
XX-A-3. Codage sur 16 bits ou plus : Unicode
XX-A-4. Représentation graphique des caractères : Glyphe, Font, Police
XX-A-5. Sur le Web
XX-A-6. En VB
XX-B. Nommage des objets visuels, variables et objets
XX-C. Couleurs disponibles dans VB
XX-D. Format de fichier texte : le RTF
XX-E. Format XML
Annexes 2 (VB 2003 2005 2008)
XX-F. Migration VB6=>VB.NET 2003
XX-F-1. Les objets
XX-F-1-a. Les Classes du Framework
XX-F-1-b. Les formulaires ou fenêtres
XX-F-1-c. Les Contrôles
XX-F-1-d. Les Variables
XX-F-1-e. Les Tableaux
XX-F-1-f. Les Collections
XX-F-1-g. Les Structures
XX-F-1-h. Les Fonctions et Sub
XX-F-1-i. Dans le code
XX-F-1-j. Gestion des erreurs
XX-F-1-k. Les graphiques
XX-F-1-l. Les bases de données
XX-F-1-m. Les Classes
XX-F-1-n. GOSUB et ON GOSUB n'existent plus
XX-F-1-o. Les Timers
XX-F-1-p. Conversion VB6 vers VB.NET
XX-G. VB.NET 2005 : nouveautés 2005
XX-G-1. Le matériel
XX-G-2. L'IDE
XX-G-2-a. On peut créer des fenêtres toutes faites, avec les contrôles
XX-G-2-b. Edit and Continue
XX-G-2-c. Il y a des exemples de code
XX-G-2-d. Il est proposé des solutions pour corriger les erreurs de code
XX-G-2-e. Le Projet Designer
XX-G-2-e-i. Exemple de ressource
XX-G-2-e-ii. Exemple de paramètre
XX-G-2-f. Alignement de controles
XX-G-2-g. Le déplacement des contrôles ou l'accès aux principales tâches est amélioré
XX-G-2-h. Renommer un nom : modification automatique
XX-G-2-i. Commentaire en XML
XX-G-3. Les nouveaux Objets
XX-G-4. Les instances de Forms
XX-G-5. Les nouveaux Contrôles
XX-G-5-a. DataGridView
XX-G-5-b. MaskedTextBox
XX-G-5-c. SoundPlayer
XX-G-5-d. SplitContainer
XX-G-5-e. ListView
XX-G-5-f. WebBrowser
XX-G-5-g. LayoutPanel
XX-G-5-h. MenuStrip
XX-G-5-i. ToolStrip
XX-G-5-j. StatuStrip
XX-G-5-k. ProgessBar
XX-G-6. Les nouvelles 'Variables'
XX-G-7. Les nouvelles 'Collections'
XX-G-8. Dans le Code : Les nouvelles instructions
XX-G-9. Les nouveautés dans les Classes
XX-H. Nouveautés 2008 et Framework 3




 

Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © . Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com