Im Skript mit Text rechnen

Post your questions and help other users.

Moderator: Martin

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Im Skript mit Text rechnen

Post by MiDaS » 10 Jun 2016 12:08

Hallo ich wollte gerne mit gefundenen Werten weiter rechnen und Vergleichen.



g = getText(1194, 291);
// g ergibt dann z. B. 123.345pt Zahl kann auch drei oder mehrstellig sein. Endet aber immer auf pt
sleep(2000);
c = getText(1291, 650);
// c ist eine weitere Zahl auch mit pt am Ende. Z. B. 144.445pt
sleep(2000);
Variable b soll dann g+20% sein.
Wie bekomme ich das Skript dazu
1. Mit der Zahl ohne pt weiter zu machen

Und
2. Wie rechne ich die 20% dazu?
Wäre dann
b=g+g/5
Korrekt oder muss etwas in klammer gesetzt werden.

Der Vergleich mit Kondition
b>c Funktioniert soweit auch mit pt. Nur eben nicht wenn ich rechnen möchte.

Vielen Dank für eure Unterstützung
Gruß Michael

User avatar
Bushmills
Posts: 286
Joined: 23 Sep 2014 21:56

Re: Im Skript mit Text rechnen

Post by Bushmills » 10 Jun 2016 13:00

um das "pt" wegzubekommen, gibts mehrere Wege. Z.B. könnte man einfach die letzten beiden Zeichen abschneiden, oder alle Kleinbuchstaben im String entfernen. Das ist, was ich hier im Beispiel mache:

num = toNumber(replaceAll(g, "[a-z]", ""));

g ist dein "123.345pt" string. num ist der numerische Wert von 123.345, mit dem du auch normal rechnen kannst.
Zum 20% dazurechnen kannst du auch mit 1.2 multiplizieren, also etwa so:

ergebnis = 1.2 * toNumber(replaceAll(g, "[a-z]", ""));
b>c Funktioniert soweit auch mit pt.
Nee, tut's nicht. Es wird nämlich Text mit Text verglichen, statt Zahl mit Zahl, mit der Folge, daß z.b. 98 größer ist als 102 (weil erstes Zeichen, 9, ein höherer ASCII ist als 1)

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Im Skript mit Text rechnen

Post by MiDaS » 10 Jun 2016 13:19

Danke für die schnelle Antwort.
Mal sehen, ob ich das umsetzen kann ;-)

User avatar
Bushmills
Posts: 286
Joined: 23 Sep 2014 21:56

Re: Im Skript mit Text rechnen

Post by Bushmills » 10 Jun 2016 13:27

Ist ja eigentlich nur noch bissel Eintippen.

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Im Skript mit Text rechnen

Post by MiDaS » 10 Jun 2016 13:32

Sah erstmal gut aus.

Kann ich
Expression/Kondition
b>c
Auch gleich mit
1.2*b>c
Kombinieren.
Habe es ja dann die Variable schon als Zahl umgewandelt
Irgendwie hat er das aber so einfach nicht gewollt :-(

User avatar
Bushmills
Posts: 286
Joined: 23 Sep 2014 21:56

Re: Im Skript mit Text rechnen

Post by Bushmills » 10 Jun 2016 13:38

sollte aber gehen.

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Im Skript mit Text rechnen

Post by MiDaS » 10 Jun 2016 13:44

Sorry
Muss nochmal nachfragen.
Ist nach
num = toNumber(replaceAll(g, "[a-z]", ""));
G eine Zahl. Oder muss ist das jetzt immer wieder verwenden, wenn ich g nutzen will?

Klappt noch nicht so richtig, was ist möchte.
Also g soll Zahl sein.
Dann soll
g*1.2>c
Als Kondition genutzt werden

Danke dir

User avatar
Bushmills
Posts: 286
Joined: 23 Sep 2014 21:56

Re: Im Skript mit Text rechnen

Post by Bushmills » 10 Jun 2016 13:49

g ist dies hier:
g = getText(1194, 291);
// g ergibt dann z. B. 123.345pt Zahl kann auch drei oder mehrstellig sein. Endet aber immer auf pt
Die kann auch ganz anders heißen, nämlich so, wie du die nennen willst. Ich hab lediglich den von dir verwendeten Namen weiterbenutzt. Und in dem Beispiel von dir ist g noch keine Zahl.
Hab ich in meiner ersten Antwort ja auch so gesagt:
g ist dein "123.345pt" string. num ist der numerische Wert von 123.345, mit dem du auch normal rechnen kannst.

MiDaS
Posts: 30
Joined: 13 Jan 2016 17:26

Re: Im Skript mit Text rechnen

Post by MiDaS » 10 Jun 2016 13:54

ch.gridvision.ppam.androidautomagic.simplelang.a.d: can not apply operation * to values '1.2' and '379.405pt' (Expression: 1.2*g>c[line 0])

Kommt als Fehler. Also wurde das pt nicht entfernt.
g = getText(1194, 291);
sleep(200);
c = getText(1291, 650);
sleep(200);
num = toNumber(replaceAll(g, "[a-z]", ""));
num = toNumber(replaceAll(c, "[a-z]", ""));

Das ist das Skript

1.2*g>c
Und das die Kondition

User avatar
Bushmills
Posts: 286
Joined: 23 Sep 2014 21:56

Re: Im Skript mit Text rechnen

Post by Bushmills » 10 Jun 2016 13:59

Liest du denn meine Antworten nicht? Probier das einfach mal, dann brauch ich so Sachen wie
Und in dem Beispiel von dir ist g noch keine Zahl.
und
g ist dein "123.345pt" string. num ist der numerische Wert von 123.345, mit dem du auch normal rechnen kannst.
nicht mehrmals zu schreiben.

Post Reply