Ce programme génère un fichier texte avec 200 lignes =255; mais une ligne
blanche se trouve à la fin de mon fichier lorsque je l'ouvre avec un
logiciel ou un éditeur de texte. Je ne veux pas de cette ligne blanche.
Est-ce un problème de VB ou un problème de mode d'ouverture du fichier texte
?
Open "C:\1essai.txt" For Output As #1
For N = 1 To 200
Print #1, "255;"
Next N
Close #1
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut! :O)
-Vous réouvrez votre fichier, lisez tous son contenue, et lui réécrire le contenue sans les 2 dérniers caractére: 'Perso, je n'aime pas trop cette methode, je la trouve pas trés propre.
Content de l'entendre. :O))) Si on est pour reecrire apres l'ecriture, autant l'ecrire correctement du premier coup..
-Encore une constiste a dabort générer le fichier en mémoire:
La concatenation de chaine en VB est *tres* lente. Aussi... :
- pourquoi ecrire dans une variable si on peut ecrire directement dans le fichier? - pourquoi (comme pour le premier exemple) ecrire incorrectment les donnees dans la variable si on est pour tronquer les dernier caracteres?
L'allocation, la copie et la desallocation de memoire comptent parmis les actions qui demandent le plus temps et de ressources, autant les reduire au minimum.
Open "C:1essai.txt" For Output As #1
Les exemples fournit dans l'aide emploi des numeros de fichier "code en dur"... Je ne le conseil pas. La fonction FreeFile() nous est offerte afin de nous renvoyer le prochain numero de fichier disponible, autant l'utiliser afin de nous eviter des maux de tetes plus tard. De plus ca rend le code plus portable.
Personnelement j'opterais pour une ouverture en mode binaire, comme ceci :
<non teste> '*** ' Module1 Option Explicit
Private Sub Main()
Dim i As Byte Dim hFile As Integer
hFile = FreeFile Open "c:file.txt" For Binary As #hFile
For i = 1 to 200 Put #hFile, , "255;" If (i < 200) Then Put #hFile, , vbNewLine Next i
-Vous réouvrez votre fichier, lisez tous son contenue, et lui réécrire
le contenue sans les 2 dérniers caractére:
'Perso, je n'aime pas trop cette methode, je la trouve pas trés propre.
Content de l'entendre. :O)))
Si on est pour reecrire apres l'ecriture, autant l'ecrire correctement du
premier coup..
-Encore une constiste a dabort générer le fichier en mémoire:
La concatenation de chaine en VB est *tres* lente.
Aussi... :
- pourquoi ecrire dans une variable si on peut ecrire directement dans le
fichier?
- pourquoi (comme pour le premier exemple) ecrire incorrectment les donnees
dans la variable si on est pour tronquer les dernier caracteres?
L'allocation, la copie et la desallocation de memoire comptent
parmis les actions qui demandent le plus temps et de ressources, autant les
reduire au minimum.
Open "C:1essai.txt" For Output As #1
Les exemples fournit dans l'aide emploi des numeros de fichier "code en
dur"... Je ne le conseil pas. La fonction FreeFile() nous est offerte afin
de nous renvoyer le prochain numero de fichier disponible, autant l'utiliser
afin de nous eviter des maux de tetes plus tard. De plus ca rend le code
plus portable.
Personnelement j'opterais pour une ouverture en mode binaire, comme ceci :
<non teste>
'***
' Module1
Option Explicit
Private Sub Main()
Dim i As Byte
Dim hFile As Integer
hFile = FreeFile
Open "c:file.txt" For Binary As #hFile
For i = 1 to 200
Put #hFile, , "255;"
If (i < 200) Then Put #hFile, , vbNewLine
Next i
-Vous réouvrez votre fichier, lisez tous son contenue, et lui réécrire le contenue sans les 2 dérniers caractére: 'Perso, je n'aime pas trop cette methode, je la trouve pas trés propre.
Content de l'entendre. :O))) Si on est pour reecrire apres l'ecriture, autant l'ecrire correctement du premier coup..
-Encore une constiste a dabort générer le fichier en mémoire:
La concatenation de chaine en VB est *tres* lente. Aussi... :
- pourquoi ecrire dans une variable si on peut ecrire directement dans le fichier? - pourquoi (comme pour le premier exemple) ecrire incorrectment les donnees dans la variable si on est pour tronquer les dernier caracteres?
L'allocation, la copie et la desallocation de memoire comptent parmis les actions qui demandent le plus temps et de ressources, autant les reduire au minimum.
Open "C:1essai.txt" For Output As #1
Les exemples fournit dans l'aide emploi des numeros de fichier "code en dur"... Je ne le conseil pas. La fonction FreeFile() nous est offerte afin de nous renvoyer le prochain numero de fichier disponible, autant l'utiliser afin de nous eviter des maux de tetes plus tard. De plus ca rend le code plus portable.
Personnelement j'opterais pour une ouverture en mode binaire, comme ceci :
<non teste> '*** ' Module1 Option Explicit
Private Sub Main()
Dim i As Byte Dim hFile As Integer
hFile = FreeFile Open "c:file.txt" For Binary As #hFile
For i = 1 to 200 Put #hFile, , "255;" If (i < 200) Then Put #hFile, , vbNewLine Next i