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 :

Comment organiser son code quand on a trop de lignes


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut Comment organiser son code quand on a trop de lignes
    Bonsoir,

    J'aimerai savoir comment on fait pour organiser son code lorsqu'il commence à devenir conséquent.

    Par exemple si l'on souhaite le découper en fonction (function ou sub ?), peut on les mettres dans des fichiers séparés et comment les appelles t on ensuite ?

    Dans l'explorateur de projet (j'utilise sharpdevelop), je vois à gauche pour mon projet:

    -References
    -Properties
    -MainForm.vb
    -Program.vb

    Je voudrai ajouter un fichier "mesfonctionvoiture" dans lequel je mettrais mes fonctions "voitures" un autre fichier "mesfonctionsmoto" ou je mettreai mes fonctions "moto", que j'appelerai ensuite dans mon mainform.vb.

    Mais comment doit on les déclarer dans les fichiers que je créé, quels type de fichier dois je créé pour mettre mes fonctions (si je fais ajouter un fichier, j'ai plein de choix possible "classe" module, etc)
    Et comment ensuite appeler ces fonctions dans mon mainform.vb


    Voilà, peut etre que je cherche compliqué la ou c'est simple ?

    Merci à vous

    J'ai essayé de chercher sur la toile, mais j'ai pas trouvé quelque chose qui m'explique simplement comment on construit un projet de taille conséquente, et puis je suis vraiment debutant en prog.

    merci

  2. #2
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par yaume91 Voir le message
    Je voudrai ajouter un fichier "mesfonctionvoiture" dans lequel je mettrais mes fonctions "voitures" un autre fichier "mesfonctionsmoto" ou je mettreai mes fonctions "moto", que j'appelerai ensuite dans mon mainform.vb.
    A mon avis il y a un problème de compréhension de la programmation orientée objet... Le meilleur conseille que je puisse te donner à ce niveau est de suivre un tuto.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    Bonsoir,

    Peut etre es ce moi qui m'exprime mal, et en effet je ne suis pas non plus un expert en prog.

    Ce que je souhaiterai , c'est ne pas avoir tout dans un seul fichier, car a force d'ecrire du code ma page contient beaucoup de ligne, donc c'est plutot une question de comment organise t on un projet
    Actuellement tout mon code est dans mon "mainform.vb"
    Comment séparer les choses dans le projet
    Nom : sharpdevelop.jpg
Affichages : 1845
Taille : 131,9 Ko

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Programmeur est un métier à part entière donc pour compléter l'intervention de ZenZiTone je te conseillerais en tant qu'autodidacte d'appréhender certains concepts au travers des cours de POO (Programmation Orienté Objet), ainsi tu trouveras la réponse à ton interrogation !

    http://plasserre.developpez.com/cours/vb-net/
    http://xo.developpez.com/tutoriel/vb.net/poo/


    ++

  5. #5
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par yaume91 Voir le message
    Peut etre es ce moi qui m'exprime mal, et en effet je ne suis pas non plus un expert en prog.

    Ce que je souhaiterai , c'est ne pas avoir tout dans un seul fichier, car a force d'ecrire du code ma page contient beaucoup de ligne, donc c'est plutot une question de comment organise t on un projet
    Actuellement tout mon code est dans mon "mainform.vb"
    Comment séparer les choses dans le projet
    C'est pourquoi il est conseillé de suivre un cours sur la POO.

    Très grossièrement, la POO permet de définir des objets ayant chacun un rôle particulier au sein de la solution. Il y a beaucoup de concepts à intégrer pour les utiliser (les cours sur le net, c'est pas ce qui manque), mais au final tu te retrouveras avec une multitude de fichiers décrivant chaque classes.

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    par curiosité : combien de lignes as-tu dans ton fichier pour trouver que c'est trop ?
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je viens plussoyer
    vb.net est un langage orienté objet, ca ne s'utilise donc pas à la sauce spaghetti de 1990, il faut comprendre le concept de POO avant de commencer à coder
    et quand tu auras compris la POO, tu verras que ta question devient obsolète

    en effet, en POO on a souvent des méthodes de moins de 30 lignes de code et des fichiers de quelques centaines de lignes au pire
    au passage du pourras réduire ton code (jusqu'à 20x moins de code parfois) donc ton code seras plus lisible et plus maintenable qu'une méthode 1k lignes de code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    j'ai environ 1000 lignes, c'est pas que ça me gène en soit, mais je cherche à comprendre comment organiser mon code.
    Oui c'est sur qu'il y a certainement beaucoup à optimiser dans ce que j'ai fait.
    Et j'ai certainement plein de chose à apprendre entre autre à travers les cours, que croyez le ou pas, que j'ai déjà lu pour certains, après peut être ne suis je pas fait pour ce concept de POO.

    J'ai pour ma part plus une idée de la conception informatique style le C (pas C++) donc un prog principal avec des fonctions (je suis peut être pas juste dans ce que je dis, mais ca remonte à tellement longtemps)


    Je tiens juste à dire que je n'attends pas forcement une solution toute faite mais des fois quand ça bloque on aime bien être débloqué, et c'est dans des cas concret que l'on apprends aussi et que l'on comprend des choses.

    Très sincèrement j'ai regardé un des cours sur le site, mais ça ne m'as pas aidé à résoudre mon autre problème.

    En effet peut être que je pensais que le vb.net était un langage simple et qu'il est plus complexe que je ne le pensais.

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je tiens juste à dire que je n'attends pas forcement une solution toute faite mais des fois quand ça bloque on aime bien être débloqué, et c'est dans des cas concret que l'on apprends aussi et que l'on comprend des choses.
    Il y a un truc que tu n'as pas l'air de comprendre : A ce stade il ne s'agit pas de te proposer telle ou telle solution (pour te débloquer comme tu le dis) car c'est tout simplement les bases qu'il te manque et qu'il nous faudrait donc te dispenser un cours particulier en ligne pour palier à ton vrai problème ........

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Je plussoies les gars ici, il faut passer par une phase d'apprentissage que tu le veuilles ou non car ta question est loin d'etre innocente : il ne suffit pas juste de vouloir repartir le code dans plusieurs fichiers. Cela demande des notions de POO et d'architecture.

    Le cours de Philippe Lasserre est excellent pour apprehender VB.NET et la POO. Il ne suffit pas de lire, il faut aussi pratiquer, mettre les mains dans le cambouis, donc n'hesite pas a te faire des petits projets pour saisir concretement ce qui est discute dans ce cours.

    Ensuite, et seulement une fois que tu auras compris la POO, il te faudra acquerir des notions d'architecture. En gros, avoir une bonne architecture te permet de clairement decouper ton code, de le factoriser (pour pouvoir optimiser ton code, et reutiliser des bouts de code a plusieurs endroits), et pour eviter d'avoir des fichiers/classes/methodes contenant trop de code, entre autre.

    Exemple d'architecture ici : Un exemple d'architecture .Net complète.
    Ou encore ici : L'architecture multicouche mise en œuvre sur une application Web ASP.Net (meme si celui-ci est fait pour ASP.NET, les concepts restent les memes, il faut juste considerer qu'au lieu que ton UI soit un site Web, ca sera du WinForms ou du WPF).

    La reponse a ta question se trouve donc dans les concepts de POO et d'architecture. CQFD. Il faut faire les choses dans l'ordre si tu veux advancer sur ce sujet, et c'est un autodidacte qui te parle
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    Je comprends bien ce que vous dites, ce qui manque dans les cours que vous citez entre autre, c'est un pas à pas ou une démonstration par l'image, les cours explique la théorie, mais pas la pratique.

    En gros si je créé un module, ou dois je le mettre, dans l'explorateur de solution j'ai

    -Reference
    -Properties
    -Mainform.vb
    -MainForm.Designer.vb
    -MainForm.resx
    -Program.vb

    Voilà, peut être pour vous cela parait une évidence, mais je ne trouve pas que les cours permettent d'appréhender cette vue d'un projet.
    En espérant que mon explication soit plus clair.
    Ce qui ne veut pas dire que je n'estime pas avoir besoin de lire les cours (choses que je fais fréquemment)

  12. #12
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    En tant qu'autodidacte, je peux te dire que la mise en pratique ne se fait pas après avoir lu un cours....... La POO est un concept qu'il faut s'imprégner, connaitre la définition de ce qu'est l'héritage, l'abstraction, le polymorphisme, etc.... Toutes ses définitions te seront utiles lorsque tu auras choisis une méthodologie de conception de projet : CRC cards, UML, Merise (bdd essentiellement), etc.... car il y aura des choses qui te sauteront aux yeux avec le temps et pas en un jour (c'est en forgeant qu'on devient forgeron) !

    Tu parles de module..... Poses toi déjà les questions suivantes :

    C'est quoi un module ?
    Différence entre un module et une classe ?

    ....etc......

    Ensuite si tu veux avoir un aperçu de contenu de projets alors je te recommande de regarder les projets existants sur la toile (ou nos projets à nous membres qui avons parfois des projets open source GIT, Bitbucket, CodeProject, etc...)

    ++

  13. #13
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par yaume91 Voir le message
    Je comprends bien ce que vous dites, ce qui manque dans les cours que vous citez entre autre, c'est un pas à pas ou une démonstration par l'image, les cours explique la théorie, mais pas la pratique.
    Je pense que, par "la pratique", tu entends : l'organisation d'une solution .NET sous Visual Studio, et la manipulation de Visual Studio. C'est ça?

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    Bonsoir, oui il y a de ca, du coup je met la réponse que j'ai mis dans un autre sujet, celui était en fait plus approprié je pense:
    https://www.developpez.net/forums/d1...ir-d-variable/

    Bonsoir,

    Merci pour vos réponses cela m'a bien aidé, vu que j'étais un peu à la fin de mon premier "projet", je ne suis pas trop retourné en arrière.

    du coup, je suis repartis sur un autre petit outil de mon coté, et je me suis dit que c'était l'occasion de partir du bon côté, voilà donc comment j'ai démarré:

    1- j'ai créé un user form avec plusieurs textbox dans lesquelles je compte mettre certaines valeurs après manipulation d'un fichier texte , dont le contenu ressemble à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TYPE = SRT512
     
    SERIALNUMBER = 14988596944435314547
     
    #TIME = 1498496416  (26/06/2017_19h00)

    ci dessous le contenu de mon user form:

    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
    Imports System.IO
    Imports System.Linq
     
    Public Partial Class MainForm
    	Public Sub New()
    		' The Me.InitializeComponent call is required for Windows Forms designer support.
    		Me.InitializeComponent()
     
    		'
    		' TODO : Add constructor code after InitializeComponents
    		'
    	End Sub
     
     
    	Dim MonFichier As IO.FileStream	
     
    	Sub ReadClick(sender As Object, e As EventArgs)
     
    		'Effacement de toutes les textbox et dégrisage
    	For each page As TabPage In tabControl1.TabPages
    	For Each casetexte As Control In page.Controls
    		If TypeOf casetexte Is TextBox Then
    			casetexte.Text = ""
    			casetexte.Enabled = True
    		End If
    	Next
    	Next
    	'Déclaration de la boite de dialogue
       Dim openFileDialog1 As New OpenFileDialog()
       openFileDialog1.Filter = "Dump Files|*.dmp"
       openFileDialog1.Title = "Select a dump File"
     
       ' Show the Dialog.
       ' Ouverture du fichier sélectionné
       If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
     
         'créé un tableau contenant les lignes du fichier
         Dim contenu_monfichier() as string = file.readalllines(openFileDialog1.FileName)
     
         Dim ligne As Integer = 0
         While ligne < contenu_monfichier.count 
         	Dim Ident As string = Split(contenu_monfichier(ligne).ToString, "=")(0).Trim()
       		Select Case Ident
     
       			Case "TYPE"
       				Dim Type As string
       				Type = lire_type(Split(contenu_monfichier(ligne).ToString, "=")(1).Trim())
       				TypeTextBox.Text = Type
     
       			Case "SERIALNUMBER"
       				Dim SN As string
       				SN = lire_SN(Split(contenu_monfichier(ligne).ToString, "=")(1).Trim())
       				SNTextbox.Text = SN	
     
       			Case "#TIME"
       				Dim time
       				lire_time(Split(contenu_monfichier(ligne).ToString, "=")(1).Trim())
     
       		End select
       		ligne +=1
         End While
     
     
           'Fin de la fonction lire un fichier   
       End If
       End sub	
     
    End Class
    Et j'ai tenté de mettre les fonctions dans un module , dont le contenu est ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Module Fonctions_Entete
     
         'TYPE (ligne 0)
         Function lire_type (chaine_type As String) As string
         Return chaine_type
         End Function
     
         'Seriumber (ligne 2)
         Function lire_SN (chaine_SN As String) As string
         Return chaine_SN
         End Function
     
    End Module
    Je suis donc preneur de vos remarques.
    L'autre question que je me pose, c'est comment faire pour avoir une fonction (ou dois je passer par un autre moyen ?) qui retourne 2 valeurs, par exemple une fonction qui récupèrerait un timestamp , qui le convertirait en date + jour, et de récupèrer la date dans une variable et et l'heure dans une seconde variable (c'est un exemple fictif).

    Ou autre exemple si je récupère une chaine en hexadecimal que je convertit en binaire dans une fonction que je découpe en plusieurs variables selon certaines positions de bits, et qu'ensuite je souhaite afficher dans plusieurs textbox de mon user form.
    J'ai dans l'idee qu'il faudrait utiliser une fonction qui retourne un objet, es ce cela ?

    ex

    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
    Dim MesTextBox as Object
    MesTextBox = MaFonction (MaChaineHexa)
    TextBox1.textbox = MesTextBox.TB1
    TextBox2.textbox = MesTextBox.TB2
    TextBox3.textbox = MesTextBox.TB3
     
    Function (MaChaineHexa) as Object
    Dim Variable1 = toto
    Dim Variable2 = titi
    Dim Variable3 = tata
    Dim Objet.TB1 = Variable1
    Dim Objet.TB2 = Variable2
    Dim Objet.TB3 = Variable3
    Return Objet
    End Function
    Merci à vous

  15. #15
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    1ère chose à faire, aller dans les propriétés du projet (et aussi dans les paramètres par défaut de VS pour les futurs projets) et mettre option strict sur on
    ca évite d'écrire n'importe quoi (enfin ca vérifie juste les types, ca empeche pas d'écrire n'importe quoi genre des fonctions qui ne servent à rien ^^)

    là il devrait te souligner des choses inacceptables qu'il acceptait avant, genre "Dim time", une variable ca se type, donc il va t'obliger à préciser As quelque chose

    ensuite quand on créé un membre (=sub/function/property/field) on précise la portée (private/public/friend/protected/protected friend) (c'est aussi le cas pour les classes)
    donc Sub ReadClick tu rajoutes private devant

    tant qu'à faire on ne split pas 50 fois la même chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Ident As string = Split(contenu_monfichier(ligne).ToString, "=")(0).Trim()
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim splitted = Split(contenu_monfichier(ligne).ToString, "=")
    Dim Ident As string = (0).Trim()
    les autres qui veulent accéder à (1) n'auront pas à splitter et auront une ligne de code plus courte donc plus lisible

    à quoi sert Dim MonFichier As IO.FileStream ?
    au cas où, une variable ne doit être déclarée au sein de la classe que si elle est utilisée dans plusieurs membres

    au lieu de faire un If TypeOf casetexte Is TextBox Then tu peux filtrer sur la collection de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each casetexte As Control In page.Controls.OfType(Of Textbox)
    le for each ne se fera alors que sur les textbox, ca te retire un if

    le dim while, autant faire un for each ligne in contenu_monfichier

    après faudra m'expliquer l'utilité de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Function lire_type (chaine_type As String) As string
         Return chaine_type
         End Function
    quel est l'interet de retourner ce qu'on t'envoie ?



    concernant le retour de plusieurs variables, tu peux faire une classe, avec plusieurs propriétés
    la fonction sera As cette_classe
    et dans la fonction tu instancies un cette_classe, tu set les propriétés, et celui qui appelle pourra lire toutes les propriétés



    et au passage, ca n'était pas utile poster sur les 2 topics
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    et au passage, ca n'était pas utile poster sur les 2 topics
    J'étais parti pour continuer la discussion dans l'autre sujet, mais apres coup, je me suis dit que c'était mieux ici (j'ai effacé ma réponse dans l'autre sujet).

    après faudra m'expliquer l'utilité de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Function lire_type (chaine_type As String) As string
         Return chaine_type
         End Function
    quel est l'interet de retourner ce qu'on t'envoie ?
    C'était plus pour illustrer la facon dont j'étais parti sur ce nouveau "projet", la facon dont j'avais inclus mes fonctions dans un nouveau module, c'était plus pour me conforter dans ma méthode de construire mon projet (je sais pas si je suis clair), mais en effet ca n'as pas trop d'utilité comme fonction.

    à quoi sert Dim MonFichier As IO.FileStream ?
    au cas où, une variable ne doit être déclarée au sein de la classe que si elle est utilisée dans plusieurs membres
    A rien ,je pensais qu'il fallait mettre le contenu du fichier dans une variable (quand je savais pas trop encore comment ca fonctionnait).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim splitted = Split(contenu_monfichier(ligne).ToString, "=")
    Dim Ident As string = (0).Trim()
    J'imagine que c'est plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim splitted = Split(contenu_monfichier(ligne).ToString, "=")
    Dim Ident As string = splitted(0).Trim()
    ...
    Type = lire_type(splitted(1).Trim())
    1ère chose à faire, aller dans les propriétés du projet (et aussi dans les paramètres par défaut de VS pour les futurs projets) et mettre option strict sur on
    J'utilise sharpdevelop, et je ne peux pas modifier la valeur sur le projet.

    ensuite quand on créé un membre (=sub/function/property/field) on précise la portée (private/public/friend/protected/protected friend) (c'est aussi le cas pour les classes)
    donc Sub ReadClick tu rajoutes private devant

    concernant le retour de plusieurs variables, tu peux faire une classe, avec plusieurs propriétés
    la fonction sera As cette_classe
    et dans la fonction tu instancies un cette_classe, tu set les propriétés, et celui qui appelle pourra lire toutes les propriétés
    Je vais étudier tout cela

    Merci pour vos réponses

  17. #17
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,



    Citation Envoyé par Pol63 Voir le message
    1ère chose à faire, aller dans les propriétés du projet (et aussi dans les paramètres par défaut de VS pour les futurs projets) et mettre option strict sur on
    ca évite d'écrire n'importe quoi (enfin ca vérifie juste les types, ca empeche pas d'écrire n'importe quoi genre des fonctions qui ne servent à rien ^^)

    là il devrait te souligner des choses inacceptables qu'il acceptait avant, genre "Dim time", une variable ca se type, donc il va t'obliger à préciser As quelque chose
    Là, cela me semble plus être l'apanage de

    serait plus pour empêcher le recours au transtypage automatique

    Mais, je te rejoins sur le principe qu'un débutant en VB, sans "l'héritage" de l'utilisation du BASIC durant des années, aurait tout intérêt à y recourir dès ses débuts.

    Également, commencer avec une version récente de VS et du Framework. Elles obligent à être plus formels, notamment avec les variables publiques.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  18. #18
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 48
    Points
    48
    Par défaut
    OK, du coup j'ai trouvé dans sharpdevelop ou paramétré les 2 options.

Discussions similaires

  1. Comment bien organiser son code
    Par boubil dans le forum Android
    Réponses: 3
    Dernier message: 27/12/2016, 17h13
  2. comment organiser son code ?
    Par progammaster dans le forum C#
    Réponses: 1
    Dernier message: 31/03/2016, 22h47
  3. Comment organiser sons code pour un multi affichages
    Par corbane dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/08/2015, 10h41
  4. [PDO] PDO Comment structurer son code quand on a plusieurs requêtes?
    Par binco dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/12/2014, 04h50
  5. Réponses: 5
    Dernier message: 10/08/2011, 11h16

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