Bonjour,
1) Dans le livre Programmation OpenOffice.org 3 de
Marcelly/Godard page 465 il est expliqué qu'une
fonction calc ne peu pas modifier la cellule en
cours ou une autre cellule et que l'API ignore les
actions que peut produire la fonction.
Il s'agit donc bien d'une fonction au sens
mathématique du terme, elle renvoie une valeur
mais ne modifie pas l'environnement.
Inutile donc de tenter de modifier une cellule en
appelant une fonction depuis cette cellule ou une
autre.
2) Par contre, je fais une petite remarque
concernant les sub et les fonctions de OOoBasic
dans le cadre d'une exécution ordinaire par macro.
Là, il n'y pratiquement pas de différence entre
sub et function. Par exemple si on code :
sub test() as long
print "salut"
test = 5
end sub
sub essai
dim num as long
num = test
print num
end sub
l'exécution de essai affiche "salut" puis 5. Le
sub test se comporte exactement comme une fonction.
Inversement si on code :
function truc()
print "Hello"
end function
sub essai2
truc
end sub
l'exécution de essai2 affiche "Hello". La fonction
truc se comporte exactement comme une sub.
En fait, OpenOffice ne semble avoir qu'une sorte
de sous-programme, la différence de nom n'étant
qu'une déclaration d'intention du contexte dans
lequl on souhaite l'utiliser.
Bien entendu, je ne recommande pas d'utiliser ce
genre de codage et, personnellement, je fais bien
attention à ne définir :
- que des fonctions qui ne font que renvoyer une
valeur et ne modifie pas l'environnement (cad qui
n'agissent pas)
- que des sub (actions) qui ne renvoient pas de
valeur (sauf éventuellement un code d'erreur
d'exécution par exemple, cela peut être pratique)
mais il faut savoir que OOoBasic permet la
confusion des 2 ce qui peut empêcher de détecter
rapidement certaines erreur.
Pascal
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org