Supprimer fichier [Résolu/Fermé]

jerome57440 40 Messages postés lundi 3 mars 2008Date d'inscription 8 juillet 2008 Dernière intervention - 8 avril 2008 à 14:37 - Dernière réponse : PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention
- 9 avril 2008 à 12:16
Bonjour, dans mon programme j'ai une procedure qui permet de supprimer un fichier.
Lorsque j'execute j'ai une erreur mais elle ne seproduit pas toujours. Si qq'un aurait une idée ca serait sympa
Merci d'avance

 voici mon code:

procedure EffaceFichier(NomS:string);
 var Source : file;
begin
  if FileExists(NomS) then
  begin
    AssignFile(Source,NomS);
    Erase(Source);
  end;
end;
Afficher la suite 

8 réponses

Meilleure réponse
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 8 avril 2008 à 15:06
3
Merci
Salut,

essaye comme ça :
" function DeleteFile(lpFileName: PChar): BOOL; stdcall; "

Function EffaceFichier(NomS : String): Boolean;
Begin
  Result := DeleteFile(PChar(NomS));
End ;

Utilisation :

If  Not EffaceFichier('MonFichier.txt') Then
 ShowMessage(SysErrorMessage(GetLastError));

Et je te conseil également de regarder l'exellent composant de F0xi :
http://www.delphifr.com/codes/TFILEOP-TEXTFILEOP-COMPOSANT-VISUEL-COPIER-DEPLACER-EFFACER-FICHIERS_41219.aspx

 
@+
Cirec

<hr siz ="" />

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

cs_matrix1 175 Messages postés dimanche 16 février 2003Date d'inscription 15 avril 2008 Dernière intervention - 8 avril 2008 à 16:03
0
Merci
ben! c noramal ton fichier et ouver ferme le avant
 

procedure EffaceFichier(NomS:string);
 var Source : file;
begin
  if FileExists(NomS) then
try
    AssignFile(Source,NomS);
closefile(Source);
    Erase(Source);
except
   on EInOutError do
      showmessage('erreur!!');
    end;

end;
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 8 avril 2008 à 17:14
0
Merci
Matrix1 > bien que tu as raison sur le principe le problème ne semble pas être lier à cela.

Il a bien préciser que : "Lorsque j'execute j'ai une erreur mais elle ne se produit pas toujours"

en dehors de cela ce n'est pas la bonne méthode pour effacer un fichier ...

 
@+
Cirec

<hr siz="" />
cs_matrix1 175 Messages postés dimanche 16 février 2003Date d'inscription 15 avril 2008 Dernière intervention - 8 avril 2008 à 17:56
0
Merci
Fouteses , (au moi ! moi j'ai sue ou est le probleme sans réfléchire , é oui),
et pour le problème c normale pour une simple raison ; la programmation c pas de science exacte, surtout un Kernel comme le windows, et au lieux de dire des fouteses fai une recherche sur les miettes, Kernel 2.0... ;)  au lieux de chercher comment cacher ton ignorance; peut ete que tu sera de quoi je parle, bon! si c'est le cas bien sure c pq par fois l'erreur ne se reproduit pas tj apré un débougage .
cs_matrix1 175 Messages postés dimanche 16 février 2003Date d'inscription 15 avril 2008 Dernière intervention - 8 avril 2008 à 17:58
0
Merci
et n'oublie pas d'activer ma source  ou désactivé toutes les source semblantes a la mienne, au moins je serai pas le seul
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 8 avril 2008 à 18:39
0
Merci
salut,

la programmation c pas de science exacte
c'est bien vrai çà..., des 0 et des 1, trop de choix...
tout comme les maths d'ailleurs, très aléatoire tout çà...

je ne fais pas de delphi mais en un coup d'oeil :
" function DeleteFile(lpFileName: PChar): BOOL; stdcall; "
tiens, çà ressemble à l'API deletefile qui retourne un long
en VB6 : Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long

suite du code de cirec = > action selon retour de fonction utilisant l'API, ok tout est normal

je regarde ton code matrix1 : tout en procédure
je trouve çà moins propre mais bon, c'est encore discutable...

il y a (DANS LE TRY) AssignFile puis CloseFile.
j'en déduis que Assign ouvre un process qu'il faut fermer...

mais si erreur est sur le Close tu ne fermes pas?... donc ton code va laisser ouvert, si vraiment ton "diagnostic sans réfléchir" (pour te citer) est bon, tu ne résouts en rien le problème...



Fouteses , (au moi ! (...) comme le windows, et au lieux
de dire des fouteses
c'est toi qui insulte le commentaire de foutaise...., pas l'inverse
d'ailleurs à quel titre, vue ta réponse qui - au final - est erronée !

cacher l'ignorance de quoi, le code proposé par cirec te pose-t'il un problème, mis à part qu'il n'est pas de toi?

merci de modérer tes propos et de réfléchir avant de poser un commentaire ou un post, surtout pour dire des foutaises !

considère mon message comme un unique avertissement, on a tous bien plus à gagner en partageant nos connaissances plutôt qu'en usant nos clavier à dire ou à corriger des inepties
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_matrix1 175 Messages postés dimanche 16 février 2003Date d'inscription 15 avril 2008 Dernière intervention - 9 avril 2008 à 11:28
0
Merci
@[auteur/PCPT/401740.aspx PCPT]t'es qui toi d'abord ? ah d'accord, t'es un de ces super héros qui on des pouvoir pour agir aussi,  alors c'est entre moi et @Cirec, et pour tu dire pour moi ce Admin (@Cirec) est un ami même s'il ne partage pas cette amitié avec moi, on eu des conversations plus avant que ça, et si je dit fouteses j'ai mes raisons et j'ai raison, par ce que j'été claire de quoi je parler, et c a @Cirec de répondre t'es pas son avocat, vous n'aller pas gagné son amitié sur mon dos comême.
ah! au sérieux maintenant:
cette fonction d'API c pas mon sujet ok!, et pour ton avertissement,  je suis libre je dit ce que je veux, ton que je ne manque pas de respect apersonne, je le répétè tj.

et quand j'ai dit  que la programmation c pas de science exacte au moins moi je c ce que je dit, 0 et 1 c autre chose petit, c des API (surtout en VB) que tu utilise et ces API c tu comment ça marche?, et ces DLL (STDCALL,USER32....es ce que tu sais qu'es ce qu'il ya de dans comme code de quoi il est fait, comment le Kernel les charge comment t-il gére la mémoire et y execute tes petits malheureux programmes, tu sais qu'elle est la défference entre le Kernel windows et le Kernel Mandriva Linux 2.0 ou 2.6 et es ce que tu sais comment debuger un noyau, tien! es ce que tu sais que sous windows, il y a d'une part le noyau, et d'autre part les pilotes,
qui sont chargé aprè le noyau, offrant d'office une gestion standard
des périphériques principaux.; sous linux, le kernel inclus les pilotes
de périphériques, et peut aussi gérer d'autres fonctions telles que
l'affichage, et +,et toi tu me parle de 1 et 0 et une API, Fouteses.
ont dirai que t'as jamais essayé de faire un Firewire! hien! sous un AVR core de 32 bit par exemple, t'as jamais utiliser le  CodeVision AVR , les registres  R0,R1.. , LR(Link Register)=R14 SP Satck Pointer=R13 ne te dit rien, hien!
j'ai fait du math, de l'analyse informatique, de Physique atomic et nuclear, chimie organique et ménéra., résitance des matire et des fluides (MDR et MDF),TCH006..a l'université Alors c pas toi qui vas me déduit que la programmation et l'informatique ou d'autre science que c de science exacte.

et j'ai dit foutese pas foutaise, alors ton avertissement laisse le pour toi okay.
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 9 avril 2008 à 12:16
0
Merci
bonjour mon ptit plein d'avenir.....

Satck Pointer
en effet je ne connais pas, tu m'as démasqué.
à moins que çà soit stack ? peut-être...

grâce à mes super pouvoirs de super-héros j'essaye en effet de briser ton amitié flagrande d'avec cirec.
l'amitié crue quand elle est non-réciproque s'appelle de la perversion.

mais je ne te l'apprends pas, on voit çà en première année à l'université de physique nucléaire.
ils paraît que leur prof de français est mancho, c'est vrai?

voir règlement, ton langage sms tu peux le garder pour msn ou pour tes amis réciproques si ils existent !

tu as le droit de t'exprimer oui, mais en respectant le règlement et les membres et ici ce n'est pas le cas!
ceci est le 2e avertissement. tanpis pour l'unique, mettons çà sur le compte d'une stupidité évidente qui se révèlera comme ton avant dernière intervention puisque je n'en doute pas, tu vas riposter et je supprimerai ton compte sans le moindre remord

problème simple : réponse simple de cirec
inepties et agressions de ta part (mes super pouvoirs me permettent d'en juger sans avoir à te consulter)
avertissement => rien à faire
ok, çà ne me gène pas

passe une bonne journée, comprend ce message comme tu veux.

tiens j'y pense, la réponse est ok?
je t'évite de te ridiculiser plus encore
sujet clos
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.