Importer un fichier text comme array

Fermé
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 - 26 sept. 2016 à 15:06
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 - 29 sept. 2016 à 22:30
Bonjour,

Salut a tous, je avoir un fichier text des coordonnées (N°,x,y,z) et je besoin de le l'importer sur VB.NET comme un matrice (array) pour faire tout l’opération de calcul (assemblage, soustraction, comparaison) aussi l’opération qui permet de édit sur le contenu (copier, coller, déplacer) sur ce fichier et finalement sortie sur le même format.
S'il vous plaît je veux le code de programmation avec son explication.
Salutations......

Voilà le fichier que je signifie :


A voir également:

8 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 sept. 2016 à 15:24
Bonjour,
Et sur quoi bloques tu exactement ?

Sachant que tu pourrais, par exemple, (depuis ton code VB.NET )
- Ouvrir le fichier texte en lecture
- Parcourir le fichier ligne par ligne
- Pour chaque ligne, faire un SPLIT sur le séparateur (qui semble être un espace ou une tabulation)
- Stocker le résultat des split dans un array

Ou mieux ..... , utiliser Microsoft.VisualBasic.FileIO.TextFieldParser
par exemple : https://stackoverflow.com/questions/14764644/how-do-i-read-data-from-a-csv-file-and-store-the-info-into-an-array
0
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
26 sept. 2016 à 16:14
salut Jordane s'il tu plaît je veux le code de programmation
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 sept. 2016 à 16:15
Tu as été voir le lien que je t'ai donné ?
Tu as un exemple dedans....

Pour ma part .. NON .. je ne fais pas dans le tout cuit !
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
26 sept. 2016 à 16:18
As-tu simplement essayer de l'ouvrir avec Excel ? (Fichier / Ouvrir)
0
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
26 sept. 2016 à 16:46
oui par excel en put le faire mais je besoin de créer un programme .exe sur vb.net
0
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
Modifié par jordane45 le 27/09/2016 à 12:09
salut a tous , J'ai essayé par cette code mais le probleme se fait sur le valeur K

Public Class Form1
    Dim N () As String
    Dim X() As Integer
    Dim Y() As Integer
    Dim Z() As Integer
    Dim k As Integer


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim textFile As String
        OpenFileDialog1.ShowDialog() 'Open dialog box appears and program pauses until a text file is selected
        textFile = OpenFileDialog1.FileName


        'Dim student() As String = IO.File.ReadAllLines(textFile)
        Dim query = From line In IO.File.ReadAllLines(textFile)
                    Let data = line.Split(" "c)
                    Let N = data(0)
                    Let X = data(1)
                    Let Y = data(2)
                    Let Z = data(3)
        k = X(1) + Y(3)
        TextBox1.Text = k
    End Sub

End Class


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
27 sept. 2016 à 12:11

le probleme se fait sur le valeur K

C'est à dire ? Quel est le problème ?
Merci d'être plus explicite lorsque tu exposes tes difficultés....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
27 sept. 2016 à 12:35
voici le message d'erreur qui m'a affiché

v
0
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
Modifié par farid174 le 28/09/2016 à 19:37
Est-il possible que je trouve que vous avez à me aider à expliquer le signification du mot (globalVariables) dans ce code

le sujet complète sur le lien
https://stackoverflow.com/questions/25996514/split-and-store-a-text-file-into-an-array-using-arraylist
Dim sr As StringReader = New StringReader(My.Resources.ResourceManager.GetObject(globalVariables.currSubject))

    Dim questions As String

    Dim splitquestions(6) As String

    Dim Unsplitquestions(6) As String




    Dim i As Integer = 0

    Do Until sr.Peek = -1

        questions = sr.ReadLine

        Unsplitquestions(i) = questions

        splitquestions = Unsplitquestions(i).Split(New String() {"##"}, StringSplitOptions.RemoveEmptyEntries)

        ' Splits and Stores Into Various 
        '
        '


        globalVariables.ArrayQuestions.Add(splitquestions(0))

        globalVariables.optionA.Add(splitquestions(1))

        globalVariables.optionB.Add(splitquestions(2))

        globalVariables.optionC.Add(splitquestions(3))

        globalVariables.optionD.Add(splitquestions(4))

        globalVariables.Answer.Add(splitquestions(5))

    Loop
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
Modifié par Whismeril le 28/09/2016 à 23:32
Bonsoir

programmer ça ne tombe pas du ciel et prendre un bout de code au hasard sur internet et l'adapter au pif
       'Dim student() As String = IO.File.ReadAllLines(textFile)
        Dim query = From line In IO.File.ReadAllLines(textFile)
                    Let data = line.Split(" "c)
                    Let N = data(0)
                    Let X = data(1)
                    Let Y = data(2)
                    Let Z = data(3)


ou encore, quand on t'envoie vers une autre sujet, ne pas regarder la réponse qui solutionne, mais prendre en référence le code qui ne marche pas, ne sont pas de bonnes façons d'apprendre.

La bonne façon est de commencer par les bases, parce que là il est évident que tu ne les as pas.
Il y a ce cours qui est bien pour débuter
https://plasserre.developpez.com/cours/vb-net/

Ce a cependant 2 défauts à mon sens.
  • Le premier, c'est qu'il montre les largesses qu'autorise VB.Net sur .Net, par exemple ta requête Linq n'aurait même pas compilée en C# (le socle de .Net) car d'un point de vue objet, elle ne veut rien dire. En .Net manifestement, elle compile, mais plante à l'exécution, forcément elle ne fait rien.....
  • Le second c'est qu'il ne parle pas assez de l'objet, or .Net est un langage objet (pas orienté objet, objet, voire tout objet), et donc il faut bien comprendre le fonctionnement de ce concept pour bien écrire en .Net. Tu peux faire plus ou moins l'impasse si tu appliques le Split, tel que montré dans la solution de l'autre discussion, mais pas avec Linq.


Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
29 sept. 2016 à 11:36
Bonjour,

Une petite recherche sur Google = "Remplir une listview avec un fichier texte"

et voilà!

il suffit juste de changer le séparateur:

http://checktechno-fr.blogspot.com/2012/12/remplir-listview-vbnet-avec-fichier.html

0
farid174 Messages postés 39 Date d'inscription lundi 26 septembre 2016 Statut Membre Dernière intervention 12 février 2019 1
Modifié par farid174 le 29/09/2016 à 22:30
Merci cs_Le Pivert
Voilà ce que j'ai besoin
0