• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-02-2003, 20:38   #16 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hi dassoud,

ich habe einen Thread geteilt. Ist dabei was
schief gegangen ?

mfg .r
bokel ist offline   Mit Zitat antworten
Alt 25-02-2003, 20:45   #17 (permalink)
ontheoutsidelookingin
 
Benutzerbild von dassoud
 
Registriert seit: Jun 2001
Ort: Dortmund
Beiträge: 5.897
nein, ganz im gegenteil, jetzt bekommt florys beitrag erst die aufmerksamkeit, die er verdient.

war mir nur aufgefallen, weil dieses thema ja in einem ganz anderen thread entstanden war. und ich hätte das am ersten mod-tag garantiert verpeilt.

also: perfekte erste amtshandlung!

dassoud
__________________

33rpm
dassoud ist offline   Mit Zitat antworten
Alt 25-02-2003, 21:32   #18 (permalink)
www.kruesch.de
 
Benutzerbild von flory
 
Registriert seit: Feb 2002
Beiträge: 1.057
bokel, du warst ja eh schon die ganze zeit inoffizieler
moderator - jetzt darfst du auch threads teilen.

hab dein script noch bischen umgeschrieben - das obj(ect)
und die übergabe der parameter als array
fand ich noch ein wenig ungünstig:

ActionScript:
  1. Function.prototype.executeLater = function() { 
  2.         var func = this;
  3.         var timeToWait=arguments.shift();
  4.         var args=arguments;
  5.         var intervalId = setInterval(function () {
  6.                 func.apply(f,args);
  7.                 clearInterval(intervalId);
  8.         }, timeToWait);
  9. };
  10.  
  11. Function.prototype.setDelay = function(timeToWait) {   
  12.         var func = this;
  13.         return function() {
  14.             var args=arguments;
  15.             var intervalId = setInterval(function () {
  16.                 func.apply(f,args);
  17.                 clearInterval(intervalId);
  18.             }, timeToWait);
  19.         }
  20. };
  21.  
  22. function test(){
  23.         trace("test " + arguments);
  24. }
  25.  
  26. test.executeLater(100,"flory", "was", "here");
  27.  
  28. test.setDelay(1000)("flory","was","here","again");
  29.  
  30. testDelayed1000=test.setDelay(1000);
  31.  
  32. // kann irgendwann aufgerufen werden, verzögerung ist
  33. // gespeichert
  34. testDelayed1000("flory","was","here","yet again");
__________________
www.planet-xaml.net

Geändert von flory (25-02-2003 um 21:37 Uhr)
flory ist offline   Mit Zitat antworten
Alt 27-02-2003, 10:51   #19 (permalink)
coma2mario
Gast
 
Beiträge: n/a
Anscheinend gibt es bei der executeLater Methode ein Problem mit Objekten, zumindest habe ich folgendes in meinen Blog-Kommentaren gefunden:

Code:
obj = new Object();
obj.prop = 5;
obj.traceProp = function() { trace(this.prop); };

obj.traceProp();
obj.traceProp.executeLater(50);
Korrekt wäre folgender Output:
5
5

Es kommt aber:
5
undefined

Ansonsten ein super Thread!

Mario
www.quasimondo.com
  Mit Zitat antworten
Alt 28-02-2003, 08:19   #20 (permalink)
www.penck.de
 
Benutzerbild von borisp
 
Registriert seit: Jan 2002
Ort: Wiesbaden / Mainz-Kastel
Beiträge: 926
Zitat:
Geschrieben von flory
ich hab ein schönes Beispiel für funktionales
Programmieren gefunden, passt auch zum Thema XML:

ActionScript:
  1. function addTag(tag) {
  2.   var stag='<'+tag+'>';
  3.   var etag='</'+tag+'>';
  4.   return function(x) {
  5.     return stag+x+etag;
  6.   }
  7. } 
  8.  
  9. Function.prototype.after=function(g) {
  10.   var f=this;
  11.   return function(x) {
  12.     return f(g(x));
  13.   }
  14. }
  15.  
  16. trace(addTag("b").after(addTag("i"))("helo"));
Naja, dass kann man ja auch mit fertigen Flash Funktionen machen.
ActionScript:
  1. XML_BAUM = new XML();
  2.             XML_MESSAGE = XML_BAUM.createElement("b");
  3.             XML_LOADING = XML_BAUM.createElement("i");
  4.             XML_TEXT = XML_BAUM.createTextNode("halo");
  5.             XML_LOADING.appendChild(XML_TEXT);
  6.             XML_MESSAGE.appendChild(XML_LOADING);
  7.             XML_BAUM.appendChild(XML_MESSAGE);
  8.             trace(XML_BAUM);
Zumal man dann noch die einfache Möglichkeit hat Attribute zu setzen.
borisp ist offline   Mit Zitat antworten
Alt 28-02-2003, 08:25   #21 (permalink)
Student
 
Registriert seit: Feb 2002
Ort: Cottbus
Beiträge: 873
kann mir mal jemand den sinn/zweck erklären? anscheinend werden zeitversetzt nacheinander funktionen ausgeführt..?
florianosch ist offline   Mit Zitat antworten
Alt 28-02-2003, 11:17   #22 (permalink)
Friend of Ed
 
Registriert seit: Dec 2001
Ort: Chiemsee
Beiträge: 669
Hui, da kommt funktionales Programmieren richtig in den Schwung. Vielen Dank!

Viele Grüße
Dominic
Dominic H. ist offline   Mit Zitat antworten
Alt 28-02-2003, 16:04   #23 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
@coma2mario
In einem Posting vor Florys Rewrite meiner executeLater-Funktion
findest du eine Version, die auch mit Objekten funktioniert.

@borisp
Danke für die Aufkärung

@florianosch
Du kannst damit eine Funktion zu einem späteren Zeitpunkt
ausführen lassen.

@Dominic H.
Ist schon lustig, was man mit Actionscript alles machen
kann. Wenn ich mir dagegen das steife Java anschaue, brr.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 28-02-2003, 17:50   #24 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Ich sehe es schon kommen, Flash wird wohl wenn das hier soweiter geht gesplitet werden.

Wobei ich sagen muss bei einigen Konstruktion wird mir schon etwas komisch in der Magen gegend, ich hoffe solche Codes fliessen nicht in Projekte ein, zumindest nicht in der Form.

bokel: Lisp find ich richtig spannend, wenn man ein Mathe-Liebhaber ist, dann macht es sicher sinn. Sollte man jedoch was von Performance haben wollen muss man sich wohl von der Funktionalen-Programmierung fernhalten.

Aber wie heisst es so schön entdecket die Möglichkeiten...

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 28-02-2003, 17:57   #25 (permalink)
Neuer User
 
Benutzerbild von Pingu
 
Registriert seit: Nov 2001
Beiträge: 2.089
Zitat:
Geschrieben von flory
ich hab ein schönes Beispiel für funktionales
Programmieren gefunden, passt auch zum Thema XML:

ActionScript:
  1. function addTag(tag) {
  2.   var stag='<'+tag+'>';
  3.   var etag='</'+tag+'>';
  4.   return function(x) {
  5.     return stag+x+etag;
  6.   }
  7. } 
  8.  
  9. Function.prototype.after=function(g) {
  10.   var f=this;
  11.   return function(x) {
  12.     return f(g(x));
  13.   }
  14. }
  15.  
  16. trace(addTag("b").after(addTag("i"))("helo"));
Könnte das jmd mit wenigen Worten beschreiben..also was wann ausgeführt wird..ich seh' nur lauter returns..und funktionen, die nirgendwo definiert sind

danke im Vorraus
__________________

'n altes Game
neu entdeckt *g*
Reine
Pingu ist offline   Mit Zitat antworten
Alt 28-02-2003, 18:00   #26 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Pingu: Frag in den Codezeilen auf keinen Fall nach Konvention - du wirst keine finden. Ist aber ein riesen Spass so lange man noch durchblickt.

flory: Nicht böse sein. Ich lieb ja auch solch zeugs.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 28-02-2003, 18:11   #27 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
@Pingu

An welcher Stelle hakt es denn ?

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 28-02-2003, 18:45   #28 (permalink)
Neuer User
 
Benutzerbild von Pingu
 
Registriert seit: Nov 2001
Beiträge: 2.089
ActionScript:
  1. function addTag(tag) {
  2.         var stag='<'+tag+'>';
  3.         var etag='</'+tag+'>';
  4. //soweit alles klar
  5.         return function(x) {
  6. // funktion gibt ne funktion zurück..
  7.                 return stag+x+etag;
  8.            // die wiederum auch was zurück gibt
  9.  
  10.         // soweit einiger massen klar :-)
  11.         }
  12. }
  13.  
  14. Function.prototype.after=function(g) {
  15.  
  16. // wieder ne funktion..
  17.         var f=this;
  18.   // bezug auf die funktion
  19.         return function(x) {
  20.         //  gibt eine funktion zurück
  21.                 return f(g(x));
  22.                  //..die die selbe Funktion (after) mit dem parameter
  23.         //des ergebnis der vorigen funktion...
  24.            // auf ruft
  25.         }
  26. }
  27.  
  28.  
  29. // soweit..weiss nich..stimmt das..schnaggel ich aber nich..mal durchspielen:D
  30. trace(addTag("b").after(addTag("i"))("helo"));

addtag("b") is ja ne funktion die den Parameter x erwartet,richtig?

warum kommt danach ein Punkt und keine Klammern für den parameter x

ich krieg jedesmal ein neuen Knoten im Kopf, wenn ich versuch durchzusteigen, wo welche funktion mit welchem parameter als welches Ergebnis..


gruss
__________________

'n altes Game
neu entdeckt *g*
Reine
Pingu ist offline   Mit Zitat antworten
Alt 28-02-2003, 18:54   #29 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Du kannst den Teil .after(addTag("i"))
mal weglassen, dann hast du ein einfacheres Beispiel:

ActionScript:
  1. trace(addTag("b")("helo"));

addTag liefert eine Funktion,
die dann mit dem Argument "helo" aufgerufen wird.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 28-02-2003, 18:57   #30 (permalink)
Neuer User
 
Benutzerbild von Pingu
 
Registriert seit: Nov 2001
Beiträge: 2.089
dann sollte raus kommen <b>hello</b>

richtig?

wozu aber der Punkt? ::
__________________

'n altes Game
neu entdeckt *g*
Reine
Pingu ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele