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

Delphi Discussion :

[Algorithme] Copie liste de fichiers avec 10 threads


Sujet :

Delphi

  1. #41
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Dernière petite chose, si FreeOnTerminate := False....
    après le waitfor... ca prend Free!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        MyThreads[i].WaitFor; //Attend la sortie de Execute
        MyThreads[i].Free;     //Liberation du thread
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  2. #42
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Voilà une mise à jour de ma démo...
    si tu veux bien la regarder et m'envoyer tes commentaires...
    si tout est ok, je vais par la suite la soumettre pour les code sources.

    - 2 Fifo Thread-safe pour les échanges inter-thread. (Via TThreadList)
    - Affichage de l'état des threads.
    - Illustration de 2 façons pour quitter (rapide et lente)
    - Meilleur Feed-back en cas de pépins pendant la copie.
    - Commentaires tout en français.
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  3. #43
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Wouaw !!

    L'interface est superbe. Bravo!
    Je vais regarder si il ya des choses à modifier, je te tiens au courant, à+
    De retour parmis vous après 10 ans!!

  4. #44
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Ce serait SUPER simpa en effet!
    Lâche toi lousse!
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  5. #45
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut

    @Eric : As-tu reçu mon message privé ?
    De retour parmis vous après 10 ans!!

  6. #46
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'ai proposé le code suivant pour la page "code sources" du forum Delphi :

    http://sub0.developpez.com/delphi/threadscopy.zip

    Le programme possède une protection contre l'écrasement des fichiers avec un dialogue [Oui/Non/Tous/Annuler]. Lorsqu'on choisit [Oui] dans le dialogue, [Tous] apparaît dans le dialogue suivant. Ce programme possède 3 paramètres :
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Const NbrThreads: Byte = 10;        { Nombre de copies simultannées }
          DestinDir : String = 'tmp';   { Nom du répertoire de destination }
          BufSize = $10000;             { Taille du bloc de copie }
    Manque plus que réaliser cette démo avec les sémaphores, Eric BoisVert s'étant déjà occupé de la développer avec une TThreadList...
    En attendant, si vous avez des suggestions pour améliorer la qualité du code, je suis preneur, à+
    De retour parmis vous après 10 ans!!

  7. #47
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Bon voilà la version finale.

    - J'ai ajouté des barres de progression dans la TListview.
    - Modification dans l'affichage de l'état des threads (lorsqu'il y en a beaucoup)
    - J'ai suivie les conseils jeudicieux de Sub0 pour la présentation du code.
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

Discussions similaires

  1. Copie d'un fichier avec des caractères spéciaux
    Par totofe dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 15/09/2010, 12h28
  2. Liste de fichiers avec liens et classement
    Par illidan05 dans le forum Excel
    Réponses: 1
    Dernier message: 21/05/2008, 14h48
  3. recuperer liste de fichier avec http
    Par etoileDesNeiges dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 10/04/2007, 12h02
  4. Réponses: 16
    Dernier message: 07/04/2005, 11h36

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