IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

[TP] Nettoyage des fichiers récents


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de amine6441
    Inscrit en
    Novembre 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 85
    Par défaut [TP] Nettoyage des fichiers récents
    Salut les amis je suis entrain de développer un programme , ce programme cherche les fichiers qui sont ajoute au dossier recent et prefetch et il les effaces
    Voici le syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    program chercher;
    uses dos,crt;
    var fichier:searchrec;
    procedure prefetch;
    var t:string;
    
    begin
         textcolor(red);
               writeln('prefetch');
               delay(500);
               textcolor(white);
    
         findfirst('c:\windows\prefetch\*.*',archive,fichier);
         while doserror =0 do
               begin
    
               writeln(fichier.name);
               erase(fichier.name)//le probleme c'est dans cette ligne
    
                          findnext(fichier);
               end;
         end;
    
    procedure recent;
    begin
         textcolor(red);
               writeln('recent');
               delay(500);
               textcolor(white);
    
         findfirst('C:\Docume~1\Admini~1\Recent\*.*',archive,fichier);
         while doserror =0 do
               begin
                writeln(fichier.name);
    
                 erase(fichier.name)//le probleme c'est dans cette                                     ligne
                          findnext(fichier);
               end;
         end;
    
    begin
    clrscr;
    prefetch;
    recent;
    readln;
    end.
    et merci pour votre aide

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Luw,

    Avec quel compilateur travailles-tu ?

    Leitmotiv : essaye de faire une indentation régulière et cohérente, ça facilite la lecture et la maintenance du code

  3. #3
    Membre confirmé Avatar de amine6441
    Inscrit en
    Novembre 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 85
    Par défaut
    Je travaille sur le turbo pascal
    Et le problème c'est quand j'ajoute la procédure erase ça ce copile pas
    erase c'est une fonction pour effacer les fichiers

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Hao,

    Je n'ai plus Turbo Pascal pour vérifier, mais
    Citation Envoyé par la doc FreePascal dit
    Description: Erase removes an unopened file from disk. The file should be assigned with Assign, but not opened with Reset or Rewrite
    Sous freePascal, ceci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    uses  dos,crt;
     
    procedure prefetch;
    const
      path = 'c:\windows\prefetch\';
    var
      r : searchrec;
      f : file of byte; {on évite ainsi le problème de savoir quel est le type du fichier }
     
    begin
      textcolor(red);
      writeln('prefetch');
      textcolor(white);
     
      findfirst(path+'*.*',archive,r);
      while doserror =0 do
      begin
        writeln(r.name);
        assign(f,path+r.name);
        erase(f);
        //erase(fichier.name);//le probleme c'est dans cette ligne
        findnext(r);
      end;
      dos.findclose(r);
    end;
     
    begin
      prefetch;
      Readln;
    end.
    la constante path est là pour permettre l'accès aux fichiers trouvés par FindFirst/FindNext, car SearchRec ne contient que le nom du fichier, pas le chemin+nom.

    Ne pas oublier d'utiliser FindClose à la fin, sinon il y a fuite de mémoire.

    Je ne pense pas que ce code pose problème pour Turbo Pascal. S'il y en a, dis-le, et j'irai récupérer Turbo Pascal pour essayer.

    Ici, édité

    Vérification faite, ça marche avec Turbo Pascal 7, sauf qu'il faut enlever
    Je ne me souvenais pas de ça

  5. #5
    Membre confirmé Avatar de amine6441
    Inscrit en
    Novembre 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 85
    Par défaut
    Merci pour votre aide

Discussions similaires

  1. Ouverture des fichiers récents
    Par nosleduc dans le forum Qt
    Réponses: 3
    Dernier message: 21/02/2012, 07h41
  2. Copie des fichiers récents (.bat)
    Par sarah_ dans le forum Windows
    Réponses: 8
    Dernier message: 03/09/2011, 12h34
  3. [XL-2007] Affichage des fichiers récents
    Par Abed_H dans le forum Excel
    Réponses: 3
    Dernier message: 29/01/2011, 16h44
  4. liste des fichiers récents ouverts
    Par salihovic dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/10/2007, 09h11
  5. [MFC] Ajout des fichiers récents dans un menu
    Par Choupinou dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo