CWindo_文本处理_等号对齐

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; AHK版本:1.1.15.0.4
; 脚本版本:1.0
; 语言:       中文
; 适用平台:Win7
; 作者:		妖(aamii@qq.com)
; 脚本类型:实用小工具
; 脚本功能:INI文件,按等号进行对齐
; 使用方法:打开一个INI,按热键F9,(在试用前,请自行备份原文件)
;                  唯一个可变参数是:LimitMax(左侧超过该长度时,该行不参与对齐),根据自己的喜好更改。
;                  该参数起限制作用,并非最终起作用的长度。
; 已知缺陷:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Windo_等号对齐:      ;用于windo菜单,此处换成热键,即是独立脚本。
	Send,^a
	Send,^c
	CandySel=%Clipboard%
Cando_等号对齐:      ;用于candy菜单。
	LimitMax:=80     ;左侧超过该长度时,该行不参与对齐,该数字可自行修改
	MaxLen:=0
	StrSpace:=" "
	Loop,% LimitMax+1
		StrSpace .=" "
	Aligned:=
	loop, parse, CandySel, `n,`r                   ;首先求得左边最长的长度,以便向它看齐
	{
		IfNotInString,A_loopfield,=              ;本行没有等号,过
			Continue
		ItemLeft :=RegExReplace(A_LoopField,"s*(.*?)s*=.*$","$1")        ;本条目的 等号 左侧部分
; 		ThisLen:=StrLen(regexreplace(ItemLeft,"[^x00-xff]","11"))       ;本条左侧的长度
		ThisLen:=DllCall("MSVCRT.DLLstrlen", "AStr", ItemLeft)       ;本条左侧的长度
		MaxLen:=( ThisLen > MaxLen And ThisLen  MaxLen )   ;如果本条左侧大于最大长度,注意是最大长度,而不是LimitMax,则不参与对齐
		{
			Aligned .= ItemLeft  "= " Itemright "`r`n"
			Continue
		}
		Else
		{
			Aligned .= ItemLeft . SubStr( StrSpace, 1, MaxLen+2-ThisLen ) "= " Itemright "`r`n"  ;该处给右侧等号后添加了一个空格,根据需求可删
		}
	}
	Aligned:=RegExReplace(Aligned,"s*$","") ;顺便删除最后的空白行,可根据需求注释掉
	clipboard := Aligned
	Sleep,100
	Send ^v
	Return

给TA捐赠
共{{data.count}}人
人已捐赠
其他

[热键]滚轮调节系统音量(ToolTip进度条)

2020-3-22 21:05:20

其他

DOC随机复制

2020-3-24 9:51:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索