Destruction de caractère !!!

Programmation d'applications complexes
GiGnT3r0r

Destruction de caractère !!!

Message par GiGnT3r0r »

:D Bien le bonjours, bin di donc sa fais du bien de retrouver l'ancien forum, je commençais a désespérer !! :(

Mais je suis pas la pour raconter ma vie !!

J'ai un petit problème, j'essay de faire un progamme qui permet de séléctionner un fichier texte et de supprimer un caractère défini comme la lettre ' a ' ou un tiret etc.... 8O
Mais la je tourne en rond :mad: !!

Quelqu'un aurait il une solution ???? !!!!! ????? :?: :?: :?:
Merci a vous !! :D :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Je ne sais pas si j'ai bien compris....


Moi je vois ça comme ceci.

Tu ouvre un fichier vide.
Tu lit chaque mot du fichier texte et tu analyse chaque mot.
Si le mot contient le caractère à supprimer, tu réécris le mot sans le caractère dans le nouveau fichier que tu as créé et bien sur tu copie aussi les mots qui ne doivent pas changer.

Une fois terminé, tu efface le fichier d'origine et tu renomme le nouveau fichier avec le nom du fichier effacé.

C'est ca ?
GiGnT3r0r

Message par GiGnT3r0r »

Bin voila c sa, mais au lieu de recopier le mot sans le caractère demandé on pourrait peut etre déplacer le curseur et si il y un caractere qui doit etre supprimer, il le supprime simplement !! mais je croit pas que c possible !! J'y comprend rien lol :?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Salut :)

Teste ça, ca devrait aller:

Code : Tout sélectionner

Char$ = "a"

If OpenFile(0,"README.txt")                 ; ( piquer une copie dans ton dossier "PureBasic")
  Repeat
    Pos1 = Loc()                            ; Récupère la position du pointeur 
    tmp$ = ReadString()                     ; lit la ligne
    Pos2 = Loc()                            ; position après lecture
    Temp$ = RemoveString(tmp$,Char$,0)      ; vire les caractères
    L = Len(Temp$) :  NbCar = Len(tmp$)- L  ; Nbre d'espaces à rajouter
    Temp$ + Space(NbCar)                    ; rajoute des espaces à la fin
    FileSeek(Pos1)                          ; revient à la position de départ
    WriteString(Temp$)                      ; réécrit le texte
    FileSeek(Pos2)                          ; retourne à la seconde position
  Until Eof(0)                              ; et ainsi de suite, jusqu'à la fin
  CloseFile(0)                              ; on ferme.....
EndIf
Le fichier README.txt est celui qui est dans le dossier "PureBasic"

Chris :)
Invité

Message par Invité »

Le code de Chris est parfait

Juste pour intérêt!

Code : Tout sélectionner

If OpenFile(0,"README.txt")
  Repeat  
    tmp$ = ReadString()                    
    chaine=chaine+tmp$+Chr(13) + Chr(10)
  Until Eof(0)
    FileSeek(0)
    chaine = RemoveString(chaine,Char$,0)
    WriteString(chaine)
    CloseFile(0)           
EndIf 
Nicolas
Invité

Message par Invité »

Le code précédent ne va pas:

Code : Tout sélectionner

 Char$ = "a" 

If OpenFile(0,"Copie de ReBar.c")
  Repeat  
    tmp$ = ReadString()                    
    chaine.s=chaine+tmp$+Chr(13) + Chr(10)
  Until Eof(0)
  CloseFile(0)    
EndIf   
If CreateFile(0,"Copie de ReBar.c")
    chaine = RemoveString(chaine,Char$,0)
    WriteString(chaine)
    CloseFile(0)           
EndIf
Nicolas
Invité

Message par Invité »

C'est très bon :wink: , j'ai vraiment rien a dire :), merci encore pour votre aide à tous !! :D



:idea:
Répondre