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 :

Calculer le pourcentage lors d'une recherche de fichiers [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Par défaut Calculer le pourcentage lors d'une recherche de fichiers
    Bonjour à tous,

    Je ne suis pas bon en math, désolé.
    Avec ma procédure de recherche de fichiers, j'aimerais lors de ma recherche, afficher le pourcentage de fichiers trouvés:
    Je réaffiche les fichiers trouvés dans un RichEdit.
    Le nombre total de fichiers à rechercher est inconnu, que j'ai appelé "X".
    X peut être de 2, ou 3000, ou plus grand si je recherche dans tout le lecteur(C).

    Lors de ma recherche, j'utilise un TLabel,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label5.Caption:= Format(' Pourcentage de fichier(s) trouvé(s) : %d %%', [x]);
    Quelqu'un pourrait-il m'aider à trouver la solution, afin d'afficher un pourcentage +/- correctement calculé ?

    En vous remerciant d'avance.
    Sincères salutations.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Hello,

    C’est un problème complexe avec une réponse simple : comment veux-tu calculer un pourcentage d’un nombre que tu ne connais pas ?
    C’est impossible, il faut donc afficher une animation qui fait patienter type sablier, plutôt que d’afficher un chiffre en pourcentage. Ce que tu peux aussi faire, c’est incrémenter un compteur à chaque fichier trouvé, et tu affiches ce compteur.

  3. #3
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Par défaut remerciement
    Bonjour M.Dlb ,
    Merci pour votre réponse,
    c'est bien ce que je pensais, mais comme je ne suis pas bon en math, j'ai donc posé la question.
    C'est effectivement ce que j'ai fais, avec un Progressbar et un Label qui affiche approximativement la recherche
    Pour finir à 100 % à la fin de la recherche, ainsi que le progressBar, ça le fais pas trop mal , mais on voit bien que ce n'est pas très bien syncro parfois.
    mis dans la procédure de recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x:=0;
    while resultat <0 Do
    x:= x+1;
    inc(x);
    Label5.Caption:= Format(' Pourcentage de fichier(s) trouvé(s) : %d %%', [x]);
    puis, la recherche de fichiers

    Le compteur; j'ai bien trouvé, un deuxième label affiche le nombre de fichiers trouvés avec RichEdit.LinesCount.
    et pour finir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Label2.Caption:= IntToStr(RichEdit.LinesCount);
    Label5.Caption:= '100 %';
    Mais, je voulais savoir si il y avait une meilleure solution
    En vous remerciant,
    Sincères salutations.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    pour ton calcul de pourcentage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fin := False;
    While Not(DernierFichier) do 
    begin
      NbFichierLu := NbFichierLu+1;
      If  TestSelection(NbFichierLu) Then 
        NbFichierSelection := NbFichierSelection+1;
     
      if NbFichierLu <> 0 Then 
        X:= NbFichierSelection /  NbFichierLu
      DernierFichier := IsDernier();
    end;

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par eric_de_bretagne Voir le message
    Pour finir à 100 % à la fin de la recherche,
    Vous vous entêtez à vouloir afficher un pourcentage alors que dans le cas présent cela n'a tout simplement aucun sens puisque, comme vous l'avez dit vous-même, le nombre de fichiers à trouver est inconnu. Donc le seul message qui ait du sens, c'est "recherche terminée, tant de fichiers trouvés".

  6. #6
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Par défaut remerciements
    bonsoir,
    Je ne m'entête pas je voulais montrer mon premier codage,
    J'ai bien compris, mais je débute, d'où ma question , bien que la réponse est comme vous me dites, voilà...

    Merci à tous de m'avoir répondu, je considère le sujet comme résolu
    Sincères salutations

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par eric_de_bretagne Voir le message
    Je ne m'entête pas je voulais montrer mon premier codage,
    D'accord. Ce n'était pas une reproche de toute façon.

    Bonne continuation ! Vos questions sont les bienvenues dans le forum.

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 04/08/2006, 14h14
  2. Cheval de Troie lors d'une recherche google
    Par SLE dans le forum Sécurité
    Réponses: 8
    Dernier message: 14/03/2006, 17h41
  3. Probleme lors d'une recherche sur les forums
    Par JUSTIN Loïc dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 8
    Dernier message: 27/07/2005, 12h22
  4. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51
  5. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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