bianjiqi1.txt 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. --txcgb编辑器代码
  2. 输入框上移()
  3. require "import"
  4. import "android.app.*"
  5. import "android.os.*"
  6. import "android.widget.*"
  7. import "android.view.*"
  8. 提示=[[
  9. 「预览功能」可查看编辑内容的渲染效果
  10. 「调试功能」可实时测试代码运行结果
  11. ]]
  12. if 文件是否存在(tdata..'cz.txt')==false then 写入文件(tdata..'cz.txt','') end--查找文档没有就建立一个
  13. if 文件是否存在(tdata..'th.txt')==false then 写入文件(tdata..'th.txt','') end--替换文档没有就建立一个
  14. lay=
  15. {
  16. LinearLayout,
  17. orientation="vertical",
  18. backgroundColor="#CCCCCC",
  19. padding="4dp",
  20. verticalScrollBarEnabled=false,--隐藏纵向滑条
  21. {
  22. TextView,
  23. text="文本编辑器",
  24. layout_marginTop='34dp', -- 布局顶距
  25. layout_marginBottom='-15dp', -- 布局底距
  26. layout_height="56dp",
  27. paddingLeft="16dp",
  28. textSize="22dp", -- 字体加大
  29. gravity="center|top",
  30. textColor="#009688", -- 文字颜色改为青色
  31. --textStyle="bold", -- 加粗字体
  32. elevation="35dp", -- 增加阴影
  33. },
  34. {
  35. LinearLayout,
  36. orientation="vertical",
  37. padding="3dp",
  38. layout_width="fill",
  39. {
  40. CardView,
  41. radius="3dp",
  42. layout_width="fill",
  43. backgroundColor=次要色,
  44. --layout_height="30dp",
  45. elevation="35dp", -- 增加阴影
  46. paddingTop="8dp",
  47. layout_marginBottom="20dp",
  48. {
  49. LinearLayout,
  50. layout_width="fill",
  51. {
  52. TextView,
  53. textColor="#FFFFFF",
  54. backgroundColor='#009688',
  55. text="文件",
  56. id="b2",
  57. gravity="center",
  58. textSize="18dp",
  59. layout_weight=1,
  60. padding="8dp",
  61. },
  62. {
  63. TextView,
  64. textColor="#FFFFFF",
  65. text="换核",
  66. backgroundColor='#009688',
  67. onClick=function()
  68. 写入文件(编辑文件,edit.text)
  69. WEB小程序("bianjiqi")
  70. end,
  71. gravity="center",
  72. textSize="18dp",
  73. padding="8dp",
  74. layout_weight=1,
  75. },
  76. {
  77. TextView,
  78. textColor="#FFFFFF",
  79. text="预览",
  80. backgroundColor='#009688',
  81. id="b3",
  82. gravity="center",
  83. textSize="18dp",
  84. layout_weight=1,
  85. padding="8dp",
  86. },
  87. {
  88. TextView,
  89. textColor="#FFFFFF",
  90. backgroundColor='#009688',
  91. text="调试",
  92. id="b4",
  93. gravity="center",
  94. textSize="18dp",
  95. padding="8dp",
  96. layout_weight=1,
  97. },
  98. },
  99. },
  100. {
  101. ScrollView,
  102. layout_width="fill",
  103. layout_height="match_parent",
  104. {
  105. EditText,
  106. layout_marginBottom="18dp",
  107. layout_width="fill",
  108. layout_height="fill",
  109. backgroundColor= "#DEDEDE",
  110. text=读取文件(编辑文件);
  111. Hint=提示;
  112. hintTextColor=次要文字色,
  113. textSize="12dp",
  114. textColor=文字色,
  115. id="edit",
  116. gravity="top",
  117. minLines=6,
  118. padding="3dp",
  119. },
  120. },
  121. },
  122. }
  123. activity.setContentView(loadlayout(lay))
  124. b2.onClick=function()
  125. pop=PopupMenu(activity,popmenu_position)
  126. menu=pop.Menu
  127. menu.add("打开").onMenuItemClick=function(a)
  128. 打开菜单()
  129. end
  130. menu.add("剪贴").onMenuItemClick=function(a)
  131. 剪贴菜单()
  132. end
  133. menu.add("编码").onMenuItemClick=function(a)
  134. 编码菜单()
  135. end
  136. menu.add("替换").onMenuItemClick=function(a)
  137. 替换菜单()
  138. end
  139. menu.add("保存").onMenuItemClick=function(a)
  140. 保存菜单()
  141. end
  142. pop.show()
  143. end
  144. b3.onClick=function()
  145. --复制文本(edit.text)
  146. 写入文件(编辑文件,edit.text)
  147. 写入文件(编辑文件网页,edit.text)
  148. 子页面("安卓","file://"..编辑文件网页)
  149. end
  150. b4.onClick=function()
  151. --复制文本(edit.text)
  152. 写入文件(编辑文件,edit.text)
  153. 写入文件(编辑器文件夹.."bianjiqi.lua",edit.text)
  154. 进入子页面("编辑器")
  155. end
  156. function 编码菜单()
  157. pop=PopupMenu(activity,popmenu_position)
  158. menu=pop.Menu
  159. menu.add("Base64编码").onMenuItemClick=function(a)
  160. edit.text=编码64(edit.text)
  161. print("编码成功!")
  162. end
  163. menu.add("Base64解码").onMenuItemClick=function(a)
  164. if pcall(function() edit.text=解码64(edit.text) end)
  165. then
  166. print("解码成功!")
  167. else
  168. print("Base64编码无效") end
  169. end
  170. menu.add("URL编码").onMenuItemClick=function(a)
  171. edit.text=url编码(edit.text)
  172. print("编码成功!")
  173. end
  174. menu.add("URL解码").onMenuItemClick=function(a)
  175. if pcall(function() edit.text=url解码(edit.text) end)
  176. then
  177. print("解码成功!")
  178. else
  179. print("url编码无效") end
  180. end
  181. menu.add("MD5加密").onMenuItemClick=function(a)
  182. edit.text=MD5(edit.text)
  183. print("MD5加密成功!")
  184. end
  185. menu.add("加密文本").onMenuItemClick=function(a)
  186. zdy_layout={
  187. LinearLayout;
  188. orientation="vertical";--重力属性
  189. {
  190. EditText;--编辑框控件
  191. id="name",
  192. hint="请输入文件名称",
  193. layout_marginTop='15dp';--布局顶距
  194. layout_width="82%w";--编辑框宽度
  195. layout_gravity="center";--重力属性
  196. };
  197. {
  198. EditText;--编辑框控件
  199. id="pass",
  200. hint="请输入你的秘钥",
  201. layout_marginTop='15dp';--布局顶距
  202. layout_width="82%w";--编辑框宽度
  203. layout_gravity="center";--重力属性
  204. };
  205. };
  206. AlertDialog.Builder(this)
  207. .setView(loadlayout(zdy_layout))--设置布局
  208. .setCancelable(false)--点击外围可取消
  209. .setTitle("将被保存在记事本:")--设置标题
  210. .setPositiveButton("确认",function(v)--设置积极按钮
  211. if pcall(function()
  212. NR=加密(edit.text,pass.text)
  213. end)
  214. then
  215. edit.text=NR
  216. 写入文件(TXCGB.."note/"..name.text..".txt",edit.text)
  217. end
  218. end)
  219. .setNegativeButton("取消",function()--设置消极按钮
  220. end)
  221. .show()
  222. end
  223. -------------
  224. menu.add("解密文本").onMenuItemClick=function(a)
  225. zdy_layout={
  226. LinearLayout;
  227. orientation="vertical";--重力属性
  228. {
  229. EditText;--编辑框控件
  230. id="name",
  231. hint="请输入文件名称",
  232. layout_marginTop='15dp';--布局顶距
  233. layout_width="82%w";--编辑框宽度
  234. layout_gravity="center";--重力属性
  235. };
  236. {
  237. EditText;--编辑框控件
  238. id="pass",
  239. hint="请输入你的秘钥",
  240. layout_marginTop='15dp';--布局顶距
  241. layout_width="82%w";--编辑框宽度
  242. layout_gravity="center";--重力属性
  243. };
  244. };
  245. AlertDialog.Builder(this)
  246. .setView(loadlayout(zdy_layout))--设置布局
  247. .setCancelable(false)--点击外围可取消
  248. .setTitle("将被保存在记事本:")--设置标题
  249. .setPositiveButton("确认",function(v)--设置积极按钮
  250. if pcall(function()
  251. NR=解密(edit.text,pass.text)
  252. end)
  253. then
  254. edit.text=NR
  255. 写入文件(TXCGB.."note/"..name.text..".txt",edit.text)
  256. end
  257. end)
  258. .setNegativeButton("取消",function()--设置消极按钮
  259. end)
  260. .show()
  261. end
  262. -------------
  263. pop.show()
  264. end
  265. function 打开菜单()
  266. pop=PopupMenu(activity,popmenu_position)
  267. menu=pop.Menu
  268. menu.add("配置库").onMenuItemClick=function(a)
  269. 打开文件(NEICUN.."download/配置库/tools/")
  270. end
  271. menu.add("web云").onMenuItemClick=function(a)
  272. 打开文件(TXCGB.."tools/")
  273. end
  274. menu.add("记事本").onMenuItemClick=function(a)
  275. 打开文件(TXCGB.."note/")
  276. end
  277. menu.add("我的文档").onMenuItemClick=function(a)
  278. 打开文件(NEICUN.."documents/")
  279. end
  280. menu.add("系统数据").onMenuItemClick=function(a)
  281. zdy_layout={
  282. LinearLayout;
  283. orientation="vertical";--重力属性
  284. --Focusable=true,--可聚焦
  285. --FocusableInTouchMode=true,--可聚焦在触摸模式下,可变色
  286. id="zdy_father_layout",
  287. {
  288. EditText;--编辑框控件
  289. id="edit",
  290. layout_marginTop='15dp';--布局顶距
  291. layout_width="82%w";--编辑框宽度
  292. layout_gravity="center";--重力属性
  293. inputType="textPassword";--密码格式
  294. Hint='******';--设置编辑框为空时的提示文字
  295. };
  296. };
  297. AlertDialog.Builder(this)
  298. .setView(loadlayout(zdy_layout))--设置布局
  299. .setCancelable(false)--点击外围可取消
  300. .setTitle("请输入密码:")--设置标题
  301. .setPositiveButton("确认",function(v)--设置积极按钮
  302. if (edit.text=="0")then
  303. 打开文件(FILES)
  304. else
  305. print("密码错误")
  306. end
  307. end)
  308. .setNegativeButton("取消",function()--设置消极按钮
  309. end)
  310. .show()
  311. end
  312. pop.show()
  313. end
  314. function 剪贴菜单()
  315. pop=PopupMenu(activity,popmenu_position)
  316. menu=pop.Menu
  317. menu.add("清除").onMenuItemClick=function(a)
  318. edit.text=""
  319. 写入文件(编辑文件,edit.text)
  320. end
  321. menu.add("剪切").onMenuItemClick=function(a)
  322. 复制文本(edit.text)
  323. edit.text=""
  324. 写入文件(编辑文件,edit.text)
  325. print("已剪切到系统剪贴板")
  326. end
  327. menu.add("复制").onMenuItemClick=function(a)
  328. 复制文本(edit.text)
  329. print("已复制到系统剪贴板")
  330. end
  331. menu.add("粘贴").onMenuItemClick=function(a)
  332. edit.text=获取剪贴板()
  333. end
  334. pop.show()
  335. end
  336. function 替换菜单()
  337. ------分割线------
  338. function 字符替换()
  339. tihuan_layout={
  340. LinearLayout;
  341. orientation="vertical";
  342. id="Download_father_layout",
  343. {
  344. TextView;
  345. id="czhint",
  346. layout_marginTop="10dp";
  347. text="查找",
  348. layout_width="80%w";
  349. textColor=WidgetColors,
  350. layout_gravity="center";
  351. };
  352. {
  353. EditText;
  354. id="cz",
  355. text=读取文件(tdata..'cz.txt');
  356. layout_width="80%w";
  357. layout_gravity="center";
  358. };
  359. {
  360. TextView;
  361. id="thhint",
  362. layout_marginTop="10dp";
  363. text="替换",
  364. layout_width="80%w";
  365. textColor=WidgetColors,
  366. layout_gravity="center";
  367. };
  368. {
  369. EditText;
  370. id="th",
  371. text=读取文件(tdata..'th.txt');
  372. layout_width="80%w";
  373. layout_gravity="center";
  374. };
  375. };
  376. AlertDialog.Builder(this)
  377. .setTitle("替换")
  378. .setView(loadlayout(tihuan_layout))
  379. .setPositiveButton("全部替换",{onClick=function(v)
  380. 写入文件(tdata..'cz.txt',cz.text) 写入文件(tdata..'th.txt',th.text)
  381. 替换=string.gsub(edit.text,cz.text,th.text)
  382. local new_text, num_replacements = string.gsub(edit.text, cz.text, th.text)--监听替换次数
  383. edit.text=替换
  384. 字符替换()
  385. print("替换了 " .. num_replacements .. " 处",600)end})
  386. .setNeutralButton("上下互换",function(v)
  387. 写入文件(tdata..'cz.txt',th.text) 写入文件(tdata..'th.txt',cz.text)
  388. 字符替换()
  389. end)
  390. .setNegativeButton("取消",nil)
  391. .show()
  392. end
  393. 字符替换()
  394. end
  395. function 保存菜单()
  396. 对话框()
  397. .设置标题("重要提示!")
  398. .设置消息('将被保存在\n\n'..读取文件(编辑路径)..'文件中\n\n按保存键保存文件\n按上传键保存并上传文件')
  399. .设置积极按钮("保存",function()
  400. 写入文件(读取文件(编辑路径),edit.text)
  401. print("已保存至"..读取文件(编辑路径))
  402. end)
  403. .设置中立按钮("上传",function()
  404. 写入文件(读取文件(编辑路径),edit.text)
  405. print("已保存至"..读取文件(编辑路径)..'\n正在加载代码仓库')
  406. 调用浏览器("https://gitlab.com/txcgb/free/-/tree/master/tools")
  407. end)
  408. .设置消极按钮("取消")
  409. .显示()
  410. end