je développe une application VB6 et je souhaiterais :
Connaitre la première et la dernière ligne que contient un fichier txt
Merci
je développe une application VB6 et je souhaiterais :
Connaitre la première et la dernière ligne que contient un fichier txt
Merci
Voui ? Un peu d'astuce et tu aurais trouvé tout seul...![]()
Le mieux est de comprendre ce que tu veux faire, après, c'est tout simple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub LirePremièreLigneEtDernièreLigneDansFichierTxt() Dim PremièreLigne, Phrase, DernièreLigne Open "D:\Doc\Fichier.txt" For Input As #1 Do While Not EOF(1) i = i + 1 If i = 1 Then Input #1, PremièreLigne Input #1, DernièreLigne Loop Close #1 MsgBox PremièreLigne & vbCrLf & DernièreLigne End Sub![]()
A+
Ta source marche mais il existe un cas ou elle plante :
Le fichier ne contient qu'une seule ligne
J'ai modifié la source et ça devrait marcher dans tous les cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim PremièreLigne, Phrase, DernièreLigne, i Open "D:\VBProjet\ViewtransFTP\ordrescript.txt" For Input As #1 Do While Not EOF(1) i = i + 1 If i = 1 Then Input #1, PremièreLigne Input #1, DernièreLigne Loop Close #1 If DernièreLigne = "" Then DernièreLigne = PremièreLigne End If MsgBox PremièreLigne & vbCrLf & DernièreLigne
On va tirer les oreilles de Ousk
essaye donc celà sans i et i + 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub LirePremièreLigneEtDernièreLigneDansFichierTxt() Dim PremièreLigne, Phrase, DernièreLigne Open "D:\Doc\Fichier.txt" For Input As #1 Input #1, PremièreLigne DernièreLigne = PremièreLigne Do While Not EOF(1) Input #1, DernièreLigne Loop Close #1 MsgBox PremièreLigne & vbCrLf & DernièreLigne End Sub
Ta solution marche impecablement jmfmarques je te remercie cependant si le fichier contient des lignes vides du style :
aaaa
bbbb
|->
|->
la dernière ligne sera vide
existe il un moyen pour pallier ce problème.
Autre question une ligne m'a interpellé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Open "D:\VBProjet\ViewtransFTP\ordrescript.txt" For Input As #1 Input #1, PremièreLigne DernièreLigne = PremièreLigne Do While Not EOF(1) ...Pourquoi initialise t'on cette variable avec la variable PremièreLigne
Code : Sélectionner tout - Visualiser dans une fenêtre à part DernièreLigne = PremièreLigne
Pourquoi ?... Mais tout simplement parce que la dernière ligne sera la 1ère également, s'i n'y en a pas d'autres !![]()
Maintenant, si tu veux éviter tes lignes "vides" éventuelles : fastoche !
dans la boucle loop de ton code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Do While Not EOF(1) Input #1, titi if titi <> "" then dernièreLigne = titi Loop
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager