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:
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.
code:
Dit is wat ik momenteel geprobeerd heb: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) | +-> .... +-> .... |
Visual Basic:
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.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 |
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 == --