• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-05-2010, 21:54   #1 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Post Variablen subtrahieren

Guten Abend,

Ich hoffe ihr könnt mir einwenig bei meinem Problem weiterhelfen.

Dazu muss ich kurz was erklären:

Habe mir ein XML-PHP-Formular erstellt. Nun möchte ich diesen Formular 1 zu 1, mit allen Funktionen in Flash programmieren. Im großem und ganzen steht das XML-Flash-Formular. Nur das Problem ist das ich mit Flash rechnen muss.

Zum einen muss die Rechnung mit Variablen sein und das Ergebnis darf nicht unter 0 sein. Sollte das Ergebnis unter null sein so wird die 1 ausgegeben.

Zb. Variable1 – Variable2
Variable1 = 400
Variable2 = 500
Ergebnis ist 1

Hoffe, dass mir jemand weiterhelfen kann.
php2flash ist offline   Mit Zitat antworten
Alt 17-05-2010, 22:19   #2 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
PHP-Code:
function minimalEins(a:Numberb:Number):Number
{
    var 
zahl b;
    if(
zahl 1zahl 1;
    return 
zahl;
    
}

trace(minimalEins(400500));
trace(minimalEins(50040)); 
__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 18-05-2010, 19:55   #3 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Danke für die schnelle Antwort
Aber ich möchte mit Variablen rechnen wo muss die einfügen. Habe es schon an ein paar stellen versucht aber leider kommt immer ein Fehler
php2flash ist offline   Mit Zitat antworten
Alt 18-05-2010, 22:41   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
wie sieht dein Code denn aus?
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!
thomas_E ist offline   Mit Zitat antworten
Alt 18-05-2010, 23:04   #5 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
So sieht er aus
PHP-Code:

function minimalEins(a:Numberb:Number):Number
{
    var 
zahl b;
    if(
zahl 1zahl 1;
    return 
zahl;
    
}

trace(minimalEins("preis_400""preis_500"));


preis_400 400
preis_500 
500 
php2flash ist offline   Mit Zitat antworten
Alt 18-05-2010, 23:10   #6 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.297
wie wärs mit:

Code:
var preis_400:Number = 400;
var preis_500:Number = 500; 

function minimalEins(a:Number, b:Number):Number
{
    var zahl = a - b;
    if(zahl < 1) zahl = 1;
    return zahl;
    
}

trace(minimalEins(preis_400, preis_500));

man könnte es aber auch einfacher so schreiben:
Code:
var preis_400:Number = 400;
var preis_500:Number = 500; 
trace( Math.max(1, preis_400 - preis_500) );
In Flash gibts nämlich schon n paar Funktionen vorgefertigt
lg
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker

Geändert von _geo_ (18-05-2010 um 23:13 Uhr)
_geo_ ist offline   Mit Zitat antworten
Alt 19-05-2010, 11:54   #7 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Im primzip ist das
PHP-Code:
var preis_400:Number 400;
var 
preis_500:Number 500
traceMath.max(1preis_400 preis_500) ); 
genau was ich brauche nur das ich es mit Variablen rechnen will.

Mein Flash-Script lädt eine xml in der xml stehen zwei Zahlen diese Zahen gebe ich über ein dynamisches Tesxtfeld wieder zahl_one = zahl eins
php2flash ist offline   Mit Zitat antworten
Alt 19-05-2010, 13:34   #8 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.297
? preis_400 bzw. preis_500 sind doch Variablen!
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 19-05-2010, 14:32   #9 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
ich stehe wahrscheinlich gerade auf dem Schlauch

Das ist mein Script
PHP-Code:
blog = new XML();
blog.ignoreWhite true;
blog.onLoad = function (success) {
 if (
success) {

  for (
0blog.firstChild.childNodes.lengthi++) {
      

   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis1')
    
preis_preis1 blog.firstChild.childNodes[i].firstChild;    


   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis2')
    
preis_preis2 blog.firstChild.childNodes[i].firstChild;
    
    
  }
 }
}
blog.load ("1271625.xml"); 
nun möchte ich das preis1 - preis2 genommen wird aber es muss als ergebnis mindesten die 1 rauskommen. Und das Ergebnis in einem dynamischen Textfeld angezeigt wird

Geändert von php2flash (19-05-2010 um 14:46 Uhr)
php2flash ist offline   Mit Zitat antworten
Alt 19-05-2010, 18:22   #10 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.297
PHP-Code:
blog = new XML();
blog.ignoreWhite true;
blog.onLoad = function (success) {
 if (
success) {

  for (
0blog.firstChild.childNodes.lengthi++) {
      

   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis1')
    
preis_preis1 blog.firstChild.childNodes[i].firstChild;    


   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis2')
    
preis_preis2 blog.firstChild.childNodes[i].firstChild;
    
   
traceMath.max(1,  Number(preis_preis1) - Number(preis_preis2)) );  
    
  }
 }
}
blog.load ("1271625.xml"); 
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 19-05-2010, 20:57   #11 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Jetzt habe ich nur noch ein Problem.

Ich lade nicht eine XML sonder zwei und diese sollen sich Subtrahieren

PHP-Code:
blog = new XML();
blog.ignoreWhite true;
blog.onLoad = function (success) {
 if (
success) {

  for (
0blog.firstChild.childNodes.lengthi++) {
      

   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis1')
    
preis_preis1 blog.firstChild.childNodes[i].firstChild;    



    
    
  }
 }
}
blog.load ("1271625.xml");  


minus = new XML();
minus.ignoreWhite true;
minus.onLoad = function (success) {
 if (
success) {

  for (
0minus.firstChild.childNodes.lengthi++) {
      



   if ( 
minus.firstChild.childNodes[i].nodeName == 'preis2')
    
preis_preis2 minus.firstChild.childNodes[i].firstChild;
    
    
  }
 }
}
minus.load ("1271627.xml"); 
Wert preis_preis1 - preis_preis2
php2flash ist offline   Mit Zitat antworten
Alt 20-05-2010, 23:40   #12 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Ich stehe vor ein Problem und weiß nicht weiter.

Wie gesagt möchte ich mit zwei XML Variable subtrahieren mein aktueller Code ist
PHP-Code:
blog = new XML();
blog.ignoreWhite true;
blog.onLoad = function (success) {
 if (
success) {

  for (
0blog.firstChild.childNodes.lengthi++) {
      

   if ( 
blog.firstChild.childNodes[i].nodeName == 'preis')
    
preis_preis blog.firstChild.childNodes[i].firstChild;    



    
  }
 }
}
blog.load ("1271625.xml");  
 

 
vertrag = new XML();
vertrag.ignoreWhite true;
vertrag.onLoad = function (success) {
 if (
success) {

  for (
0vertrag.firstChild.childNodes.lengthi++) {
      
      
     
      
      

   if ( 
vertrag.firstChild.childNodes[i].nodeName == 'minus')
    
vertrag_preis vertrag.firstChild.childNodes[i].firstChild;
    
    


traceMath.max(1,  Number(preis_preis) - Number(vertrag_preis)) );  
    
  }
 }
}
vertrag.load ("vertrag.vxml"); 
wenn ich es so mache kommt als Ausgabe nichts. Das Script kann auf beide Dateien zugreifen. Kann mir jemand sagen was ich hier falsch mache
php2flash ist offline   Mit Zitat antworten
Alt 21-05-2010, 00:06   #13 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
ich vermute, es kommt die falsche Datei zuerst an.

versuch es mal so:
ActionScript:
  1. var preis_preis:Number = NaN;
  2. var vertrag_preis:Number = NaN;
  3.  
  4. function berechne()
  5. {
  6.     trace("preis_preis: "+preis_preis);
  7.     trace("vertrag_preis: "+vertrag_preis);
  8.     trace("-------------------------");
  9.     if(vertrag_preis==NaN || preis_preis==NaN) return;
  10.  
  11.     // wird erst ausgeführt, wenn beide XML-Dateien geantwortet haben
  12.     trace("ergebnis:");
  13.     trace( Math.max(1,  preis_preis - vertrag_preis) )
  14. }
  15.  
  16. blog = new XML();
  17. blog.ignoreWhite = true;
  18. blog.onLoad = function (success) {
  19.     if (success) {
  20.         for (i = 0; i < blog.firstChild.childNodes.length; i++) {
  21.             if ( blog.firstChild.childNodes[i].nodeName == 'preis'){
  22.                 preis_preis = Number(blog.firstChild.childNodes[i].firstChild);
  23.                 berechne();
  24.                 return;
  25.             }
  26.         }
  27.     }
  28. }
  29. blog.load ("1271625.xml");
  30.  
  31.  
  32.  
  33. vertrag = new XML();
  34. vertrag.ignoreWhite = true;
  35. vertrag.onLoad = function (success) {
  36.     if (success) {
  37.         for (i = 0; i < vertrag.firstChild.childNodes.length; i++) {
  38.             if ( vertrag.firstChild.childNodes[i].nodeName == 'minus'){
  39.                 vertrag_preis = Number(vertrag.firstChild.childNodes[i].firstChild);
  40.                 berechne();
  41.                 return;
  42.             }
  43.         }
  44.     }
  45. }
  46. vertrag.load ("vertrag.vxml");
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!
thomas_E ist offline   Mit Zitat antworten
Alt 21-05-2010, 11:44   #14 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 26
Als Antwort bekomme ich
PHP-Code:
preis_preisNaN
vertrag_preis
NaN
-------------------------
preis_preisNaN
vertrag_preis
NaN
-------------------------
ergebnis:
NaN 
Das versteh ich aber nicht warum

denn auf die eingendlichen Werte kann ich zurückgreifen
php2flash ist offline   Mit Zitat antworten
Alt 21-05-2010, 12:14   #15 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
zeig bitte nochmal deinen aktuellen code:
was mich grad am meisten stört, ist dass die Zeile ergebnis überhaupt ausgegeben wird! das dürfte eigentlich nicht sein.

Und ersetz die beiden Castingfunctionen Number(... durch parseFloat.
dann sollten die NaN-Fehler weg sein

edit:
die NaN-Fehler entstehehn dadurch, dass xml in deinem Fall WhiteSpace zwar beim parsen ignoriert, aber er immer noch da ist und mit ausgegeben wird. Und Number kann das nicht handeln, bzw automatisch ignorieren
bsp:
ActionScript:
  1. //zeilenumbruch, tab und space davor und dahinter
  2. var str:String = chr(13) + chr(32) + chr(9) + "5" + chr(32) + chr(9) + chr(13);
  3. trace("Number: " + Number(str));       // => NaN
  4. trace("parseFloat: " + parseFloat(str));    //=>5
  5.  
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!

Geändert von thomas_E (21-05-2010 um 12:24 Uhr)
thomas_E ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
flash, php, rechnen, subtrahieren, xml

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler beim subtrahieren von float-Werten .felix. PHP und MySQL 24 28-07-2006 01:26
textfeld subtrahieren Real2k ActionScript 1 18 23-12-2005 13:51
onpress 1 subtrahieren filters Flash MX 2004 4 23-09-2004 23:43
swift 3D (4.0) Objekte subtrahieren iomo 3D 0 29-08-2004 10:16
Objekt subtrahieren urkman 3D 1 26-03-2004 18:30


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele