WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   XML Stringoperationen (http://www.wcm.at/forum/showthread.php?t=169601)

EduHir 10.07.2005 20:10

XML Stringoperationen
 
Hat da jemand Erfahrung. SDK gibt nichts her:mad:

Wie kann ich einen String einer L: Variablen zuordnen? Welche Unit?

'Red' (>L:Farbe,number)

Und wie kann ich den String wiederausgeben?

Dann:
<Text X="24" Y="14" Length="13" Font="Arial" Color=(L:Farbe,....) ....

Ist soetwas möglich??

Für praktische Beispiele wäre ich dankbar!!

edi

harry3 10.07.2005 20:16

Du brauchst den Datentyp string:
(L:Variable, string)


Grüße,
Harri

EduHir 10.07.2005 20:31

Ja, habe ich probiert!!!
Und Symbol auch!!

String steht nicht in der Unit.txt vom Arne Bartels. Und in die util.dll
habe ich auch kurz reingeschaut!

edi

harry3 10.07.2005 20:42

Funktionierts also nicht!?

So etwas in der Art wäre mir nämlich logisch vorgekommen:
'string'(&gt;L:Variable, string)

Probier mal einen Bsp. Text in die Variable reinschreiben und dann wieder auszugeben auf einem Gauge. Müsste doch eigentlich funktionieren!?

Wenns nicht funktioniert dann probier ichs aus, weils mich selber interessieren tät'.

Grüße,
Harri

EduHir 10.07.2005 22:40

Harri,
tue das bitte !!!!

Ich habe ein Gau für solche Zwecke!!
Wenn etwas unklar ist, dann probiere ich damit den Code aus, bis das richtige rauskommt!!

Und das SDK dazu ist typische MS Qualität!!!

Ausgabezeile :
<String>VRef: %(000 (L:SPD_diff_vs1,number) )%!06.2f!</String>

Eingabezeile:
'Red' (&gt;L:SPD_diff_vs1,number)

Statt number habe ich auch string(logisch) und symbol(aus einer anderen Sprache) probiert!! Integer funktioniert!

edi

harry3 10.07.2005 22:55

ICh muss mal schauen wann ich dazukomm.
Derzeit muss ich nämlich Führerschein üben.

Aber was willst du denn genau machen? Den Text "Rot" ausgeben oder einfach einen Text rot erscheinen lassen? Also dass er z.b. zwischen Rot und grün wechselt? Wenn du das tun willst dann gibts eine bessere Lösung.


Grüße,
Harri

EduHir 10.07.2005 23:17

Führerschein:confused:
Der Flusi ruft!

Genau! Das wäre das Entziel!!

Aber ich dachte, ich spiele erst ein bisserl mit dem String und schau wie das
funktioniert.
Ich berechne mir den max. Thrust für TOGA,CL,CR und MCT. Und den Wert gebe ich im Panel aus. Und jetzt möchte ich mein N1 - Setting überwachen und wenn ich jetzt den berechneten Wert überschreite, wird die Ausgabe ROT.
Ich schreibe also in die Var den Wert "GRÜN" oder "ROT". Die Ausgabe ist dann halt grün oder rot!
Statt Color="#FFFFE6" steht dann Color=(L:Farbe).
Das war meine erste Idee. Ansonst muss man das halt anders machen.

EinTeil stimmt laut SDK:
To push a string into the stack, put the string between apostrophes (for example: ‘LeftSingle’).


edi

EduHir 10.07.2005 23:23

Noch was..
Kann man Wurzelziehen??
Könntest du dir die Funktionen im SDK anschauen. Cos gibt es.

edi

harry3 10.07.2005 23:24

So, ich hab jetzt doch noch schnell was probiert:
Geht aber nicht. Aber ich kann nicht ganz glauben dass man in XML nicht mit Strings arbeiten kann. Muss ich mal bei Avsim nachfragen.

PHP-Code:

<Gauge Name="string" Version="1.0">
<
Size X="50" Y="50"/>


<
Element>
<
Select>
<
Value'hs' (&gt;L:Var,string) </Value>
</
Select>
</
Element>


<
Element>
<
Text X="50" Y="20" Bright="yes" VerticalAdjust="Center" Adjust="Center" Font="Glass Gauge" Fixed="yes" Color="red" Length="5" >
<
String>:%( (L:Var,string) )%!s!:</String>
</
Text>
</
Element>
</
Gauge

Also, so gehts nicht.


Jetzt zu der Variante wie's geht:

Schau dir in folgendem Code das Attribut Color="" genau an. Von der Variable Overspeed Warning hängt die Farbe ab. Du kannst also zwischen den 2 Werten grün und rot wechseln. Die Anweisung ? ist ähnlich einem if - else Statement.

PHP-Code:

  <Element>
<
Position X="-10" Y="-8"/>
 <
Text X="14" Y="16" Bright="YES" VerticalAdjust="Center" Adjust="LeftAdjust" Font="Quartz" Fixed="YES" Length="2" Color="%('#FF1C11' '#00FF00' (A:OVERSPEED WARNING,bool) ?">
   <
String>%((A:Airspeed indicatedknots10 int)%!2.0d!</String>
   </
Text>
   </
Element>
 </
Element

Also, viele Wege führen nach Rom...diese Variante funkioniert totsicher.
Aber trotzdem werde ich mich wegen den Strings erkundigen.



Grüße,
Harri

EduHir 10.07.2005 23:41

Danke für's erste!

Die zweite Lösungsmöglichkeit verstehe ich schon. So ähnliche habe ich schon gesehen.
Aber das da auch funktioniert:confused: So weit bin ich noch nicht. So verdreht denken kann ich noch nicht:(

Wegen die String, das wäre schon interessant!! Und könntest du auch ev. so Stringoperationen probieren wie sie im SDK beschrieben sind. Mit Substring usw.
Siehe Seite 82 oben.

Und wegen dem Wurzelziehen??

Und muss nicht heute sein...:cool:

edi


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag