Page 1 sur 1

Comment Effacer un fichier ?

Publié : sam. 13/mars/2004 9:06
par comtois
J'ai vu DeleteFile(NomFichier$)

Première question , est-ce que NomFichier$ peut contenir un chemin complet ? ou seulement le nom du fichier ?
Si c'est seulement le nom du fichier , dans ce cas , il y a

fichier$ = GetFilePart(Chemin$)

Seulement , je suppose qu'il faut être dans le bon répertoire pour que la commande DeleteFile() fonctionne ?

j'ai essayé avec
Repertoire = GetPathPart(Chemin$)
SetCurrentDirectory_(@Repertoire)


je ne sais pas comment ça marche , est-ce qu'il y a une erreur ?

et ensuite je fais mon DeleteFile()

et oh joie , oh bonheur, j'ai un fichier indestructible :)

voila comment j'ai fait

Code : Tout sélectionner

Procedure SupprimePartie()
   Repertoire.s = Space(256)
   GetCurrentDirectory_(256,@Repertoire)
   
   Titre$ = "Supprime une partie"
   FichierParDefaut$ = Repertoire+"\Sauve\*.SFF" ; Sokoban Forum Français
   Filtre$ = "Fichiers Sokoban3D |*.SFF" 
   FiltrePosition = 0
   Chemin$ = OpenFileRequester(Titre$, FichierParDefaut$, Filtre$, FiltrePosition) 
    
    If ReadFile(0,Chemin$) ; pour tester si le fichier existe, il y a un autre moyen ??
      fichier$ = GetFilePart(Chemin$)
      MessageRequester("Supprime un fichier","Voulez vous supprimer " + fichier$ + " ? ",0) ; je ne laisse pas le choix pour l'instant :)
      Repertoire = GetPathPart(Chemin$)
      SetCurrentDirectory_(@Repertoire)
      
      DeleteFile(Fichier$)
    EndIf
      
EndProcedure

Comment tester si un fichier existe ?

Publié : sam. 13/mars/2004 10:19
par comtois
Bon je viens de trouver sur la FAQ du site anglais comment tester si un fichier existe, je n'y pense jamais à regarder de ce côté, faut dire que l'anglais me rebute :)
How do I check if a file exists?
If FileSize(file$)=-1 : Debug file$+" does not exist" : EndIf

Publié : sam. 13/mars/2004 10:37
par comtois
ça marche !!

Finalement , on donne le chemin complet pour DeleteFile()

Syntaxe

Resultat = DeleteFile(NomFichier$)


Quand je lis ça dans l'aide ,je me dis qu'il faut donner seulement le nom du fichier :oops:

Je suis très influençable , je n'ai pas cherché à faire autrement tout de suite :)

Code : Tout sélectionner

Procedure SupprimePartie()
   Repertoire.s = Space(256)
   GetCurrentDirectory_(256,@Repertoire)
   
   Titre$ = "Supprime une partie"
   FichierParDefaut$ = Repertoire+"\Sauve\*.SFF" ; Sokoban Forum Français
   Filtre$ = "Fichiers Sokoban3D |*.SFF" 
   FiltrePosition = 0
   Chemin$ = OpenFileRequester(Titre$, FichierParDefaut$, Filtre$, FiltrePosition) 
   fichier$ = GetFilePart(Chemin$)
   If FileSize(Chemin$)>0
      Reponse = MessageRequester("Supprime un fichier","Voulez vous supprimer " + fichier$ + " ? ",#PB_MessageRequester_YesNo )
      If Reponse = 6
         DeleteFile(Chemin$)
      EndIf   
   EndIf
      
EndProcedure  

Publié : sam. 13/mars/2004 10:53
par Le Soldat Inconnu
ben oui, tu peux donner seulement le nom de fichier ou l'adresse partielle d'un fichier situé dans le même répertoire que ton programme ou code.
j'ai jamais utilisé le chemin complet pour supprimé un fichier dans le même répertoire que mon prog

Publié : sam. 13/mars/2004 11:11
par comtois
Oui maintenant je le sais :)

Et là je donne le résultat d'un openFileRequester() directement ,c'est plus simple que de chercher à décomposer :)

C'était aussi pour souligner au passage les difficultés que peut rencontrer un débutant en lisant seulement l'aide .

Je vais prendre l'habitude de faire part de mes remarques quand la lecture de l'aide me pose un problème , je pense que ça peut aider Fred à cerner quels sont les points obscurs pour le débutant , les points qui pourraient être développés dans l'aide.

Publié : sam. 13/mars/2004 11:40
par Le Soldat Inconnu
:D