  | 
					
						Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!   
						
						
					 | 
				 
			 
			 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 22.02.2007, 20:06    Titel: Def Fn-like in FB? | 
				     | 
			 
			
				
  | 
			 
			
				Hi,
 
naja, als fleißiger Leser der Befehlsreferenz weiß ich natürlich, daß es die Anweisung:in FB nicht gibt, aber im englischen Forum wurde die Frage diskutiert, ob und wie Pointer Funktionsergebnisse liefern können.
 
Wie kann das Ergebnis denn nun genutzt werden?
 
Ich habe hier mal ein paar Anwendungsmöglichkeiten zusammengefaßt: 	  | Code: | 	 		  #define Real Double
 
Option Explicit
 
 
Function AddIt(Byval x As Real, Byval y As Real) As Real
 
  Return x+y
 
End Function
 
 
Function SubIt(Byval x As Real, Byval y As Real) As Real
 
  Return x-y
 
End Function
 
 
Function MulIt(Byval x As Real, Byval y As Real) As Real
 
  Return x*y
 
End Function
 
 
Function DivIt(Byval x As Real, Byval y As Real) As Real
 
  Return x/y
 
End Function
 
 
Const MaxFun=3
 
Dim DefFn(MaxFun) As Function(Byval x As Real, Byval y As Real) As Real
 
Dim DefFn2(MaxFun) As Function(Byval x As Real, Byval y As Real) As Real={@AddIt, @SubIt, @MulIt, @DivIt}
 
Dim As Real a, b
 
Dim As Long i
 
Dim As String s="+-*/"
 
For i=0 To MaxFun
 
  Read DefFn(i)
 
Next
 
Data @AddIt, @SubIt, @MulIt, @DivIt
 
a = 10
 
b = 20
 
?"a=" &a &" b=" & b
 
?"+:" &DefFn(0)(a, b)
 
?"-:" &DefFn(1)(a, b)
 
?"*:" &DefFn(2)(a, b)
 
?"/:" &DefFn(3)(a, b)
 
b=0
 
?"/:" &DefFn(3)(a, b)
 
?DefFn(3)(a, b)*3
 
b = 20
 
?"a=" &a &" b=" & b
 
For i=0 To MaxFun
 
  ?Chr(s[i]) &":" &DefFn2(i)(a, b)
 
Next
 
b=0
 
?"/:" &DefFn2(MaxFun)(a, b)
 
?DefFn2(MaxFun)(a, b)*3
 
Sleep
 
End | 	  Teils Sachen die offensichtlich sind, teils Sachen, die ich ausprobieren wollte..
 
..wahrscheinlich gibt es noch viel mehr Möglichkeiten..
 
Gruß
 
ytwinky _________________
  	  | v1ctor hat Folgendes geschrieben: | 	 		  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 	  ..also ungefähr so, wie ich GOTO.. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 22.02.2007, 21:06    Titel: Re: Def Fn-like in FB? | 
				     | 
			 
			
				
  | 
			 
			
				Interessant, aber nun ein bissl off-topic:
 
 	  | ytwinky hat Folgendes geschrieben: | 	 		  | x As Real | 	  
 
hab ich wa verpasst?   Real? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Michael712 aka anfänger, programmierer
 
  Anmeldungsdatum: 26.03.2005 Beiträge: 1593
 
  | 
		
			
				 Verfasst am: 22.02.2007, 21:42    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ja, hast du:
 
 
 	  | Code: | 	 		  | #define Real Double | 	  
 
 
Das steht in der 1. Zeile   _________________
  	  | Code: | 	 		  | #include "signatur.bi" | 	 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 22.02.2007, 21:45    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Das ist nämlich ein rattenscharfes define  
 
Wenn du irgendwann feststellst, daß Double sowie vielzuviel ist, dann änderst du nur 1 Zeile und fertich  
 
Wobei ich natürlich zugeben muß, wenn Double durch Long ersetzt wird, funktionieren nicht mehr alle Funktionen richtig(jedenfalls hier).. _________________
  	  | v1ctor hat Folgendes geschrieben: | 	 		  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 	  ..also ungefähr so, wie ich GOTO.. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 22.02.2007, 22:20    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hab mich schon gewundert bzw gefreut, dass es jetzt wieder einen neuen. grooooßen datentyp gibt   _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 22.02.2007, 23:04    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				gibts ja auch: genauso groß wie du ihn 'define'st und neu ist er dann auch noch   _________________
  	  | v1ctor hat Folgendes geschrieben: | 	 		  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 	  ..also ungefähr so, wie ich GOTO.. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		PMedia
 
 
  Anmeldungsdatum: 14.08.2006 Beiträge: 2847
 
  | 
		
			
				 Verfasst am: 22.02.2007, 23:09    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Das beste dran: es ist sein individueller Datentyp xD
 
 
Ich definier ma den Datentyp PMedia... große Klappe, nix dahinter xDD
 
 
 
 
Hm, kein Datentyp geworden... na egal, is ja eh sinnlos   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		csde_rats
 
  
  Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
  | 
		 | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
  | 
   
 
     |