Produit : 4D 2004 (Monoposte, 4D Runtime Single User, 4D Runtime Interpreted)
·
Plateforme : Mac & Win ♪
Les bases récemment ouvertes et les bases de données enregistrées dans les Favoris sont présentes dans le dialogue d'ouverture de 4D. Ces dernières sont stockées sur le disque dur sous forme d'un fichier XML portant le nom de "4D Recent Databases.XML".
Plus le temps passe, plus ce fichier peut devenir volumineux et désorganisé, contenant par exemple des références à des bases qui n'existent plus.
Le code suivant vous permettra donc de nettoyer ce fichier en effaçant les mauvais liens, et éventuellement en effaçant les bases récemment utilisées pour alléger la liste aux seuls Favoris.
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.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
`------------------------------------------------------------
`Method Name: _Dev_CleanRecentDataBase
`Method Make: 09/05/06, 12:12:31
`Method Owner: omarolleau
`Method State: Ok
`Method State Compile: Ok
`------------------------------------------------------------
`Method Comments:
`Param 1 : (1) Erase Only Bad link (2) Erase Bad link end Recent
`------------------------------------------------------------
`Déclarer les variables:
C_ALPHA(
16
;
$XML_File
)
C_ALPHA(
16
;
$XML_Node_Recent
)
C_ALPHA(
16
;
$XML_Node_Database
)
C_ALPHA(
16
;
$XML_Node_DatabaseName
)
C_ALPHA(
16
;
$XML_Node_Favoris
)
C_TEXTE
(
$XML_DatabaseName
;
$XML_DatabaseName_Value
)
C_TEXTE
(
$XML_Favoris
;
$XML_Favoris_Value
)
C_ENTIER(
$Mode
)
`Method Core:
`<!-- Méthode de nettoyage-->
CONFIRMER
(
"Supprimer la liste des bases récentes ?"
;
"Oui"
;
"Non"
)
Si
(
Ok=
1
)
CONFIRMER
(
"Sélectionnez le mode de suppression"
;
"Supprimer les chemins erronés ?"
;
"Supprimer tout (sauf les Favoris) ?"
)
Si
(
Ok=
1
)
$Mode
:=
1
Sinon
$Mode
:=
2
Fin de si
Fin de si
`<!-- Ouvre le document Xml -->
$XML_File
:=
DOM Analyser source XML
(
Dossier 4D
(
Dossier 4D actif
)+
"4D Recent Databases.XML"
)
Si
((
OK=
1
)
&
(
$XML_File
#
""
)
&
(
$XML_File
#
"0000000000000000"
)
&
(
$Mode
>
0
))
`<!-- Retrait élément de départ-->
$XML_Node_Recent
:=
DOM Chercher element XML
(
$XML_File
;
"OpenDatabasePreferences/RecentItems"
)
$XML_Node_Database
:=
DOM Lire premier element XML enfant
(
$XML_Node_Recent
)
Si
((
OK=
1
)
&
(
$XML_Node_Database
#
""
)
&
(
$XML_Node_Database
#
"0000000000000000"
))
`<!-- Parse -->
Repeter
$XML_Node_DatabaseName
:=
DOM Lire premier element XML enfant
(
$XML_Node_Database
;
$XML_DatabaseName
;
$XML_DatabaseName_Value
)
$XML_Node_Favoris
:=
DOM Lire element XML frere suivant
(
$XML_Node_DatabaseName
;
$XML_Favoris
;
$XML_Favoris_Value
)
Au cas ou
: (
Tester chemin acces
(
$XML_DatabaseName_Value
)#
1
)
DOM SUPPRIMER ELEMENT XML
(
$XML_Node_Database
)
$XML_Node_Recent
:=
DOM Chercher element XML
(
$XML_File
;
"OpenDatabasePreferences/RecentItems"
)
$XML_Node_Database
:=
DOM Lire premier element XML enfant
(
$XML_Node_Recent
)
: ((
Tester chemin acces
(
$XML_DatabaseName_Value
)=
1
)
&
(
$XML_Favoris_Value
=
"0"
)
&
(
$Mode
=
2
))
DOM SUPPRIMER ELEMENT XML
(
$XML_Node_Database
)
$XML_Node_Recent
:=
DOM Chercher element XML
(
$XML_File
;
"OpenDatabasePreferences/RecentItems"
)
$XML_Node_Database
:=
DOM Lire premier element XML enfant
(
$XML_Node_Recent
)
Sinon
$XML_Node_Database
:=
DOM Lire element XML frere suivant
(
$XML_Node_Database
)
Fin de cas
Jusque
(
Ok=
0
)
DOM EXPORTER VERS FICHIER
(
$XML_File
;
Dossier 4D
(
Dossier 4D actif
)+
"4D Recent Databases.XML"
)
Fin de si
DOM FERMER XML
(
$XML_File
)
ALERTE
(
"Terminé !"
)
Fin de si