Verfasst: 14.05.2006 18:23
@Leonhard
schönes Beispiel. Habe es etwas geändert. Finde es mit DataSection übersichtlicher.
[Edit] Geht naturlich nur mit PB4
FF
P.S. Man braucht weniger programmieren.
schönes Beispiel. Habe es etwas geändert. Finde es mit DataSection übersichtlicher.
[Edit] Geht naturlich nur mit PB4
Code: Alles auswählen
Interface IMsgBox ; Interface
SetTitle(Titel.s)
SetText(text.s)
SetFlags(flags.l)
Show()
Free()
EndInterface
Structure MsgBox_M ; Interface-Daten (*this)
*VT.l
Titel.s
text.s
flags.l
EndStructure
Procedure MsgBox_SetTitle(*this.MsgBox_M, Titel.s)
*this\Titel = Titel
EndProcedure
Procedure MsgBox_SetText(*this.MsgBox_M, text.s)
*this\text = text
EndProcedure
Procedure MsgBox_SetFlags(*this.MsgBox_M, flags.l)
*this\flags = flags
EndProcedure
Procedure MsgBox_Show(*this.MsgBox_M)
ProcedureReturn MessageRequester(*this\Titel, *this\text, *this\flags)
EndProcedure
Procedure MsgBox_Free(*this.MsgBox_M)
FreeMemory(*this)
EndProcedure
Procedure New_MsgBox()
*object.MsgBox_M = AllocateMemory(SizeOf(MsgBox_M))
*object\VT = ?vtMsgbox
ProcedureReturn *object
EndProcedure
box.IMsgBox = New_MsgBox()
If box
box\SetTitle("OOP_MessageBox")
box\SetText("Magst Du OOP?")
box\SetFlags(#PB_MessageRequester_YesNo)
Select box\Show()
Case #PB_MessageRequester_Yes
box\SetText("Oh, das Freut mich!")
Case #PB_MessageRequester_No
box\SetText("Das macht mich Traurig")
EndSelect
box\SetFlags(#PB_MessageRequester_Ok)
box\Show()
box\Free()
EndIf
DataSection
vtMsgBox:
Data.l @MsgBox_SetTitle()
Data.l @MsgBox_SetText()
Data.l @MsgBox_SetFlags()
Data.l @MsgBox_Show()
Data.l @MsgBox_Free()
EndDataSection
FF

P.S. Man braucht weniger programmieren.