[VB.net] Lire .txt dans textbox [Résolu/Fermé]

Signaler
Messages postés
81
Date d'inscription
lundi 24 mars 2014
Statut
Membre
Dernière intervention
18 octobre 2018
-
Messages postés
81
Date d'inscription
lundi 24 mars 2014
Statut
Membre
Dernière intervention
18 octobre 2018
-
Bonjour, j'ai fais un petit programme avec 8 textbox disposé en colonne.
J'aimerai que dans chaque textbox, s'écrit le texte d'un fichier .txt (enregister dans le même répertoire que mon .exe).

Par exemple : mon programme :


Je veux que :
La première textbox corresponde avec la première ligne de mon fichier .txt
La deuxième textbox corresponde avec la deuxième ligne de mon .txt
...
La huitième textbox corresponde avec la huitième ligne de mon .txt.

Je ne sais pas du tout comment faire (j'ai déjà rechercher mais sans succès) donc si vous pouvez détailler un minimum ce que vous dites, ce serai super !


Je vous donne le code source, pour savoir où je dois mettre ce que vous me dites, et que se soit peut être plus simple pour vous de comprendre :

(Pour comprendre a quoi ça sert ; ça permet juste de mettre au premier plan avec la touche F1 le nom de la fenêtre dans la première textbox, F2 pour la deuxième textbox, etc...)

Imports System.IO

Public Class Form1

Enum FsModifiers
None = 0
Alt = 1
Control = 2
Shift = 4
Windows = 8
Alt_Ctrl = 3
Alt_Shift = 5
Alt_Windows = 9
Ctrl_Shift = 6
Ctrl_Windows = 10
Shift_Windows = 12
No_Repeat = 16384
End Enum

Declare Auto Function RegisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer, ByVal fsModifier As FsModifiers, ByVal vk As Keys) As Boolean

Declare Auto Function UnregisterHotKey Lib "user32.dll" (ByRef handle As IntPtr, ByVal id As Integer) As Integer

Private Const HOTKEY_ID1 As Integer = 571584
Private Const HOTKEY_ID2 As Integer = 752453
Private Const HOTKEY_ID3 As Integer = 752454
Private Const HOTKEY_ID4 As Integer = 752455
Private Const HOTKEY_ID5 As Integer = 752456
Private Const HOTKEY_ID6 As Integer = 752457
Private Const HOTKEY_ID7 As Integer = 752458
Private Const HOTKEY_ID8 As Integer = 752459

Private Const WM_HOTKEY As Integer = 786

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RegisterHotKey(Me.Handle, HOTKEY_ID1, FsModifiers.None, Keys.F1)
RegisterHotKey(Me.Handle, HOTKEY_ID2, FsModifiers.None, Keys.F2)
RegisterHotKey(Me.Handle, HOTKEY_ID3, FsModifiers.None, Keys.F3)
RegisterHotKey(Me.Handle, HOTKEY_ID4, FsModifiers.None, Keys.F4)
RegisterHotKey(Me.Handle, HOTKEY_ID5, FsModifiers.None, Keys.F5)
RegisterHotKey(Me.Handle, HOTKEY_ID6, FsModifiers.None, Keys.F6)
RegisterHotKey(Me.Handle, HOTKEY_ID7, FsModifiers.None, Keys.F7)
RegisterHotKey(Me.Handle, HOTKEY_ID8, FsModifiers.None, Keys.F8)
End Sub

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_HOTKEY

If m.WParam = HOTKEY_ID1 Then
AppActivate(TextBox1.Text)
ElseIf m.WParam = HOTKEY_ID2 Then
AppActivate(TextBox2.Text)

ElseIf m.WParam = HOTKEY_ID3 Then
AppActivate(TextBox3.Text)

ElseIf m.WParam = HOTKEY_ID4 Then
AppActivate(TextBox4.Text)

ElseIf m.WParam = HOTKEY_ID5 Then
AppActivate(TextBox5.Text)

ElseIf m.WParam = HOTKEY_ID6 Then
AppActivate(TextBox6.Text)

ElseIf m.WParam = HOTKEY_ID7 Then
AppActivate(TextBox7.Text)

ElseIf m.WParam = HOTKEY_ID8 Then
AppActivate(TextBox8.Text)

End If

End Select
MyBase.WndProc(m)
End Sub

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
UnregisterHotKey(Me.Handle, HOTKEY_ID1)
UnregisterHotKey(Me.Handle, HOTKEY_ID2)
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
AppActivate(TextBox1.Text)
End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox2.Text)
End Sub

Private Sub Button3_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox3.Text)
End Sub

Private Sub Button4_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox4.Text)
End Sub

Private Sub Button5_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox5.Text)
End Sub

Private Sub Button6_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox6.Text)
End Sub

Private Sub Button7_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox7.Text)
End Sub

Private Sub Button8_Click(sender As System.Object, e As System.EventArgs)
AppActivate(TextBox8.Text)
End Sub
End Class

3 réponses

Messages postés
6969
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2020
557
Bonjour,

petite recherche sur Google et voilà exactement ce qu'il te faut:

https://openclassrooms.com/forum/sujet/comment-lire-fichier-ligne-par-ligne-74549
Messages postés
81
Date d'inscription
lundi 24 mars 2014
Statut
Membre
Dernière intervention
18 octobre 2018
36
C'est super ça ! Ça fonctionne parfaitement !
Merci bien ^^
Bonjour,

Sub lectureFichier(ByVal fichier As String)
    Try
       Dim monStreamReader As New StreamReader(fichier) 'Stream pour la lecture
       Dim ligne As String ' Variable contenant le texte de la ligne
       Do
          ligne = monStreamReader.ReadLine
          MsgBox(ligne)
          ' TRAITEMENT A EFFECTUER SUR LA LIGNE ICI
       Loop Until ligne Is Nothing monStreamReader.Close()
    Catch ex As Exception
       MsgBox("Une erreur est survenue au cours de l'accès en lecture du fichier de configuration du logiciel." & vbCrLf & vbCrLf & "Veuillez vérifier l'emplacement : " & fichier, MsgBoxStyle.Critical, "Erreur lors e l'ouverture du fichier conf...")
    End Try
End Sub





Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lectureFichier("Z:\Test.txt")
    End Sub
 
    Sub lectureFichier(ByVal fichier As String)
        Dim I As Integer = 0
        Try
            Dim monStreamReader As New StreamReader(fichier) 'Stream pour la lecture
            Dim ligne As String ' Variable contenant le texte de la ligne
            Do
                I = I + 1
                ligne = monStreamReader.ReadLine
                If I = 1 Then TextBox1.Text = ligne
                If I = 2 Then TextBox2.Text = ligne
                If I = 3 Then TextBox3.Text = ligne
                If I = 4 Then TextBox4.Text = ligne
                If I > 4 Then Exit Do
            Loop Until ligne Is Nothing
            monStreamReader.Close()
        Catch ex As Exception
            MsgBox("Une erreur est survenue au cours de l'accès en lecture du fichier de configuration du logiciel." & vbCrLf & vbCrLf & "Veuillez vérifier l'emplacement : " & fichier, MsgBoxStyle.Critical, "Erreur lors e l'ouverture du fichier conf...")
        End Try
    End Sub




https://openclassrooms.com/forum/sujet/comment-lire-fichier-ligne-par-ligne-74549
Messages postés
6969
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2020
557
Tu reprends exactement le site que j'ai indiqué!
En plus tu ne mets pas le code dans les balises , c'est donc illisible!