Supprimer lignes de commentaires dans fichiers freeRADIUS
Publié : ven. 27/mai/2005 10:50
Application simple de l'utilisation de deux fichiers simultanément (un en lecture, l'autre en écriture) et de comparaison de chaîne, ce code permet de supprimer les lignes de commentaire (caractère # en début de ligne) des fichiers FreeRADIUS.
Code : Tout sélectionner
; programme de suppression de lignes de commentaires
Declare.s EnleveTab(ligne.s)
NomFichier$ = OpenFileRequester("Ouvrir un fichier avec commentaires", "C:\", "*.*", 0)
If NomFichier$ > ""
; on a un fichier a traiter
Chemin$ = GetPathPart(NomFichier$)
Extension$ = GetExtensionPart(NomFichier$)
Fichier$ = RemoveString(GetFilePart(NomFichier$), Extension$)
NewFichier$ = Left(Fichier$, Len(Fichier$)-1)+"_NoComment."+Extension$
Debug Fichier$+" | "+Extension$+" ==> "+NewFichier$
If ReadFile(0,NomFichier$)
OpenFile(1,Chemin$+NewFichier$)
UseFile(0) ; travaille sur le fichier en lecture (handle 0)
While Eof(0)=0
ligne$ = ReadString()
Debug "==>"+ligne$
If Left(EnleveTab(ligne$),1) = "#" ; on enlève les espaces devant et on vérifie si c'est un commentaire
; c'est un commentaire
ElseIf ligne$>""
; ce n'est pas un commentaire : on écrit la ligne en conservant son formatage
UseFile(1)
WriteStringN(ligne$)
UseFile(0)
Debug "<=="+ligne$
EndIf
Wend
EndIf
CloseFile(0)
CloseFile(1)
EndIf
Procedure.s EnleveTab(ligne$)
Repeat
a$ = Left(ligne$,1)
If a$ = " " Or a$ = Chr(9)
ligne$ = Right(ligne$, Len(ligne$)-1)
EndIf
Until a$ <> " " And a$ <> Chr(9)
ProcedureReturn ligne$
EndProcedure