mdTypes
Download
- ZIP-Archiv (148 kB)
- WTFPL
- Plattformen:
- FreeBASIC 0.90.1
- Quelltext enthalten
- Angelegt von MOD am 21.09.2013 • Aktueller Dateiupload vom 05.09.2014
- Alle Dateiversionen
Bewertung
Punkte: 5,0 bei 2 Stimmen(Zum Abstimmen auf die Sterne klicken.)
Hinweis: Bitte den Download unten verwenden, da er sich automatisch aktualisiert. Please use the download at the end of this page because its updating itself automatically.
Bei dem Download handelt es sich um eine Sammlung von UDTs, die Java-Interfaces und -Klassen nachempfunden sind. Im Paket enthalten ist eine Ordnerstruktur mit den UDTs, eine ReadMe mit Installationshinweisen und ein Ordner voller Beispielcodes.
Hervorzuheben sind dabei die Collection-Types, bei denen es sich um generische Listen handelt. Hiermit lassen sich nahezu alle FreeBASIC-Datentypen (Ausnahme bildet Integer - es sollte stattdessen Long oder mdInteger verwendet werden) sowie eigene UDTs in Listen und Maps ablegen und verwalten.
Ein Beispiel mit eigener Klasse in einer mdList:
#Include Once "md/util/mdList.bi"
Type MyClass
Public:
Declare Constructor ()
Declare Constructor (ByVal value As Integer)
Declare Operator Cast() As String
Declare Sub setMyVar (ByVal value As Integer)
Declare Function getMyVar () As Integer
Private:
As Integer myVar
End Type
'must have a default constructor or no explicit constructor at all!
Constructor MyClass ()
End Constructor
Constructor MyClass (ByVal value As Integer)
This.setMyVar(value)
End Constructor
'must implement cast to string for string representation
Operator MyClass.Cast() As String
Return Str(This.myVar)
End Operator
Sub MyClass.setMyVar (ByVal value As Integer)
This.myVar = value
End Sub
Function MyClass.getMyVar () As Integer
Return This.myVar
End Function
'operator for comparision must exist!
Operator = (ByRef lhs As MyClass, ByRef rhs As MyClass) As Integer
Return lhs.getMyVar() = rhs.getMyVar()
End Operator
mdListDeclare(MyClass)
Dim As mdList(MyClass) list
Dim As MyClass foo
foo.setMyVar(0) : list.add(foo)
foo.setMyVar(1) : list.add(foo)
foo.setMyVar(2) : list.add(foo)
foo.setMyVar(3) : list.add(foo)
foo.setMyVar(0) : list.add(foo)
Print "Output 1:"
For i As Integer = 0 To list.size() - 1
Print list.get(i).getMyVar()
Next
Print
Print "Output 2:"
Dim As MyClass element
ForEach(MyClass, element In list)
Print element.getMyVar()
NextEach
Print
Print "Output 3:"
Dim As mdIterator(MyClass) iterator = list.iterator()
While iterator.hasNext()
Print iterator.nex().getMyVar()
Wend
Print
Sleep
Der Download wird sporadisch aktualisiert, die aktuellsten Versionen finden sich stets unter:
Download: http://users.freebasic-portal.de/mod/download/mdTypes.zip
Tutorial (english): tutorials/using-mdtypes-en-108.html
Fragen und Anmerkungen können im Forum unter folgender Adresse gepostet werden:
- Deutsch: http://forum.qbasic.at/viewtopic.php?p=103866#103866
- English: http://www.freebasic.net/forum/viewtopic.php?f=8&t=21614