Le Mardi 16 Mai 2006 14:21, Philippe Allart a écrit :
> Bonjour,
Bonjour,

>
> Dans la lignée du fil sur la manière de conserver les paramètres d'une
> boîte de dialogue, je me demandais s'il existait une manière simple de
> stocker dans l'environnement utilisateur une information qui serait
> persistante d'une session à l'autre, accessible en lecture et en
> écriture par une macro.
>
> J'ai bien pensé à faire une base de donnée. Mais s'il y une autre
> méthode, je suis preneur.
On peut utiliser l'API et le module registry.
Voici un extrait de code en python que j'utilise pour CADOOo.
Je pense qu'il peut être adapté au BASIC.
        # ================
        # acces aux registres
        # ================
        self.aRegistry = 
self.ctx.ServiceManager.createInstanceWithContext("com.sun.star.registry.SimpleRegistry",
 
self.ctx)
        sFile = "./cadooo.rdb"
        aURL = unohelper.systemPathToFileUrl(sFile)
        try:
            self.aRegistry.open(aURL, False, False)
        except InvalidRegistryException, e:
            self.aRegistry.open(aURL, False, True)
        aRootKey = self.aRegistry.getRootKey()
        # Une liste de drapeau correspondant aux états des accrochages aux 
objets
        self.aL2OStateKey = aRootKey.openKey("L2OSTATE")
        if self.aL2OStateKey is None:
            self.aL2OStateKey = aRootKey.createKey("L2OSTATE")
            self.aL2OStateKey.setLongListValue(self.aValues['L2OSTATE'])
        self.aValues['L2OSTATE'] = self.aL2OStateKey.getLongListValue()
        # un entier reflétant l'état du mode axonométrique
        self.aOrthomodeKey = aRootKey.openKey("ORTHOMODE")
        if self.aOrthomodeKey is None:
            self.aOrthomodeKey = aRootKey.createKey("ORTHOMODE")
            self.aOrthomodeKey.setLongValue(self.aValues['ORTHOMODE'])
        self.aValues['ORTHOMODE'] = self.aOrthomodeKey.getLongValue()

-- 
gérard

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à