Gjest Slettet-aNZFa3 Skrevet 10. august 2007 Del Skrevet 10. august 2007 (endret) Jag har da foreløpelig 2 Arrays som er deklaret som Object, jeg har da noe Varabler som er knyttet til disse, men det kan hende at jeg skal ha 100 nesten identiske arrays, så hvordan kan jeg forenkle disse? (kode nedenfor) 'Game1: Public Game1(11) As Object Public GameName1 As String = Game1(0) Public Genre1 As String = Game1(1) Public Platform1 As String = Game1(2) Public Gameplay As String = Game1(3) Public Graphic As String = Game1(4) Public AgeLimit As Integer = Game1(5) Public Multiplayer As Boolean = Game1(6) Public MMO As Boolean = Game1(7) Public MapEditor As Boolean = Game1(8) Public GameEditor As Boolean = Game1(9) Public Cutscenes As Boolean = Game1(10) Public ModMaker As Boolean = Game1(11) 'Game2: Public Game2(11) As Object Public GameName2 As String = Game1(0) Public Genre2 As String = Game1(1) Public Platform2 As String = Game1(2) Public Gamepla2 As String = Game1(3) Public Graphi2 As String = Game1(4) Public AgeLimi2 As Integer = Game1(5) Public Multiplaye2 As Boolean = Game1(6) Public MM2 As Boolean = Game1(7) Public MapEditor2 As Boolean = Game1(8) Public GameEditor2 As Boolean = Game1(9) Public Cutscenes2 As Boolean = Game1(10) Public ModMaker2 As Boolean = Game1(11) EDIT: jeg har også litt problemer med å adde items til en ListBox GamesLst.Items.Add(Game1) GamesLst.Items.Add(Game2) Det eneste jeg får opp i ListBox'en er "Object()Array" Endret 10. august 2007 av Slettet-aNZFa3 Lenke til kommentar
aadnk Skrevet 10. august 2007 Del Skrevet 10. august 2007 (endret) Legg variablene i en klasse og deklarer den to ganger: Public Class Games Public Game As New List(Of Game) Public Sub New() ' Eller noe sånt Game.Add(New Game) Game.Add(New Game) End Sub End Class Public Class Game Public GameName As String Public Genre As String Public Platform As String Public Gameplay As String Public Graphic As String Public AgeLimit As Integer Public Multiplayer As Boolean Public MMO As Boolean Public MapEditor As Boolean Public GameEditor As Boolean Public Cutscenes As Boolean Public ModMaker As Boolean End Class Endret 10. august 2007 av aadnk Lenke til kommentar
marw_the_big_headed_rhino Skrevet 10. august 2007 Del Skrevet 10. august 2007 If (Game = 1) then lag array så det står etter. then game + 1 Pseudokode. husker ikke veldig mye VB :-) Lenke til kommentar
Spartakus Skrevet 10. august 2007 Del Skrevet 10. august 2007 Angående adding til listbox, må du vel lage en løkke som looper igjennom arrayet og legger til hvert enkelt element. Lenke til kommentar
aadnk Skrevet 10. august 2007 Del Skrevet 10. august 2007 Det eneste jeg får opp i ListBox'en er "Object()Array" 9251623[/snapback] Jeg regner med du kun ønsker å skrive ut et enkelt element i listeboksen (eller ville du vel benyttet en DataGrid)? I så fall kan du A) Endre til Game1.GameName i koden eller B) overloade ToString() til å returnere ønsket tekstrepresentasjon. Lenke til kommentar
GeirGrusom Skrevet 10. august 2007 Del Skrevet 10. august 2007 Jeg ville brukt en Dictionary her... Lenke til kommentar
Gjest Slettet-aNZFa3 Skrevet 10. august 2007 Del Skrevet 10. august 2007 Det eneste jeg får opp i ListBox'en er "Object()Array" 9251623[/snapback] Jeg regner med du kun ønsker å skrive ut et enkelt element i listeboksen (eller ville du vel benyttet en DataGrid)? I så fall kan du A) Endre til Game1.GameName i koden eller B) overloade ToString() til å returnere ønsket tekstrepresentasjon. 9252135[/snapback] Når du nevner DataGrid så er det vel bedre å bruke det? Så har du en guide som viser meg hvordan jeg får arrrays til DataGrid, eller kan du lære meg det? Lenke til kommentar
aadnk Skrevet 10. august 2007 Del Skrevet 10. august 2007 (endret) La meg eksemplifisere med dette spillobjektet ditt. Først, konverter feltene til egenskaper. Dernest, bruk en array (dette er nødvendig ettersom en liste ikke støtter IList, merkelig nok) og legg inn en DataGridView-kontroll. Endelig limer du inn følgende kode: Klikk for å se/fjerne innholdet nedenfor Public Class Form1 ' Initialiserer to elementer i arrayen (objektet må implementer IList) Dim Games() As Game = New Game() {New Game, New Game} Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Laster inn datakilden DataGridView1.DataSource = Games End Sub End Class ' Dessverre må en anvende egenskaper for at DataSource skal kunne lese informasjonen. Akk, jeg virkelig hater notasjonen ' for egenskaper i VB.NET. Altfor ordrik. Public Class Game Private m_GameName As String Private m_Genre As String Private m_Platform As String Private m_Gameplay As String Private m_Graphic As String Private m_AgeLimit As Integer Private m_Multiplayer As Boolean Private m_MMO As Boolean Private m_MapEditor As Boolean Private m_GameEditor As Boolean Private m_Cutscenes As Boolean Private m_ModMaker As Boolean Public Property GameName() As String Get Return m_GameName End Get Set(ByVal value As String) m_GameName = value End Set End Property Public Property Genre() As String Get Return m_Genre End Get Set(ByVal value As String) m_Genre = value End Set End Property Public Property Platform() As String Get Return m_Platform End Get Set(ByVal value As String) m_Platform = value End Set End Property Public Property Gameplay() As String Get Return m_Gameplay End Get Set(ByVal value As String) m_Gameplay = value End Set End Property Public Property AgeLimit() As Integer Get Return m_AgeLimit End Get Set(ByVal value As Integer) m_AgeLimit = value End Set End Property Public Property Multiplayer() As Boolean Get Return m_Multiplayer End Get Set(ByVal value As Boolean) m_Multiplayer = value End Set End Property Public Property MMO() As Boolean Get Return m_MMO End Get Set(ByVal value As Boolean) m_MMO = value End Set End Property Public Property MapEditor() As Boolean Get Return m_MapEditor End Get Set(ByVal value As Boolean) m_MapEditor = value End Set End Property Public Property GameEditor() As Boolean Get Return m_GameEditor End Get Set(ByVal value As Boolean) m_GameEditor = value End Set End Property Public Property Cutscenes() As Boolean Get Return m_Cutscenes End Get Set(ByVal value As Boolean) m_Cutscenes = value End Set End Property Public Property ModMaker() As Boolean Get Return m_ModMaker End Get Set(ByVal value As Boolean) m_ModMaker = value End Set End Property End Class Endret 10. august 2007 av aadnk Lenke til kommentar
GeirGrusom Skrevet 11. august 2007 Del Skrevet 11. august 2007 *Kremt* Dictionary<string, object> *kremt* Lenke til kommentar
HDSoftware Skrevet 22. august 2007 Del Skrevet 22. august 2007 bare sånn kort : hva er forskjellen på Dictionary og SortedList ? Lenke til kommentar
aadnk Skrevet 22. august 2007 Del Skrevet 22. august 2007 bare sånn kort : hva er forskjellen på Dictionary og SortedList ? 9335704[/snapback] Førstnevnte er ikke sortert. Om du òg er interessert i en sammenlikning mellom SortedDictionary og SortedList, kan du ta en titt på følgende MSDN-artikkel: http://msdn2.microsoft.com/en-us/library/5z658b67.aspx Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå