| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 21.09.2013, 15:19    Titel: mdTypes |   |  
				| 
 |  
				| Bei diesem Projekt 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:
 
  	  | Code: |  	  | #Include Once "md/util/mdList.bi" 
 Type MyClass
 Public:
 Declare Constructor ()
 Declare Constructor (ByVal value As Integer)
 
 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
 
 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
 | 
 
 Die Projektseite und die Downloads finden sich im FreeBASIC-Portal unter:
 http://www.freebasic-portal.de/downloads/bibliotheken/mdtypes-308.html
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 17.04.2014, 17:14    Titel: |   |  
				| 
 |  
				| Nun gibt es ein erstes Tutorial (englisch): Using mdTypes |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Domso 
 
 
 Anmeldungsdatum: 02.02.2011
 Beiträge: 109
 
 
 | 
			
				|  Verfasst am: 14.06.2014, 16:43    Titel: |   |  
				| 
 |  
				| was mit persönlich bisschen fehlt, ist das überschreiben von methoden, oder habe ich das nur übersehen?
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 14.06.2014, 17:05    Titel: |   |  
				| 
 |  
				| mdTypes nutzt Vererbung und Polymorphismus. D. h. du kannst von einer md-Klasse erben und eigene Methoden hinzufügen oder bestehende überschreiben. 
 Ein etwas älteres Beispiel dazu findet sich im NoPaste: http://www.freebasic-portal.de/porticula/nemoredslist-1666.html
 In diesem Beispiel wird die toString() Methode geändert.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Domso 
 
 
 Anmeldungsdatum: 02.02.2011
 Beiträge: 109
 
 
 | 
			
				|  Verfasst am: 14.06.2014, 17:33    Titel: |   |  
				| 
 |  
				| oh, habe ich wohl übersehen   
 coole sache
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 05.09.2014, 19:20    Titel: |   |  
				| 
 |  
				| mdTypes bietet nun auch eine Persistenzschicht, um Daten und Listen von Daten in Datenbanken unterzubringen. Momentan werden MySQL und SQLite unterstützt. Zusätzlich gibt es eine einfache textbasierte mdTypesPersistence. 
 Ein paar mehr Infos gibt es im Tutorial unter: http://www.freebasic-portal.de/tutorials/using-mdtypes-en-108-s9.html
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |