begin process at 2008 07 20 09:29:44
1 213 150 membres
71 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TUPEUPASTEPLANKER1.0


Information sur la source

Catégorie :Fichiers / Disque Classé sous : FindData, listview, deque Niveau : Débutant Date de création : 02/05/2008 Date de mise à jour : 02/05/2008 19:10:53 Vu / téléchargé: 1 576 / 49

Note :
Aucune note

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

Description

Un petit programme de recherche de fichier par système de pile type FIFO (conteneur standard deque)avec interface graphique fait sous devc++.
Ce qui change des autre:
-pas de récursivité
-Il est rapide comparer a celui de windows malgré bien sur moins de fonctions (pour l'instant)
-Il affiche les icônes des fichiers trouvés
-Il est léger(dépend de la recherche)
-Il est joli :-)

J'ai commenté au max car il est essentiellement destiné aux débutant comme moi.
L'exe dans le zip est compresser avec UPX v 3.2.0.0 because devcpp est gourmand en taille des exe.Si vous avez pas confiance vous pouvez recompiler facilement.

Je compte sur vous pour détecter d'éventuels bug et soumettre des propositions d'amélioration.

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

02 mai 2008 16:39:03 :
MAJ d'un bug sur les icones et oubli de la libération mémoire de l'imagelist.Programme plus stable et bouffe moins de ressources.
02 mai 2008 19:09:18 :
Maj de la capture tenant compte des modifs précédentes.
02 mai 2008 19:10:53 :
Maj capture avec plusieurs icônes grace à la maj précédente
  • signaler à un administrateur
    Commentaire de BruNews le 02/05/2008 18:44:02 administrateur CS

    Ce n'est pas DevCpp qui est gourmand en taille mais c'est l'utilisation de la STL qui oblige le compilo à insérer une énorme masse de code (conteneurs, itérateurs et autres surcouches qui ne te sont d'aucune utilité ici).

  • signaler à un administrateur
    Commentaire de mallack le 02/05/2008 18:55:49

    Bonjour!Ba oui c ca le probleme.
    C'est la classe string en autre qui gonfle l'exe.J'ai tout essayé pour pour pouvoir insérer un char * dans le deque mais le template ne parait pas exister...
    J'ai essayer de passer une structure pour tricher,marche pas non plus.Si tu a une idée pour pouvoir s'affranchir de cette classe tout en gardant les benéfices de deque,je suis preneur.

  • signaler à un administrateur
    Commentaire de mallack le 02/05/2008 19:12:33

    Apparemment les maj de capture ne fonctionnent pas...

  • signaler à un administrateur
    Commentaire de BruNews le 02/05/2008 19:29:36 administrateur CS

    Faudrait d'abord savoir si on est d'accord sur le "bénéfice" et donc le définir.

  • signaler à un administrateur
    Commentaire de mallack le 02/05/2008 22:13:58

    Bah,le conteneur deque est un conteneur  dynamique(ca m'evite d'avoir à gérer la mémoire),possédant une efficacité d'insertion suppression aux extrémités en O(1).
    C'est surtout ca qui m'a motivé.

    Maintenant je viens de voir un conteneur queue qui est destiné essentiellement aux piles FIFO et qui m'a l'air encore plus approprié.

    Qu'en penses tu?Peut etre a tu aussi une solution sans STL?(Je suis partant si l'efficacité est au rendez vous et que l'on peut virer quelques ko d'include.)




  • signaler à un administrateur
    Commentaire de BruNews le 03/05/2008 10:15:23 administrateur CS

    Tu n'as pas défini le benef:
    - à quoi te sert ce conteneur ???
    - l'élément ne peut-il être inséré direct dans la listview sans être stocké ?

  • signaler à un administrateur
    Commentaire de mallack le 03/05/2008 10:50:03

    Mais non!Le conteneur ne contient pas les fichiers a afficher mais seulement le chemin des répertoires a analyser.Il m'aide a remplacer la récursivité:
    En gros:

      -init du conteneur avec la racine
      -lance la proc de findata
    |----------->-SetCurrentDirectory() dans le premier élément de la pile (racine)
    |            -si dossier : stocke chemin dans la pile
    |            -si fichier : appel pour analyse ->si correspond critère:envoi list(pas STL)
    ------------on dépile le répertoire courant et on passe au suivant
                



          

  • signaler à un administrateur
    Commentaire de BruNews le 03/05/2008 10:57:47 administrateur CS

    Tu dis:
    - empile
    - insert fichiers
    - dépile

    en ce cas, un simple buffer char[] n'irait pas ?

  • signaler à un administrateur
    Commentaire de mallack le 03/05/2008 11:07:50

    Je vois pas du tout comment me servir d'un tel buffer comme d'une pile...

  • signaler à un administrateur
    Commentaire de BruNews le 03/05/2008 11:18:19 administrateur CS

    OK alors c'est que ce n'est pas la simple séquence dont je parlais plus haut.

  • signaler à un administrateur
    Commentaire de mallack le 03/05/2008 11:24:15

    je viens de tomber sur un petit tuto de réalisation de pile sur http://www.commentcamarche.net/faq/sujet-8283-les-piles-en-langage-c

    Ya l'air d'avoir pas mal de code à taper pour avoir une simple pile.Est ce qu'au final j'y gagne vraiment?En taille de l'exe?En rapidité d'exécution?

  • signaler à un administrateur
    Commentaire de BruNews le 03/05/2008 11:31:19 administrateur CS

    En taille exe c'est incomparable, une simple liste chainée qui devrait te suffire ne devrait pas prendre plus 1 Ko maxi dans l'exe.

  • signaler à un administrateur
    Commentaire de mallack le 03/05/2008 11:47:04

    Ok je vais tenter de faire ca et comparer les deux.
    Juste une question:Comment calculer précisement le temps d'execution d'une fonction?Ou d'une procédure,un thread par exemple?Fo que j'aille voir du coté des Timers?

  • signaler à un administrateur
    Commentaire de BruNews le 03/05/2008 13:10:03 administrateur CS

    Les perfs sont à mesurer sur le PC de dev donc pas besoin de transformer en ms:
    LARGE_INTEGER deb, fin;
    QeuryPerformanceCounter(&deb); // TOUT DEBUT DU THREAD

    QeuryPerformanceCounter(&fin);
    fin.QuadPart -= deb.QuadPart; // JUSTE AVANT SORTIE DU THREAD

  • signaler à un administrateur
    Commentaire de mallack le 03/05/2008 14:05:33

    OK merci.Je lance une batterie de test des que j'ai fini de coder la pile en pur C et je poste.

  • signaler à un administrateur
    Commentaire de mallack le 05/05/2008 09:06:20

    C ultra galère à faire!!!J'aime pas les pointeurs quand ca part dans tous les sens!!
    Comment faire pour faire un realloc sur un  pointeur de tableau de pointeur sans  perdre les informations pointées par ce tableau????

    du genre

    typedef struct obj
    {
        MYobjet * obj[];     //le tableau de pointeur
        MYobjet ** p_obj;    //le pointeur de tableau de pointeur
    }MYobjet;

    void init(MYobjet * p)
    {
         p->p_obj=(MYobjet **)malloc(10*sizeof(MYobjet*));   //j'alloue pr 10 pointeur d'objet
         p->obj=p->p_obj;      //j'assigne
    }

    maintenant si j'ai besoin de 10 emplacement de pointeur suppléméntaire je fé koi????
    Sans tout casser ce qu'il y avait avant bien sur!

    Merci!
    }

  • signaler à un administrateur
    Commentaire de thedestiny le 17/05/2008 16:40:55

    Tu recopies tes infos dans un tableau temporaire.
    Tu rédimensiones ton tableau initial.
    Tu recopies les infos du tableau temporaire dans le tableau initial.

    Exemple:

    void redimenssionnerTableau( Objet* obj )
    {
       Objet* tmp = (Objet*) malloc( tailleCourante );
      
       for( int i = 0; i < tailleCourante; ++i )
            tmp[i] = obj[i];

       free( obj );
       obj = (Objet*) malloc( tailleCourante + N );

       for( i = 0; i < tailleCourant; ++i )
            obj[i] = tmp[i];      

       free( tmp )
    }

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS