Bloc note avec fonctions

Description

Ce programme illustre l'utilisation des boites de dialogue, comment écrire et lire un fichier texte, l'utilisation des instruction de debogage Try Catch Finally pour les levés d'exception ...

Source / Exemple :


'**************************************************************
'*                       Bloc Note                            
'*                                                            
'*   Elements utilisés:                                       
'*   - 1 TextBox : txtBlocNote                                
'*   - 1 MainMenu : mnuMenu                                  
'*   - 1 OpenFileDialog : ofdOuvrir                           
'*   - 1 SaveFileDialog : sfdEnregistrer                                           
'*                                                            
'**************************************************************

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Code généré par le Concepteur Windows Form "

    '----------------------------------
    'Fonction Quitter avec confirmation
    '----------------------------------
    Private Sub Menu_Fichier_Quitter(ByVal sender As System.Object, _
                                     ByVal e As System.EventArgs) _
                                     Handles MenuItem2.Click
        'Si le contenue de txtBlocNote n'est pas vide alors
        If TxtBlocNote.Text <> Nothing Then

            'Définition des variables du MsgBox
            Dim Message As String
            Dim Titre As String
            Dim Style As MsgBoxStyle
            Dim Reponse As MsgBoxResult

            'Attribution des valeurs
            Message = "Voulez vous quittez sans sauvegarder?"
            Style = MsgBoxStyle.Information.YesNo
            Titre = "Quitter?"

            'Reponse de l'utilisateur Oui/Non
            Reponse = MsgBox(Message, Style, Titre)

            'Si la réponse est oui alors quitter
            If Reponse = MsgBoxResult.Yes Then
                End
            End If

        Else
            End
        End If

    End Sub
    '--------------------
    'Fonction Enregistrer 
    '--------------------
    Public Sub Menu_Fichier_Enregistrer(ByVal sender As System.Object, _
                                ByVal e As System.EventArgs) _
                                Handles MenuItem4.Click

        '-------------------------------------------------------------------
        '1ere Methode : Sans passer par une boite de dialogue SaveFileDialog
        '-------------------------------------------------------------------

        'Dim Chemin As String

        'Chemin = InputBox("Enregistrer le Fichier", "Enregister", "C:\Fichier.txt")

        ''Si Chemin est différent de Nothing alors enregistrer le fichier
        ''Note : un appui sur "Annuler" donne Chemin = Nothing
        'If Chemin <> Nothing Then
        '    'Try, Catch, Finaly et End Try sont des commandes de débogage
        '    'Try : essai
        '    'Catch : Si une exception est levé alors...
        '    'Finaly : Libere la place en memoire alloué au débogage
        '    'End try : Ferme l'instruction Try
        '    Try
        '        'Declaration de la variable et créé un fichier
        '        Dim Fichier As New System.IO.StreamWriter(Chemin)

        '        'Ecrit le le contenue de txtBlocNote dans le fichier 
        '        Fichier.Write(txtBlocNote.Text)
        '        'Ferme le fichier
        '        Fichier.Close()
        '    Catch ex As System.Exception
        '        MsgBox("Chemin incorrect")
        '    Finally
        '    End Try
        'End If

        '--------------------------------------------------------
        '2eme Methode : Avec une boite de dialogue SaveFileDialog
        '--------------------------------------------------------
        'La boite de dialogue SaveFileDialog presente un avantage
        'majeur : elle gere automatiquement les erreurs si le 
        'Chemin du fichier n'existe pas !

        Dim CheminFichier As String

        'Definie le filtre de la boite de dialogue
        'C'est à dire les types de fichiers par defaut
        sfdEnregistrer.Filter = "Fichiers texte (*.txt)|*.txt"
        'Definie le nom du fichier par defaut sans extention
        sfdEnregistrer.FileName = "Document"
        'Montre la boite de dialogue
        sfdEnregistrer.ShowDialog()
        'Recupere le chemin du fichier dans la variable CheminFichier
        CheminFichier = sfdEnregistrer.FileName

        Dim Fichier As New System.IO.StreamWriter(CheminFichier)
        Fichier.Write(TxtBlocNote.Text)
        Fichier.Close()

    End Sub

    '---------------
    'Fonction Ouvrir
    '---------------
    Private Sub MenuOuvrir(ByVal sender As System.Object, _
                                    ByVal e As System.EventArgs) _
                                    Handles MenuItem6.Click

        Dim CheminFichier As String

        'Definie le filtre de la boite de dialogue
        'C'est à dire les types de fichiers supportés
        ofdOuvrir.Filter = "Fichiers texte (*.txt)|*.txt"
        'Ouvre la bboite de dialogue "Ouvrir un fichier"
        ofdOuvrir.ShowDialog()
        'Integre le Chemin du fichier dans la variable CheminFichier
        CheminFichier = ofdOuvrir.FileName

        Try
            Dim Fichier As New System.IO.StreamReader(CheminFichier)

            'Lit le fichier et copie le contenue dans txtBlocNote
            TxtBlocNote.Text = Fichier.ReadToEnd
            Fichier.Close()
        Catch ex As System.Exception
            MsgBox("Impossible d'ouvrir le fichier, il est peut être en cour d'utilisation")
        Finally
        End Try
    End Sub
    '------------------------
    'Fonction Ajouter l'heure
    '------------------------
    Private Sub MenuAjouterHeure(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles MenuItem9.Click

        'Ajoute l'heure du system
        'Note txtBlocNote.Text &= TimeOfDay est equivalent à écrire :
        'txtBlocNote.Text = txtBlocNote.Text & TimeOfDay
        TxtBlocNote.Text &= TimeOfDay

    End Sub

    '------------------------
    'Fonction Ajouter la date
    '------------------------
    Private Sub MenuAjouterDate(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles MenuItem10.Click

        'Ajoute la date du system
        'ToLongDateString la formate (jour xx Année)
        TxtBlocNote.Text &= Date.Now.ToLongDateString

    End Sub

    '---------------------------------
    'Fonction Mettre tout en majuscule
    '---------------------------------
    Private Sub MenuMajuscule(ByVal sender As System.Object, _
                                        ByVal e As System.EventArgs) _
                                        Handles MenuItem11.Click

        'Met le contenue de txtBlocNote.Text en Majuscule
        TxtBlocNote.Text = TxtBlocNote.Text.ToUpper

    End Sub

    '---------------------------------
    'Fonction Mettre tout en minuscule
    '---------------------------------
    Private Sub MMenuMinuscule(ByVal sender As System.Object, _
                                 ByVal e As System.EventArgs) _
                                 Handles MenuItem12.Click

        'Met le contenue de txtBlocNote.Text en Minuscule
        TxtBlocNote.Text = TxtBlocNote.Text.ToLower

    End Sub

End Class

Conclusion :


Note : Cette source se vera mise à jour dans quelques temps
notament avec la fonction imprimer (Des que j'orai pigé comment ca marche !!!)

Mise à jour
17/04/03
-Ajouter d'une fonction qui demande une confirmation si le txtBlocNote n'est pas vide lors de l'arret du programme (Voulez vous quittez sans sauvegarder)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.