用于解决AHKv1版单变量最大容纳 16383字节 的问题

 

Plain text
复制到剪贴板
Open code in new window
EnlighterJS 3 Syntax Highlighter
; 用于解决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, ")", "þ右括号š")
else
处理后行 := A_LoopField
当前行字节数 := StrPut(处理后行, "UTF-8") ; 使用StrPut计算实际字节长度
, 临时缓存 .= 处理后行 "`r`n"
, 字节统计 += 当前行字节数
if (字节统计>16300)
拼接合并完整代码 .= "`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
; 用于解决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, ")", "þ右括号š") else 处理后行 := A_LoopField 当前行字节数 := StrPut(处理后行, "UTF-8") ; 使用StrPut计算实际字节长度 , 临时缓存 .= 处理后行 "`r`n" , 字节统计 += 当前行字节数 if (字节统计>16300) 拼接合并完整代码 .= "`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
; 用于解决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, ")", "þ右括号š")
  else
    处理后行 := A_LoopField

  当前行字节数 := StrPut(处理后行, "UTF-8") ; 使用StrPut计算实际字节长度
  , 临时缓存 .= 处理后行 "`r`n"
  , 字节统计 += 当前行字节数

  if (字节统计>16300)
    拼接合并完整代码 .= "`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

 

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