cjhhuanshao 发表于 2011-2-28 09:24:12

创建一个ini文件并填入所在路径 代码怎么写?

本帖最后由 cjhhuanshao 于 2011-2-28 13:42 编辑

RT
要求:创建的ini文件 名字 Rainmeter.ini 并在里面写入以下内容

SkinPath=D:\Rainmeter\Skins\

红色所在路径!

lixiaolong 发表于 2011-2-28 09:24:13

回复 8# cjhhuanshao

_IniWrite("Rainmeter.ini", "Rainmeter", "SkinPath", @ScriptDir & "\Skins\");不覆盖
_IniWrite("Rainmeter.ini", "Rainmeter", "SkinPath", @ScriptDir & "\Skins\", 1);覆盖

Func _IniWrite($sIniFile, $Config, $sPath, $IniPath, $Flag = 0)
        If $Flag = 1 Then FileDelete(@ScriptDir & '\' & $sIniFile)
        IniWrite($sIniFile, $Config, $sPath, $IniPath)
EndFunc   ;==>_IniWrite

Joo 发表于 2011-2-28 09:37:09

本帖最后由 Joo 于 2011-2-28 09:38 编辑

$inipath="D:\Rainmeter\Skins\"

iniwrite($inipath&"Rainmeter.ini","Rainmeter","SkinPath",$inipath)

Joo 发表于 2011-2-28 09:37:57

inipath 我觉得还是需要你自己定义 先

cjhhuanshao 发表于 2011-2-28 10:00:38

回复 2# Joo
没效果!
我的意思是 程序在那里目录就在填入所在路径 比如 程序在D:\美化工具\Rainmeter 创建的Rainmeter.ini里面内容


SkinPath=D:\美化工具\Rainmeter\Skins\

easied 发表于 2011-2-28 10:17:47

$sProPath = @ScriptDir
$sIniFile = "Rainmeter.ini"
IniWrite($sIniFile, "Rainmeter", "SkinPath", $sProPath & "\Skins\")

cjhhuanshao 发表于 2011-2-28 10:32:54

回复 5# easied
非常感谢,但如果Rainmeter.ini文件已经存在,就覆盖不了!如何覆盖呢?并提示 设置成功!

habou 发表于 2011-2-28 10:44:28

你在写的时候先检查是否有*.ini.若有就删除不就好了。为何需要覆盖呢?

cjhhuanshao 发表于 2011-2-28 10:47:03

回复 7# habou
这样也可以,可我不会写代码,失败阿!

cjhhuanshao 发表于 2011-2-28 13:36:37

回复 9# lixiaolong
非常感谢!

lixiaolong 发表于 2011-2-28 14:44:52

写了GUI
#include <GUIConstantsEx.au3>

GUICreate(" GUI 按钮", 200, 100) ; 创建居中显示的对话框窗口
$Button1 = GUICtrlCreateButton("创建ini文件(不覆盖)", 10, 30)
$Button2 = GUICtrlCreateButton("创建ini文件(覆盖)", 10, 60)

GUISetState() ; 显示有两个按钮的窗口

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        ExitLoop
                Case $msg = $Button1
                        _IniWrite("Rainmeter.ini", "Rainmeter", "SkinPath", @ScriptDir & "\Skins\");不覆盖
                        MsgBox(0, 0, 'OK!')
                Case $msg = $Button2
                        _IniWrite("Rainmeter.ini", "Rainmeter", "SkinPath", @ScriptDir & "\Skins\", 1);覆盖
                        MsgBox(0, 0, 'OK!')
        EndSelect
WEnd

Func _IniWrite($sIniFile, $Config, $sPath, $IniPath, $Flag = 0)
        If $Flag = 1 Then FileDelete(@ScriptDir & '\' & $sIniFile)
        IniWrite($sIniFile, $Config, $sPath, $IniPath)
EndFunc   ;==>_IniWrite

pingfan5888 发表于 2011-2-28 15:02:50

学习下了。。

easied 发表于 2011-2-28 15:40:32

iniwrite本来就是不存在则写入,存在则修改的.
哪来的不能覆盖的说法?

cjhhuanshao 发表于 2011-2-28 15:54:34

本帖最后由 cjhhuanshao 于 2011-2-28 18:26 编辑

回复 11# lixiaolong
太感谢你了,这就是我想要的结果,但还要想一个功能就是把路径显示出来!

lixiaolong 发表于 2011-2-28 19:06:57

回复 14# cjhhuanshao

这样可以吗?


#include <GUIConstantsEx.au3>

GUICreate(" GUI 按钮", 310, 55); 创建居中显示的对话框窗口
$Button1 = GUICtrlCreateButton("确定", 260, 25, 45, 25)
GUICtrlCreateLabel(":当前皮肤路径", 5, 10)
$Input = GUICtrlCreateInput("", 5, 25, 250, 25)
GUISetState() ; 显示有两个按钮的窗口

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        ExitLoop
                Case $msg = $Button1
                        _IniWrite("Rainmeter.ini", "Rainmeter", "SkinPath", @ScriptDir & "\Skins\", 1);覆盖
                        MsgBox(0, 0, 'OK!')
        EndSelect
WEnd

Func _IniWrite($sIniFile, $Config, $sPath, $IniPath, $Flag = 0)
        If $Flag = 1 Then FileDelete(@ScriptDir & '\' & $sIniFile)
        IniWrite($sIniFile, $Config, $sPath, $IniPath)
        $lujin = IniRead($sIniFile, $Config, $sPath, ''); 读取ini文件SkinPath=的值.
        GUICtrlSetData($Input, $lujin); $Input上显示当前皮肤路径($lujin)
EndFunc   ;==>_IniWrite
页: [1] 2
查看完整版本: 创建一个ini文件并填入所在路径 代码怎么写?