选择自 mind_1220 Blog-
Beitrag:
Geben Sie den INI-Abschnitt und den Key-Wert ein.
比如一个配置文件
SMSVote.ini
---------------------------------
[SMSAbstimmung]
Server=(lokal)
DB=SMSVote
Benutzer=sa
Passwort=123
[DB2Vote]
Server=192.168.0.1
DB=DB2
Benutzer=sa
Passwort=
---------------------------------
主体程序(方法) :
inifile.asp
-----------------------------------------------
<%
set IniFileDictionary = CreateObject("Scripting.Dictionary")
Sub IniFileLoad(ByVal FilSpc)
IniFileDictionary.RemoveAll
FilSpc = lcase(FilSpc)
wenn left(FilSpc, 1) = "p" dann
„Physischer Weg.“
PhyPth = mid(FilSpc, instr(FilSpc, "=") + 1)
anders
„Virtueller Weg.“
PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
Ende wenn
set FilSys = CreateObject("Scripting.FileSystemObject")
set IniFil = FilSys.OpenTextFile(PhyPth, 1)
tun, während nicht IniFil.AtEndOfStream
StrBuf = IniFil.ReadLine
wenn StrBuf <> "", dann
„Auf dieser Leitung liegen Daten vor
if left(StrBuf, 1) <> ";" Dann
„Das ist kein Kommentar.“
if left(StrBuf, 1) = "[" then
„Es ist eine Abschnittsüberschrift.“
HdrBuf = mid(StrBuf, 2, len(StrBuf) - 2)
anders
„Es ist ein Wert.“
StrPtr = instr(StrBuf, "=")
AltBuf = lcase(HdrBuf & " ¦" & left(StrBuf, StrPtr - 1))
tun, während IniFileDictionary.Exists(AltBuf)
AltBuf = AltBuf & "_"
Schleife
IniFileDictionary.Add AltBuf, mid(StrBuf, StrPtr + 1)
Ende wenn
Ende wenn
Ende wenn
Schleife
IniFil.Schließen
setze IniFil = nichts
setze FilSys = nichts
Sub beenden
Funktion IniFileValue(ByVal ValSpc)
dim ifarray
StrPtr = instr(ValSpc, " ¦")
ValSpc = lcase(ValSpc)
wenn StrPtr = 0 dann
„Sie wollen den ganzen Abschnitt.“
StrBuf = ""
StrPtr = len(ValSpc) + 1
ValSpc = ValSpc + " ¦"
ifarray = IniFileDictionary.Keys
für i = 0 bis IniFileDictionary.Count - 1
wenn left(ifarray(i), StrPtr) = ValSpc dann
„Das ist aus der Rubrik
wenn StrBuf <> "", dann
StrBuf = StrBuf & "~"
Ende wenn
StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))
Ende wenn
nächste
anders
„Sie wollen einen bestimmten Wert.“
StrBuf = IniFileDictionary(ValSpc)
Ende wenn
IniFileValue = StrBuf
Funktion beenden
Funktion Chr(Abschnitt,Schlüssel)
char1=IniFileValue(Abschnitt)
Suchzeichenfolge =char1
SearchChar = Schlüssel
MyPos=Instr(1,SearchString,SearchChar,1)
'char2=Abschnitt+Schlüssel
char1=mid(char1,MyPos+len(key)+1,len(char1)-MyPos+1)
Suchzeichenfolge =char1
SearchChar = "~"
MyPos=Instr(1,SearchString,SearchChar,1)
wenn MyPos<>0 dann
char1=mid(char1,1,MyPos-1)
anders
char1=mid(char1,1)
Ende wenn
Chr = char1
Funktion beenden
%>
如何使用?
看看这个:
conn.asp
-----------------------------------------------
<!--#include file="inifile.asp"-->
<%
Bei Fehler als nächstes fortfahren
dimmen Sie conn,connstr,dbuid,dbpwd,dbname,dbip
call IniFileLoad("virtual=SMSVote.ini") '配置文件的名字
dbuid=Chr("SMSVote","User") 'Section="SMSVote",Key="User"
dbpwd=Chr("SMSVote","PassWord") 'Section="SMSVote",Key="PassWord"
dbname=Chr("SMSVote","DB") 'Section="SMSVote",Key="DB"
dbip=Chr("SMSVote","server") 'Section="SMSVote",Key="server"
set conn=Server.CreateObject("adodb.Connection")
connstr="PROVIDER=SQLOLEDB;DATA SOURCE="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname
conn.open connstr
'response.write conn
Antwort.Schreibfehler.Beschreibung
%>