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 :

Gérer dossier et fichier texte via application VB.net


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut Gérer dossier et fichier texte via application VB.net
    Bonjour à tous,
    J'essaie de développer un programme en VB.net et étant un bon gros débutant en ce langage, je me retrouve coincé. Explication :
    Mon programme a pour but de faciliter les recherches web entre autre.
    Pour celà j'ai récupéré les "adresses de recherches" de site ( exemple : https://www.google.fr/#hl=fr&output=...ient=psy-ab&q= ).
    Je sauvegarde mes adresses sous la forme de fichiers textes dans un dossier ou j'y ajoute le logo du site correspond. Au final je me retrouve avec plusieurs dossiers (nommé google, youtube ...) qui contiennent chacun l'adresse et le logo du site.

    Maintenant j'aimerai bien pouvoir, depuis mon application VB.net, afficher chaque logo (un genre de listing) avec associé une variable qui contient l'adresse du fichier texte associé au logo.

    Je me retrouve donc avec ce problème :
    - comment afficher les images et y associé la variable alors que le nom de mes dossiers et lui même une variable (google, youtube, facebook ...) ? (Je connais par contre l'emplacement de mes dossiers).

    Est ce qu'il serai plus judicieux d'avoir un autre fichier texte avec tout les noms des dossiers et au fur et à mesure que je rajoute des dossiers, je rajoute une ligne dans ce fichier ?


    Je m'excuse de pas pouvoir être plus claire que ça ....
    Merci à tous ceux qui y porteront attention.

  2. #2
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Bonjour,

    En supposant que vos dossiers soient eux même regroupés dans un dossier parent, et que chacun de ces dossiers contienne un fichier logo.gif et descriptif.txt :

    - parcourir ce dossier parent, de relever le chemin de chaque sous dossier et de les stocker dans un tableau "variable1" par exemple ;

    - lorsque vous voulez afficher le logo d'un site numéro 'index' dans un PictureBox, vous pouvez utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            PictureBox1.Image.FromFile(variable1(index) & "logo.gif")
    - Utiliser la même méthode avec le fichier texte et un textbox (par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim str As String
            str = IO.File.ReadAllText(variable1(index) & "descriptif.txt")
            TextBox1.Text = str
    Je ne sais pas si ça répond à votre attente...

  3. #3
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Voilà un exemple qui identifie tous les sous-répertoires d'un répertoire donné (ici par exemple : "c:\") :

    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
            Dim ListeRepertoires As New List(Of String)
     
            Try
                ' Répertoire parent
                Dim di As New System.IO.DirectoryInfo("c:\")
                ' Obtient des infos sur chacun des sous-répertoires
                Dim diArr As System.IO.DirectoryInfo() = di.GetDirectories()
                ' Inventorie chaque nom de répertoire
                Dim dri As System.IO.DirectoryInfo
                For Each dri In diArr
                    ListeRepertoires.Add(dri.Name)
                Next dri
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
            ' Affichage dans un RichTextBox
            For Each nom In ListeRepertoires
                RichTextBox1.SelectedText = nom & vbNewLine
            Next nom
    Dans un premier temps on construit un tableau contenant chaque nom de sous-répertoire, dans un deuxième temps on traite l'info : ici par exemple on affiche les noms dans une boite de texte.

    A noter que si on remplace dri.Name par dri.FullName, on obtient le chemin d'accès complet de chaque sous-répertoire, au lieu du nom seulement. On peut également aller chercher d'autres infos sur chaque répertoire (est-il caché ? Quand a-t-il été créé ?).

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    Merci le code marche bien, Par contre je n'arrive pas à récupérer chaque ligne du richbox pour pouvoir par la suite avoir un lien vers l'image et le fichier texte.

    Je pensais utiliser le ListView pour présenter mes différents "liens" associés à leurs images. Est ce la manière la plus facile ou dois-je m'orienté vers une technique ? Est ce que le fait de ne pas savoir le nombre de sous dossier que j'ai compliquera fortement la chose ?

  5. #5
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Citation Envoyé par geekploy Voir le message
    Par contre je n'arrive pas à récupérer chaque ligne du richbox pour pouvoir par la suite avoir un lien vers l'image et le fichier texte.
    Il faut évidement remplacer la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RichTextBox1.SelectedText = nom & vbNewLine
    par votre traitement à vous. L'affichage dans un richtextebox n'était qu'un exemple.

    Citation Envoyé par geekploy Voir le message
    Je pensais utiliser le ListView pour présenter mes différents "liens" associés à leurs images. Est ce la manière la plus facile ou dois-je m'orienté vers une technique ?
    Tout dépend de ce que vous voulez faire ! Chaque contrôle a ses avantages, tout dépend de la façon dont l'utilisateur doit interagir avec ces données.

    Citation Envoyé par geekploy Voir le message
    Est ce que le fait de ne pas savoir le nombre de sous dossier que j'ai compliquera fortement la chose ?
    Dans l'exemple que je vous ai donné, il n'y a aucune précision quant au nombre de sous-dossiers. Que vous en ayez 10 ou 1000, le code ne change pas. Par contre il est hors de question de fournir à l'utilisateur une liste de 1000 images, il va donc falloir trouver une astuce pour classer tout ça si le cas se présente.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each nom In ListeRepertoires
                Dim link As String
                link = nom
                Label2.Text = link & vbNewLine
    Avec ce code j'arrive à faire des noms de mes dossiers une variable mais ce n'est pas une seule variable qu'il me faut, mais une variable pour chaque dossier ... Dans le label2 (qui est pour tester ma vairable), je n'ai que le nom du dernier dossier.
    Google n'a pas pu m'aider encore une fois (je n'ai sans doute pas les bon mots clés).
    Je ne sais pas trop comment faire à vrai dire.

    [/QUOTE]Par contre il est hors de question de fournir à l'utilisateur une liste de 1000 images, il va donc falloir trouver une astuce pour classer tout ça si le cas se présente.[/QUOTE]
    Pour le classement je ferai en sorte que les images soient ranger par carégorie dans différent dossier auquel j'appliquerai le code et j'essaie de mettre en place durement.

  7. #7
    Membre averti Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Points : 304
    Points
    304
    Par défaut
    Bonjour,
    La dernière valeur traitée dans votre boucle écrase la valeur précédente.
    La concaténation est de rigueur dans votre exemple. Il faut plutôt utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim link As String = nom & vbNewLine
    Label2.Text &= link

  8. #8
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Bonjour,

    J'ai créé une form avec un bouton, un listview et une imagelist.

    J'ai également un répertoire "C:\Temp\Sites" qui contient plusieurs sous-répertoires (Google, Bing, Yahoo!). Chaque sous-répertoire contient un fichier image "logo.png" (le format GIF n'est pas supporté nativement par VB.NET à ma connaissance).

    Je code mes évènements comme suit (dans la classe 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
        Dim ListeRepertoires As New List(Of String)
     
     
        Private Sub Button_CompleterListview_Click(sender As System.Object, e As System.EventArgs) Handles Button_CompleterListview.Click
            Dim lvi As ListViewItem
     
            ' Initialise
     
            ListeRepertoires.Clear()
            ListView_Sites.Clear()
            ImageList_LogosSites.Images.Clear()
     
            ' Lire les sous-répertoires et les logos associés
     
            Try
                ' Répertoire parent
                Dim di As New System.IO.DirectoryInfo("c:\temp\sites")
                ' Obtient des infos sur chacun des sous-répertoires
                Dim diArr As System.IO.DirectoryInfo() = di.GetDirectories()
                ' Inventorie chaque nom de répertoire
                Dim dri As System.IO.DirectoryInfo
                For Each dri In diArr
                    ListeRepertoires.Add(dri.Name)
                    ImageList_LogosSites.Images.Add(Image.FromFile(dri.FullName & IO.Path.DirectorySeparatorChar & "logo.png"))
                Next dri
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
     
            ' Complète le listview
     
            For i As Integer = 0 To ListeRepertoires.Count - 1
                lvi = ListView_Sites.Items.Add(ListeRepertoires(i))
                lvi.ImageIndex = i
            Next i
     
        End Sub
    Et j'obtiens :



    Est-ce ce que vous cherchez à faire ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    C'est exactement ça, merci beaucoup pour le code.
    J'ai toujours un problème, étant débutant j'arrive pas à modifier le code pour qu'il soit fonctionnel sur mon projet.
    Je me retrouve avec trois fautes :
    - ListeRepertoires
    - ListView_Sites
    - ImageList_LogosSites

    Je pense que j'ai mal configurer le listview ou le imagelist.
    Après avoir regarder longuement sur le net et avoir tester pas mal de chose différente j'obtiens toujours rien.
    Faut-il rajouter ces "objets" dans le listview et modifier leurs noms ? Je suis partie sur cette hypothèse ...

    Merci beaucoup pour tout le temps passer à m'aider.

  10. #10
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Citation Envoyé par geekploy Voir le message
    Je me retrouve avec trois fautes :
    - ListeRepertoires
    Placez la déclaration ci-dessous juste après "Public Class Form1" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Dim ListeRepertoires As New List(Of String)
    Citation Envoyé par geekploy Voir le message
    - ListView_Sites
    Donnez ce nom à votre ListView (ou changez le dans le code en le remplaçant par le nom de votre listview)

    Citation Envoyé par geekploy Voir le message
    - ImageList_LogosSites
    Le projet doit avoir une ImageList avec ce nom.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    C'est parfait, merci beaucoup.
    Une dernière petite question, comment manipuler la sélection de la personne sur le listviewer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView_Sites.Selected ("google")
    Encore merci

  12. #12
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    En GET :
    SelectedIndex te retourne, la position de l'index(base 0) dans la liste.
    SelectedItem te retourne l'item sélectionné (pour sélection unique).
    SelectedItems te retourne une IList des items sélectionnés (pour sélections multiples).

    En SET :
    SelectedIndex(i) sélectionne l'item qui se situe à l'index i.
    SelectedItem(toto as LeTypeDeTonItem) sélectionne dans la liste l'item toto.
    SelectedItems n'est pas disponible en SET (ReadOnly)

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    Merci, j'ai essayé d'utiliser ces codes, mais à priori je suis un grand novice

    Plus sérieusement, j'ai voulu afficher mon item sélectionné dans un label, juste pour voir un peu comment ça marche et je n'ai pas réussi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label1.Text = ListView_Sites.SelectedItem()
    Au final je voudrai rentrer l'item sélectionné dans une variable ...
    Comment faire ?

  14. #14
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par geekploy Voir le message
    Merci, j'ai essayé d'utiliser ces codes, mais à priori je suis un grand novice

    Plus sérieusement, j'ai voulu afficher mon item sélectionné dans un label, juste pour voir un peu comment ça marche et je n'ai pas réussi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label1.Text = ListView_Sites.SelectedItem()
    Au final je voudrai rentrer l'item sélectionné dans une variable ...
    Comment faire ?
    Non en fait oublie, j'ai fait un test sur une appli avec Winforms, et je me suis rendu compte qu'il n'y avait pas de property .SelectedItem pour Listview ...

    En revanche, il y a .SelectedItems, qui te ramène une SelectedListViewItemCollection, si ta ListView n'autorise pas la sélection multiple, tu peux forcer la récupération du 1er élément de la liste, ce qui revient à .SelectedItem ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           If ListView_Sites.SelectedItems.Count < 2 Then
                Label1.Text = ListView_Sites.SelectedItems(0).Text
            End If
    Et quand tu dis "rentrer l'item sélectionné dans une variable", tu parles du text de l'item ou de l'item de type ListViewItem en entier ?

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    J'ai essayé ce code mais une fois le programme lancer et la commande appeler, Visual Basic Express m'indique que l'item n'existe pas. J'ai essayé d'autre chiffre mais rien à faire, ça marche pas.

    Quand je dis rentrer l'item sélectionner dans une variable, je parle du nom de l'item (comme "facebook", "google" ...).

    En faite si j’appelle cette variable "lien", ça me permettra d'avoir un lien vers un fichier : C:\Program Files (x86)\mon programme\ressource\"lien"\doc.txt

    Comme ça en fonction du choix de l'utilisateur, je pourrai l'orienté vers différent document texte.

    J'espère avoir été claire sur mon problème, merci

  16. #16
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par geekploy Voir le message
    J'ai essayé ce code mais une fois le programme lancer et la commande appeler, Visual Basic Express m'indique que l'item n'existe pas. J'ai essayé d'autre chiffre mais rien à faire, ça marche pas.

    Quand je dis rentrer l'item sélectionner dans une variable, je parle du nom de l'item (comme "facebook", "google" ...).

    En faite si j’appelle cette variable "lien", ça me permettra d'avoir un lien vers un fichier : C:\Program Files (x86)\mon programme\ressource\"lien"\doc.txt

    Comme ça en fonction du choix de l'utilisateur, je pourrai l'orienté vers différent document texte.

    J'espère avoir été claire sur mon problème, merci
    C'est que tu n'as -a priori- pas d'item sélectionné ?

    A quel moment tu remplis le texte de ton label ? A l'event SelectedIndexChanged ?

    Si j'ai compris, dans ton cas "lien" sera ~en gros~ "facebook" pour C:\Program Files (x86)\mon programme\ressource\facebook\doc.txt ?

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    Citation Envoyé par _Ez3kiel Voir le message
    C'est que tu n'as -a priori- pas d'item sélectionné ?
    Effectivement, je pense que ça venait de là, j'ai franchement honte de moi
    Peut-on sélectioné un item par défaut ? c'est à dire que lorsque l'utilisateur lance le programme, il y a déjà un item de sélectionné...

    Citation Envoyé par _Ez3kiel Voir le message
    A quel moment tu remplis le texte de ton label ? A l'event SelectedIndexChanged ?
    Je comprend pas bien la question, le label que j'utilise est là juste pour me montrer que la sélection est la bonne.

    Citation Envoyé par _Ez3kiel Voir le message
    Si j'ai compris, dans ton cas "lien" sera ~en gros~ "facebook" pour C:\Program Files (x86)\mon programme\ressource\facebook\doc.txt ?
    Tu as parfaitement bien comprit. Ensuite je récupère l'adresse web présent dans le document que je met dans une variable ("adresse" dans mon exemple), et je l'utilise pour faire une recherche sur internet grâce à l’intermédiaire d'un textbox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start(adresse & TextBox1.Text)

  18. #18
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par geekploy Voir le message
    Effectivement, je pense que ça venait de là, j'ai franchement honte de moi
    Peut-on sélectioné un item par défaut ? c'est à dire que lorsque l'utilisateur lance le programme, il y a déjà un item de sélectionné...
    Si c'est pour éviter l'exception, le mieux serait de tester qu'un item soit sélectionné avant d'appeller ListView_Sites.SelectedItems(0).Text

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If ListView_Sites.SelectedItems.Count > 0 Then
    Label1.Text = ListView_Sites.SelectedItems(0).Text
    else
    msgbox("Pas d'item sélectionné")
            End If


    Mais si tu tiens vraiment à en avoir un par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView1.Items(0).Selected = True
    Citation Envoyé par geekploy Voir le message
    Tu as parfaitement bien comprit. Ensuite je récupère l'adresse web présent dans le document que je met dans une variable ("adresse" dans mon exemple), et je l'utilise pour faire une recherche sur internet grâce à l’intermédiaire d'un textbox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start(adresse & TextBox1.Text)
    D'accord, mais n'oublie pas que selon le moteur de recherche tu auras parfois à "formater" ton texte (pas d'espaces dans l'url, pas de caractères spéciaux, etc etc), les algos de Google se débrouillent pour recomposer ta recherche même si l'url n'est pas valide (ex : https://www.google.fr/#hl=fr&output=search&sclient=psy-ab&q=Hier j'ai mangé un éléphant entier ça passe, mais merci Google, tous ne le font pas !)

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 6
    Points
    6
    Par défaut ...
    Si la variable lien désigne le nom de mon item sélectionné, j'arrive pas à utiliser ce code (je me suis inspéré de MSDN). C'est au niveau du lien que ça cloche, sinon il fonctionne correctement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Try
                Using sr As New StreamReader("C:\program file (86)\programme\links\", lien "\doc.txt")
                    Dim line As String
                    line = sr.ReadToEnd()
                    Label1.Text = line
                End Using
            Catch ed As Exception
                MsgBox(ed.Message)
            End Try

    De plus j'ai un autre problème, comment fait-on pour utiliser une variable d'une form à une autre ?
    J'identifie ma variable "lien" dans une form2 et je veux la retrouver et l'utiliser dans une form1, j'utilise donc ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label3.Text = form2.lien
    Malheureusement, le débogueur me dit que la variable et "private" et donc ne peut pas être utiliser.

    Beaucoup de site ont des algo qui se charge de formater le texte, mais sinon ouais je sais qu'il faudra que je régle ce problème sur certain site.

  20. #20
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par geekploy Voir le message
    Si la variable lien désigne le nom de mon item sélectionné, j'arrive pas à utiliser ce code (je me suis inspéré de MSDN). C'est au niveau du lien que ça cloche, sinon il fonctionne correctement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Try
                Using sr As New StreamReader("C:\program file (86)\programme\links\", lien "\doc.txt")
                    Dim line As String
                    line = sr.ReadToEnd()
                    Label1.Text = line
                End Using
            Catch ed As Exception
                MsgBox(ed.Message)
            End Try
    Je ne comprend pas trop pourquoi tu utilises la virgule ici, car elle signifie que tu passes un autre paramètre au constructeur de StreamReader, or si j'ai bien compris, toi tu veux le constructeur avec uniquement le chemin d'accès.

    Ton chemin d'accès est dynamique car il y a une variable à l'intérieur, donc tu dois concaténer pour former un chemin d'accès complet. En Vb.NET, tu peux concaténer 2 chaînes de caractères avec + ou & (Dans le cas d'une concaténation de chiffres il est préférable d'utiliser & car sinon le + risque d'être interprété comme une addition)

    Ainsi on a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New StreamReader("C:\program file (86)\programme\links\" & lien  & "\doc.txt")

    Citation Envoyé par geekploy Voir le message
    De plus j'ai un autre problème, comment fait-on pour utiliser une variable d'une form à une autre ?
    J'identifie ma variable "lien" dans une form2 et je veux la retrouver et l'utiliser dans une form1, j'utilise donc ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label3.Text = form2.lien
    Malheureusement, le débogueur me dit que la variable et "private" et donc ne peut pas être utiliser.
    Tu peux la déclarer public(accessible de partout) ou friend(accessible de partout mais au sein du même projet) plutôt que private si tu souhaites y avoir accès. Si tu es amené à avoir beaucoup de variables ou méthodes inter-form, il faudrait passer par un module.

Discussions similaires

  1. [XL-2007] Format javascript dans fichier texte via urldownloadtofile VBA
    Par patbo2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2009, 12h44
  2. copier contenu d'un fichier text via une macro
    Par bassm dans le forum VBA Word
    Réponses: 9
    Dernier message: 11/12/2008, 11h13
  3. Générer un fichier texte via un formulaire en php
    Par drogba72 dans le forum Langage
    Réponses: 8
    Dernier message: 21/05/2008, 10h07
  4. Supprimer un fichier texte via VBA
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/04/2008, 22h01
  5. Réponses: 3
    Dernier message: 01/08/2006, 15h18

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