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

Lazarus Pascal Discussion :

ProgressBar et copie de répertoire [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Août 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 30
    Par défaut ProgressBar et copie de répertoire
    Bonjour,
    Je voudrais copier un répertoire entier vers un autre (CopyDirTree) mais j'aimerai que s'affiche la progression dans un progressbar.
    J'ai vainement cherché le code.
    Qui a une solution ?
    Merci.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 140
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 140
    Par défaut
    Citation Envoyé par bern59 Voir le message
    J'ai vainement cherché le code.
    Vainement, vraiment ? Il y en a plein le web, faut juste utiliser les bons mots-clé, éventuellement en regardant comment ça se passe en Delphi.

    (là je n'ai pas trop le temps, et je n'ai pas ça en rayon.)

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 935
    Billets dans le blog
    6
    Par défaut
    Sous Windows, MoveFileWithProgressA.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Août 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 30
    Par défaut progressbar
    Citation Envoyé par tourlourou Voir le message
    Sous Windows, MoveFileWithProgressA.
    Merci,mais ma recherche concerne Lazarus.

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 935
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par bern59 Voir le message
    Merci,mais ma recherche concerne Lazarus.
    Là n'est pas la question : il faut savoir quel est l'OS cible.
    Pour du seul Windows, faire appel aux fonctions de son API est judicieux, d'où mon lien. On doit pouvoir aussi faire un ShellExec pour Copy qui affichera la boîte de progression de Windows.
    Pour une solution multiplateforme, soit il existe une solution Lazarus, soit il suffit de balayer le répertoire en stockant la taille et le nombre des fichiers, puis de boucler sur la copie en faisant progresser à chaque fichier ou lot de x fichiers un TProgressBar soi-même (ne pas oublier un Application.ProcessMessages ensuite pour lui permettre de se dessiner à sa nouvelle position).
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Bonjour,

    peut-être que tu devrais étudier le logiciel DoubleCommander, fait avec Lazarus et qui l'implémente. Ci dessous la version Linux mais il y a une version Windows et Mac :

    Nom : Peek 31-07-2018 20-52.gif
Affichages : 1311
Taille : 1,07 Mo

  7. #7
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut pour afficher une progression tu dois d'abord connaitre le nombre total de répertoires ou fichiers à copier ensuite c'est facile. Tu sais calculer un pourcentage ? Non ? Alors une petite règle de trois et hop

    Exemple
    En pourcentage

    ProgressBar.Min := 0
    ProgressBar.Max := 100

    Pourcentage 100 X
    Elements Total Copiés

    X := (Nombre_d_element_copiés * 100) div Nombre_total_d_élément_a_copier

    ProgressBar.Position := X

    Malheureusement CopyDirTree ne te permet pas de connaitre le nombre de fichiers ou de répertoires à l'avance. L plus simple c'est de mettre la propriété "Style" sur "pbstMarquee"

    Voir aussi cette discussion sur la copie de dossier
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Août 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 30
    Par défaut progressbar
    Citation Envoyé par BeanzMaster Voir le message
    Salut pour afficher une progression tu dois d'abord connaitre le nombre total de répertoires ou fichiers à copier ensuite c'est facile. Tu sais calculer un pourcentage ? Non ? Alors une petite règle de trois et hop

    Exemple
    En pourcentage

    ProgressBar.Min := 0
    ProgressBar.Max := 100

    Pourcentage 100 X
    Elements Total Copiés

    X := (Nombre_d_element_copiés * 100) div Nombre_total_d_élément_a_copier

    ProgressBar.Position := X

    Malheureusement CopyDirTree ne te permet pas de connaitre le nombre de fichiers ou de répertoires à l'avance. L plus simple c'est de mettre la propriété "Style" sur "pbstMarquee"

    Voir aussi cette discussion sur la copie de dossier
    C'est gentil de me répondre mais je tiens à signaler que le calcul des pourcentages ne m'a jamais posé de problème ; je n'ai pas compris comment mettre la propriété "Style" sur "pbstMarquee".
    .

    Merci quant même.

  9. #9
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par bern59 Voir le message
    C'est gentil de me répondre mais je tiens à signaler que le calcul des pourcentages ne m'a jamais posé de problème ;
    Tu ne l'as pas préciser.
    Citation Envoyé par bern59 Voir le message
    je n'ai pas compris comment mettre la propriété "Style" sur "pbstMarquee".
    Tu devrais d'abord commencer par apprendre à utilisé l'EDI, placer des composants, definir les propriétés via l'inspecteur d'objet etc..... Cela serai déjà un bon début plutôt que de foncer tête baisser. Tu ne vas pas te jeter à l'eau si tu ne sait pas nager (à moins que tu ai pied )
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MS-DOS]Copie de répertoire avec filtre
    Par tripper.dim dans le forum Windows
    Réponses: 5
    Dernier message: 07/10/2014, 23h23
  2. copie récursive répertoire
    Par hisy dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2007, 08h40
  3. [VBA - E] Copie de répertoires
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/10/2006, 11h45
  4. [VB Script] Problème de copie dans répertoire
    Par ben_harper dans le forum VBScript
    Réponses: 3
    Dernier message: 19/06/2006, 10h25
  5. Copie de répertoire
    Par Mateo dans le forum C
    Réponses: 3
    Dernier message: 10/06/2004, 15h21

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