Supprimer espace fichier text

waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 24 nov. 2004 à 03:04
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 24 nov. 2004 à 14:05
bonjour,

je suis debutant en programmation vb6 et je souhaiterai à partir d'un fichier text quelconque supprimer tous les "blancs" supérieurs à deux espaces consecutifs... vous me suivez? et bien sur remplacer le fichier text par le fichier ainsi modifier.
merci

4 réponses

gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
24 nov. 2004 à 09:17
Salut waspy59,

pour remplacer les 2 espaces par un seul espace, il faut que tu lises chaque ligne de ton fichier (des sources sont disponibles sur le site), tu fais un MaChaine = replace(MaChaine," ", " ") et le tour est joué.
(attention : 2 espaces dans le 2ème argument, 1 seul dans le 3ème).

Il ne te reste plus qu'à écrire ta ligne dans un fichier (pareil, y a des tonnes de src ici).

Si tu veux que le fichier modifié porte le même nom que celui d'origine, il faut que tu modifies toutes tes lignes dans un tableau de string, tu supprimes le fichier (kill) et ensuite tu déroules ton tableau et écrit les lignes une à une.

bon courage,
Guich
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
24 nov. 2004 à 11:09
labout

Voici un exemple qui suppose d'ajouter la référence ScrRun.dll

Dim f, fs
Dim sContenu as string
Dim lHandle as integer
Dim FichierSource as string
sFichierSource="FichierOrigine.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(sFichierSource, ForReading, _
TristateFalse)
sContenu= f.ReadAll
sContenu=replace(sContenu," "," ")
f.Close

lhandle = FreeFile
Open "c:\NouveauFichier.txt" For Output As #lhandle
Print #lhandle, sContenu
Close #lhandle

@+
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 nov. 2004 à 13:25
Private Sub Command1_Click()
    Dim Buffer As String
    Dim Lg     As Long
    
    Open "C:\..\FichierOrigine.txt" For Input As #1
         Buffer = Input(LOF(1), #1)
         Do
           Lg = Len(Buffer)
           Buffer = Replace(Buffer, Space$(3), Space$(2))
           Lg = Lg - Len(Buffer)
           DoEvents
           Loop Until Lg = 0
         Close #1

    Open "C:\..\FichierOrigine.txt" For Output As #1
         Print #1, Buffer;
         Close #1
    
End Sub


Daniel
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
24 nov. 2004 à 14:05
merci les gars, grâce à vous ça roule...
0
Rejoignez-nous