选择自 Mind_1220 的 Блог
要求:
Введите INI, раздел и ключ, и значение.
比如一个配置文件
SMSVote.ini
---------------------------------
[СМС-голосование]
Сервер=(локальный)
DB=SMSголосование
Пользователь=са
Пароль=123
[DB2Vote]
Сервер=192.168.0.1
БД=DB2
Пользователь=са
Пароль=
---------------------------------
主体程序(方法):
inifile.asp
----------------------------------------------
<%
set IniFileDictionary = CreateObject("Scripting.Dictionary")
Sub IniFileLoad (ByVal FilSpc)
IniFileDictionary.RemoveAll
ФилСпк = lcase(ФилСпк)
если left(FilSpc, 1) = "p", то
'Физический путь
PhyPth = Mid(FilSpc, instr(FilSpc, "=") + 1)
еще
'Виртуальный путь
PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
конец, если
set FilSys = CreateObject("Scripting.FileSystemObject")
установите IniFil = FilSys.OpenTextFile(PhyPth, 1)
делать пока не IniFil.AtEndOfStream
StrBuf = IniFil.ReadLine
если StrBuf <> "" тогда
'В этой строке есть данные
if left(StrBuf, 1) <> ";" затем
«Это не комментарий
если left(StrBuf, 1) = "[" то
'Это заголовок раздела
HdrBuf = Mid(StrBuf, 2, len(StrBuf) - 2)
еще
«Это ценность
StrPtr = instr(StrBuf, "=")
AltBuf = lcase(HdrBuf & "¦" & left(StrBuf, StrPtr - 1))
делать, пока IniFileDictionary.Exists(AltBuf)
АльтБуф = АльтБуф & «_»
петля
IniFileDictionary.Добавить AltBuf, Mid(StrBuf, StrPtr + 1)
конец, если
конец, если
конец, если
петля
ИниФил.Закрыть
установить IniFil = ничего
установить FilSys = ничего
Конец субтитра
Функция IniFileValue(ByVal ValSpc)
тусклый ifarray
StrPtr = instr(ValSpc, "¦")
ВалСпк = lcase(ValSpc)
если StrPtr = 0, то
«Они хотят, чтобы весь раздел
СтрБуф = ""
StrPtr = len(ValSpc) + 1
ВалСпк = ВалСпк + " ¦"
ifarray = IniFileDictionary.Keys
для i = 0 до IniFileDictionary.Count - 1
если left(ifarray(i), StrPtr) = ValSpc, то
'Это из раздела
если StrBuf <> "" тогда
StrBuf = StrBuf & "~"
конец, если
StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))
конец, если
следующий
еще
«Они хотят получить конкретную ценность
StrBuf = IniFileDictionary(ValSpc)
конец, если
Инифилезначение = Стрбуф
Конечная функция
Функция Chr(раздел,ключ)
char1 = IniFileValue (раздел)
Строка поиска =символ1
SearchChar = ключ
MyPos=Instr(1,SearchString,SearchChar,1)
'char2=раздел+ключ
char1=mid(char1,MyPos+len(ключ)+1,len(char1)-MyPos+1)
Строка поиска =символ1
SearchChar = "~"
MyPos=Instr(1,SearchString,SearchChar,1)
если MyPos<>0, то
char1=mid(char1,1,MyPos-1)
еще
символ1 = середина (символ1,1)
конец, если
Хр = символ1
Конечная функция
%>
如何使用?
看看这个:
conn.asp
----------------------------------------------
<!--#include file="inifile.asp"-->
<%
при ошибке продолжить дальше
dim conn, connstr, dbuid, dbpwd, имя_базы, dbip
вызовите IniFileLoad("virtual=SMSVote.ini") '配置文件的名字
dbuid=Chr("SMSVote","Пользователь") 'Section="SMSVote",Key="Пользователь"
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
ответ.записать ошибку.описание
%>