ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效

Moderators: tmplinshi, arcticir

tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

20 Sep 2014, 14:17

ReadSettings.ahk

Code: Select all

ReadSettings( { x   : ""
              , y   : ""
              , key3: "默认值" } )

Gui, Add, Edit, w300 vx   , % x
Gui, Add, Edit, wp   vy   , % y
Gui, Add, Edit, wp   vkey3, % key3
Gui, Show
Return

GuiClose:
ExitApp
Last edited by tmplinshi on 04 Oct 2014, 10:23, edited 6 times in total.
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

23 Sep 2014, 10:35

我记得曾经跟你讨论过。
即能当脚本,又能当INI读写。
HY脚本的基本格式。

Code: Select all

/*
[Settings]
A=

[End]
*/
MsgBox,测试
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

23 Sep 2014, 10:46

哦,这个意思。这种方法我一直在用。但是如果你要编译成 exe 给别人用,还是得用 ini 文件。
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

23 Sep 2014, 23:58

直接EXE改名,代码保密就混淆下。
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 00:13

那是一个办法,但是不编译有诸多不便:
  • 不容易设置图标(是的,用 Resource Hacker 可以修改。)
  • 如果脚本引用了一堆函数文件,还有一些图片,你就得发给别人一堆文件(是的,可以合并这些文件。)
  • ...
Last edited by tmplinshi on 24 Sep 2014, 01:46, edited 1 time in total.
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 00:33

其实,你发现了没——“半INI半脚本”同样也是要读写ini。
也就是说你仍然需要写 IniRead/IniWrite,或者用其他的 Ini 函数,或者用这个ReadSettings()
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 03:15

子目录加ZIP,什么叫发一堆。
第二楼明显在打第一的脸。
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 03:29

如果脚本里有这几行:

Code: Select all

#Include <WinHttpRequest>
#Include <UriDecode>
#Include <JSON_ToObj>
#Include <Class_ImageButton>
#Include <Class_CTLCOLORS>
不编译的话,不是要发给别人上面五个文件吗?(当然了,可以进行合并)
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 04:09

再多也无所谓啊,反正放LIB二级目录。
一个AHKEXE,一个脚本,然后两三个配置文件夹,很清爽啊
User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

24 Sep 2014, 19:51

arcticir wrote:我记得曾经跟你讨论过。
即能当脚本,又能当INI读写。
HY脚本的基本格式。

Code: Select all

/*
[Settings]
A=

[End]
*/
MsgBox,测试
对于中文用户不建议这么做。
因为内置的 INI 函数只支持 ASCII 和 UTF-16 两种编码的文件。
User avatar
RobertL
Posts: 546
Joined: 18 Jan 2014, 01:14
Location: China

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

25 Sep 2014, 02:58

@arcticir @tmplinshi
arcticir wrote:直接EXE改名,代码保密就混淆下。
如何混淆用你的代码风格吗?
也可以直接把配置文件做成.ahk,使用#Include *i加载吧?没实践过..
tmplinshi wrote:不容易设置图标(是的,用 Resource Hacker 可以修改。)
谢谢推荐。
amnesiac wrote:内置的 INI 函数只支持 ASCII 和 UTF-16 两种编码的文件。
幸好我没大依赖,自己读文件转obj多好..不考虑直接配置ini的话,用json啥的也方便(我在用@Coco的SerDes() - AHK object (de)serialization,其他有什么推荐的没?)..

回头可以单独开贴,说说如何发布/部署..
或者,固定个话题讨论下。比如,各自用过的Json库的优劣..
我为人人,人人为己?
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

25 Sep 2014, 03:40

去把脚本区翻一遍。
把INI改成AHK什么的,也只有你能想出来。
User avatar
RobertL
Posts: 546
Joined: 18 Jan 2014, 01:14
Location: China

脚本即配置 代码混淆

25 Sep 2014, 03:49

@arcticir
脚本即配置,而且直接执行(不考虑编译的话),整个脚本就是一个大函数,命名空间都省了..我觉得完全可行..

@tmplinshi
嗯,谢谢,看后再分析..
粗看就是混淆命名,感觉比较低端呀..
可以借鉴下思想,和提及的其他成熟混淆方案。
感觉,其中能解析出变量名、标签名、函数名的功能有用..不过都能到这步了,再混淆下流程应该不是问题..
Last edited by RobertL on 25 Sep 2014, 03:54, edited 1 time in total.
我为人人,人人为己?
arcticir
Posts: 694
Joined: 17 Nov 2013, 11:32

Re: ReadSettings() - 读取 ini 文件的 [Settings] 区段,脚本退出时自动保存

25 Sep 2014, 03:54

1 写上路径 #Include 什么格式都认
2 现在讨论的是如何快速读写配置,你打算怎么写

Return to “脚本函数”

Who is online

Users browsing this forum: No registered users and 13 guests