typedef struct StackNode
{
ElemType data;
StackNode *next;
)StackNode, *LinkType; //结点类型,指针类型
typedef struct
{
LinkType top;
int size;
}Stack; //栈类型
//栈的基本操作如下
Status InitStack(Stack &s)
{
s.top=NULL;
s.size=0;
return ok;
}
Status Push(Stack &s,ElemType e)
{
p=(LinkType*)malloc( sizeo ......
Perl、PHP、ASP、JSP技术比较
本文将对目前最常用的四种动态网页语言Perl(Practical Extraction and Report Language)、PHP(Hypertext Preprocessor)、ASP(Active Server Pages)、JSP(JavaServer Pages)进行一些技术性的比较。
Perl
Perl(Practical Extraction and Report Language)是一种很古老的脚本语言。最初的Web应用大多是用Perl编写的,Perl很像C语言,使用非常灵活,对于文件操作和处理具有和C语言一样的方便快捷。
也正是因为Perl的灵活性和“过度”的冗余语法,也因此导致许多Perl程序的代码令人难以阅读和维护,因此使用的人在逐渐减少,并且目前有被Python替代的可能。
另外Perl对于CPU的消耗似乎较高,效率似乎有一些不足。
Perl开发的成功案例:
Movable Type — 世界上使用最多的Blog系统之一,功能强大的足以和一个CMS系统相比拟。
Awstats — 非常经典的日志系统,速度极快,功能也非常强大。
结论:Perl在部分应用中能发挥很大优势,但其维护性差使得其普及变得很困难。
PHP
PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语 ......
Perl、PHP、ASP、JSP技术比较
本文将对目前最常用的四种动态网页语言Perl(Practical Extraction and Report Language)、PHP(Hypertext Preprocessor)、ASP(Active Server Pages)、JSP(JavaServer Pages)进行一些技术性的比较。
Perl
Perl(Practical Extraction and Report Language)是一种很古老的脚本语言。最初的Web应用大多是用Perl编写的,Perl很像C语言,使用非常灵活,对于文件操作和处理具有和C语言一样的方便快捷。
也正是因为Perl的灵活性和“过度”的冗余语法,也因此导致许多Perl程序的代码令人难以阅读和维护,因此使用的人在逐渐减少,并且目前有被Python替代的可能。
另外Perl对于CPU的消耗似乎较高,效率似乎有一些不足。
Perl开发的成功案例:
Movable Type — 世界上使用最多的Blog系统之一,功能强大的足以和一个CMS系统相比拟。
Awstats — 非常经典的日志系统,速度极快,功能也非常强大。
结论:Perl在部分应用中能发挥很大优势,但其维护性差使得其普及变得很困难。
PHP
PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语 ......
Perl、PHP、ASP、JSP技术比较
本文将对目前最常用的四种动态网页语言Perl(Practical Extraction and Report Language)、PHP(Hypertext Preprocessor)、ASP(Active Server Pages)、JSP(JavaServer Pages)进行一些技术性的比较。
Perl
Perl(Practical Extraction and Report Language)是一种很古老的脚本语言。最初的Web应用大多是用Perl编写的,Perl很像C语言,使用非常灵活,对于文件操作和处理具有和C语言一样的方便快捷。
也正是因为Perl的灵活性和“过度”的冗余语法,也因此导致许多Perl程序的代码令人难以阅读和维护,因此使用的人在逐渐减少,并且目前有被Python替代的可能。
另外Perl对于CPU的消耗似乎较高,效率似乎有一些不足。
Perl开发的成功案例:
Movable Type — 世界上使用最多的Blog系统之一,功能强大的足以和一个CMS系统相比拟。
Awstats — 非常经典的日志系统,速度极快,功能也非常强大。
结论:Perl在部分应用中能发挥很大优势,但其维护性差使得其普及变得很困难。
PHP
PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语 ......
要用ASP来操作SQLite数据库,前提条件是在服务器上得安装SQLite的ODBC驱动程序,可到这个站点上下载安装:http://www.ch-werner.de/sqliteodbc/,安装好后就可以像使用Access一样来使用SQLite了!下边是一个SQLite数据库结构:
引用内容
Create TABLE admin(username text,age integer);
我们再来用ASP演示下如何对SQLite数据库进行记录的增、查、改、删操作:
程序代码
<%
Response.Buffer = False '不加此句可能出现"超过响应缓冲区限制"错误
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
conn.open "DRIVER={SQLite3 ODBC Driver};Database=F:\mzwucom\bbs\db1.db"
conn.execute("insert into admin values('usera',20)")
'conn.execute("update admin set username='kk' where username='usera'")
'conn.execute("delete from admin where age=20")
rs.open "select * from admin",conn,1,1
Do while Not rs.Eof
Response.Write(rs("username") & "," & rs("age") & "<br/>")
rs.movenext
Loop
rs.close
Set rs = ......
要用ASP来操作SQLite数据库,前提条件是在服务器上得安装SQLite的ODBC驱动程序,可到这个站点上下载安装:http://www.ch-werner.de/sqliteodbc/,安装好后就可以像使用Access一样来使用SQLite了!下边是一个SQLite数据库结构:
引用内容
Create TABLE admin(username text,age integer);
我们再来用ASP演示下如何对SQLite数据库进行记录的增、查、改、删操作:
程序代码
<%
Response.Buffer = False '不加此句可能出现"超过响应缓冲区限制"错误
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
conn.open "DRIVER={SQLite3 ODBC Driver};Database=F:\mzwucom\bbs\db1.db"
conn.execute("insert into admin values('usera',20)")
'conn.execute("update admin set username='kk' where username='usera'")
'conn.execute("delete from admin where age=20")
rs.open "select * from admin",conn,1,1
Do while Not rs.Eof
Response.Write(rs("username") & "," & rs("age") & "<br/>")
rs.movenext
Loop
rs.close
Set rs = ......
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
Response.Buffer = True '缓存图片
Dim objXMLHTTP, XML
Set XML = Server.CreateObject("Microsoft.XMLHTTP") '建立下载对象
XML.Open "GET","http://www.google.cn/images/nav_logo7.png",False '开始获取图片,http://xxx/png这节可以改成自己要的.其它别动
XML.Send '发送下载请求
Response.AddHeader "Content-Disposition", "attachment;filename=png.png" '设置asp输出类型,不让浏览器当成html显示,现在设置成png
Response.ContentType = "image/png" '显示成png
Response.BinaryWrite XML.responseBody '输出下载好的png内容,用二进制输出
Set XML = Nothing
%>
get_png.asp输出png
<!---图片开始//-->
<!---图片id不能变,但是可以自己加上大小=属性//-->
<img src="get_png.asp" mce_src="get_png.asp" id=png_img>
<mce:script type="text/javascript"><!--
setInterval(
function ()
{
var png_asp = "get_png.asp";//png的asp文件
png_asp += "?t=" + Math.random();//加上时间才可以每次下载新的.
document.getElementBy ......
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
Response.Buffer = True '缓存图片
Dim objXMLHTTP, XML
Set XML = Server.CreateObject("Microsoft.XMLHTTP") '建立下载对象
XML.Open "GET","http://www.google.cn/images/nav_logo7.png",False '开始获取图片,http://xxx/png这节可以改成自己要的.其它别动
XML.Send '发送下载请求
Response.AddHeader "Content-Disposition", "attachment;filename=png.png" '设置asp输出类型,不让浏览器当成html显示,现在设置成png
Response.ContentType = "image/png" '显示成png
Response.BinaryWrite XML.responseBody '输出下载好的png内容,用二进制输出
Set XML = Nothing
%>
get_png.asp输出png
<!---图片开始//-->
<!---图片id不能变,但是可以自己加上大小=属性//-->
<img src="get_png.asp" mce_src="get_png.asp" id=png_img>
<mce:script type="text/javascript"><!--
setInterval(
function ()
{
var png_asp = "get_png.asp";//png的asp文件
png_asp += "?t=" + Math.random();//加上时间才可以每次下载新的.
document.getElementBy ......
ASP.NET3.5可以很简答的实现一个很有用的功能,既跨页面传送,
传统的提交窗体只会将窗体提交给它自己。而跨页面的提交,
会将page1的内容传送个page2,并在page2中使用page1中的控件。
① 跨页面传递的简单实现
页面一(Default.aspx)中的控件
<asp:TextBox ID="txtPageDefault" runat="server"></asp:TextBox>
<asp:Button ID="btnToPostBackPage" runat="server" Text="跨窗体提交"
PostBackUrl="~/PostBackPage.aspx" style="height: 21px" />
页面一的后台代码是不需要的,只要PostBackUrl="~/PostBackPage.aspx"这样注明要提交的目标页面就可以了
页面二(PostBackPage.aspx)前台控件
<asp:TextBox ID="txtPagePostBack" runat="server"></asp:TextBox>
页面二后台代码
& ......
方法一:
function document.onkeydown()
{
if(event.keyCode==13)
{
document.form1.all.Submit.click(); //这里的submit是按钮的ID
}
}
方法二:
<form id="form1" runat="server" defaultbutton="button1">
<div>
<asp:Panel DefaultButton="button1"></asp:Panel>
<asp:Button ID="button1" runat="server" Text="Button1" />
</div>
</form>
方法三:
在Page_Load中加入如下代码
TextBox.Attributs.Add("onkeydown","if(keyCode==13) {document.all.Button2.focus(); document.all.Button2.click();}");
方法四:
<form id="form1" runat="server" defaultbutton="Ok">
<!--设置form的属性 defaultbutton=“默认按钮ID” 这个是我在VS2005中式的-->
方法五:
2个以上的textbox,先判断焦点在选择对应的按钮
<script type="text/javascript">
function document.onkeydown()
{
&nbs ......