注册 登录
编程论坛 Lua论坛

求教如何判断文件尾.

cgx5871 发布于 2021-02-10 13:43, 1221 次点击
程序代码:
--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
0 回复
1