Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Forum 4D Documentations F.A.Q 4D Trucs & astuces Notes techniques 4D & SGBDR 4D & XML 4D & Web Livres 4D

Nettoyage automatique des bases récemment utilisées

Date de publication : 20/09/2006

Par Olivier Marolleau (Technicien Support Technique)
 



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 permetra 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.


Code :

   `------------------------------------------------------------
   `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



Valid XHTML 1.1!Valid CSS!

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

Responsable bénévole de la rubrique 4D : Elgo - Contacter par EMail :
Vos questions techniques : forum d'entraide 4D - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.