gandalflegris007
Messages postés211Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention11 juin 2007 9 nov. 2004 à 20:54
Salut guyvdv :
je commence aussi en VB.NET mais j'ai trouvé ces petites routines sur des exemples.
C'est peut être pas le top mais ça marche bien.
Donc pour répondre à tes questions :
Quoique tu fasses, il faut commencer par spécifier que tu vas bosser sur les flux de fichier ==> placer "Imports System.IO" tout en haut de ton module
Ecrire dans un fichier :
1°) déclarer une variable de type StreamWriter,
2°) l'utiliser pour ouvrir le fichier en mode "j'écris à la suite"
3°) l'utiliser encore pour écrire la ligne de texte qui va bien dans le fichier précédemment ouvert,
4°) fermer le fichier
donne le code suivant :
Dim SW As StreamWriter
SW = File.AppendText("c:\toto.txt")
SW.WriteLine("ça c'est la ligne à écrire")
SW.Close()
Lire dans un fichier :
1°) déclarer une variable de type StreamReader,
2°) l'utiliser pour ouvrir le fichier
3°) l'utiliser encore pour lire une lignede texte dans le fichier précédemment ouvert,
4°) fermer le fichier
donne :
Dim SR As StreamReader
SR = File.OpenText(NomComplet)
SR.ReadLine()
SR.Close()
mais ça ne te lit que la 1ère ligne.
tu peux faire autant de readline que tu veux, tant que tu ne fermes pas le fichier, tu passes à la ligne suivante.
Donc si tu veux écrire toutes tes lignes dans un tableau, il te faut déclarer un tableau de string genre Dim MesLignes() as String
et boucler du début à la fin du fichier avec
Do Until SR.Peek = -1
MesLignes(i) = SR.ReadLine()
i += 1
Loop
(à mettre à la place de la ligne SR.ReadLine()
Voila, j'espère avoir répondu à ta question, et bon courage pour la suite des opérations.
glplpmat
Messages postés70Date d'inscriptionmercredi 11 juin 2003StatutMembreDernière intervention 2 octobre 20061 12 nov. 2004 à 14:34
Pour ecrire le contenu d'un array
Public Sub EcritFichier(ByRef contenu() As Byte, ByVal NomFich As String)
Dim lgr, i As Long
lgr = contenu.Length
Dim MyData(lgr) As Byte
MyData = contenu
Dim K As Long
K = UBound(MyData)
Dim fs As New FileStream(NomFich, FileMode.Create, FileAccess.Write)
fs.Write(MyData, 0, K)
fs.Close()
End Sub
pour lire
Public Sub LireFichier(ByRef contenu() As Byte, ByVal NomFich As String)
Dim fich As Integer
fich = FreeFile()
Dim i As Long
Dim fs As Stream = File.OpenRead(NomFich)
Dim tempBuff(fs.Length) As Byte
ReDim contenu(fs.Length)
fs.Read(tempBuff, 0, fs.Length)
fs.Close()
contenu= tempBuff
End Sub