AM电脑吧 - Win10精简版系统_Win11精简版_Win7旗舰版

Yes
查看: 8899|回复: 9
收起左侧

实例 AU3对标准INI文件的“写、删、改”

[复制链接]
ampc8110

签到天数: 3 天

[LV.2]二兆带宽

id fuldho 发表于 2011-10-23 09:24:49
默认打开脚本目录下的“config.ini”进行编辑
config.ini文本内容:
[HardDisk]
提示=因为是组数请保留一行

这个原本封装工具里调用部署接口的,提出来与大家分享。

2011-10-23_092246.jpg


#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("写、删、改", 296, 200, -1, -1)
$Input1 = GUICtrlCreateInput("", 70,122,150,20)
$Button1 = GUICtrlCreateButton("浏览", 225,120,60,25)
$Button2 = GUICtrlCreateButton("删除", 70, 150, 60, 25)
$Button3 = GUICtrlCreateButton("添加", 5, 150, 60, 25)
$Button4 = GUICtrlCreateButton("修改", 135, 150, 60, 25)
$Button5= GUICtrlCreateButton("保存修改", 200, 150, 60, 25)
$Combo1 = GUICtrlCreateList("", 8, 25, 280, 85)
$Combo2 = GUICtrlCreateCombo("", 5, 122, 60, 20, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A1|A2|A3|A4|A5|A6|B1|B2|B3|B4|B5|B6|C1|C2|C3|C4|C5|C6|", "A1")
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                   $Search1 = FileOpenDialog("请选择运行","\","程序文件(*.exe;*.reg;*.dll;*.bat;*.cmd;*.inf)",1+4);添加一个路径
                   GUICtrlSetData($Input1,$Search1);路径显示                  
               Case $Button3                 ;添加

                   $lb = GUICtrlRead($Input1)        ;读取路径
                   $lb2 = GUICtrlRead($Combo2)
                        If $lb ="" Then
                                MsgBox(48,'提示','请选择要添加的条目')
                        Else
                                xie()
                        EndIf
               Case $Button2           ;删除
                        $St=GUICtrlRead($Combo1)                   ;读取被选中控件值
                        If $St ="" Then
                                MsgBox(48,'提示','请选择要删除的条目')
                        Else
                                del()
                        EndIf
             Case $Button4                                    ;修改
                      $Ss=GUICtrlRead($Combo1)                   ;读取被选中控件值
                        If $Ss ="" Then
                                MsgBox(48,'提示','你没有添加修改条目')
                        Else
                        $bName = StringSplit($Ss, "=")
                        $name = $bName[$bName[0]]                          ;获取文件夹名   
                        $me = $bName[1]   
                        GUICtrlSetData($Input1,$name)
                        GUICtrlSetData($Combo2,$me)
                     EndIf
            Case $Button5                             ;保存修改
                      $Ss=GUICtrlRead($Combo1)                   ;读取被选中控件值
                        If $Ss ="" Then
                                MsgBox(48,'提示','你没有添加保存修改')
                        Else
                                back()
                        EndIf
                              
          EndSwitch           
    WEnd
     Func xie()          ;添加
                        FileWriteLine(@ScriptDir  & "\config.ini",$lb2&"="&$lb);写入
                        $rdini = IniReadSection(@ScriptDir & "\config.ini", 'HardDisk')
                        For $g = 1 To $rdini[0][0]
                            $a = $rdini[$g][0]
                            $b = $rdini[$g][1]
                            GUICtrlSetData($Combo1, $a&"="&$b)
                        Next
                        GUICtrlSetData($Combo1,$lb2&"="&$lb);添加到列表框
EndFunc;xie()
Func del()             ;删除
                        $sText = FileRead('config.ini')                 ;打开文本
                        $str = StringReplace($sText, $St, "")                  ;删除指定字符
                        $Test = StringRegExpReplace($str,'\n\r','')    ;删除空格
                        FileWriteLine('new.InI', $Test)                             ;另存新文本
                        FileCopy('new.InI', 'config.ini', 1)                   ;替换原文本
                        FileDelete('new.InI')                       ;删除新文本
                        GUICtrlSetData($Combo1,"")                                        ;清空列表
                        $rdini = IniReadSection(@ScriptDir & "\config.ini", 'HardDisk')
                        For $g = 1 To $rdini[0][0]
                            $a = $rdini[$g][0]
                            $b = $rdini[$g][1]
                            GUICtrlSetData($Combo1, $a&"="&$b)
                        Next
EndFunc;del()

评分

参与人数 1硬盘 +2 收起 理由
ampc85 水铃 + 2 电脑吧有你更精彩!

本文地址: https://www.ampc8.com/thread-4107-1-1.html
上一篇:只需3步 就可以找出你的网站安全隐患
下一篇:蓝色动态屏保
回复

举报

ampc839210

签到天数: 271 天

[LV.8]八秒开机

id trhy1234567 发表于 2016-06-22 17:19:14
学习了,谢谢分享。
回复

举报

ampc8897

签到天数: 14 天

[LV.3]三流显示器

id bmw123 发表于 2013-01-15 20:26:09
谢谢楼主,收藏了!
回复

举报

头像被屏蔽

签到天数: 14 天

[LV.3]三流显示器

id AiTi123 发表于 2013-01-11 14:23:27
都可以读出什么格式啊
回复

举报

ampc811552

签到: Lazy

id sz9013 发表于 2012-12-25 14:32:53
我怎么不能正常删除.....控件显示也没显示出来...back() 不会定义...烦请楼主指点一二
回复

举报

ampc811552

签到: Lazy

id sz9013 发表于 2012-12-25 11:32:42
请问一下  back()  未定义?
回复

举报

ampc85191

签到天数: 8 天

[LV.3]三流显示器

id xz00311 发表于 2012-05-31 11:15:32
少了一个back()的调用函数啊
回复

举报

头像被屏蔽

签到天数: 9 天

[LV.3]三流显示器

id jsgh1983 发表于 2012-03-11 18:45:08
学习下基础,巩固下自己,学无止境,只有学好基础才能有所发展!感谢楼主分享!
回复

举报

ampc82823

签到天数: 74 天

[LV.6]六个主机箱

id 风舞残叶 发表于 2011-10-25 18:55:02
进来学习一下
回复

举报

ampc85

签到: Lazy

id 水铃 发表于 2011-10-23 13:12:43
ini编辑的文本内容不是人人都会做的,调用好语句才行的,年老的文本师范不错,
希望给学习文本的朋友带来一些启示,同事感谢年老对电脑吧的支持!
回复

举报

您需要登录后才可以回帖 登录 | 验证注册

Powered by AMpc8.Com (晋ICP备13003365号ghs 晋公网安备 14090202000112号 |GMT+8, 2024/4/24 09:38 |
快速回复 返回顶部 返回列表