OVH Cloud OVH Cloud

Redimmensionner un tableau [Débutant]

2 réponses
Avatar
Jacques
Bonjour,

J'ai deux structures :

Public Structure ObjetProprietes
Public Type As String
Public Nom As String
Public Texte As String
Public Tip As String
Public NouvTexte As String
Public NouvTip As String
Public Index As Long
End Structure

Public Structure FormulaireProprietes
Public Nom As String
Public Text As String
Public NouvTexte As String
Public ObjectNum As Integer
Public objProp() As ObjetProprietes
End Structure

Comment redimmensionner objProp() dans la structure FormulaireProprietes ???

ReDim objProp(10) -> me dit obProp pas déclaré
ReDim FormProperties.objProp(10) -> une référence à un membre non partagé
requiert une référence d'objet

Merci de vos réponses


Jacques

2 réponses

Avatar
Millox Frédéric
Bonjour,

Petit exemple qui a l'air de marcher :

Dim FormProperties As FormulaireProprietes
Try
FormProperties.Nom = "Nom1"
FormProperties.Text = "Text1"
FormProperties.NouvTexte = "NouvTexte1"
FormProperties.ObjectNum = 1

ReDim FormProperties.objProp(3)

FormProperties.objProp(0).Type = "Type1"
FormProperties.objProp(0).Nom = "Nom1"
FormProperties.objProp(0).Texte = "Texte1"
FormProperties.objProp(0).Tip = "Tip1"
FormProperties.objProp(0).NouvTexte = "NouvTexte1"
FormProperties.objProp(0).NouvTip = "NouvTip1"
FormProperties.objProp(0).Index = 10

FormProperties.objProp(1).Type = "Type2"
FormProperties.objProp(1).Nom = "Nom2"
FormProperties.objProp(1).Texte = "Texte2"
FormProperties.objProp(1).Tip = "Tip2"
FormProperties.objProp(1).NouvTexte = "NouvTexte2"
FormProperties.objProp(1).NouvTip = "NouvTip2"
FormProperties.objProp(1).Index = 20

FormProperties.objProp(2).Type = "Type3"
FormProperties.objProp(2).Nom = "Nom3"
FormProperties.objProp(2).Texte = "Texte3"
FormProperties.objProp(2).Tip = "Tip3"
FormProperties.objProp(2).NouvTexte = "NouvTexte3"
FormProperties.objProp(2).NouvTip = "NouvTip3"
FormProperties.objProp(2).Index = 30

Console.WriteLine(FormProperties.Text)
Console.WriteLine(FormProperties.objProp(0).Nom)
Console.WriteLine(FormProperties.objProp(1).NouvTexte)
Console.WriteLine(FormProperties.objProp(2).Index.ToString)

Catch ex As Exception
MessageBox.Show(ex.ToString, "Erreur", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
FormProperties = Nothing
End Try

J'espère que ça répondra à votre question.

Bonne journée.

--
fmillox


"Jacques" a écrit :

Bonjour,

J'ai deux structures :

Public Structure ObjetProprietes
Public Type As String
Public Nom As String
Public Texte As String
Public Tip As String
Public NouvTexte As String
Public NouvTip As String
Public Index As Long
End Structure

Public Structure FormulaireProprietes
Public Nom As String
Public Text As String
Public NouvTexte As String
Public ObjectNum As Integer
Public objProp() As ObjetProprietes
End Structure

Comment redimmensionner objProp() dans la structure FormulaireProprietes ???

ReDim objProp(10) -> me dit obProp pas déclaré
ReDim FormProperties.objProp(10) -> une référence à un membre non partagé
requiert une référence d'objet

Merci de vos réponses


Jacques





Avatar
Jacques
Merci pour ta réponse.

Jacques


"Millox Frédéric" a écrit dans le
message de news:
Bonjour,

Petit exemple qui a l'air de marcher :

Dim FormProperties As FormulaireProprietes
Try
FormProperties.Nom = "Nom1"
FormProperties.Text = "Text1"
FormProperties.NouvTexte = "NouvTexte1"
FormProperties.ObjectNum = 1

ReDim FormProperties.objProp(3)

FormProperties.objProp(0).Type = "Type1"
FormProperties.objProp(0).Nom = "Nom1"
FormProperties.objProp(0).Texte = "Texte1"
FormProperties.objProp(0).Tip = "Tip1"
FormProperties.objProp(0).NouvTexte = "NouvTexte1"
FormProperties.objProp(0).NouvTip = "NouvTip1"
FormProperties.objProp(0).Index = 10

FormProperties.objProp(1).Type = "Type2"
FormProperties.objProp(1).Nom = "Nom2"
FormProperties.objProp(1).Texte = "Texte2"
FormProperties.objProp(1).Tip = "Tip2"
FormProperties.objProp(1).NouvTexte = "NouvTexte2"
FormProperties.objProp(1).NouvTip = "NouvTip2"
FormProperties.objProp(1).Index = 20

FormProperties.objProp(2).Type = "Type3"
FormProperties.objProp(2).Nom = "Nom3"
FormProperties.objProp(2).Texte = "Texte3"
FormProperties.objProp(2).Tip = "Tip3"
FormProperties.objProp(2).NouvTexte = "NouvTexte3"
FormProperties.objProp(2).NouvTip = "NouvTip3"
FormProperties.objProp(2).Index = 30

Console.WriteLine(FormProperties.Text)
Console.WriteLine(FormProperties.objProp(0).Nom)
Console.WriteLine(FormProperties.objProp(1).NouvTexte)
Console.WriteLine(FormProperties.objProp(2).Index.ToString)

Catch ex As Exception
MessageBox.Show(ex.ToString, "Erreur", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
FormProperties = Nothing
End Try

J'espère que ça répondra à votre question.

Bonne journée.

--
fmillox


"Jacques" a écrit :

> Bonjour,
>
> J'ai deux structures :
>
> Public Structure ObjetProprietes
> Public Type As String
> Public Nom As String
> Public Texte As String
> Public Tip As String
> Public NouvTexte As String
> Public NouvTip As String
> Public Index As Long
> End Structure
>
> Public Structure FormulaireProprietes
> Public Nom As String
> Public Text As String
> Public NouvTexte As String
> Public ObjectNum As Integer
> Public objProp() As ObjetProprietes
> End Structure
>
> Comment redimmensionner objProp() dans la structure FormulaireProprietes


???
>
> ReDim objProp(10) -> me dit obProp pas déclaré
> ReDim FormProperties.objProp(10) -> une référence à un membre non


partagé
> requiert une référence d'objet
>
> Merci de vos réponses
>
>
> Jacques
>
>
>