'modRuoka.bas Option Explicit Public Enum Mielipide [En osaa sanoa] [On hyvää] [On pahaa] End Enum
'Ruoka.cls Option Explicit Public Property Get Hyvää() As Boolean End Property Public Property Let Hyvää(ByVal SeOn As Boolean) End Property Public Property Get Kuvaus() As String End Property Public Property Let Kuvaus(ByVal Nimi As String) End Property Public Sub Maista() End Sub Public Property Get Pahaa() As Boolean End Property Public Property Let Pahaa(ByVal SeOn As Boolean) End Property Public Sub Syö() End Sub Public Function Syöty() As Boolean End Function
'Makkara.cls Option Explicit Implements Ruoka Dim OmaMielipide As Mielipide Dim Kuvaus As String Dim Syöty As Boolean Private Sub Class_Initialize() Kuvaus = "Makkara" End Sub Private Property Get Ruoka_Hyvää() As Boolean Ruoka_Hyvää = (OmaMielipide = [On hyvää]) End Property Private Property Let Ruoka_Hyvää(ByVal RHS As Boolean) If RHS Then OmaMielipide = [On hyvää] ElseIf OmaMielipide = [On hyvää] Then OmaMielipide = [En osaa sanoa] End If End Property Private Property Get Ruoka_Kuvaus() As String Ruoka_Kuvaus = Kuvaus End Property Private Property Let Ruoka_Kuvaus(ByVal RHS As String) Kuvaus = RHS End Property Private Sub Ruoka_Maista() Select Case OmaMielipide Case [On hyvää] MsgBox "Tämä on ihan hyvää." Case [On pahaa] MsgBox "Tämä on aika pahaa." Case Else MsgBox "En oikein osaa sanoa onko tämä hyvää vai pahaa... aika perustavaraa." End Select End Sub Private Property Get Ruoka_Pahaa() As Boolean Ruoka_Pahaa = (OmaMielipide = [On pahaa]) End Property Private Property Let Ruoka_Pahaa(ByVal RHS As Boolean) If RHS Then OmaMielipide = [On pahaa] ElseIf OmaMielipide = [On pahaa] Then OmaMielipide = [En osaa sanoa] End If End Property Private Sub Ruoka_Syö() If Not Syöty Then If OmaMielipide = [On pahaa] Then MsgBox "Parin haukkaisun jälkeen on pakko sanoa, että tämä lentää roskiin." Else MsgBox "Kyllähän tuon söi." End If Syöty = True Else MsgBox "Se meni jo." End If End Sub Private Function Ruoka_Syöty() As Boolean Ruoka_Syöty = Syöty End Function
'frmMaistiaiset.frm 'Command1.Caption = Mikä se on? 'Command2.Caption = Miltä se maistuu? 'Command3.Caption = Syö se Option Explicit Dim SuosikkiRuoka As Ruoka Private Sub Command1_Click() MsgBox "Se on " & LCase$(SuosikkiRuoka.Kuvaus) & "." End Sub Private Sub Command2_Click() If Not SuosikkiRuoka.Syöty Then Randomize If Int(Rnd * 2) = 1 Then SuosikkiRuoka.Hyvää = True Else SuosikkiRuoka.Pahaa = Int(Rnd * 2) = 1 End If End If SuosikkiRuoka.Maista End Sub Private Sub Command3_Click() SuosikkiRuoka.Syö End Sub Private Sub Form_Load() Set SuosikkiRuoka = New Makkara End Sub Private Sub Form_Unload(Cancel As Integer) Set SuosikkiRuoka = Nothing End Sub
Laajentakaa. Silloin kun on tylsää. Minäkin tein niin.
Eikös tämä kuuluisi QBasic ja Visual Basic -osioon?
En usko. Tämä ei ole kysymys eikä vakava aihe, joten eikö tämä siinä mielessä kuulu ihan tänne muuhun keskusteluun? Vai onko tällä foorumilla jotenkin poikkeava käytäntö sen suhteen, että kielille tarkoitettuihin huoneisiin saakin laittaa myös "pila-aiheita"?
Paha sanoa. Annetaan moderaattoreiden ratkaista!
Aihe on jo aika vanha, joten et voi enää vastata siihen.