Flashhilfe.de - Flash Community

String-Formel in Ergebnis umwandeln [Flash 9]

 


AntwortenRegistrieren Seite1  

tomsen007#1
Benutzerbild von tomsen007
Beiträge: 7
Registriert: Sep 2011

22.11.2011, 15:52

Hallo,

ich möchte einen Rechengang, z.B. "5*2", aus einem XML-Textfile auslesen & daraus ein Ergebnis erhalten:

Dazu hab ich vorerst mal die Formel ausgelesen und in einer String-Variablen gespeichert. Beim Umwandeln dieser Zeichenabfolge in einen rechenbare Formel kommt jedoch nicht das gewünschte Ergebnis raus.

Ich hab das bereits mit Int() bzw. parseInt probiert - jedoch ohne Erfolg.

Weiß dazu jemand eine Lösung?

Mfg
Werbung
Beiträge: 0
Registriert: Feb 2016


Sleepingbeast#2
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

22.11.2011, 17:03

Hallo,

hab ich dich richtig verstanden, dass du den string '5*2' in genau dieser Form aus der XML holst?

Sinnvoller wäre es natürlich, wenn die beiden Faktoren jeweils unabhängig von der auszuführenden Operation in XML-Elementen hinterlegt sind und in einem anderen XML-Element die Operation.

Falls das aus irgendwelchen Gründen nicht machbar ist, kannst du natürlich versuchen über nen regulären Ausdruck oder eine .split-Methode den String am Operanden aufzutrennen, so dass du dann ein Array mit den einzelnen Faktoren hast.

Liebe Grüße
Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
tomsen007#3
Benutzerbild von tomsen007
Beiträge: 7
Registriert: Sep 2011

Themenautor/in

22.11.2011, 18:04

Danke einmal für die schnelle Antwort...

Jedoch soll aus der XML-Datei eine beliebige Formel eingelesen werden ("5*2" war nur ein Beispiel). Diese Formel könnte dann z.B. a + b; a - b; a / b oder a * b lauten. (a bzw. b sind Variablen und stehen, sagen wir mal, für die Werte 5 und 2)

Doch das Problem ist jetzt, wie man die Rechenzeichen "+ - / oder *" richtig einlesen kann, sodass sie auch in der angegebenen Formel weiterverwendet werden können.

Mfg
skoda#4
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

22.11.2011, 19:31

wie kommen denn diese formeln in das xml ?

ich mein du kannst den string ja nach werten durchsuchen und dann damit deine zeichen und werte seperieren is aber eher ass backwards
no one died when clinton lied
Werbung
Beiträge: 0
Registriert: Feb 2016


Sleepingbeast#5
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

22.11.2011, 21:47

Skodas Frage ist genau die richtige: wie kommen die Formeln in die XML-Datei? Wenn du irgendwie Einfluss auf die XML-Datei hast, pack die alle Bestandteile der Formel in eigene Elemente. Also etwa in die Richtung:

ActionScript:
1
2
3
4
5
<formel>
  <a>5</a>
  <b>7</b>
  <operation>addition</operation>
</formel>


Dann kannst du die einzelnen Variablen recht einfach auslesen und beispielsweise über eine switch-/case-Bedingung noch mit der entsprechenden Operation verknüpfen. Du sparst dir ne Menge Arbeit und bekommst nen sauberen Code.
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
tomsen007#6
Benutzerbild von tomsen007
Beiträge: 7
Registriert: Sep 2011

Themenautor/in

23.11.2011, 07:57

Hallo,

unten ist die Struktur der XML-Datei abgebildet. Die XML-Datei enthält ein Beispiel für ein Prozentrechenprogramm, an dem ich gerade arbeite.

der Knoten "<article>" steht für 1 Beispiel. Das Attribut "Formel" beim Knoten "<var>" soll den Rechengang enthalten. Sie wird, passend auf das unten stehende Beispiel, fix eingetragen.

Der Beispieltext unter "<copy_full>" wird eingelesen und die Tags "<#0#>" bzw. "<#1#>" werden durch die Variablen in "<A>" bzw. "<B>" ersetzt.
Die Variablen haben jeweils eine Obergrenze (o) und eine Untergrenze (u). Zwischen diesen beiden Werten wird ein Zufallswert für die Variable gespeichert.

Wie kann ich den Rechengang zu diesem Beispiel nun mit der Methode, die du erwähnt hast (=Speichern der Rechenoperation in einem Knoten/Attribut namens z.B. "division"), umsetzen?

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<article Large="beispielform/bilder/bild2.JPG">
      
    <!-- In diesem Knoten: Speicherung der Variablen & L�sungen f�r das jeweilige Beispiel-->
    <var Typ="v" Formel="b/a*100"> <!-- Typ: bei diesem Beispiel "v" f�r variable L�sung (=dort, wo es einen logischen Rechenweg gibt)-->
   
      <A> <!-- Diese Knoten kennzeichnen die verschiedenen Variablen: alphabetisch numeriert: A, B, C -->
        <V1 bez="a" u="9" o="25"></V1> <!-- verschiedene M�glichkeiten, die die Variablen annehmen k�nnen, sind hier gespeichert-->
      </A>
      
      <B>
        <V1 bez="b" u="5" o="10"></V1> <!-- verschiedene M�glichkeiten, die die Variablen annehmen k�nnen, sind hier gespeichert-->
      </B>
      
    </var>
   
   <!-- copy_full bestimmt die Inhalte der Beispielform-->
      <copy_full><![CDATA[<font color="#FFFFFF" size="20">Verzögerung auf der Baustelle</font><br><font color="#9900ff" size="14"><b>20.09.2009</b></font><br><br><font color="#ffffff" size="13">Die Fertigstellung der Baustelle war ursprünglich mit Ende Juni vorgesehen. Die Bauzeit hätte dann <#0#> Wochen betragen. Nun verzögert sich die Fertigstellung um <#1#> Wochen.
Um wie viel Prozent wird die Baustelle später fertig? </font>]]></copy_full>

   </article>

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de