IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Nettoyage automatique des bases récemment utilisées

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

 
Sélectionnez
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.
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

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2006 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.