[prog] Pourquoi un Basic ?
Bonjour. Ce n'est pas une question d'une importance vitale, je la pose par curiosité. Les deux Basic que je pratique un peu (VBA et OooBasic) ont quelques caractères communs qui ne me semblent pas très agréables : pas de raccourci (ou court-circuit) dans l'évaluation des expressions booléennes, variable fictive pour la valeur de retour d'une Function (ce qui oblige à changer le corps de la Function si on change son nom), accès numérique aux éléments d'une chaîne de caractères (à l'aide de Mid(chaîne, i, 1)) qui me semble peu performant (ce n'est peut-être qu'une question d'implémentation, je n'ai d'ailleurs pas fait d'essais en OooBasic), forme lourde de l'incrémentation d'une variable numérique entière... Il ne me semble donc pas plus facile de programmer en Basic qu'en C++, par exemple, je dirais même que c'est le contraire. Je me demande donc quel est l'avantage du Basic. Si quelqu'un a une idée et veut répondre, merci d'avance. A.
Re: [prog] Pourquoi un Basic ?
Merci pour la réponse aimable, Laurent. [ l'avantage du Basic est] d'etre interpreté et donc multiplateforme et simple à apréhender mais au dela du langage c'est l'api et sa simplicité à mettre en oeuvre qui fait la puisance Je crois en effet que c'est là l'essentiel. pour un compromis, tu peux eventuellement utiliser python (ou java) D'après votre livre, pp. 8-9, il est plus facile de recourir à l'API par le biais d'OOoBasic. Je suppose donc qu'on a privilégié le Basic, mais j'imagine que toutes les facilités qu'on a fournies en Basic pourraient l'être dans d'autres langages aussi. Je t'invite egalement à participer au wiki du projet Extensions sur la partie C++ afin de permettre à de nouveaux arrivants de debuter Je suis un programmeur amateur qui a besoin de beaucoup d'aide et n'en a guère à apporter. Mais je vais peut-être saisir l'occasion qu'offre OpenOffice d'apprendre Python ou Java. merci pour tes remarques Encore merci pour la réponse. A. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Pourquoi un Basic ?
Bonjour Adrien Delcour Message du 2006-05-16 12:06: Il ne me semble donc pas plus facile de programmer en Basic qu'en C++, par exemple, je dirais même que c'est le contraire. Je me demande donc quel est l'avantage du Basic. Tes remarques sur les limitations du langage Basic sont tout à fait valables, mais secondaires du point de vue scripting. Il est évident qu'un langage intégré dans une application ne peut avoir toutes les possibilités d'un langage de programmation professionnelle nécessitant une compilation. Pour programmer OpenOffice la difficulté est d'utiliser l'API d'OpenOffice. Et là, Basic offre nombre de facilités, et un environnement de développement intégré, ce qui fait gagner un temps considérable. En comparaison, la mise en oeuvre avec C++ (ou Java) est bien plus complexe et hors de portée d'un programmeur occasionnel. Pour te faire une idée, voir les documents: l'API d'OOo (presque) sans peine (qui utilise Basic) http://fr.openoffice.org/Documentation/How-to/Basic/OOo_API_intro-07.sxw UNO/C++ By Serge Moutou http://perso.wanadoo.fr/moutou/UNOCpp_AP01.sxw (ce document est très long à ouvrir dans Writer) et aussi, l'annexe A du livre Programmation OpenOffice.org 2 http://www.eyrolles.com/Chapitres/9782212117639/Annexes_marcelly.pdf?xd=c377007ff1fbae60340676e7e601c7a9 Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Stocker une valeur dans l'environnement utilisateur
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. A+ Ph. -- Philippe Allart Chargé de mission TIC Tel: 03 20 21 24 88 Fax: 03 20 21 24 99 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Stocker une valeur dans l'environnement utilisateur
Selon Philippe Allart [EMAIL PROTECTED]: 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. A+ Ph. -- Philippe Allart Chargé de mission TIC Tel: 03 20 21 24 88 Fax: 03 20 21 24 99 Bonjour, Pour ma part je crée un fichier dans le repertoire de l'utilisateur (variable HOME, voir dans getPathSubstitution dans le SDK, de mémoire) A+ Serge - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Stocker une valeur dans l'environnement utilisateur
[EMAIL PROTECTED] a écrit : Bonjour, Pour ma part je crée un fichier dans le repertoire de l'utilisateur (variable HOME, voir dans getPathSubstitution dans le SDK, de mémoire) C'est un peu comme une BD. Je posais la question après avoir navigué ici dans la doc sur l'API: http://api.openoffice.org/docs/common/ref/com/sun/star/configuration/SetElement.html On dirait qu'il y a presque ce qu'il faut, mais je n'y comprends pas grand chose. Ph. -- Philippe Allart Chargé de mission TIC Tel: 03 20 21 24 88 Fax: 03 20 21 24 99 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Stocker une valeur dans l'environnement utilisateur
Selon Philippe Allart [EMAIL PROTECTED]: [...] C'est un peu comme une BD. Je posais la question après avoir navigué ici dans la doc sur l'API: http://api.openoffice.org/docs/common/ref/com/sun/star/configuration/SetElement.html On dirait qu'il y a presque ce qu'il faut, mais je n'y comprends pas grand chose. Ph. -- Philippe Allart Chargé de mission TIC Tel: 03 20 21 24 88 Fax: 03 20 21 24 99 Je n'ai pas d'exemple avec moi, mais je peux en mettre un sur la liste demain ... A+ Serge - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Stocker une valeur dans l'environnement utilisateur
[EMAIL PROTECTED] a écrit : Je n'ai pas d'exemple avec moi, mais je peux en mettre un sur la liste demain ... Je viens d'écrire un module de gestion des persistances basé sur un fichier texte et que je vais interconnecter à un gestion des boîtes de dialogue. Dès que c'est au point, je peux mettre en ligne. Il me manque juste une astuce pour récupérer la liste des controles contenus dans une boîte de dialogue, sans connaître leur nom... Ph. -- Philippe Allart Chargé de mission TIC Tel: 03 20 21 24 88 Fax: 03 20 21 24 99 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Stocker une valeur dans l'environnement utilisateur
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]