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 à [email protected] 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

Répondre à