Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Basic Open Office] Class : LET "à 2 entrées"

gérer des paramètres étendus...

    2 août 2018 à 9:02:56

    Hello à tous ceux qui passeront par là ;)

    Je suis débutant en basic open office

    J'ai un problème "simple", je veux générer dans ma classe des paramètres étendus, en gros je vais rajouter des éléments mais je ne sais pas encore comment ils vont s’appeler.

    Pour se faire je triche un peu et j'utilise deux matrices _nameExtendedData()  et _valueExtendedData()

    ce qui donne dans la définition

    Private _nbExtendedData As Integer
    Private _nameExtendedData()  As String
    Private _valueExtendedData() As String

    Et dans l'initialisation

    Private Sub Class_Initialize()
            _nbExtendedData = 0
    	ReDim _nameExtendedData(_nbExtendedData)
    	ReDim _valueExtendedData(_nbExtendedData)
    End Sub      '   Constructor
    

    J'ai réussi à faire le get :

    Public Property GET extendedData(ByVal nameExtendedData As String)
    	Dim i As Integer
    	extendedData=""
    	if _nbExtendedData>0 then
    		for i=1 to _nbExtendedData
    			if (_nameExtendedData(i)=nameExtendedData) then
    				extendedData=_valueExtendedData(i)
    			end if
    		next i
    	end if
    End Property

    Que j'appelle ainsi :

    test = pt.extendedData("nom de la variable en String")


    Mais pour le LET j'ai essayé moulte choses qui ne fonctionnent pas,

    mais je voudrais l'utiliser comme ceci

    pt.extendedData("nom de la variable en String")="valeur en String"

    La définition qui me semble la plus proche de la solution est la suivante

    Public Property LET extendedData(ByVal nameExtendedData As String, valueExtendedData As String)
    String, ByVal valueExtendedData As String)
    	Dim i As Integer
    	Dim newExtendedData As Boolean
    	if _nbExtendedData<=0 then
    		newExtendedData=true
    	else
    		newExtendedData=true
    		for i=1 to _nbExtendedData
    			if _nameExtendedData(i)=nameExtendedData then
    				newExtendedData=false
    				_valueExtendedData(i)=valueExtendedData
    				exit for
    			end if
    		next i
    	end if
    	if newExtendedData then
    		_nbExtendedData=_nbExtendedData+1
    		ReDim Preserve _nameExtendedData(_nbExtendedData),_valueExtendedData(_nbExtendedData)
    		_nameExtendedData(_nbExtendedData) = nameExtendedData
    		_valueExtendedData(_nbExtendedData)= valueExtendedData
    	end if
    End Property

    Merci à ceux qui auront lu jusqu'ici :p

    A+

    -
    Edité par Xunor 2 août 2018 à 11:55:09

    • Partager sur Facebook
    • Partager sur Twitter

    [Basic Open Office] Class : LET "à 2 entrées"

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown