【问题标题】:VBS Get a section name from an INI file with only a unique key name with ADODB.StreamVBS 使用 ADODB.Stream 从仅具有唯一键名的 INI 文件中获取节名
【发布时间】:2017-09-22 12:57:50
【问题描述】:

我想使用 ADODB.Stream 而不是使用 Charset "_autodetect_all" 的 scripting.FileSystemObject 从仅具有唯一键名的 INI 文件中查找节名

我的ini文件:

... 
... 
... 

[Area.104] 
Title=Central North America 
Local=Scenery\NAMC Layer=104 
Active=TRUE 
Required=FALSE

[Area.105]

Local=Scenery\NAME 
Layer=105 
Active=TRUE 
Required=FALSE 
Title=Eastern North America

[Area.106] 
Local=Scenery\NAMW 
Layer=106 
Title=Western North America 
Active=TRUE 
Required=FALSE 

... 
... 
...

如何从唯一键 Title=Eastern North 获取部分名称 [Area.105] 美国 ???键是随机顺序的。谢谢

【问题讨论】:

  • 有很大的不同,因为我用 ADODB.Stream 询问代码。
  • 这几乎就像你问了一个问题,得到了一个不太合适的答案,然后决定写另一个问题,希望有人能给你答案。你甚至写了任何代码,minimal reproducible example 怎么样?至于的区别,这是值得商榷的。至少您应该修改原始问题以包含ADODB.Stream 要求,而不是创建重复的问题。
  • 你好 Lankymart,你是对的,我必须在发布新问题之前修改原来的问题,我很抱歉。我今天订阅了这个网站,但我没有找到编辑帖子的方法,我还不熟悉这个系统。顺便说一句,对我的第一个问题的回答非常好。
  • 如果这是您第一次使用Stack Overflow,欢迎。我还建议阅读 How to Ask 并搜索网站 (或使用 Google 搜索网站),以确保您的问题尚未得到解答。

标签: vbscript adodb ini


【解决方案1】:

这是我从另一个网站得到的答案(非常感谢 omen999)

此代码与 ADODB 完美配合

Dim TitleName
TitleName = Array("Central North America")
Set IniStream=CreateObject("ADODB.Stream")
IniStream.Open 
Inistream.Charset="_autodetect_all"
IniStream.LoadFromFile "Area.ini"
IniFile=IniStream.ReadText
PosEnd=InStrRev(IniFile,"]",InStrRev(IniFile,TitleName(0)))
PosStart=InStrRev(IniFile,"[",PosEnd)+1
Wscript.Echo Mid(IniFile,PosStart,PosEnd-PosStart)
IniStream.Close

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多