Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

mdTypes

Downloads » Bibliotheken

Download

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: Externer Link!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: