Importer un fichier text comme array

farid174 Messages postés 46 Statut Membre -  
farid174 Messages postés 46 Statut Membre -
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 :


8 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. farid174 Messages postés 46 Statut Membre 1
     
    salut Jordane s'il tu plaît je veux le code de programmation
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    As-tu simplement essayer de l'ouvrir avec Excel ? (Fichier / Ouvrir)
    0
    1. farid174 Messages postés 46 Statut Membre 1
       
      oui par excel en put le faire mais je besoin de créer un programme .exe sur vb.net
      0
  4. farid174 Messages postés 46 Statut Membre 1
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. farid174 Messages postés 46 Statut Membre 1
     
    voici le message d'erreur qui m'a affiché

    v
    0
  7. farid174 Messages postés 46 Statut Membre 1
     
    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
  8. Utilisateur anonyme
     
    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