Ciao,
Vorrei fare un arraylist di classi.. Nel caso specifico un arraylist di nome films che ha come elementi classi di nome film (la fantasia per le variabili è il mio forte..) Sul totem c'è un esempio molto chiaro, ma se provo a trasportarlo sul mio 'caso', mi dice che devo usare il comando new.. ma io l'ho usato!!
vi posto code
codice:Public Class form1 Dim memx As Integer, memy As Integer Dim sale As Integer Dim cinema(100) As sala Dim cinema_name As String Dim salvato As Boolean Dim films As ArrayList <Serializable()> _ Public Class film Dim _titolo As String Dim _DurataOreFilm As Int16 Dim _DurataMinutiFilm As Int16 Dim _DurataPubblicita As Int16 Dim _formato As _format Enum _format f3d f35mm fdgt End Enum Dim _f35mm As Boolean Dim _fdgt As Boolean Dim _f3d As Boolean Public Property titolo As String Get Return _titolo End Get Set(ByVal value As String) _titolo = value End Set End Property Public Property DurataOreFilm As Byte Get Return _DurataOreFilm End Get Set(ByVal value As Byte) _DurataOreFilm = value End Set End Property Public Property DurataMinutiFilm As Byte Get Return _DurataMinutiFilm End Get Set(ByVal value As Byte) _DurataMinutiFilm = value End Set End Property Public Property DurataPubblicita As Byte Get Return _DurataPubblicita End Get Set(ByVal value As Byte) If value > 0 Then _DurataPubblicita = value End If End Set End Property Public Property formato As _format Get Return _formato End Get Set(ByVal value As _format) _formato = value End Set End Property End Class Private Sub AggiungiFilm_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AggiungiFilm.Click Dim a As New film Dim ob As New Label Dim y As Int16 If films IsNot Nothing Then 'y = 5 Else 'y = 60 * films.Count End If 'inserisco scheda film nell'array di struttura a.titolo = InputNomeFilm.Text a.DurataOreFilm = InputOraFilm.Text a.DurataMinutiFilm = InputMinFilm.Text a.DurataPubblicita = InputMinPub.Text If Check35mm.CheckState = True Then a.formato = film._format.f35mm ElseIf check3d.CheckState = True Then a.formato = film._format.f3d ElseIf Checkdgt.CheckState = True Then a.formato = film._format.fdgt End If 'ecco.. qui è dove si blocca tutto films.Add(a) 'definisco proprietà oggetto ob.Text = a.titolo & vbCr & a.DurataOreFilm & " hh " & a.DurataMinutiFilm & " mm " & vbCr & "publicita e trailer =" & a.DurataPubblicita ob.BackColor = Color.Cyan ob.Top += y ob.Left = 30 ob.AutoSize = False ob.TextAlign = ContentAlignment.MiddleCenter ob.BorderStyle = BorderStyle.FixedSingle ob.Width = (a.DurataOreFilm * 60) + a.DurataMinutiFilm + a.DurataPubblicita ob.Height = 50 ob.AllowDrop = True Me.Panelfilm.Controls.Add(ob) 'AddHandler ob.Click, AddressOf objfilm_click AddHandler ob.MouseDown, AddressOf objfilm_MouseDown End Sub
il prblema è sull'inizializzazione..
![]()

Rispondi quotando
