flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
24 juil. 2006 à 12:28
cs_drahcir
Messages postés745Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention15 septembre 2009
-
24 juil. 2006 à 15:21
Salut tout le monde!
Voici ce que je cherche à faire en VB, je ne sais pas comment m'y prendre :
j'ai un fichier texte, je veux aller lire la dernière ligne, dans cette ligne, je souhaite récupérer séparément les caractères 51à71 et les caractères 72à86.
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 24 juil. 2006 à 13:23
Simple, copie ce code :
Dim sFile As String, sLine As String
Dim sVal1 As String, sVal2 As String
'Chemin du fichier à ourvir
sFile = "c:\....\.txt"
'On ouvre le fichier
Open sFile For Input As #1
'On récupère toutes les lignes une par une
Do While Not EOF(1)
Line Input #1, sLine
Loop
'On ferme le fichier
Close #1
'Arrivé ici sLine a forcément en valeur la dernière ligne du fichier
'On récupère donc les partie de la lignes qui nous interressent
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 24 juil. 2006 à 13:41
Merci beaucoup!!!
En fait je veux compiler en exe sous Visual studio, j'ai le code suivant : (Ca me sort des erreurs sur ce qui est en rouge;j'ai aussi : Open n'est pas déclaré, la fonctionnalité d'E/S de fichier est disponible dans l'espace de noms Microsoft.VisualBasic)
Imports
System.IO
Imports
System
Imports
Microsoft.VisualBasic
Public
Class Form1
Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
Dim sFile
As
String, sLine
As
String
Dim sVal1
As
String, sVal2
As
String
'Chemin du fichier à ourvir sFile =
"c:\....\.txt"
'On ouvre le fichierOpen (sFile)
For Input
As
(#1)
'On récupère toutes les lignes une par une
Do
While
Not EOF(1)Microsoft.VisualBasic.FileSystem.LineInput (#1)
, sLine
Loop
'On ferme le fichierClose (#1)
'Arrivé ici sLine a forcément en valeur la dernière ligne du fichier
'On récupère donc les partie de la lignes qui nous interressent sVal1 = Mid$(sLine, 51, 20)
sVal2 = Mid$(sLine, 72, 14)
End
SubEnd
Class
Vous n’avez pas trouvé la réponse que vous recherchez ?
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 24 juil. 2006 à 14:05
Alors, la c'est ok, sauf que mes valeurs sont sur l'avant dernière ligne... comment supprimer la dernière ligne puis se positionner sur la derniere ensuite...?
Imports
System.IO
Imports
System
Imports
Microsoft.VisualBasic
Public
Class
Form1
Private
Sub
Form1_Load(
ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
MyBase
.Load
Dim
FIC
As
String
, sLine
As
String
=
""
Dim
sVal1
As
String
, sVal2
As
String
'Chemin du fichier à ourvir
FIC =
"D:\D071603.TXT"
'On ouvre le fichier
Using
liste
As
StreamReader =
New
StreamReader(FIC)
Do
While
liste.Peek() >= 0
'lit le prochain charactère et retourne <0 si impossible de le lire
sLine = liste.ReadLine()
Loop
'On ferme le fichier
liste.Close()
'Arrivé ici sLine a forcément en valeur la dernière ligne du fichier
'On récupère donc les partie de la lignes qui nous interressent
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 24 juil. 2006 à 14:49
De quelle manière est ce que je peux faire ça? Il faut que je donne le séparateur ds mon code?
Apparemment, ce sont des espaces, est ce que cela a une importance si il y en a plusieurs de suite?