Bonsoir,
Le 16/02/2018 à 17:14, kadeem13 a écrit :
Merci pour votre réponse. Pour être précis j'aime créer un plugin pour libre
office pour qui il prendra en charge l'arithmétique d'intervalle. Donc au
lieu de faire des calculs avec des nombres, on fera des calculs avec des
intervalles. Et pour cela il faut créer un type intervalle. Exemple
d'opération entre 2 intervalles : [a,b] + [c,d] = [a+c,b+d].
je plussoie les réponses de Jean-Michel et de Didier. Passer par un type
personnalisé semble la bonne voie.
Un "type personnalisé" dans LibO Basic correspond à ce qui s'appelle en
Pascal un Record et une Structure en C.
Comme indiqué par Didier, un type personnalisé n'est connu que dans le
module où il est déclaré :
par ex
Type MonType
Item As String
Valeur As Integer
Ok As Boolean
End Type
ne peut pas être référencé ailleurs (dans d'autres modules de la même
bibliothèque ou dans d'autres bibliothèques). Dans ces cas (assez
fréquents somme toute), il faut référencer ce type comme Object ou Variant.
Pour créer une variable de ce type dans un autre module, il faut donc
ruser en passant par une fonction "factory". Il suffit donc de créer,
dans le même module que celui où le type personnalisé est lui-même
déclaré, une fonction comme ceci :
Function CreateMonType() As MonType
Dim oType As MonType
CreateMonType = oType
End Function
et appeler cette fonction de n'importe où dans le code :
Dim oMonType As Object
...
oMonType = CreateMonType()
Notez que vous pouvez initialiser des valeurs lors de la création. Yaka
passer des paramètres ad hoc à la fonction de création.
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.