You are certainly going to want to use dynamic variables to hold the value(s), so you can react to them instantly without having to refresh the skin. Where you store the value(s) for purposes of making them "persistent" when the skin is loaded or refreshed, that is up to you. Write them to the Variables section of the actual skin, or put them in a .inc @Include file.PtitChat107 wrote:I allow myself to intervene, but in the case of the repeated use of this function; would it be possible to gather all the "ValuePrev" in one file instead of finding it in the Variables ?
It is currently April 28th, 2024, 2:12 am
Value change icon
-
- Developer
- Posts: 22631
- Joined: April 19th, 2009, 11:02 pm
- Location: Fort Hunt, Virginia, USA
Re: Value change icon
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
Just for a few details beside jsmorley's reply, you have to know that you just have to add a fourth parameter, under the !WriteKeyValue bangs: the file where you want to write those values. Eg the !WriteKeyValue bangs of the following IfTrueAction options ([MeasurePrev] measure) write these values into a MyVars.inc file, placed in the @Resources folder:PtitChat107 wrote:I allow myself to intervene, but in the case of the repeated use of this function; would it be possible to gather all the "ValuePrev" in one file instead of finding it in the Variables ?
Code: Select all
[MeasurePrev]
Measure=Calc
Formula=SGN([MeasureTemp])
RegExpSubstitute=1
Substitute="^1$":"+","^-1$":"","0":""
DynamicVariables=1
Disabled=1
UpdateDivider=-1
IfCondition=#PrevValue# > [MeasureTemp]
IfTrueAction=[!SetVariable DirIcon "▼"][!SetVariable PrevValue "[MeasureTemp]"][!WriteKeyValue Variables PrevValue "[MeasureTemp]" "#@#MyVars.inc"][!UpdateMeter *][!Redraw]
IfCondition2=#PrevValue# < [MeasureTemp]
IfTrueAction2=[!SetVariable DirIcon "▲"][!SetVariable PrevValue "[MeasureTemp]"][!WriteKeyValue Variables PrevValue "[MeasureTemp]" "#@#MyVars.inc"][!UpdateMeter *][!Redraw]
IfCondition3=#PrevValue# = [MeasureTemp]
IfTrueAction3=[!SetVariable DirIcon "▬"][!SetVariable PrevValue "[MeasureTemp]"][!WriteKeyValue Variables PrevValue "[MeasureTemp]" "#@#MyVars.inc"][!UpdateMeter *][!Redraw]
But you have to be careful: the MyVars.inc file MUST have a [Variables] section, where the skin can write those variables.
-
- Posts: 126
- Joined: December 31st, 2015, 6:40 pm
Re: Value change icon
This is exactly what I was looking for ! By cons now I lost the color lol and the value also does not seem to register :/balala wrote:Note the newly added "#@#MyVars.inc" parameters, under the !WriteKeyValue bangs.
But you have to be careful: the MyVars.inc file MUST have a [Variables] section, where the skin can write those variables.
Code: Select all
[Variables]
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205
@include=\UserVariables.inc
@include=\PrevVariables.inc
; ----------------------------------
; MEASURES
; ----------------------------------
[measureBitcoin]
Measure=Plugin
Plugin=WebParser
Url=https://api.cryptowat.ch/markets/kraken/btceur/price
UpdateRate=30
StringIndex=1
RegExp=(?siU){"result":{"price":(.*)},"allowance".*
FinishAction=[!EnableMeasure MeasureBitcoinPrev][!UpdateMeasure MeasureBitcoinPrev]
[MeasureBitcoinPrev]
Measure=Calc
Formula=[measureBitcoin]
DynamicVariables=1
Disabled=1
UpdateDivider=-1
IfCondition=#PrevValue# > [measureBitcoin]
IfTrueAction=[!SetVariable DirIcon "▼"][!SetOption meterValueBitcoin InlineSetting "Color | 255,0,0,255"][!SetOption meterValueBitcoin InlinePattern "^.* € (.)$"][!SetVariable PrevValueBitcoin "[measureBitcoin]"][!WriteKeyValue Variables "#@#PrevVariables.inc" "[measureBitcoin]"][!UpdateMeter *][!Redraw]
IfCondition2=#PrevValue# < [measureBitcoin]
IfTrueAction2=[!SetVariable DirIcon "▲"][!SetOption meterValueBitcoin InlineSetting "Color | 0,255,0,255"][!SetOption meterValueBitcoin InlinePattern "^.* € (.)$"][!SetVariable PrevValueBitcoin "[measureBitcoin]"][!WriteKeyValue Variables "#@#PrevVariables.inc" "[measureBitcoin]"][!UpdateMeter *][!Redraw]
IfCondition3=#PrevValue# = [measureBitcoin]
IfTrueAction3=[!SetVariable DirIcon "▬"][!SetOption meterValueBitcoin InlineSetting "Color | 0,0,255,255"][!SetOption meterValueBitcoin InlinePattern "^.* € (.)$"][!SetVariable PrevValueBitcoin "[measureBitcoin]"][!WriteKeyValue Variables "#@#PrevVariables.inc" "[measureBitcoin]"][!UpdateMeter *][!Redraw]
; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------
[styleTitle]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=10
AntiAlias=1
ClipString=1
[styleLeftText]
StringAlign=Left
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1
[styleRightText]
StringAlign=Right
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1
; ----------------------------------
; METERS
; ----------------------------------
[meterLabelBitcoin]
Meter=String
MeterStyle=styleLeftText
X=10
Y=80
W=190
H=14
Text=Bitcoin
[meterValueBitcoin]
Meter=String
MeasureName=measureBitcoin
MeterStyle=styleRightText
X=200
Y=80
StringAlign=Right
AntiAlias=1
DynamicVariables=1
Text=[measureBitcoin] € #DirIcon#
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
Normally. Finally I think I found a very stupid mistake in one of my previous posts: the OnChange[color=#FF0000]Value[/color]=[!CommandMeasure "MeasureTemp" "Update"] option is not OnChangeValue, but OnChangeAction. So, correctly this option should have to be OnChange[color=#22B14C]Action[/color]=[!CommandMeasure "MeasureTemp" "Update"].xenium wrote:Not working !
[MeasureTemp] does not update when the [ Measurepdate] value changes
Please try out this new form of this option and let me know if this is working.
Sorry for my mistake.
Also fixed in the above post.
Last edited by balala on July 2nd, 2018, 7:10 pm, edited 1 time in total.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
The posted !WriteKeyValue bangs ([!WriteKeyValue Variables "#@#PrevVariables.inc" "[measureBitcoin]"]) are wrong:PtitChat107 wrote:and the value also does not seem to register :/
- The first parameter has to be the name of the section. This is ok.
- The second parameter should have to be the name of the variable which will be written. This is missing from your bangs.
- The third one should have to be the value which will be written when the bang is executed. In your case this probably is the "[measureBitcoin]", which is posted as the last parameter.
- And finally if added, the fourth (and last) parameter is the file where the variable will be written. In your code this would be probably "#@#PrevVariables.inc".
-
- Posts: 868
- Joined: January 4th, 2018, 9:52 pm
Re: Value change icon
I tried and unfortunately does not workbalala wrote:Normally. Finally I think I found a very stupid mistake in one of my previous posts: the OnChange[color=#FF0000]Value[/color]=[!CommandMeasure "MeasureTemp" "Update"] option is not OnChangeValue, but OnChangeAction. So, correctly this option should have to be OnChange[color=#22B14C]Action[/color]=[!CommandMeasure "MeasureTemp" "Update"].
Please try out this new form of this option and let me know if this is working.
Sorry for my mistake.
Also fixed in the above post.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
I'm checking it...xenium wrote:I tried and unfortunately does not work
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
Ok, here is the solution: replace the UpdateDivider=-1 option of the [MeasureTemp] measure with UpdateRate=-1. So simple...xenium wrote:I tried and unfortunately does not work
-
- Posts: 126
- Joined: December 31st, 2015, 6:40 pm
Re: Value change icon
I must be silly I think I let you check my version because the result in the .ini file does not seem to register correctly so I prefer to give you directly what I work with and wait for your opinion and changes that I can bring.
Last edited by PtitChat107 on July 12th, 2018, 8:04 am, edited 1 time in total.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Value change icon
The package doesn't have a @Resources folder. But the code wants to use it. The PrevVariables.inc and UserVariables.inc files are placed near the Clock.ini, but the !WriteKeyValue bangs want to write the values for example into the #@#/Clock_test/PrevVariables.inc file, which at least in the posted package, doesn't exist.PtitChat107 wrote:I must be silly I think I let you check my version because the result in the .ini file does not seem to register correctly so I prefer to give you directly what I work with and wait for your opinion and changes that I can bring.
So, please check the path of those files and either move them into the appropriate folder, or modify the last parameter of the !WriteKeyValue bangs.
Same about the @Include options. The two paths (in the @Include options and in the !WriteKeyValue bangs) don't match each other.
And one more about the @Include options: take care to remove the first \ characters: eg the @include=[color=#FF0000]\[/color]UserVariables.inc option should have to be @include=UserVariables.inc.