itzyx 发表于 2020-9-4 12:44:19

gyp2000 发表于 2020-9-4 10:08
ini每个条目可以保存一组数据,只是ini过大的话,AU3内置函数是无法读取全部内容的。




谢谢大佬,你说的这个办法,我回头试试, 应该也是要控件写入,不过相比较来讲,配置文件的读取,写入是方便了一点

afan 发表于 2020-9-4 12:57:57

itzyx 发表于 2020-9-4 12:42
确实,少的话复制粘贴一遍比较容易 ,不过 A大 你说的控件多的话 一般怎么循环处理啊?可以学习一下嘛

比如 test.ini 内容如下:

[测试]
Edit1=2000
Edit4=1900
Edit6=800
Edit8=600

以下代码就可以将上面4组数据一次循环即可完成输入,如果有更多的如 Edit10 等等,设置好 ini 文件就行了

Local $arr = IniReadSection('test.ini', '测试')
For $ii = 1 To $arr
        ControlSetText("物品参数设置", "", $arr[$ii], $arr[$ii])
Next

当然,打好基础最重要,然后才是逻辑简化、优化。

itzyx 发表于 2020-9-4 13:32:27

afan 发表于 2020-9-4 12:57
比如 test.ini 内容如下:

[测试]

好的,谢谢A大{:1_245:}

afan 发表于 2020-9-4 13:45:28

itzyx 发表于 2020-9-4 13:32
好的,谢谢A大

及时贴出代码,可以很快被找出问题。
及时跟进,及时进步。
多看帮助文档相关实例,简单问题都可以自行解决,这是必走之路。
难点的问题就去英文论坛逛逛找找答案,那里有很多各个国家的编程高手。

itzyx 发表于 2020-9-4 15:00:24

afan 发表于 2020-9-4 13:45
及时贴出代码,可以很快被找出问题。
及时跟进,及时进步。
多看帮助文档相关实例,简单问题都可以自行 ...

好的,A大说得对, 以后肯定及时更进问题, 也会多看看帮助文档,能自行解决的,自己先想办法; 最终目的向大佬们看齐

itzyx 发表于 2020-9-4 17:49:57

itzyx 发表于 2020-9-4 15:00
好的,A大说得对, 以后肯定及时更进问题, 也会多看看帮助文档,能自行解决的,自己先想办法; 最终目的 ...

A大 按照你给的方法实现了,不过我想请教一下,For $ii = 1 To $arr表示$ii 变量,从初始值到终值的意思,
test.ini 内容如下:

[测试]
Edit1=2000
Edit4=1900
Edit6=800
Edit8=600

那么$arr是不是表示 Edit1,$arr表示 2000,然后ControlSetText 实现参数填写

那么如果想加一个 [测试2]

test.ini 内容如下:
[测试]
Edit1=2000
Edit4=1900
Edit6=800
Edit8=600
[测试2]
Edit1=1000
Edit4=900
Edit6=800
Edit8=300

代码如下:
Local $brr = IniReadSection('test.ini', '测试2')
For $gg = 6 To $brr
      ControlSetText("物品参数设置", "", $brr[$gg], $brr[$gg])
Next
这个怎么不对,$brr 不是表示Edit1 ,$brr 不是表示1000的意思吗? 1 To $arr 的意思 是不是我理解错了

afan 发表于 2020-9-4 17:56:17

itzyx 发表于 2020-9-4 17:49
A大 按照你给的方法实现了,不过我想请教一下,For $ii = 1 To $arr表示$ii 变量,从初始值到终 ...

那你只需要改之前的代码一处就行了
Local $arr = IniReadSection('test.ini', '测试2')
$arr 都不用改,都使用原来的。
因为上面的$arr 读取的是“测试2”这个字段,序号都是从1开始的

itzyx 发表于 2020-9-4 18:10:29

afan 发表于 2020-9-4 17:56
那你只需要改之前的代码一处就行了
Local $arr = IniReadSection('test.ini', '测试2')
$arr 都不用改 ...

额,这个怎么提示问题错误啊

afan 发表于 2020-9-4 18:20:22

itzyx 发表于 2020-9-4 18:10
额,这个怎么提示问题错误啊

你确定ini文件新增加的内容保存了?

itzyx 发表于 2020-9-4 21:45:06

afan 发表于 2020-9-4 18:20
你确定ini文件新增加的内容保存了?

好吧,犯傻了,不得不说A大你也太强了

kk_lee69 发表于 2020-9-4 22:17:16

itzyx 发表于 2020-9-4 12:42
确实,少的话复制粘贴一遍比较容易 ,不过 A大 你说的控件多的话 一般怎么循环处理啊?可以学习一下嘛


Global $aButNum ;按钮总数
Global $iNumber = 5 ;每行按钮数量
Global $iSpacingX = 50, $iSpacingY = 50 ;垂直、水平,间距

Opt('GUIOnEventMode', 1)

GUICreate('循环创建按钮', 300, 300)
GUISetOnEvent(-3, '_ButtonEvents')
For $i = 0 To UBound($aButNum) - 1
      $aButNum[$i] = GUICtrlCreateButton($i + 1, $iSpacingX * Mod($i, $iNumber) + 25, $iSpacingY * Floor($i / $iNumber) + 25, 50, 50)
      GUICtrlSetOnEvent(-1, '_ButtonEvents')
Next
GUISetState()

While 1
      Sleep(250)
WEnd

Func _ButtonEvents()
      Switch @GUI_CtrlId
                Case -3
                        Exit
                Case $aButNum To $aButNum
                        MsgBox(0, '', '按钮 - ' & @GUI_CtrlId - 2)
      EndSwitch
EndFunc   ;==>_ButtonEvents

itzyx 发表于 2020-9-6 23:33:40

kk_lee69 发表于 2020-9-4 22:17

Global $aButNum ;按钮总数
Global $iNumber = 5 ;每行按钮数量


感谢,感谢多谢各位大佬
页: 1 [2]
查看完整版本: 已解决 如何实现控件参数的 简易修改