分享
 
 
 

ASP编程入门进阶(三):脚本程序

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

有了前面的html中关于form的强化知识,是不是在想,下面就可以开始ASP之旅呢?未必。

一般系统学过ASP的编程人员都会切身体会到:在系统学习ASP的内置对象和内置组件之前,学会脚本语言永远是至关重要的。

为什么这么说呢?为什么要学脚本语言呢?ASP和脚本语言又有什么关系呢?

首先说说ASP是贵为何物吧。ASP是Microsoft Active Server Pages的简称,它是一种服务器端脚本环境,可用来创建交互式 Web 页并建立强大的 Web 应用程序。可以表明ASP是一种基于服务器端的脚本环境,那就明白ASP为什么需要IIS支持了,因为IIS即为常用的一类web服务器;那也就明白为什么要学脚本语言了,因为ASP提供的是一种脚本环境。

再次需要说明的是,ASP只是一种环境,而非一种语言。如果真要形象化地说是ASP是网络编程语言的话,那也是属于一个html+脚本+asp提供的内置对象及组件的功能强大的混合语言。

所以,学点脚本非常重要!其实无论是学脚本语言,还是其它语言,我认为首先需要了解的是该语言涵盖的各类特性,包括:数据类型、事件、方法、 对象、属性、语法等当然这都是些空谈,正如在大学课堂上的某计算机语言课一样,搞纯研究性的就是觉得有些索而无味。还是实用些的好,能解决问题的程序才是好程序(印证能逮到老鼠的猫就是好猫的经典圣语,呵呵)。

当然,语言这东西还是要你去好好钻研的,比如你写求绝对值的程序,其实一个abs()函数就搞定了。再比如你会vb脚本,但把同样程序替换成java脚本就会出错,它们的数据类型不同,语句语法也不一样啊。正如说中文和外文一样,要会发音标(数据类型),会如何发音(方法),如何说成一句话(语法)……呵呵,有点让你难受吧。行!直接了当。你以后需要注意的是语言的函数、语法。当然也不是让你全看,按照教程中的遇到一个掌握一个。教程学完,差不多也结束了。呵呵,你要相信我。

目前有两种主要的脚本语言:VbScript和javascript。因为VbScript作为IIS默认的服务器脚本,所以我们所谈所学的基本是围绕VbScript为脚本的ASP的,当然也不排除有的时候使用javascript.

举一个很简单的例子:

<script language="vbscript">

<!--

sub button1_onclick

msgbox (" 欢迎使用vbscript! " )

end sub

-->

</script>

<script language="javascript">

<!--

function b213()

{

alert("欢迎使用javascript!")

}

-->

</script>

<form>

<input type="button" name="button1" value="vbs"><br>

<input type="button" name="button2" value="js" onclick="b213()">

</form>

vbscript中的Sub 就是一个事件过程。过程名包含两部分:一部分为按钮名,即 Button1(从 < INPUT > 标记中的 NAME 属性获取);另一部分为事件名,即 OnClick。两部分由下划线 (_) 连接。单击按钮时,Internet Explorer 查找并运行相应的事件过程,即 Button1_OnClick,而MsgBox 就是一个函数,对于它更具体的参数,你就好好看下了。

一时来劲,可能大家都看到网上有种狂恶心的对话框组,原理是什么呢?请看:

<script language="vbscript">

msgbox"你知道你会点确定的。。。。。。。"

msgbox"不点也要点。。。。。。。。"

msgbox"没办法是吧。。。。。。。。。。?"

msgbox"要不网页打不开啊。。。。。。"

msgbox"这招损人吧。。。。。。。。。"

msgbox"真想揍揍站长。。。。。。。。。"

</script>

其实站长用这些玩弄别人的时候,先玩弄了自己:因为这都是他想出来的啊:)

呵呵,我没有损大家的意思,只是为了学习。

在来个开页和退页弹出对话框的原理吧!

<script language="vbscript">

<!--

sub window_onload()

msgbox"welcome you!"

end sub

sub window_onunload()

msgbox"see you late!"

end sub

-->

</script>

开页显示“welcome you!”,关页显示“see you late!”

以上只是一个显示对话框msgbox,当然还有书写对话框inputbox也顺便看下吧。

<script language="vbscript">

<!--

dim strname

strname=inputbox("enter your name please:","enter your name","cnbruce")

document.write(strname&",welcome you!<p>")

-->

</script>

有关inputbox的想关参数也去看看吧。

再来看看几个实用的函数:

len():返回字符串长度或者变量的字节长度。

lef():截取一个字符串的前部分内容。

right():截取一个字符串的后部分内容。

text="1234567890abcdefgh"

i=10

lentext=len(text)

lefttext=left(text,i)

righttext=right(text,i)

alert ("文本长度是:"&lentext)

alert ("文本左取"&i&" 得的是:"&lefttext)

alert ("文本右取"&i&" 得的是:"&righttext)

</script>

根据这几个,经常看到的长文章后面加“......”的情况就是如下:

<script language=vbs>

text="123 4567 8fds90 abcde fghxcfv"

i=10

if len(text)>i then '如果文本长度大于给定的值

text=left(text,i) '则提取前段的i位的字符串

alert (text&"...")

else

alert (text)

end if

</script>

还有个比较重要的函数replace()

在字符串中查找,替代指定的字符串。

replace(strtobesearched,strsearchfor,strreplacewith)

strtobesearched是字符串;strsearchfor是被查找的子字符串;strreplacewith是用来替代的子字符串。

下面的一个就是很有用的文字转换程序。

<script language=vbs>

text="妈的,我靠"

text=replace(text,"妈的","MD")

text=replace(text,"靠","KAO")

alert (text&"...")

</script>

这些都是比较现实较好玩的些,玩中学习也不错:)但毕竟我们是要编程的,说到编写程序,我知道程序结构可以分:

1、顺序结构:就是最普通的,从上往下,从左往右执行的程序。

2、选择结构:给你两个条件,要不这样(if ... then),要不那样(else),任君选择:)

3、循环结构:给你一个最大发挥的空间,在不超出这个范围内进行活动(循环),否则自动退出(跳出循环)。

再复杂的程序也无非是由这三种结构综合嵌套运用过来的,你说是吧。

顺序结构没多少要说,因为程序执行基本都是这方向。

来看看选择结构,当然选择结构也可以嵌套。

<body>

hello,

<script language="vbscript">

<!--

dim thishour

thishour=hour(time)

if thishour<=12 then

document.bgcolor="red"

document.fgcolor="black"

document.write("上午好!")

else

if thishour<=18 then

document.bgcolor="blue"

document.fgcolor="white"

document.write("下午好!")

else

document.bgcolor="green"

document.fgcolor="yellow"

document.write("晚上好!")

end if

end if

-->

</script>

本页的作用是根据不同时间显示不同颜色和欢迎信息。

</body>

以上程序很简单吧,只要能认识英文就会懂程序(我是这么理解的:)

先把现在的小时提交出来:hour(time);

然后和12比较判断,如果<=12,肯定是上午了,否则就是下午和晚上;

否则里面继续条件判断,如果时间再<=18的话,那肯定就是下午了;

最后,不用说,瞎子猜猜也知道是晚上了:)

有关上一程序中的document.bgcolor就是文档的背景色,document.fgcolor就是文档的前景色(文字色),下一程序是动态改变背景颜色的。

<script language="vbscript">

<!--

sub setbgcolor(bcolor)

document.bgcolor=bcolor

end sub

-->

</script>

<form>

<input type="radio" name="color" onclick=setbgcolor("red")>red<br>

<input type="radio" name="color" onclick=setbgcolor("green")>green<br>

<input type="radio" name="color" onclick=setbgcolor("blue")>blue<br>

<input type="radio" name="color" onclick=setbgcolor("yellow")>yellow<br>

<input type="radio" name="color" onclick=setbgcolor("gray")>gray<br>

</form>

有关条件选择结构的嵌套再show出一个表单检测的程序。

<html><head><title>abc</title>

<script language="vbscript">

<!--

sub btnsubmit_onclick

if form1.name.value<>"" then

if form1.addr.value<>"" then

if form1.email.value<>"" then

if instr(form1.email.value,"@")<>0 and instr(form1.email.value,".")<>0 then

form1.submit

else

alert"email error!"

end if

else

alert "enter your email!"

form1.elements("email").focus

end if

else

alert "enter your address!"

form1.elements("addr").focus

end if

else

msgbox "enter your name please!"

form1.elements("name").focus

end if

end sub

-->

</script>

</head>

<body>

<form name="form1" method=post action="bug.html">

your name:<input type="text" name="name"><br>

your addr:<input type="text" name="addr"><br>

your email:<input type="text" name="email"><br>

<input type="button" name="btnsubmit" value="submit">

</form>

</body>

</html>

程序是给出来了,但看起来比较难懂,有时程序执行时间也比较重要,所以得精简程序代码。

正所谓:写程序容易,写经典程序难啊,那上面的程序还可以换种思维方式。改用javascript(注:学的是编程思想,不要太过计较脚本类型)。

<html><head><title>abc</title>

<script language="javascript">

<!--

function form1_onsubmit()

{

if (document.form1.name.value=="")

{

alert("请设定您的登陆名。")

document.form1.name.focus()

return false

}

else if(document.form1.addr.value=="")

{

alert("请填写您的地址。")

document.form1.addr.focus()

return false

}

else if(document.form1.email.value=="")

{

alert("请填写您的E-Mail地址。")

document.form1.email.focus()

return false

}

}

-->

</script>

</head>

<body>

<form name="form1" onsubmit="return form1_onsubmit()">

your name:<input type="text" name="name"><br>

your addr:<input type="text" name="addr"><br>

your email:<input type="text" name="email"><br>

<input type="submit" name="submit" value="submit">

</form>

</body>

</html>

最后来看下循环结构吧:1到500可不是一个一个写出来的。

<script language=vbs>

for i= 1 to 500

document.write(i&"<br>")

next

</script>

当然循环不只可以用for,还可以用do while...loop等。

反正程序这东西是代替我们少做了许多重复单一无聊的事——只要你合理利用程序。

应该有些成就吧,学语言,学编程就是学语法语义,学编程架构思想。

当然这要你有扎实的本语言的基础,基础是什么?你知道哪些函数吗?你知道怎么用程序怎么判断偶数吗(包含了运算)?你知道如何进行表单检测吗?你知道哪三种程序架构吗?

呵呵,把以上的程序吃透,最好再多看看脚本参考手册,跟我就可以开始ASP的上路了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有