何旭锋 发表于 2009-3-15 12:24:53

如何读取INI中"字段名"或"默认值"是否存在和相对应?

第一想问的:怎样获得[字段名]或字段名下Name=XP_CORE那一段不存在,假如没有那一段就      在这里
就比如说弹出个MSGBOX吧.
MSGBOX(0,"错误[字段名]和Name都不存在,它们去玩了?")

第二想问的:怎样获得Name只对应着XP_CORE,其它的和空白都是错误的比如说:Name=VISTA_CORE,
Name=                                    
MSGBOX(0,"错误这不是XP_CORE,难道你骗我?")

例:
$sIni1=IniRead(@ScriptDir&"\Config.INI", "字段名", "Name", "")

IF $sIni1 在这里试过IniReadSection和IniRead 等发现IniReadSection 等是
不读Name这个的,只读Name后面的的值,所以判断有些难

Config.INI文件内容:

[字段名]
Name=XP_CORE


最后想问一下If和NOT怎样使用在一起的呢?      意思是 IF假如NOT不是.

[ 本帖最后由 何旭锋 于 2009-3-15 19:42 编辑 ]

298311657 发表于 2009-3-15 13:11:52

第一第二第三问~一并如下~
$sIni1 = IniRead(@ScriptDir & "\Config.INI", "字段名", "Name", "")
If $sIni1 = '' Then
        MsgBox(0, '', '为空!')
ElseIf $sIni1 <> 'XP_CORE' Then
        MsgBox(0, '', "错误这不是XP_CORE,难道你骗我?")
Else
        MsgBox(0, '', "XP_CORE")
EndIf

If Not StringInStr ( $sIni1 , "XP_CORE") Then MsgBox(0, '', "错误这不是XP_CORE,难道你骗我?")

[ 本帖最后由 298311657 于 2009-3-15 13:15 编辑 ]

何旭锋 发表于 2009-3-15 18:29:14

$sIni1 = IniRead(@ScriptDir & "\Config.INI", "字段名", "Name", "")
If $sIni1 = '' Then
    MsgBox(0, '', '为空!')
ElseIf $sIni1 <> 'XP_CORE' Then
    MsgBox(0, '', "错误这不是XP_CORE,难道你骗我?")
Else
    MsgBox(0, '', "XP_CORE")
EndIf

上面这一段是正确的,但下面这一段总是弹出错误.好像NOT起不了作用似的.

If Not StringInStr ( $sIni1 , "XP_CORE") Then MsgBox(0, '', "错误这不是XP_CORE,难道你骗我?")

何旭锋 发表于 2009-3-15 19:38:59

发现原来是空格使If Not失败,直接复制上面,不知哪时里面多了一个空格使If Not判断失败,多谢xayle 的解答,
同时也更谢谢2楼的朋友为我解答这个问题.

[ 本帖最后由 何旭锋 于 2009-3-15 19:52 编辑 ]
页: [1]
查看完整版本: 如何读取INI中"字段名"或"默认值"是否存在和相对应?