Cours VB.NET

Date de mise à jour : 30/06/2009

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:
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
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. Et 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 va écrire 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. IDE SharpDevelop (alternative gratuite) MÀJ version 2.1
IV-B-1. Où le trouver ? Comment l'installer ?
IV-B-2. Fenêtre Projet
IV-B-3. Dans un nouveau projet, créer une fenêtre
IV-B-4. Ajouter des contrôles au formulaire
IV-B-5. Modifier les propriétés d'un contrôle ou du formulaire
IV-B-6. Voir les procédures
IV-B-7. Voir tous les composants d'un projet
IV-B-8. Remarque relative aux fenêtres de l'IDE
IV-B-9. Tester son logiciel
IV-B-10. Fichiers, Chemins des sources
IV-B-11. Propriétés du projet
IV-B-12. #Develop propose des AIDES
IV-B-13. Erreur de compilation
IV-B-14. Erreur d'exécution : Exceptions
IV-B-15. Débogage
IV-B-16. Conclusion
IV-B-17. 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. Principes généraux
V-B-3-a. Séquences
V-B-3-b. Les variables, leur 'Type'
V-B-3-c. Les constantes
V-B-3-d. Affectation (ou Assignation)
V-B-3-e. Booléens
V-B-3-f. Les choix : Si..Alors
V-B-3-g. Les choix : Décider entre
V-B-3-h. Les répétitions : Pour...Répéter
V-B-3-i. Les 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. Structuration : 'Sous-programme' ou 'procédure'
V-B-3-n. Tableaux
V-B-3-o. Notion de 'Collection'
V-B-3-p. Notion de Pile et de 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. Erreur d'exécution : Notion de 'Sécurisation' du code
V-B-3-u. Flag et variables d'état
V-B-3-v. Compilation, interprétation
V-B-4. Quelques algorithmes
V-B-4-a. Recherche dans un tableau
V-B-4-b. Tri de tableau
V-B-5. 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 avec virgule
V-D-8. String, Char
V-D-9. Annexe 1 : Place occupée en mémoire
V-D-10. Annexe 2 : Type primitif
V-D-11. Annexe 3 : Choix des noms de variables
V-E. Variables 'String' et 'Char'
V-E-1. Variables 'String'
V-E-1-a. System.String est une Classe du Framework
V-E-1-b. On peut aussi utiliser les instructions 'Visual Basic'
V-E-1-c. Un exemple
V-E-1-d. Comparaison de caractères (Option Compare)
V-E-1-e. Unicode
V-E-2. Variables 'Char'
V-E-3. Et les Chaînes de longueur fixe
V-F. Variables Numériques
V-F-1. La Classe Math du Framework peut être utilisée
V-F-2. Les instructions du langage VisualBasic
V-F-3. Dépassement de capacité, 'Non Nombre'
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
V-G-7. Séparateur décimal : le point, la virgule, Culture
V-G-8. IsNumeric
V-G-9. 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
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. Autres
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
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 dans le langage
V-O-1-c. True False
V-O-2. Énumération
V-O-3. Généralisation de la notion d'énumération
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 un 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 / \
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 (creusons)
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. Link
V-Y-1. Définition, mise en place
V-Y-2. Principe d'une requête Link
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. Inference de Type et type anonyme
V-Z. Les 'régions', la compilation conditionnelle, les '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
V-AB-8. Now, ToDay, TimeOfDay
V-AB-9. Ticks
V-AB-10. Année bissextile ?
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
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 Link
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, Lamba expression, Type Nullable
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 et VB 2008
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.
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-4-2. 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
VIII-A-1. La console
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. Propriétés
VIII-C-6. Évènements
VIII-C-7. Méthodes
VIII-C-8. Form et code généré par vb
VIII-C-9. Formulaire d'avant plan
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-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 l'élément "poisson"
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-2. Les CheckedListBox
VIII-H-3. Les ComboBox
VIII-H-4. Le Contrôle ListView
VIII-H-4-a. Liste avec sous éléments
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 2 (VB 2005)
VIII-I-2. MsgBox du Visual Basic
VIII-I-3. InputBox
VIII-I-4. OpenFileDialog
VIII-I-5. SaveFileDialog
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
VIII-N-2. Contrôle StatusBar en VB 2003
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ôle 'MsFlexGrid' de VB6
VIII-Q-2. Contrôles Freeware à télécharger, c'est du '.Net'
VIII-Q-2-a. 'LameGrid'en français +++++
VIII-Q-2-b. Autre
VIII-Q-3. Contrôle 'DataGrid' de VB 2003
VIII-Q-3-a. Aspect du contrôle 'DataGrid'
VIII-Q-3-b. Comment améliorer la rapidité de l'affichage ?
VIII-Q-4. Contrôle 'DataGridView' de VB 2005
VIII-Q-5. Annexe : Code permettant de simuler la saisie dans un MsFlexGrid
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
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-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 le 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-4-a. Paint déclenché par Resize
X-G-5. Un exemple : Afficher un texte en 3D
X-G-6. Espace de noms
X-G-7. Programme simple de dessin
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
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 des utilisateurs dans Vista : 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
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 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-A-1. Suspendre l'exécution
XII-A-2. Débogage pas à pas
XII-A-2-a. Comment voir rapidement la valeur des propriétés ou de variables ?
XII-A-2-b. Modification du code source
XII-A-2-c. Sortie des informations de débogage
XII-A-2-c-i. Objet Console
XII-A-2-c-ii. Objet Debug
XII-A-2-c-iii. Trace
XII-A-2-c-iv. Mode 'Trace', 'Release', 'Debug'
XII-B. Comprendre les 'Messages d'erreur'
XII-B-1. Instance d'objet
XII-B-2. Membre absent
XII-B-3. Type Attendu
XII-B-4. Identificateur attendu
Fonctionnement
XIII. Comprendre le fonctionnement de VB
XIII-A. Comprendre le FrameWork, la compilation, le garbage collector, le code managé, le code IL et binaire
XIII-A-1. Le Framework.NET
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
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-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. Link 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
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. 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-3-a. L'objet Connection
XVII-D-3-b. L'objet Command
XVII-D-3-c. L'objet DataReader
XVII-D-3-d. Exceptions
XVII-E. 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 à une BD existante
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. VB.NET (2003 ou 2005) est-il plus rapide que VB6 ?
XVIII-B. Chronométrer le code
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-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
Plus tard
XIX. Et pour plus tard
Liens
XX. Bonnes adresses, bibliographie du site
XX-A. Mes livres
XX-B. VB 2003 sur le Net
XX-C. VB 2005
XX-D. VB 2008
XX-E. VS 2010 : Le futur
XX-F. Sites dédiés au Visual Basic
XX-G. Convertisseur C# -> VB
XX-H. SQL
XX-I. Glossaire
Annexes 1
XXI-A. Le codage de caractères ASCII ANSI UNICODE et UTF
XXI-A-1. Codage sur 7 bits : ASCII
XXI-A-2. Codage sur 8 bits
XXI-A-3. Codage sur 16 bits ou plus : Unicode
XXI-A-4. Représentation graphique des caractères : Glyphe, Font, Police
XXI-A-5. Sur le Web
XXI-A-6. En VB
XXI-B. Nommage des objets visuels, variables et objets
XXI-C. Couleurs disponibles dans VB
XXI-D. Format de fichier texte : le RTF
XXI-E. Format XML
Annexes 2 (VB 2003 2005 2008)
XXI-F. Migration VB6=>VB.NET 2003
XXI-F-1. Les objets
XXI-F-1-a. Les Classes du Framework
XXI-F-1-b. Les formulaires ou fenêtres
XXI-F-1-c. Les Contrôles
XXI-F-1-d. Les Variables
XXI-F-1-e. Les Tableaux
XXI-F-1-f. Les Collections
XXI-F-1-g. Les Structures
XXI-F-1-h. Les Fonctions et Sub
XXI-F-1-i. Dans le code
XXI-F-1-j. Gestion des erreurs
XXI-F-1-k. Les graphiques
XXI-F-1-l. Les bases de données
XXI-F-1-m. Les Classes
XXI-F-1-n. GOSUB et ON GOSUB n'existent plus
XXI-F-1-o. Les Timers
XXI-F-1-p. Conversion VB6 vers VB.NET
XXI-G. VB.NET 2005 : nouveautés 2005
XXI-G-1. Le matériel
XXI-G-2. L'IDE
XXI-G-2-a. On peut créer des fenêtres toutes faites, avec les contrôles
XXI-G-2-b. Edit and Continue
XXI-G-2-c. Il y a des exemples de code
XXI-G-2-d. Il est proposé des solutions pour corriger les erreurs de code
XXI-G-2-e. Le Projet Designer
XXI-G-2-e-i. Exemple de ressource
XXI-G-2-e-ii. Exemple de paramètre
XXI-G-2-f. Alignement de controles
XXI-G-2-g. Le déplacement des contrôles ou l'accès aux principales tâches est amélioré
XXI-G-2-h. Renommer un nom : modification automatique
XXI-G-2-i. Commentaire en XML
XXI-G-3. Les nouveaux Objets
XXI-G-4. Les instances de Forms
XXI-G-5. Les nouveaux Contrôles
XXI-G-5-a. DataGridView
XXI-G-5-b. MaskedTextBox
XXI-G-5-c. SoundPlayer
XXI-G-5-d. SplitContainer
XXI-G-5-e. ListView
XXI-G-5-f. WebBrowser
XXI-G-5-g. LayoutPanel
XXI-G-5-h. MenuStrip
XXI-G-5-i. ToolStrip
XXI-G-5-j. StatuStrip
XXI-G-5-k. ProgessBar
XXI-G-6. Les nouvelles 'Variables'
XXI-G-7. Les nouvelles 'Collections'
XXI-G-8. Dans le Code : Les nouvelles instructions
XXI-G-9. Les nouveautés dans les Classes
XXI-H. Nouveautés 2008 et Framework 3


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation 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 VB.NET - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.