begin process at 2008 08 29 22:15:50
1 233 909 membres
430 nouveaux aujourd'hui
14 294 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 !

DELPHI PROJECT CLEANNER (DEPOC) OUTILS POUR NETTOYER VOS PROJETS AVANT DE LES POSTER SUR CS.


Information sur la source

Catégorie :Exécution Classé sous : depoc, projet, repertoire, source, innosetup Niveau : Initié Date de création : 11/06/2006 Date de mise à jour : 12/06/2006 17:33:16 Vu / téléchargé: 4 968 / 961

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

( v1.0.0.2 - 12/06/2006 )
( v1.0.0.1 - 12/06/2006 )
( v1.0.0.0 - 10/06/2006 )

Salut a tous!

aller on passe au niveau superieur par rapport aux batchs habituel ^^.

voici DePoC.
Cet outils permet de nettoyer vos projets avant des les zipper (DePoC integrerat bientot la possibilitée de créer l'archive zip en question).

MISE A JOURS :
Lancez tout simplement l'installation de la nouvelle version et definissez le repertoire de l'ancienne version comme repertoire d'installation.
vous pouvez egalement desinstaller avant l'ancienne version puis réinstaller la nouvelle.

AJOUT DE DEPOC DANS LE MENU CONTEXTUEL DE L'EXPLORATEUR :
- DePoC s'integre au menu contextuel des dossiers dans l'explorateur de fichiers de windows.
Cette options serat supprimée quand vous desinstallerez DePoC.

AJOUT DE DEPOC DANS LES OUTILS DE DELPHI :
- DePoC peut s'integrer au menu outils de l'IDE Delphi et vous pouvez egalement lui passer une Macro en parametre.
pour ce faire selectionnez dans Delphi :
Menu outils > Configurer les outils > Ajouter.
Dans titre indiquez "Delphi Project Cleanner"
Cliquez ensuite sur "Parcourir" et selectionnez Depoc.exe dans le repertoire d'installation (logiquement c:\programs files\Depoc\depoc.exe)
Enfin, cliquez sur "Macro", selectionnez "$EXENAME" puis cliquez sur inserer.
pour finir, cliquez "OK".

dés qu'un projet serat ouvert dans delphi, vous n'aurez plus qu'a acceder a Depoc via le menu outils ou la touche de raccourcis que vous lui aurez affecté et Depoc s'ouvriras automatiquement sur le repertoire du projet en cours.

CONTENUS DU ZIP :
Dans le zip se trouve le code source de depoc et egalement le fichier script inno setup pour l'installation.
Vous trouverez egalement une autre archive zip contenant l'installation executable de Depoc.

LEGENDE DE LA LISTE DES FICHIERS DE DEPOC :
- Sont marqués en bleu les fichiers dont l'extention est : .dpk .dpr .pas .res .dcr .dfm .bdsproj
- Sont marqués en rouge les fichiers dont l'extention est : .dcu .exe .dof .cfg .~* .ddp .dsk .map

SELECTION DES FICHIERS DANS LA LISTE :
- Sont selectionnés automatiquement les fichiers marqués en rouge et egalement les fichiers "Thumbs.db".
- Vous serez avertis par un message si vous selectionnez un fichier marqué en bleu.

PRECAUTIONS :
- Attention, les fichiers selectionnés et supprimés seront irrecuperable, faites attention aux fichiers que vous selectionnez.
- On vous demanderat de confirmer la suppression des fichiers selectionnés.

TAILLE DES FICHIERS, INFORMATIONS :
- La taille des fichiers est indiqués dans la liste avec des couleurs (vert et rouge) pour indiqué si il sont consideré comme lourd ou non.
- un label vous indique le nombres de fichiers total et la taille totale (en octet) de votre projet.

NETTOYAGE DE PLUSIEURS PROJETS D'UN COUPS :
Au fur et a mesure que l'on programme, il n'est pas rare d'avoir des dizaines voir centaines de projets qui occupe de l'espace disque inutile.
Depoc vous permettras de nettoyer tout ces projets en une seule fois et pas seulement, vous pouvez utiliser Depoc pour nettoyer vos disques dur tout simplement (attention tout de meme a ne pas supprimer n'importe quoi).
J'espere pouvoir mettre au point trés vite le systeme d'archive, en ajoutant une options permettant de zipper les projets dans des archives respectives afin que vous puissiez gagner en place sur vos disques.

INSTALLATION ET DESINSTALLATION DE DEPOC :
Grace a InnoSetup qui ne devrait plus etre a presenter, vous etes assuré que l'installation et la desinstallation serat propre.
L'installation est disponible dans le zip "Depoc-setup.zip".

FICHIERS SOURCES :
About.pas        :: unité de la fiche FrmAbout
Main.pas         :: unité principale
DepocTools.pas   :: unité regroupant plusieurs methodes utile au fonctionnement de Depoc
install\depoc.iss:: script inno setup pour créer le fichier d'installation, voir innosetup sur : http://www.jrsoftware.org/isinfo.php
install\CeCill.txt:: License CeCill GNU/GPL v2

Conclusion

Manque l'aide.

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

12 juin 2006 16:34:35 :
Ajout des commentaires dans les sources et script innosetup, correction d'une methode pouvant provoquer des violation d'accés, finalisation de la fiche a propos. passage a la v1.0.0.1
12 juin 2006 17:33:16 :
Ajout des modifications conseillées par cirec (en effet, c'est mieux)
  • signaler à un administrateur
    Commentaire de ni69 le 11/06/2006 20:01:07

    Bien sympa tout ça ! Comme tu dis, ça change des .bat habituels :p

    Je regarderais en détail quand tu auras mis à jour...

    @+
    Nico

  • signaler à un administrateur
    Commentaire de Napster le 12/06/2006 00:38:21

    Salut fOxi ,
    votre Source est tres utile , tres interessante , mais d"apres jeter un coup d'oeil dans la source j'ai trouver sa
    {$WARN SYMBOL_PLATFORM OFF}
    j'ai mal compris ce que ségnifie ou de sa Etulité elle fait rien dans la source  ????
    A part sa votre source elle n'est pas du tt commenter .
    imagine toi qu'un debutant jete un coup d'oeil dans une source san commentaire , que ce quil va apprendre dans ce cas la !
    se fait du bien d'eclairer ou commenter la source .
    A part sa votre source et génial .
    @+

  • signaler à un administrateur
    Commentaire de Napster le 12/06/2006 00:51:02

    fOxi  ,
    j'ai dit sa (A part sa votre source elle n'est pas du tt commenter
    imagine toi qu'un debutant jete un coup d'oeil dans une source san commentaire , que ce quil va apprendre dans ce cas la !
    se fait du bien d'eclairer ou commenter la source . ) pour le bien  faire l'entraide convenablement .

  • signaler à un administrateur
    Commentaire de f0xi le 12/06/2006 01:56:29 administrateur CS

    @napster :

    Les commentaires voir "explication finale" sur cette page ... ils viendront par la suite.

    pour la directive de compilo, elle permet de desactiver les messages d'alertes quand on utilise des methodes propre a des plateforme (windows en l'occurance ici)

    ensuite, le but ici n'etait pas de fournir des techniques mais bel et bien un outil, c'est pour ça que j'ai pas encore commenté les sources.

  • signaler à un administrateur
    Commentaire de John Dogget le 12/06/2006 09:55:51

    Moi j'en suis resté au bon vieux batch.

    Par contre, ta source est interessante parce qu'elle montre comment ajouter un menu au shell. Elle montre aussi comment se servir d'Inno, ce qui est bien plus rare.

    Dans les batchs que j'utilise, j'inclue la compression de l'executable avec UPX ...
    Mais c'est pas le but de ta source ;).

  • signaler à un administrateur
    Commentaire de cirec le 12/06/2006 10:06:20 administrateur CS

    Salut,

    Alors moi, "tu me connais maintenant F0xi :-)", j'ai un petit souci avec le code :

    je lance l'application je sélectionne le répertoire et la si je décide de fermer le prog j'ai un message "d'insulte" :

    Violation d'accès à l'adresse 0040337c dans le module Depoc.exe lecture de l'adresse 61762061

    bon pour le reste je vais d'abord faire d'autres testes ...

    @+
    Cirec

  • signaler à un administrateur
    Commentaire de ni69 le 12/06/2006 10:14:01

    Je n'ai pas encore testé (attente de la MAJ...), cependant, j'approuve la remarque de John Dogget et je pense que l'incorporation d'UPX serait intéressante dans un projet comme celui-ci, ce qui finaliserait toutes les étapes de diffusion du prog (exécutable compressé d'un côté, sources de l'autre)

    On pourrait aussi imaginer (mais là ça dépasse un peu le contexte du "cleaner", je le reconnais :) ) un module du programme qui puisse créer dans un dossier du répertoire du projet une page web (html ou php par exemple) présentant le programme selon les infos contenues dans l'exécutable, avec son icône, et tout ce qui est récupérable (auteur, date de modification...), plus un lien vers le prog UPXé et compressé dans un zip ou rar dans le même dossier, histoire de pouvoir publier facilement le projet sur un site web... Enfin bon ce n'est qu'une idée ;)

    voila, c'est tout !
    @+
    Nico

  • signaler à un administrateur
    Commentaire de ni69 le 12/06/2006 13:08:55

    PS : pour ce dernier élément, je peux t'aider si tu le désires ;)

  • signaler à un administrateur
    Commentaire de f0xi le 12/06/2006 13:17:19 administrateur CS

    @cirec : mmm etrange, je me demande si cela ne viens pas de l'extracteur d'icone.
    je vais tout de meme verifier les sources pour voir si toute les liberations sont faites correctement.

    @les autres : pour upx ... oui c'est a reflechir ... pour le moment le plus important et la possibilitée de créer les archives zip.


    je regarde pour l'erreur d'accés.

  • signaler à un administrateur
    Commentaire de cirec le 12/06/2006 14:13:37 administrateur CS

    Bon alors, je commence par le début :

    j'ai trouvé ce qui clochait (enfin chez moi) c'est l'unité DirBrowser.pas qui ne va pas
    donc tout simplement j'ai ajouté dans les uses l’unité FileCtrl puis modifier comme suit :
    procedure TForm1.BtnBrowseClick(Sender: TObject);
    begin
      {if OpenDirectory.Execute(ProjectDir) then begin
         ProjectDir := OpenDirectory.PathName;}
      If SelectDirectory('Selectionnez un dossier', '', projectdir, [sdShowEdit , sdNewUI], Self) Then Begin
         ProjectDir := IncludeTrailingBackSlash(ProjectDir);
         EdtProjectDir.Text := ProjectDir;
         InitiateScan;
      end;
    end;

    Ensuite ta procédure pour trouver les icônes et un peut lourde non ?
    Et surtout l'aide de Delphi dit ceci à propos de ExtractIconEx :
    You must destroy all icons extracted by ExtractIconEx by calling the DestroyIcon function.

    Alors voici je que je te propose :
    Tu ajoutes cette fonction :

    function GetAssociatedIcons(const AExtension: string; ASmall: Boolean): HIcon;
    var
      Info: TSHFileInfo;
      Flags: Cardinal;
    begin
      if ASmall then
        Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES
      else
        Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES;

      SHGetFileInfo(PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), Flags);
      Result := Info.hIcon;
    end;

    Et tu modifies comme ceci dans la procedure TForm1.CheckListBox1DrawItem:

    //       GetAssociatedIcon(ProjectDir+S,nil,@pIcF);
           pIcF := GetAssociatedIcons(ProjectDir+S, True);
           if pIcF <> INVALID_HANDLE_VALUE then begin
              IcF := TIcon.Create;
              IcF.Handle := pIcF;
              draw(rect.Left, rect.Top, IcF);
              IcF.Free;
           end;

    un peut plus loin dans la même procédure tu fais appel à une procedure que tu as créer
    mais tu aurais pu faire ceci :

    //       Rect2 := SRect(rect.Left+18,Rect.Top,Rect.Left+HeaderControl1.Sections[0].Width-18,Rect.Bottom);
           Rect2 := Classes.Rect(rect.Left+18,Rect.Top,Rect.Left+HeaderControl1.Sections[0].Width-18,Rect.Bottom);



    Et du coup le prog a subit un SlimFast de plus de 100 kilos ;-)

    Ah oui tu as oublié un BadExt #.~dsk#
    mais à ce propos ne vaudrait il pas mieux utiliser un mask de type .~* par exemple
    ce qui du coup prendrait aussi en compte tous les fichiers qui sont dans  \__History

    Voilà j'attend comme tout le monde la mise à jour avec zip

    très bien, ça nous change des .bat lol

    @+
    Cirec


  • signaler à un administrateur
    Commentaire de cirec le 12/06/2006 14:18:09 administrateur CS

    Oups !!!!
    un oublis, après modification l'unité DirBrowser n'est plus utile on peut donc la retirer du projet
    @+
    Cirec

  • signaler à un administrateur
    Commentaire de cirec le 12/06/2006 18:54:30 administrateur CS

    Génial,
    tout fonctionne très bien maintenant.

    Bravo pour la rapidité des modifications

    le code est bien comme toujours ...
    mais pour la note j'attend encore un peut,(la mise à jour Zip);-)

    comme ça je pourrai mettre un 10/10

    voici un code qui nous serat à tous très utile
    @+
    Cirec

  • signaler à un administrateur
    Commentaire de Napster le 13/06/2006 00:19:50

    salut tt le monde  ,
    fOxi merci pour cette l'information , j'ai un manque d'info sur les fonction's de windows , et je sais ou trouver tt ces fonction etulisable avec delphi ....?
    votre source est utile .
    Bravo bonne continuation

  • signaler à un administrateur
    Commentaire de John Dogget le 13/06/2006 00:27:49

    MSDN me parait un bon début pour les API ;)

  • signaler à un administrateur
    Commentaire de f0xi le 13/06/2006 03:03:19 administrateur CS

    @napster : pour les directives de compilation de Delphi, tu peu deja regarde l'aide ... mais c'est un peu hardus pour toute les trouvées.

  • signaler à un administrateur
    Commentaire de Napster le 13/06/2006 13:16:22

    Merci  ..........@++

  • signaler à un administrateur
    Commentaire de hurrycane le 13/06/2006 20:36:28

    salut delphiprog je depose une plainte contre foxi qui ma doublé en sachant que je voulais déposer une source de codecleaner ! c'est vrai que jai fait du retard mais il fallait pas qu'il me double !
    bravo foxi pour le travail ; permet de faire une ptit modification ok !

  • signaler à un administrateur
    Commentaire de f0xi le 13/06/2006 21:03:23 administrateur CS

    ^^ hurrycane ... si tu veux on peu travailler conjointement sur le projet ...
    si tu as deja des sources fait les moi parvenir en mp.

  • signaler à un administrateur
    Commentaire de John Dogget le 14/06/2006 02:42:32

    Re :)

    Petit contribution de ma part pour permettre d'afficher la taille du dossier en ko/mo/go.

    D'abord on rajoute les constantes au début :
    "const
    UnKiloOctet=1024;
    UnMegaOctet=1048576;
    UnGigaOctet=1073741824;"

    Ensuite la fonction de conversion :
    "function CorrigerTaille(TailleEnOctets:int64):string;
    begin
    if TailleEnOctets>=UnGigaOctet then
    begin
      CorrigerTaille:=FloatToStrF(TailleEnOctets/UnGigaOctet,ffGeneral,3,20)+' Go';
      exit;
    end;
    if TailleEnOctets>=UnMegaOctet then
    begin
      CorrigerTaille:=FloatToStrF(TailleEnOctets/UnMegaOctet,ffGeneral,3,20)+' Mo';
      exit;
    end;
    if TailleEnOctets>=UnKiloOctet then
    begin
      CorrigerTaille:=FloatToStrF(TailleEnOctets/UnKiloOctet,ffGeneral,3,20)+' Ko';
      exit;
    end;
    CorrigerTaille:=FloatToStrF(TailleEnOctets,ffGeneral,3,20)+' octets';
    end;"

    Plus sympa à lire que "16546416461 octets" par exemple ;-)

  • signaler à un administrateur
    Commentaire de f0xi le 14/06/2006 04:16:46 administrateur CS

    merci jd mais j'ai deja tout ce qu'il faut en fonctions pour ce genre de choses...

    de plus les tailles ne s'affiche pas en block, mais bel est bien avec le separateur de millier.

    et je doute que beaucoup ont des projets depassant la dizaine de Mo.

    mais bon, rien que pour toi, si cela te fait tellement plaisir, j'integrerais cela dedans.

  • signaler à un administrateur
    Commentaire de Francky23012301 le 15/06/2006 20:33:42

    salut,

    Désolé pour le retard fOxi (je suis tres occupé en ce moment). J'ai regardé ton source dans les grandes lignes : c'est du tout bon. Je te félicite c'est du bon boulot.

    PS : C'est une des rares sources qui est et restera sur mon HDD ^^.

    A+

  • signaler à un administrateur
    Commentaire de Guillemouze le 11/09/2007 14:09:28

    petit question bete: je ne trouve pas ou on affecte le raccourci clavier d'un outil !!!
    quelqu'un peut-il m'aider?

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

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