IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

#Region dans une procédure ou une fonction


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par défaut #Region dans une procédure ou une fonction
    Bonjour,

    Je recherche un moyen de lisibilité de code sous Visual Studio 2005.
    Il existe les #Region #End Region mais ce n'est visiblement pas utilisable au sein d'une fonction ou procédure.

    Existe il un moyen de pallier à cela ?

    Tatone

  2. #2
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par tatone Voir le message
    Bonjour,

    Je recherche un moyen de lisibilité de code sous Visual Studio 2005.
    Il existe les #Region #End Region mais ce n'est visiblement pas utilisable au sein d'une fonction ou procédure.

    Existe il un moyen de pallier à cela ?

    Tatone
    Bah si tu peux mettre des Regions où tu veux... De plus utilise des block With - End With pour mettre en forme ton code
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par défaut
    Voila l'erreur que j'ai quand j'insere ces lignes dans le corps de ma procédure :

    Erreur : Les instructions '#Region' et '#End Region' ne sont pas valides dans le corps des méthodes.

    J'en deduis que ce n'est pas possible...

  4. #4
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    En voila la preuve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    #Region "class"
    Public Class ListerRepertoire
        Private TheTreeview As TreeView
        Private Delegate Function TN_Delegate(ByVal a As TreeNode) As Int32
     
        Public Sub New(ByVal TV As TreeView)
            TheTreeview = TV 'affecte la Treeview
        End Sub
    #Region "procedure1"
        Public Sub ListerMesRepertoire(ByVal Rep As String, ByVal Parent As TreeNode)
            Try
                'Recupere la liste des entrees du repetoire
                Dim Liste As String() = Directory.GetFileSystemEntries(Rep)
                Dim Entree As String
     
                For Each Entree In Liste 'Pour chaque entree de la liste
                    Dim TmpName As String = Microsoft.VisualBasic.Mid(Entree, Len(Rep) + 1) 'On decoupe proprement le nom du fichier ou repertoire
                    TmpName = Microsoft.VisualBasic.Replace(TmpName, "\", "") 'On enleve les caracteres parasite !!!!
     
                    If File.Exists(Entree) Then     'Si c'est un fichier
                        AddNode(TmpName, True, Parent)  'On Creer un element fichier dans le treeview
                    Else    'Si  c'est un repertoire
                        Dim TmpNode As TreeNode 'Var tempo pour sauver le noeud du treeview 
                        TmpNode = AddNode(TmpName, False, Parent) 'On ajoute le rep dans le treeview
                        ListerMesRepertoire(Entree, TmpNode) 'On Liste le contenus de ce repertoire
                    End If
                Next Entree
            Catch Ex As System.UnauthorizedAccessException 'si le répertoire est protégé
                Exit Sub
            Catch e As Exception 'en cas d'erreurs
                MsgBox("Erreur : " & e.Message, MsgBoxStyle.Critical)
            End Try
        End Sub
    #End Region
    #Region "procedure2"
        Private Function AddNode(ByVal StrNom As String, ByVal BlFile As Boolean, ByVal Parent As TreeNode) As TreeNode
            Try
                Dim TmpNode As TreeNode      'Noeud Pour les manipulation dans la function 
     
                If Not Parent Is Nothing Then ' Si Parent n'Est pas a nothing 
                    'TmpNode = Parent.Nodes.Add(Str_Nom) 'On cree un element fils
                    Dim no As New TreeNode
                    no.Text = StrNom
                    With TheTreeview
                        .Invoke(New TN_Delegate(AddressOf Parent.Nodes.Add), New Object() {no})
                    End With
                    TmpNode = no
                Else ' Si Parent Est a nothing c sans doute le premier element du treeview ou une racine
                    'TmpNode = TreeView1.Nodes.Add(Str_Nom)
                    Dim no As New TreeNode
                    no.Text = StrNom
                    With TheTreeview
                        .Invoke(New TN_Delegate(AddressOf TheTreeview.Nodes.Add), New Object() {no})
                    End With
                    TmpNode = no
                End If
     
                Application.DoEvents()  'histoire de faire beau ^^ Non je pense que ca limitera le risque d'erreur
                Return TmpNode
            Catch ex As Exception
                Return Nothing
                MsgBox(ex.ToString)
            End Try
        End Function
    #End Region
     
    End Class
    #End Region
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par défaut
    Je suis entièrement d'accord.
    Mais il est impossible de mettre les #region dans la fonction ou la procédure ??

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par tatone Voir le message
    Je suis entièrement d'accord.
    Mais il est impossible de mettre les #region dans la fonction ou la procédure ??
    Exact mais il n'y a aucun interet à mettre une region dans une procédure car une procédure ne fait pas 300 lignes ! Sinon comme je te l'ai dis si tu veux mettre en forme ton code utilise des Blocs With - End With (si tu peux)
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. [Débutant] récupération d'une variable d'une procédure a une autre
    Par labib23dz dans le forum C#
    Réponses: 5
    Dernier message: 26/02/2012, 19h30
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Réponses: 6
    Dernier message: 30/08/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo