begin process at 2010 02 10 00:27:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :6 474 / 1 054

Auteur : f0xi

Ecrire un message privé
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
( 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\CeCil l.txt:: License CeCill GNU/GPL v2


 Conclusion

Manque l'aide.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

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)

 Sources du même auteur

Source avec Zip DYNAMIC LIBRARY LOADER CLASS: GAGNEZ DU TEMPS POUR CHARGER L...
Source avec Zip BASE64/BASE64URL ENCODE/DECODE
Source avec Zip NEXTGENS -> UNITÉS DE TYPES ÉVOLUÉS NOUVELLE GÉNÉRATION (DE...
Source avec Zip SIMPLES SOMME DE DONNÉES 8, 16, 32, 64 BITS
Source avec Zip CHAINLISTS, LISTE CHAINÉE

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE JET DE DÉS par koriteki
Source avec Zip Source avec une capture LES FIBERS : DES THREADS NON PRÉEMPTÉS PAR LE SYSTÈME par Caribensila
Source avec Zip Source avec une capture UAC (USER ACCOUNT CONTROL) - EXÉCUTER UNE APPLICATION EN TAN... par ni69
BLOQUER LE TASKMGR SANS CLÉ DE REGISTRE par craftsystem
Source avec Zip UTILISER LES MESSAGES WINDOWS POUR GERER LE NOMBRE D'INSTANC... par lotfi213_b19

 Sources en rapport avec celle ci

Source avec Zip AFFICHAGE DES INFODFS par fbalien
Source avec Zip CREE ALIAS AUTOMATIQUEMENT CREATION REPERTOIRE ET TABLE AUSI par opgiat
Source avec Zip CRÉE UN RÉPERTOIRE ET CRÉE CES TABLES PAR PROGRAMME par opgiat
EXPLORATION RÉCURSIVE DE RÉPERTOIRE par JeremyLecouvert
Source avec Zip Source avec une capture DIRECTORYDLG (BOÎTE DE DIALOGUE CHOIX DU DOSSIER) par Bacterius

Commentaires et avis

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

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 .
@+

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 .

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.

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 ;).

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

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

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 ;)

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.

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


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

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

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

Commentaire de John Dogget le 13/06/2006 00:27:49

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

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.

Commentaire de Napster le 13/06/2006 13:16:22

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

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 !

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.

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 ;-)

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.

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+

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


Discussions en rapport avec ce code source dans le forum

compiler un projet en ligne de comande [ par Sat83 ] Bonjour!Je souhaiterais savoir comment compiler un projet Delphi en ligne de comandeDans un repertoire il y a project1.dpr, unit1.pas et unit1.dfm.Je code source du projet [ par nethacker ] salut,j'aimerais bien savoir s'il existe un moyen de reformuler la source ou plutot le fichier .passachant que j'ai les fichier suivant_ projet compil Besoin d'aide pour la réalisation d'un projet en client/Serveur [ par kadje84 ] Salut à tous,je suis étudiant en informatique et j'ai en projet de réaliser une application client serveur fonctionnant sous windows xp.l'implémentati Bug à la c** dans ma source [ par John Dogget ] Bonjour à tous.Voilà c'est tout simple, j'ecris ceci :var  Dossier:string;begin  if SelectDirectory('Choisissez le dossier contenant les images ...',' Savoir quand est fermé une application lancé via notre application [ par pebayart ] Bonjour,Explication : j'ai mon projet a partir duquel je peux lancer une autre application, je voudrais que tant que l'application (celle que j'ai lan Faire une copy d'un repertoire à un autre... [ par jennybless ] Salut? J'ai écrit ces codes afin de faire une copie des fichiers se trouvant dans un repertoire. Sur mon form, j'ai un Barchar et un Tbutton. Je les Probléme d'optimisation [ par ghassenus ] Salut Alors voici un ptit prob qui me tourmente et dont je ne trouve pas de solution J'essai de calculer lprix minimum de transport de matériaux les G création d'application de gestion d'ecole [ par ibrahimakhalil ] Bonjour, je suis étudiant et j'ai un projet de conception d'une base de donnée qui dois gérér un établissement d'enseignement scolaire(maternelle, pri Dlphi et SSH ? [ par candid ] bonjour je cherche un moyen pour faire du SSH et SFTP avec Delphi, mais je dois bien reconnaitre que je n'ai rien trouvé en Open Source ou freeware al Delphi 2006: problème utilisation DLL [ par ilitman ] Bonjour à tous les developpeur sous Delphi, je viens de me remettre sous ce RAD dans sa version 2006 pour travailler sur un projet existant qui utilis


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales