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.