选择自 mind_1220 ของ Blog
要求:
能够读取按foto INI 文件的Section和Key来读出相应的Value。
比如一个配置文件
SMSVote.ini
-
[SMSโหวต]
เซิร์ฟเวอร์=(ท้องถิ่น)
DB=SMSโหวต
ผู้ใช้=sa
รหัสผ่าน=123
[DB2โหวต]
เซิร์ฟเวอร์=192.168.0.1
ดีบี=ดีบี2
ผู้ใช้=sa
รหัสผ่าน=
-
主体程序(方法) :
inifile.asp
-
-
ตั้ง IniFileDictionary = CreateObject("Scripting.Dictionary")
ย่อย IniFileLoad (ByVal FilSpc)
IniFileDictionary.RemoveAll
FilSpc = lcase(FilSpc)
ถ้าเหลือ (FilSpc, 1) = "p" แล้ว
'เส้นทางทางกายภาพ
PhyPth = กลาง(FilSpc, instr(FilSpc, "=") + 1)
อื่น
'เส้นทางเสมือนจริง
PhyPth = Server.MapPath(กลาง(FilSpc, instr(FilSpc, "=") + 1))
สิ้นสุดถ้า
ตั้ง FilSys = CreateObject("Scripting.FileSystemObject")
ตั้ง IniFil = FilSys.OpenTextFile (PhyPth, 1)
ทำในขณะที่ไม่ใช่ IniFil.AtEndOfStream
StrBuf = IniFil.ReadLine
ถ้า StrBuf <> "" แล้ว
'มีข้อมูลในบรรทัดนี้
ถ้าเหลือ (StrBuf, 1) <> ";" แล้ว
'มันไม่ใช่ความคิดเห็น
ถ้าเหลือ (StrBuf, 1) = "[" แล้ว
'มันเป็นส่วนหัวของส่วน
HdrBuf = กลาง(StrBuf, 2, len(StrBuf) - 2)
อื่น
'มันเป็นคุณค่า
StrPtr = instr(StrBuf, "=")
AltBuf = lcase(HdrBuf & " ¦" & ซ้าย(StrBuf, StrPtr - 1))
ทำในขณะที่ IniFileDictionary.Exists (AltBuf)
AltBuf = AltBuf & "_"
วนซ้ำ
IniFileDictionary เพิ่ม AltBuf, กลาง (StrBuf, StrPtr + 1)
สิ้นสุดถ้า
สิ้นสุดถ้า
สิ้นสุดถ้า
วนซ้ำ
IniFil.ปิด
ตั้งค่า IniFil = ไม่มีเลย
ตั้งค่า FilSys = ไม่มีอะไร
จบหมวดย่อย
ฟังก์ชั่น IniFileValue (ByVal ValSpc)
อิฟาร์เรย์สลัว
StrPtr = instr(ValSpc, " ¦")
ValSpc = lcase(ValSpc)
ถ้า StrPtr = 0 แล้ว
'พวกเขาต้องการทั้งส่วน
StrBuf = ""
StrPtr = เลน (ValSpc) + 1
ValSpc = ValSpc + " ¦"
ifarray = IniFileDictionary.Keys
สำหรับ i = 0 ถึง IniFileDictionary.Count - 1
ถ้าซ้าย (ifarray(i), StrPtr) = ValSpc แล้ว
'นี่คือจากส่วน
ถ้า StrBuf <> "" แล้ว
StrBuf = StrBuf & "~"
สิ้นสุดถ้า
StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))
สิ้นสุดถ้า
ต่อไป
อื่น
'พวกเขาต้องการคุณค่าที่เฉพาะเจาะจง
StrBuf = IniFileDictionary(ValSpc)
สิ้นสุดถ้า
IniFileValue = StrBuf
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น Chr (ส่วน, คีย์)
char1=IniFileValue(ส่วน)
สตริงการค้นหา =char1
SearchChar = กุญแจ
MyPos=Instr(1,SearchString,SearchChar,1)
'char2=ส่วน+คีย์
char1=กลาง(char1,MyPos+len(คีย์)+1,len(char1)-MyPos+1)
สตริงการค้นหา =char1
ค้นหาชาร์ = "~"
MyPos=Instr(1,SearchString,SearchChar,1)
ถ้า MyPos<>0 แล้ว
char1=กลาง(char1,1,MyPos-1)
อื่น
ถ่าน1=กลาง(ถ่าน1,1)
สิ้นสุดถ้า
Chr = ถ่าน1
ฟังก์ชันสิ้นสุด
-
如何使用?
看看这个:
con.asp
-
<!--#include file="inifile.asp"-->
-
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
หรี่ conn,connstr,dbuid,dbpwd,dbname,dbip
โทร IniFileLoad("virtual=SMSVote.ini") '配置文件的名字
dbuid=Chr("SMSVote","ผู้ใช้") 'Section="SMSVote",Key="ผู้ใช้"
dbpwd=Chr("SMSVote", "รหัสผ่าน") 'Section="SMSVote",Key = "รหัสผ่าน"
dbname=Chr("SMSVote", "DB") 'ส่วน = "SMSVote", Key = "DB"
dbip=Chr("SMSVote", "เซิร์ฟเวอร์") 'Section="SMSVote",Key = "เซิร์ฟเวอร์"
ตั้ง conn=Server.CreateObject("adodb.Connection")
connstr="PROVIDER=SQLOLEDB;แหล่งข้อมูล="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname
conn.open constr
'response.write เชื่อมต่อกับ
ตอบกลับเขียนผิดคำอธิบาย
-