[VB2005] Multilayered Class

Pagina: 1
Acties:

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 24-06 09:35

CoRrRan

Don't Panic!!!

Topicstarter
Ik ben aan het proberen om een Class te schrijven voor mijn programma, waarin in ik een keer de informatie netjes kan indelen. Deze Class zou er als volgt moeten uitzien:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
clsLayerZ1
 |
 +-> Headers
 |    |
 |    +-> Header1 = Text1 (String)
 |    +-> Header2 = Text2 (String)
 |    +-> ....
 +-> LC(0)
 |    |
 |    +-> ID = LC ID (Integer)
 |    +-> Entity(0)
 |    |    |
 |    |    +-> ID = Entity ID (Integer)
 |    |    +-> Loads
 |    |         |
 |    |         +-> Load1 = Value1 (Double)
 |    |         +-> Load2 = Value2 (Double)
 |    |         +-> Load3 = Value3 (Double)
 |    |         +-> ....
 |    +-> Entity(1)
 |    |    |
 |    |    +-> ID = Entity ID (Integer)
 |    |    +-> Loads
 |    |         |
 |    |         +-> Load1 = Value1 (Double)
 |    |         +-> ....
 |    +-> ....
 +-> LC(1)
 |    |
 |    +-> ID = LC ID (Integer)
 |    +-> ....
 +-> ....
Dit is wat ik momenteel geprobeerd heb:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Class Layer

  Private _iLCs As Integer
  Private _iHeaders As Short
  Private _iEntities As Long

  Sub New(ByVal iLCs As Integer, ByVal iEntities As Long, ByVal iHeaders As Short)
    _iLCs = iLCs
    _iEntities = iEntities
    _iHeaders = iHeaders
    ReDim _LoadCase(_iEntities)
  End Sub

  Public LoadCase(_iLCs) As LoadCase(_iEntities)
  Public Headers(_iHeaders) As String

End Class

Public Class LoadCase

  Private _iEntities As Long

  Sub New(ByVal iEntities As Long)
    _iEntities = iEntities
  End Sub

  Public LCID As Long
  Public Entities(_iEntities) As Entity(iLoadComponents)

End Class

Public Class Entity
  Private _iLoadComponents As Short
  Sub New(ByVal iLoadComponents As Short)
    _iLoadComponents = iLoadComponents
  End Sub
  Public EntityID As Long
  Public LoadsInfo(_iLoadComponents) As Double

End Class
Het probleem waar ik ook tegenaan loop, is dat ik de variabele als global variabele wil definiëren, ik heb hem nodig in andere procedures, maar dat ik uit een locale procedure input krijg over de grootte van de verschillende arrays in de Class.

Is mijn aanpak de juiste, of moet ik het minder complex doen en gewoon gebruik maken van meerdere arrays? Of van een ArrayOfArrays?

Zoals mogelijk blijkt uit mijn bericht heb ik helaas nog niet heel veel kaas gegeten van Class'es in VB2005 dus ik hoop op deze manier ook er nog iets van te leren. Ik heb tevens de boeken die ik ter beschikking heb door geneusd, maar ik kan nergens een voorbeeld vinden wat mij verder helpt en helaas heeft meneer Google ook niet de antwoorden die ik zoek.

-- == Alta Alatis Patent == --


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Ik zou gebruik maken van meerdere classes, en evt eens kijken naar het composite pattern, en zien of dat niet bruikbaar is in jouw situatie

[ Voor 25% gewijzigd door whoami op 06-06-2007 15:31 ]

https://fgheysels.github.io/