DPC - NETTOYEUR DE PROJET DELPHI

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
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
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33713-dpc-nettoyeur-de-projet-delphi

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
Rejoignez-nous