FAQ DelphiConsultez toutes les FAQ

Nombre d'auteurs : 119, nombre de questions : 909, dernière mise à jour : 22 décembre 2016  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums Delphi et Delphi et bases de données de www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous souhaitez y apporter des corrections ou la compléter, contactez un responsable (lien au bas de cette page).

Nous espérons que cette FAQ saura répondre à vos attentes. Nous vous en souhaitons une bonne lecture.

L'équipe Delphi de Developpez.com.

Commentez


SommaireGénéralitésAutomatisation de la configuration de Delphi (2)
précédent sommaire suivant
 

Delphi maintient une liste des entrées du menu Tools/Outils dans la base de registre. Il les charge lors de son exécution et les sauvegarde en fin d'exécution, lors de l'appel du menu Fichier-Quitter.

Dans le cadre d'un développement en équipe, il est souhaitable d'automatiser la configuration ou le déploiement ponctuel d'informations identiques pour chaque poste des membres de l'équipe.

Avant d'effectuer vos tests, il est préférable d'effectuer une sauvegarde de la clé de registre \Transfert.

Le batch suivant permet d'automatiser cette opération. Il fonctionne uniquement sous XP ; pour Windows 2000 ou NT, il vous faudra l'adapter avec un outil tier issu par exemple du kit de ressource NT.

Les informations des nouvelles entrées sont extraites d'un fichier ASCII puis parsées dans une boucle For.

Code batch : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@echo off  
rem Ajout d'entrées au menu Tools/Outils de Delphi  
rem REG.exe est natif sous XP  
 
rem Pour Delphi 2005 la clé se nomme  
rem Set DelphiToolsKey=HKEY_CURRENT_USER\Software\Borland\BDS\3.0\Transfer  
 
rem Pour Delphi 7 la clé se nomme  
Set DelphiToolsKey=HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Transfer  
rem Pour les versions inférieures remplacer 7.0 par le numéro de votre version :  
rem  6.0 ou 5.0 ou 4.0  
 
Set Count=  
 
rem Obtient le nombre actuel d'entrées du menu Tools  
rem Lit la clé 'Count' qui contient le nombre d'entrées du menu Tools (voir :REG QUERY )  
rem récupère la 3ème ligne renvoyée par le programme REG.exe, elle contient 'Count' (voir : Find)  
rem Delims découpe la ligne en 2 parties, ici '0x' est utilisé comme séparateur (voir :FOR /F "delims=0x")  
rem on récupère la seconde partie,%%J, dans une variable d'environnement numérique.(voir :"tokens=1,2")  
For /F "tokens=1,2 delims=0x" %%I in ('REG QUERY ?lphiToolsKey% /v Count^|find /I "Count"') do Set /A Count=0x%%J  
 
rem Count                        : Count+1  
rem Titre du menu                : "Title5"="Titre Test"  
rem Path complet de l'exécutable : "Path5"="PathTest"  
rem Répertoire de lancement      : "WorkingDir5"="c:\temp"  
rem Paramètre de l'exécutable    : "Params5"="$NAMEONLY()"  
 
rem Nombre courant de menu  
Set KeyCount=Count  
rem Titre du menu  
Set KeyTitre=Title  
rem Path complet de l'exécutable  
Set KeyPath=Path  
rem Répertoire de lancement  
Set KeyWorkingDir=WorkingDir  
rem Paramètre de l'exécutable  
Set KeyParams=Params  
 
rem Lit un fichier Ascii, chaque ligne est séparée par un retour chariot.  
rem Le format d'une ligne correspondant à : Titre Test@-@PathTest@-@c:\temp@-@$NAMEONLY()  
 
rem Parcourt le fichier ligne par ligne, le délimiteur est la suite de caractères @-@  
For /F "tokens=1,2,3,4 delims=@-@" %%A in (Tools.txt) do Set Titre=%%A&Set myPath=%%B&Set WorkingDir=%%C&Set Params=%%D& Call :ADD  
goto end  
 
:ADD  
rem Ajoute une nouvelle entrée au menu Tools  
 
REG ADD "?lphiToolsKey%" /v "%KeyTitre%%Count%" /t REG_SZ /d "%Titre%" /f  
REG ADD "?lphiToolsKey%" /v "%KeyPath%%Count%" /t REG_SZ /d "%myPath%" /f  
REG ADD "?lphiToolsKey%" /v "%KeyWorkingDir%%Count%" /t REG_SZ /d "%WorkingDir%" /f  
REG ADD "?lphiToolsKey%" /v "%KeyParams%%Count%" /t REG_SZ /d "%Params%" /f  
rem Incrémente Count, après l'insertion il débute à Zéro  
Set /A Count +=1  
 
REG ADD "?lphiToolsKey%" /v "%KeyCount%" /t REG_DWORD /d "%Count%" /f  
Goto :eof  
 
:end
À son prochain lancement, Delphi chargera les nouvelles entrées que vous avez renseigné.

Mis à jour le 21 janvier 2014 Laurent Dardenne

Delphi tient une liste des paquets qu'il charge à son démarrage dans la base de registre, aux clés suivantes :

  • HKCU\Software\Borland\Delphi\7.0\Known Packages jusqu'à Delphi 7 (en remplaçant 7.0 par 6.0 par exemple)
  • HKCU\Software\Borland\BDS\2.0\Known Packages à partir de Delphi 8 (3.0 pour Delphi 2005)

Pour éviter d'avoir à réinstaller vos composants en réinstallant Delphi, commencez par sauvegarder dans un répertoire vos paquets compilés (*.bpl, dans <DELPHI>\Projects\Bpl) dans le répertoire de votre choix.

Ensuite, désinstallez et réinstallez Delphi.

Pour terminer, ajoutez dans la clé de registre correspondant à votre version une valeur chaîne par paquet à référencer. Le nom de cette valeur doit être le chemin du paquet à charger. Le contenu est utilisé par Delphi pour la description du paquet, vous pouvez donc y stocker le texte de votre choix.
À son prochain lancement, Delphi chargera les paquets que vous lui avez indiqués.

Dans le cadre d'un développement en équipe, il est souhaitable d'automatiser la configuration ou le déploiement ponctuel d'informations identiques pour chaque poste des membres de l'équipe.
Avant d'effectuer vos tests, il est préférable d'effectuer une sauvegarde de la clé de registre \Known Packages.
Le batch suivant permet d'automatiser cette opération ; il fonctionne uniquement sous XP, pour Windows 2000 ou NT il vous faudra l'adapter avec un outil tiers issu par exemple du kit de ressource NT.

Les informations des nouvelles entrées sont extraites d'un fichier ASCII puis parsées dans une boucle For.
Code batch : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo on  
rem Ajout de package Delphi  
rem REG.exe est natif sous XP  
 
rem Pour Delphi 2005 la clé se nomme  
rem Set KeyPackage=HKEY_CURRENT_USER\Software\Borland\BDS\3.0\Known Packages  
 
rem Pour Delphi 7 la clé se nomme  
Set DelphiPackagesKey=HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages  
rem Pour les versions inférieures remplacer 7.0 par le numéro de votre version :  
rem  6.0 ou 5.0 ou 4.0  
 
rem Lit un fichier Ascii, chaque ligne est séparée par un retour chariot.  
rem Le format d'une ligne correspondant à : Path du package*@Description du package  
rem Exemple :  
rem  C:\Delphi\unit\LMD70SE\LIB\D9\lmd70se_D9.BPL@*@LMD-Tools 7.0 Special Edition  
 
rem Parcourt le fichier ligne par ligne, le délimiteur est la suite de caractères @*@  
rem La variable %PckPath% contient le path complet du package  
rem La variable %PckDesc% contient la description du package  
For /F "tokens=1,2 delims=@*@" %%A in (Packages.txt) do Set PckPath=%%A&Set PckDesc=%%B& Call :ADD  
goto end  
 
:ADD  
rem Ajoute un nouveau package ou remplace la description si la clé ?lphiPackagesKey% existe déjà  
REG ADD "?lphiPackagesKey%" /v "%PckPath%" /t REG_SZ /d "%PckDesc%" /f  
Goto :eof  
 
:end

Mis à jour le 22 janvier 2014 Bestiol Laurent Dardenne

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -