Returnering af en samling objekter fra en klasse ?
Hej Eksperter... Jeg har udviklet en del i VB men er først nu begyndt at benytte klasser i min programmering. Jeg har brug for at kunne returnere en samling af objekter via et funktionskald til en klasse.
Jeg beskriver lige hvad det er jeg vil lave, det kan jo være at der er en smartere måde at løse opgaven på :-)
Jeg har en klasse som bliver fyldt nogle properties omkring en flyrejse. Altså: Antal rejsende AfrejseLufthavn Destination o.s.v.
Når rejsen er beskrevet kan man bede systemet søge på mulige flyafgange, via et funktions kald til samme klasse.
Jeg ville nu gerne kunne returnere en samling af objekter som indeholder alle de nødvendige data for de fundene flyafgange.
Sub ClassNamer() Dim MyClasses As New Collection \' Create a Collection object. Dim Num \' Counter for individualizing keys. Dim Msg As String \' Variable to hold prompt string. Dim TheName, MyObject, NameList \' Variants to hold information. Do Dim Inst As New Class1 \' Create a new instance of Class1. Num = Num + 1 \' Increment Num, then get a name. Msg = \"Please enter a name for this object.\" & Chr(13) _ & \"Press Cancel to see names in collection.\" TheName = InputBox(Msg, \"Name the Collection Items\") Inst.InstanceName = TheName \' Put name in object instance. \' If user entered name, add it to the collection. If Inst.InstanceName <> \"\" Then \' Add the named object to the collection. MyClasses.Add item := Inst, key := CStr(Num) End If \' Clear the current reference in preparation for next one. Set Inst = Nothing Loop Until TheName = \"\" For Each MyObject In MyClasses \' Create list of names. NameList = NameList & MyObject.InstanceName & Chr(13) Next MyObject \' Display the list of names in a message box. MsgBox NameList, , \"Instance Names In MyClasses Collection\"
For Num = 1 To MyClasses.Count \' Remove name from the collection. MyClasses.Remove 1 \' Since collections are reindexed \' automatically, remove the first Next \' member on each iteration. End Sub
/Wilco
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.