# Rainmeter常用代码灵活组合运用,变成你需要的效果. - Rainmeter技术教程 - 雨滴社区 - Powered by Discuz!
 找回密码
 点击注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 18445|回复: 67

[技术交流] Rainmeter常用代码灵活组合运用,变成你需要的效果.

  [复制链接]

签到天数: 190 天

[LV.7]常住居民III

发表于 2012-5-1 06:43:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?点击注册

x
本帖最后由 looklookis 于 2012-5-1 07:29 编辑

因有版友想显示某些效果,但我没有直接帮他编写,只是张他要的效果而又会用的到代码制作成一个皮肤,
在当中做注解让他明白编写的原理,同代码的一些特定的规则,因他已有改写皮肤所以对代码有一定的认
识,所以这皮肤只是和他分享常会见到的代码如何灵活运用,因利成便所以也拿来和大家分享.

会用到有WebParser.dll这插件,天气皮肤,RSS阅读器,本机文件阅读也会用到,理解同运用对以上皮肤除
错会比较容易.
"OnRefreshAction","IfEqualAction","IfAboveAction"以上的特定条件执行代码也很常见,配合这运算
设置使用便可在指定时间或指定的条件执行自己想用的效果.
"Variables","DynamicVariables"变数同动态变数使用更会令显示效果多变,他不只是使用当中的值(可
以是文字值或数学数字值),显示在桌面之上,也可以套用在"Measure"或"Meter"之中.
"Group"群组这设置可以一次使多个同群组的"Measure"或"Meter"指定实施某些动作,例如像下面示范
皮肤中令同一群组的"Meter"设置为隐藏.
也解释下Rainmeter在使用皮肤内的代码设置是由第一行向下使用到最尾一行,这也很重要像下面范例皮
肤,他先是隐藏整个群组的"Meter",才到显示群组内其中的一个"Meter",如果掉转次序张不会显示群组内
其中的这一个"Meter".

范例皮肤是一开始便设置[MeterRSS1]为显示,再用插件读取本机文字档中的3段文字资讯先显示第一段
文字过10秒隐藏第一段再显示第二段,这皮肤便会重复显示这3段文字.

首先先写一个文本.
例子:
第一段:123:完
第二段:456:完
第三段:789:完

写完后存档为look.txt

之后到编写Rainmeter的编码

[Rainmeter]
Author=looklookis
Update=1000
OnRefreshAction=!Execute  [!RainmeterShowMeter MeterRSS1] [!RainmeterRedraw]     ;这是设
置一使用这皮肤时先显示第一段读取的资讯,即是显示[MeterRSS1]这个Meter设置


[Variables]
Playlist=1

;Measure~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[MeasureRSS]
Measure=Plugin
Plugin=WebParser.dll
CodePage=936     ;这是简体字的编码Code
;CodePage=950    ;这是繁体字的编码Code
Url=file://C:\Users\look\Documents\Rainmeter\Skins\winamp playlist  player\look.txt   ;刚才写的
文本存放路径

RegExp="(?siU)(?(?=.*第).*段:(.*):完)(?(?=.*第).*段:(.*):完)(?(?=.*第).*段:(.*):完)"   
;这样(?(?=.*第).*段:(.*):完)可能同你见过读取天气或RSS资讯方法不同,但这样读取有其好处,这段(?(?=.*第).*
是先看看资讯内有没有""这段,没有则不做之后动作,这样即是用多了读取编码也不会做成错误,之后"段:"是
开始提示通知之后的资讯便是要读取的内容,最后":完"这段是完结提示,通知读取到见这段便完结,这样第一段
读取完结开始读取第二段,直到你设置要读取多少段后便正式停止读取.

[MeasureRSS1]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=1    ;因要独立使用每段读取的资讯,所以使用StringIndex=1通知要读取[MeasureRSS]
的第一段资讯,所以上面便使用Url=[MeasureRSS]通知使用[MeasureRSS]内的已读取资讯.


[MeasureRSS2]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=2

[MeasureRSS3]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=3

[MeasureCalc]
Measure=Calc       ;运算设置可以令每段资讯,一段一段这样显示.
Formula=Counter%11    ;"Counter%"这运算子是由0向上增加到你设置的数值,这里设置为11.
UpdateDivider=1
DynamicVariables=1

[MeasureCalc1]
Measure=Calc
Formula=MeasureCalc  ;这里是设置为使用[MeasureCalc]内的数值.
IfEqualValue=10   ;IfEqualAction是如果"Formula="使用的设置内的数值是IfEqualValue设置的数值是
一样时便执行下面设置的动作.

IfEqualAction=!Execute [!RainmeterSetVariable Playlist (#Playlist#+1)] [!RainmeterRedraw]
;!RainmeterSetVariable Playlist是张这Playlist变数改变为这Playlist变数加1,这样设置是当读取的资讯显
示后,当过了11这数值时便显示下一段资讯,当成每段显示时间的长短的的设定,

DynamicVariables=1

[MeasureCalc2]
Measure=Calc
Formula=#Playlist#  ;因上面的设置所以这Playlist变数会每10便改变为+1,即是上面每运算一次Playlist
数便加1.

IfAboveValue=3   ;这里设置为张变数内的数值同这设置的数值做对比.
IfAboveAction=!Execute [!RainmeterSetVariable Playlist 1] [!RainmeterRedraw]      ;因这例子只读取
3段资讯,所以当这Playlist变数是4大过IfAboveValue对比数值3时便张改Playlist变数变为1,因这是比下面的
设置用,是要现在是显示第几段资讯.

DynamicVariables=1

[MeasureCalc3]
Measure=Calc
Formula=#Playlist#   ;使用这Playlist变数内的数值
IfEqualValue=#Playlist#     ;也用这变数内的数值做对比,数值一定是一样的所以下面的设置一定执行.
IfEqualAction=!Execute [!HideMeterGroup RSS] [!RainmeterShowMeter MeterRSS#Playlist#] [!RainmeterRedraw]   
;!HideMeterGroup是隐藏你指定"RSS"这群组,之后才显示这个[!RainmeterShowMeter MeterRSS#Playlist#],
不要张次序掉乱否则不会显示,而MeterRSS后面用这Playlist变数,是因为下面设置为第一段资讯用MeterRSS1
设置显示,所以当变数改变为2时便显示MeterRSS2,这便是改变显示第几段的设置.

DynamicVariables=1

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[MeterRSS1]
Group=RSS       ;Group=这是设置群组,"RSS"这是我设置的群组名称
Meter=STRING
MeasureName=MeasureRSS1
X=0
Y=2
FontColor=255,255,255
FontSize=12
text="1: %1"
AntiAlias=1
Hidden=1

[MeterRSS2]
Group=RSS
Meter=STRING
MeasureName=MeasureRSS2
X=0
Y=2
FontColor=255,255,255
FontSize=12
text="2: %1"
AntiAlias=1
Hidden=1

[MeterRSS3]
Group=RSS
Meter=STRING
MeasureName=MeasureRSS3
X=0
Y=2
FontColor=#FontColor#
FontSize=12
text="3: %1"
AntiAlias=1
Hidden=1

评分

参与人数 1活跃值 +11 收起 理由
1197651807 + 11 很给力,楼主辛苦了!

查看全部评分

回复

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2012-5-1 07:11:34 | 显示全部楼层
{:soso_e100:}                                            

评分

参与人数 1活跃值 -3 收起 理由
1197651807 -3 纯表情回复~

查看全部评分

回复

使用道具 举报

签到天数: 512 天

[LV.9]以坛为家II

发表于 2012-5-1 08:48:10 | 显示全部楼层
支持个,LZ辛苦了。。。学习学习~

点评

{:soso_e179:}  发表于 2012-5-1 08:51

评分

参与人数 1活跃值 +1 收起 理由
z4775 + 1 {:soso_e179:}

查看全部评分

回复

使用道具 举报

签到天数: 177 天

[LV.7]常住居民III

发表于 2012-5-1 09:18:05 | 显示全部楼层
学学吧  支持楼主
回复

使用道具 举报

该用户从未签到

发表于 2012-5-1 09:27:54 | 显示全部楼层
看不懂的新手
回复

使用道具 举报

签到天数: 398 天

[LV.9]以坛为家II

发表于 2012-5-1 11:16:15 | 显示全部楼层
先支持一下,感谢分享
回复

使用道具 举报

签到天数: 10 天

[LV.3]偶尔看看II

发表于 2012-5-1 12:33:11 | 显示全部楼层
顶一下                 
回复

使用道具 举报

签到天数: 892 天

[LV.10]以坛为家III

发表于 2012-5-1 13:17:33 | 显示全部楼层
马克一个 慢慢学习 LZ辛苦了
回复

使用道具 举报

签到天数: 11 天

[LV.3]偶尔看看II

发表于 2012-5-1 15:14:05 | 显示全部楼层
    果断前排支持自行车
回复

使用道具 举报

签到天数: 106 天

[LV.6]常住居民II

发表于 2012-5-9 20:17:41 | 显示全部楼层
谢谢,这个正需要,有空要研究研究
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点击注册

本版积分规则

快速回复 返回顶部 返回列表