Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

if (var < > <= >= Prozent) | if (var = von-bis %)


  • Please log in to reply
11 replies to this topic
jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
mal ein Beispiel:
Voll := % (TVMemory)
DViertel := % (TVMemory * 0.75)
Halb := % (TVMemory * 0.50)
Viertel := % (TVMemory * 0.25)
if (FPMemory < Halb)
	GuiControl, +cDA4F49, PFMemory
else if (FPMemory > Halb)
	GuiControl, +c5BB75E, PFMemory
Gibt es die eine bessere Möglichkeit mit "if (blabla < > <= >= blubblub)" für Prozent ?
Gibt es die Möglichkeit zu sagen "if (blabla = 40-60%)" ?

Wie lässt sich das am Sinnvollsten darstellen?
[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Ich würd per Ternary einen Wert zuweisen und dann in deinem Befehl benutzen.

color:=[color1,color2,color3,color4]
GuiControl,% "+c" color[round((FPMemory/TVMemory)*4), PFMemory

Visit the new forum ahkscript.org.

http://ahkscript.org


strobo
  • Members
  • 359 posts
  • Last active: Mar 10 2015 08:13 PM
  • Joined: 19 Jun 2012

nnniks Lösung mit ein paar Änderungen:

TVM:=65342
FPM:=33550
color:=["DA4F49","5BB75E"]
i:=color.maxindex()
msgbox,% color[1+floor(FPM=TVM ? i-1 : i*FPM/TVM)] ; color[1+floor(i*FPM/TVM)] reicht nur für FPM<TVM.

Regards,
Babba

jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
Danke soweit...
Ich werds dann mal testen, wenn die Zeit es zu lässt

Insgesamt sollen es 4 Farben werden:
0-24 rot
25-49 organge
50-74 gelb
75-100 grün
[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

strobo
  • Members
  • 359 posts
  • Last active: Mar 10 2015 08:13 PM
  • Joined: 19 Jun 2012

Jupp, dann bekommt color 4 Einträge.


Regards,
Babba

jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
Dank euch beiden... Funktioniert

Hab mein Script soweit damit angepasst
[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012
4 Farben
Das hab ich jetzt mal aufgrund deines Codes stark angenommen.
Wegen dem Fehler: Sry das ist mein generrelles Zeitproblem.

Visit the new forum ahkscript.org.

http://ahkscript.org


jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
mit dem Script ists klar.. er teilt das ganze immer durch die anzahl
d.h. bei 4 = je 25%

wie würde das ganze aussehen wenn ich mir die Werte etwas chaotischer ausdenken würde
zb.:
1 Rot 		=   0 -  19 %
2 Orange	=  20 -  39 %
3 Gelb		=  40 -  69 %
4 Grün		=  70 - 100 %

[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Naja, du könntest natürlich ein Array mit 10 Einträgen machen (0-10; 10-20 usw.), aber ob das hier die beste Lösung ist, ist eine berechtigte Frage. Hier würde ich dann doch das machen:

var := Round(var) ;Werte wie 19.75 ausschließen
if var between 0 and 19
  color := rot
else if var between 20 and 39
  color := orange
;...


jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
Danke für die Idee SAPlayer
Funktioniert top
[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Es war halt kürzer und es lässt sich einfach durch eine Formel berechnen:

 

Geht es auch wenn ich die Werte chaotischer wähle ?

Ja aber es ist dann eine komplexere Formel und mein Kopf ist da schon an seinen Grenzen angekommen.

 

 

@ Topic:

Ternary wär auch ne Alternative die ich in letzter Zeit häufiger in Libs gesehen hab.

1 Rot         = 0 - 19 %
2 Orange    = 20 - 39 %
3 Gelb        = 40 - 69 %
4 Grün        = 70 - 100 %
GuiControl,(v:=round(TVM/FPM*100))<=19?Rot:((v<=39)?Orange:((v<=69)?Gelb:Grün)),PFMemory

Ist zwar platzsparend aber so ziemlich das Gegenteil von Übersicht.


Visit the new forum ahkscript.org.

http://ahkscript.org


strobo
  • Members
  • 359 posts
  • Last active: Mar 10 2015 08:13 PM
  • Joined: 19 Jun 2012

Hmm, ein Array mit 10 Einträgen gegen 8 Zeilen (womöglich pro Aufruf!), ... wo war noch gleich der Vorteil?


Regards,
Babba