Dpc - nettoyeur de projet delphi

5/5 (4 avis)

Vue 7 928 fois - Téléchargée 627 fois

Description

Ce programme permet de nettoyer un projet delphi en effectuant un click droit sur l'icone d'un fichier ".dpr"... L'idée est toute bête.

j'ai décidé de faire ce programme d'une part afin de ne pas laisser de fichiers inutiles mais aussi de ne pas supprimer de fichiers par inadvertance (quand on est un clickeur fou...).

L'archive contient bien entendu le source mais egalement un fichier d'installation (réalisé avec nsis) permettant de mettre en situation rapidement l'application (et de la désinstaller facilement également).

Notes:
-Les extensions a supprimer sont listées dans le fichier extensions.ini au format texte donc facilement modifiable.
-Il est "impossible" d'executer directement le fichier. Il faut selectionner un fichier ".dpr"
-Si le fichier "extensions.ini" est absent l'application ne se lancera pas.

!!!!!!!!!!!!!!!!!!!!!!!!!!!! Renommer install.___ en install.exe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Certains trouverons sans doute ce logiciel inutile... Mais j'espère tout de même, qu'il rendra service.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
ACHPI32 Messages postés 50 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 9 mai 2009
10 sept. 2005 à 00:11
Pour commencer, merci à vous deux pour avoir apporté une appréciation à cette publication. Car de toute façon, bonne ou mauvaise le but est de progresser.

Dans le cas présent j'en conclus que le concept est intéressant. Et à mon avis ce qui vous à seduit ce n'est pas le programme en lui meme mais son intégration au sein du système.

Dans mon objectif premier et plus particulièrement cette publication (et sans doute celles qui suiveront), mon attention se situe sur le fait d'apporter un "produit fini" stable et fonctionnel. (D'ou l'ajout dans mon premier commentaire d'un source NSIS)

D'autres projets sont en cours mais encore en test.

Bonne programmation ;-)
ioda19 Messages postés 21 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 20 juin 2007
9 sept. 2005 à 18:48
Pas pire comme petit programme mais pourquoi a la place ne pas se faire un fichier BAT qui parcours tous les dossier de projet et qui supprime tout les fichiers qu'on veux bien supprimer. Mais j'avous que c'est bien pensé
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
9 sept. 2005 à 18:15
Pour ceux qui, comme moi, ont installé les outils GExperts, il est plus simple d'utiliser la commande "Clean project". De plus, cette fonctionnalité de GExperts prend aussi en compte les projets Delphi pour .Net.

Néanmoins, je trouve ton initiative intéressante.
ACHPI32 Messages postés 50 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 9 mai 2009
8 sept. 2005 à 22:34
Pour info :

[HKEY_CLASSES_ROOT\DelphiProject\Shell\Nettoyer\command]
@="c:\\progra~1\\Delphi Project Cleaner\\dpc.exe exec"

[executer dpc avec comme paramètre exec]

Voila la modification registre à effectuer dans le cas ou vous compilez vous même le source et que vous désirez le tester par exemple via un batch voir meme modifier votre BDR (le plus simple etant encore du supprimer la condition dans le source).

pour le projet NSIS :

/////////////// Debut de fichier //////////////////
!define PRODUCT_NAME "Delphi Project Cleaner"
!define PRODUCT_VERSION "0.1"
!define PRODUCT_PUBLISHER "Achpi 32"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\dpc.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Install.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
InstallDir "$PROGRAMFILES\Delphi Project Cleaner"
Icon "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
UninstallIcon "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
DirText "Le programme va installer $(^Name) dans le dossier suivant.$\r$\n$\r$\nPour l'installer dans un dossier différent, cliquez sur Parcourir."
ShowInstDetails show
ShowUnInstDetails show

Section "SectionPrincipale" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "dpc.exe"
CreateDirectory "$SMPROGRAMS\Delphi Project Cleaner"
File "extensions.ini"
SectionEnd

Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\Delphi Project Cleaner\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd

Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\dpc.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\dpc.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"

WriteRegStr HKCR "DelphiProject\Shell\Nettoyer\command" "" "$INSTDIR\dpc.exe exec"

SectionEnd


Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) a été désinstallé avec succès de votre ordinateur."
FunctionEnd

Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Êtes-vous certains de vouloir désinstaller totalement $(^Name) et tous ses composants ?" IDYES +2
Abort
FunctionEnd

Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\extensions.ini"
Delete "$INSTDIR\dpc.exe"

Delete "$SMPROGRAMS\Delphi Project Cleaner\Uninstall.lnk"

RMDir "$SMPROGRAMS\Delphi Project Cleaner"
RMDir "$INSTDIR"

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCR "DelphiProject\Shell\Nettoyer"
SetAutoClose true
SectionEnd
/////////////// Fin de fichier //////////////////

Voila vous avez tout ;-)

@pluche

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.