仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 423|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网站制作之用ASP读INI设置文件的函数

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。选择自mind_1220的Blog
请求:
可以读取依照INI文件的Section和Key来读出响应的Value。
好比一个设置文件
SMSVote.ini
---------------------------------
[SMSVote]
Server=(local)
DB=SMSVote
User=sa
PassWord=123
[DB2Vote]
Server=192.168.0.1
DB=DB2
User=sa
PassWord=
---------------------------------


主体程序(办法):

inifile.asp
-----------------------------------------------
<%
setIniFileDictionary=CreateObject("Scripting.Dictionary")

SubIniFileLoad(ByValFilSpc)
IniFileDictionary.RemoveAll
FilSpc=lcase(FilSpc)
ifleft(FilSpc,1)="p"then
Physicalpath
PhyPth=mid(FilSpc,instr(FilSpc,"=")+1)
else
Virtualpath
PhyPth=Server.MapPath(mid(FilSpc,instr(FilSpc,"=")+1))
endif

setFilSys=CreateObject("Scripting.FileSystemObject")
setIniFil=FilSys.OpenTextFile(PhyPth,1)
dowhilenotIniFil.AtEndOfStream
StrBuf=IniFil.ReadLine
ifStrBuf""then
Thereisdataonthisline
ifleft(StrBuf,1)";"then
Itsnotacomment
ifleft(StrBuf,1)="["then
Itsasectionheader
HdrBuf=mid(StrBuf,2,len(StrBuf)-2)
else
Itsavalue
StrPtr=instr(StrBuf,"=")
AltBuf=lcase(HdrBuf&"|"&left(StrBuf,StrPtr-1))
dowhileIniFileDictionary.Exists(AltBuf)
AltBuf=AltBuf&"_"
loop
IniFileDictionary.AddAltBuf,mid(StrBuf,StrPtr+1)
endif
endif
endif
loop
IniFil.Close
setIniFil=nothing
setFilSys=nothing
EndSub

FunctionIniFileValue(ByValValSpc)
dimifarray
StrPtr=instr(ValSpc,"|")
ValSpc=lcase(ValSpc)
ifStrPtr=0then
Theywantthewholesection
StrBuf=""
StrPtr=len(ValSpc)+1
ValSpc=ValSpc+"|"
ifarray=IniFileDictionary.Keys
fori=0toIniFileDictionary.Count-1
ifleft(ifarray(i),StrPtr)=ValSpcthen
Thisisfromthesection
ifStrBuf""then
StrBuf=StrBuf&"~"
endif
StrBuf=StrBuf&ifarray(i)&"="&IniFileDictionary(ifarray(i))
endif
next
else
Theywantaspecificvalue
StrBuf=IniFileDictionary(ValSpc)
endif
IniFileValue=StrBuf
EndFunction
FunctionChr(section,key)
char1=IniFileValue(section)
SearchString=char1
SearchChar=key
MyPos=Instr(1,SearchString,SearchChar,1)
char2=section+key
char1=mid(char1,MyPos+len(key)+1,len(char1)-MyPos+1)
SearchString=char1
SearchChar="~"
MyPos=Instr(1,SearchString,SearchChar,1)
ifMyPos0then
char1=mid(char1,1,MyPos-1)
else
char1=mid(char1,1)
endif
Chr=char1
EndFunction
%>

怎样利用?

看看这个:
conn.asp
-----------------------------------------------
<!--#includefile="inifile.asp"-->

<%
onerrorresumenext
dimconn,connstr,dbuid,dbpwd,dbname,dbip
callIniFileLoad("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"

setconn=Server.CreateObject("adodb.Connection")
connstr="PROVIDER=SQLOLEDB;DATASOURCE="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname
conn.openconnstr
response.writeconn
response.writeerr.description
%>
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的
透明 该用户已被删除
沙发
发表于 2015-1-18 20:55:13 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
分手快乐 该用户已被删除
板凳
发表于 2015-1-23 13:39:03 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
活着的死人 该用户已被删除
地板
发表于 2015-1-31 17:11:23 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-6 20:40:37 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
再见西城 该用户已被删除
6#
发表于 2015-2-18 15:59:43 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-6 08:44:05 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
老尸 该用户已被删除
8#
发表于 2015-3-12 22:51:58 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-20 04:47:08 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表