Bloc note avec fonctions

Soyez le premier à donner votre avis sur cette source.

Vue 11 484 fois - Téléchargée 909 fois

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

Ajouter un commentaire Commentaires
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Voici pour imprimer :

Déjà ajoute ces composants sur ta Form : PrintDocument, PrintPreviewDialog avec la valeur "Document" à "PrintDocument" et PrintDialog avec la valeur "Document" à "PrintDocument".

Ensuite à ton menu rajoute un MenuItem "MIPrint"

et àjoute ce code :

Private Sub MIPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MIPrint.Click

PrintDialog.ShowDialog()

End Sub

Ensuite ajoute un Item "MIPreviewBeforePrint" et ajoute son code :

PrintPreviewDialog.ShowDialog()

Voilà !

Redman
Messages postés
10
Date d'inscription
mercredi 14 décembre 2005
Statut
Membre
Dernière intervention
1 juin 2006

vraiment c'est un bloc note j'ai rien a dire pour l'instant que bravo et bonne chance.
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Pour ce qui est d'imprimer, d'utiliser l'aperçu ...
Je te suggère de regarder ma source : http://www.vbfrance.com/code.aspx?ID=29771
Messages postés
10
Date d'inscription
samedi 3 juillet 2004
Statut
Membre
Dernière intervention
12 décembre 2005

salut
ok c pas mal du tout, je te propose juste un petit détail
concernant la procedure Menu_Fichier_Quitter
Verifie si le fichier n'a pas été sauvegardé à l'aide d' une variable booleenne SaveOK par exemple qui est mise à True lorsqu'une sauvegarde est effectuée
(dans Menu_Fichier_Enregistrer) et qui repasse à False dès que se produit l'évènement TextChanged du textbox ainsi tu ne proposeras pas une sauvegarde dans Menu_Fichier_Quitter inutile.
ciao neguib
nserhani@bluewin.ch
Messages postés
4
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
28 janvier 2004

Rien d'autre à dire mis a part Bravo..
Je ne programme pas du tout dans ce langage donc je ne peux juger sur la qualité de la source. Cependant une coloration syntaxique n'aurait pas été de trop, bon ok c'est plus un bloc note ensuite =p
Allez bon courage.
Afficher les 6 commentaires

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.