'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 SubLaajentakaa. 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.