Comment Effacer un fichier ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Comment Effacer un fichier ?

Message 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
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Comment tester si un fichier existe ?

Message 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
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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  
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

:D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre