; 用于解决AHKv1版单变量最大容纳 16383字符 的问题
; 备注:弹出报错是哪块,就说明哪块代码超出字符限制。【比如弹出2=的首行就是2号块超字限制】
; 对于超限制的解决方法是,将部分代码上移或者下移到临近块。或者删注释

#NoEnv
#KeyHistory 0
#MaxMem 256
#MaxThreads 255
#SingleInstance Force
SetBatchLines -1
ListLines Off

FileSelectFile, _From_File, , ,选择要分割生成的AHK代码,(*.ahk; *.ahk2; *.ahkh)

FileRead, OutData, %_From_File%

统计 := 0
, 拼接变量名 := 1
, VarSetCapacity(临时缓存, 102400000)

Loop, Parse, OutData, `n, `r
{
    if (SubStr(LTrim(A_LoopField), 1, 1)=")")
        临时缓存 .= StrReplace(A_LoopField, ")", "þ右括号š") "`r`n", 统计 := 统计+StrLen(A_LoopField)
    else
        临时缓存 .= A_LoopField "`r`n", 统计 := 统计+StrLen(A_LoopField)
    if (统计>15900)
        拼接合并完整代码 .= "`r`n" 拼接变量名++ "=`r`n(LTrim `` %`r`n`r`n" 临时缓存 ")`r`n"
        , 统计 := 0, 临时缓存 := ""
}

拼接合并完整代码 .= "`r`n" 拼接变量名 "=`r`n(LTrim `` %`r`n`r`n" 临时缓存 ")`r`n"
, 拼接合并完整代码 .="`r`nLoop " 拼接变量名 "`r`n"
, 拼接合并完整代码 .="	代码块整合 .= StrReplace(%A_Index%, ""þ右括号š"", "")""), %A_Index% := """"`r`n"
, Clipboard := 拼接合并完整代码

MsgBox 0x40, 分割完成, 拼接合并后的完整代码,已经存入剪贴板, 1

Return

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。