求教如何判断文件尾.
程序代码:
--Scite鼠标选择区域, 代码折叠. --首尾添加注释代码;{-- ;} function CommentFold() local p1=editor.SelectionStart local p2=editor.SelectionEnd --print(p2) local L=editor:LineFromPosition(p1) if p1~=p2 then local Asc = {[9]=1,[13]=1} --~停止字符集合: 9=Tab,13=Enter, --[0]=1,[10]=1,[13]=1,[32]=1,[34]=1,[39]=1,[44]=1 while Asc[editor.CharAt[p1]] == nil do p1 = p1 + 1 end while Asc[editor.CharAt[p2]] == nil do p2 = p2 + 1 end editor:InsertText(p1," ;{ -- ") editor:InsertText(p2+7," ;}") end editor:GotoPos(p1+7) scite.SendEditor(SCI_TOGGLEFOLD, L) end
上面这段代码是, 使用在Scite编辑器中, 添加代码折叠.
作用是:
鼠标当前框选部分的首行尾 ----添加 ";{"
鼠标当前框选部分的末行尾 ----添加 ";{"
实现 代码折叠 ;{ 代码 ;}
用在ahk编写.
现在的问题是, 如果框选到文件最后一行. 就会卡死. 如何增加一个条件判断. 已经到了文件结束就跳出While
while Asc[editor.CharAt[p2]] == nil do
p2 = p2 + 1
end