hoibo 发表于 2023-1-17 22:22:53

通过代码扩展。实现按句删除、段落删除,删除光标前后文本的功能半屏的输入法能用。

把下面代码新建一个功能或插件。在手势里调用就可以了。按句删除或者按段落删除。都是光标停留在这一句或者这一段落的任意一个字执行就能删除,删除光标前后内容,顾名思义就是。光标所在的地方。前面或者后面的内容。
第3方输入法也可以用,半屏输入法就能用。



来自解说社区客户端

hoibo 发表于 2023-1-17 22:23:27

--删除光标所在句
if node.isEditable() then
local txt,s=node.text,""
local gb=node.getTextSelectionEnd()
local n1,n2=0,-1
if txt and txt~="" then
    local tbl={",","。",":","?","!","……",";",",",".","!","?",";","\n",}
    for n=gb-1,1,-1 do
      if table.find(tbl,utf8.sub(txt,n,n)) then
n1=n
      break
      end
    end
if gb<utf8.len(txt) then
    for n=gb,utf8.len(txt)-1,1 do
      if table.find(tbl,utf8.sub(txt,n,n)) then
n2=n
      break
      end
    end
end
s=utf8.sub(txt,n1+1,n2)
txt=n2==-1 and utf8.sub(txt,1,n1) or utf8.sub(txt,1,n1)..utf8.sub(txt,n2+1,-1)
service.setText(node,txt)
service.setSelection(node,n1)
    service.speak(s.."已删除")
   else
    service.speak("编辑框为空")
end
return true
end



来自解说社区客户端

hoibo 发表于 2023-1-17 22:24:06

--删除光标所在段落
if node.isEditable() then
local txt,s=node.text,""
local gb=node.getTextSelectionEnd()
local n1,n2=0,-1
if txt and txt~="" then
local tbl={"\n"}
    for n=gb-1,1,-1 do
      if table.find(tbl,utf8.sub(txt,n,n)) then
n1=n
      break
      end
    end
if gb<utf8.len(txt) then
    for n=gb,utf8.len(txt)-1,1 do
      if table.find(tbl,utf8.sub(txt,n,n)) then
n2=n
      break
      end
    end
end
s=utf8.sub(txt,n1+1,n2)
txt=n2==-1 and utf8.sub(txt,1,n1) or utf8.sub(txt,1,n1)..utf8.sub(txt,n2+1,-1)
service.setText(node,txt)
service.setSelection(node,n1)
    service.speak(s.."已删除")
   else
    service.speak("编辑框为空")
end
return true
end



来自解说社区客户端

hoibo 发表于 2023-1-17 22:24:46

--删除光标前文字
if node.isEditable()
local txt,s=node.text,""
local gb=node.getTextSelectionEnd()
if gb>0 then
s=utf8.sub(txt,gb+1,-1)
service.setText(node,s)
service.setSelection(node,0)
    service.speak("光标前已删")
   else
service.beep()
end
return true
end



来自解说社区客户端

hoibo 发表于 2023-1-17 22:25:18

--删除光标后文字
if node.isEditable()
local txt,s=node.text,""
local gb=node.getTextSelectionEnd()
if gb<utf8.len(txt) and txt~="" then
s=utf8.sub(txt,1,gb)
service.setText(node,s)
    service.speak("光标后已删")
   else
service.beep()
end
return true
end



来自解说社区客户端

007 发表于 2023-1-23 08:03:43

看来这个楼主玩解说是一个高手,现在有一个用户需要一个刷抖音快手的视频的插件。如果你愿意给他写,可以给你付费。如果楼主有时间可以联系我谢谢。

来自:掌上乐园
页: [1]
查看完整版本: 通过代码扩展。实现按句删除、段落删除,删除光标前后文本的功能半屏的输入法能用。