Bill Gates在北大演说时,遭遇一名男子举牌抗议袭击,牌子上写着“Free Soft,Open Source”(自由软件,开源)。Bill Gates在台上脸色凝重,而他身边的人,一个在笑,一个很忧虑。
举牌男子真名叫王洋,出于对于自由软件、开源事业的热爱和执着,现已经正式改名为“王开源”。王开源先生在北京中关村是个历练多年的资深人士,从销售员、
主管、创业,一直在IT界摸爬滚打,用他的话说:“几乎经历了中关村的整个兴衰和成长”。2005年王开源先生任即时科研集团总裁助理;2006年加入
CSDN,参与创建OSDN开源社区,并与北京大学、中国开源软件联盟合作,首次把“国际软件自由日”引进中国。2007年王开源先生加盟全球最大的
Linux第三方专业认证机构----LPI(Linux Professional Institute)。
可见,该男子为中国的开源产业做出了较大的贡献,甚至有点激进,连自己的名字也叫开源。
于此同时,网上的相关评论也蜂拥而至,大部分人支持他的做法。而有一小部分人写了几篇不赞成他的博文,竟然被回复骂得体无完肤。
对于开源,我没有什么深刻理解。我知道开源的必要性,但我在没有涉足开源产业的时候,我不敢妄加评论那人的做法是否正确与否。我从一个业余人士的角度来评论这个人的做法。
IBM和SUN无疑是开源产业的两大巨头。IBM斥资几千万开发著名的开源软件Eclipse,Sun公司的JDK也开源了,他们两家公司为开源做出了很
大的贡献,为软件事业的进步也做出了很多,但这两家公司在软件方面,并不是全球第一,而Microsoft是。为了与Microsoft争夺市场,打击
Microsoft的垄断地位,并且推动软件业的发展,开源无疑是最好的选择。如今,开源正在逐渐走向正轨,逐渐被市场所接受了。Red
Hat公司,作为Linux操作系统最大的开发商,去年已经实现了上亿元的利润,而Red Hat Linux是一个开源产品。现在,Red
Hat公司在服务器方面,已经超越了微软的Windows
NT,如今,正在和微软的桌面操作系统抗衡。再举个例子,大家都要上网,从前,我们都是用IE浏览器,如今,一个上手容易,操作方便,开源的,优秀的,安
全的浏览器FireFox已经逐渐发展壮大,并有取代IE之势。就连我开发网站的时候,也开始兼容到FireFox了。可见,开源确实在慢慢走向成熟。
开源在中国没有快速发展起来,那决不是微软的错。为什么中国99%的个人用户都在使用Windows?有两个原因。第一,在上世纪90年代,中国大力培养
IT技术人才,渐渐地,一些学院开了技术培训。我也参加过,当时开的是什么课?MS-DOS,Windows
3.2,Foxpro编程,Microsoft Word,Microsoft
Excel,有哪一样不是微软公司的产品?再看中学和大学电脑机房里安装的操作系统,大部分都是Windows,学的编程是Visual Basic
6.0,就连我大一上的计算机基础,也是Windows、Word、Excel的用法。教育导致了今天Microsoft的产品垄断了中国市场。第二个原
因,那就是中国法律的不健全。中国盗版猖獗,反映的就是知识产权得不到保护。同时,中国盗版猖獗也给Microsoft蒙受了经济损失。大部分个人用户电
脑上装的Windows,都是盗版的。如果中国法律规定,不许使用盗版,那么在上百元的Windows和免费的Linux之间,你会选择哪一个?我相信,
会有很大一部分人会选择Linux。中国没有采取强硬手段抵制盗版,就是因为中国现在离不开Microsoft,同时,又不想让Microsoft在中国
捞取大把钞票。
所以我觉得,王开源不能把所有的矛头都指向Microsoft。Microsoft现在也渐渐在开源,因为它也感受到了开源给他们施加的压力,这是好事,
这说明软件产业正在走向平衡,正在走向健康。王开源的想法是好的,只是方法有点过激了。因为他身处中国开源产业,他很清楚地知道中国开源产业的危机。
反观网上的评论,真是让我觉得恶心,没有诚恳的个人想法,充斥着谩骂和无知,全都是带有主观色彩的评判,还有很多无知的瞎起哄者。网络,这一虚幻的、匿名
的世界,把中华民族的劣根性表现地淋漓尽致,最突出的表现就是粗俗和不尊重他人劳动。为什么会是这个样子,为什么中国的网络环境就是如此的龌龊呢?为什么
有如此多的中国同胞的素质会表现地如此低下呢?为什么这么多人都不懂得尊重呢?
想到这里,我不免有点伤心。因为尊重他人是最起码的道德,没有尊重,就没有合作。开源,它不仅是一种产业,它也是一种产业结构的升华,它也是一种精神文明
的象征。开源强调的是合作,强调的是彼此信任,强调互帮互助,强调共同进步。中国,没有健全的法律保护知识产权,和信誉机制,中国人的性格偏向自我,也就
没有合作的意识。所以,开源在中国肯定会举步维艰。即使现在微软都开源了,开源在中国依然难以发展,因为我们没有开源的基础。
CoffeeCat
2007-04-21
由于学校安排了"微机接口技术"这门课,而且实验需要用汇编来编写,没办法,只好简单学了学汇编。我发现汇编的入门有点难度,主要是因为我们的教科书(周明德主编《微机原理与接口技术》)的示例程序很多都是错误的,不知道是作者写错了,还是出版社(人民邮电出版社)的不负责任,因此增加了我们实现程序的难度。原因二是汇编的网上资料都比较乱,没有很好的源代码,而且汇编种类很多,所以很难找到合适的资料。
综合以上原因,我写了一个比较完整的简单示例程序,提供给初学者入门。该程序的功能很简单,是打印指定字符串,并求出字符串的个数并打印出来。
该程序包含了简单汇编程序的核心内容,包括了段的写法,过程的写法和调用,以及栈段的简单用法,同时,也有如何输出单个字符,如何输出字符串,如何打印数字,如何让程序等待运行(即C语言的getchar()),我觉得对汇编入门很有帮助,与大家分享。
文件:str.asm
DATA SEGMENT
MSG0 DB '=========================字符串的长度与显示========================','$'
MSG1 DB ' 字符串为 ','$'
MSG2 DB ' 字符串长度为 ','$'
MSG3 DB '=============================CoffeeCat============================','$'
STRING DB 'ABCDEFGHNIASDNFKNSADKLFASDFKLNASDKF','$'
CR EQU '$'
COUNT DB ?
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
STAPN DB 100 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA DX,MSG0
CALL PRINTS
CALL ENTER
CALL ENTER
CALL ENTER
LEA DX,MSG1
CALL PRINTS
LEA DX,STRING
CALL PRINTS
CALL ENTER
LEA DX,MSG2
CALL PRINTS
LEA DI, STRING
MOV AL,[DI]
MOV BL,CR
MOV DL,0
AGAIN: CMP AL,BL
JE NEXT
INC DL
INC DI
MOV AL,[DI]
JMP AGAIN
NEXT:
CALL TOSTR
CALL ENTER
CALL ENTER
CALL ENTER
LEA DX,MSG3
CALL PRINTS
CALL STAND
CALL QUIT
PRINTC PROC NEAR ;打印字符
MOV AH,02H
INT 21H
RET
PRINTC ENDP
PRINTS PROC NEAR;打印字符串
MOV AH,09H
INT 21H
RET
PRINTS ENDP
ENTER PROC NEAR;显示回车换行
MOV DL,0DH ;输出回车控制符cr
CALL PRINTC
MOV DL,0AH ;输出换行控制符lf
CALL PRINTC
RET
ENTER ENDP
STAND PROC NEAR;程序暂停,等待输入
MOV AH,01H
INT 21H
RET
STAND ENDP
TOSTR PROC NEAR;将DL中的数值打印出来
MOV CL,10
MOV AX,0
MOV COUNT,0
MOV BL,DL
AGAIN2:
MOV AX,0
MOV AL,BL
DIV CL
MOV BL,AL
MOV DL,AH ;取出余数并打印
ADD DL,'0'
INC COUNT ;计数器+1,用于保存DL的位数
;压入栈
MOV AH,0
MOV AL,DL
PUSH AX
CMP BL,0
JNZ AGAIN2
AGAIN3:
CMP COUNT,0
JE DONE
POP AX
MOV DL,AL
CALL PRINTC
DEC COUNT
JMP AGAIN3
DONE:
RET
TOSTR ENDP
QUIT PROC NEAR ;程序结束
MOV AH,4CH
INT 21H
RET
QUIT ENDP
MOV AH,4CH
INT 21H
CODE ENDS
END START
程序简单说明:
该程序首先定义了数据段data,其次是栈段stack,最后是代码段code。
该程序包含了6个子过程,如下所示。而在start里,主要通过CALL来调用子程序完成相应的功能。
PRINTC 打印单个字符
PRINTS 打印字符串
ENTER 输出回车换行
STAND 等待输入,也就是让程序暂停
TOSTR 将数字打印出来
QUIT 退出程序
运行方法:
打开cmd窗口,用cd命令切换到str.asm文件所在目录,然后输入命令
masm str.asm
link str.asm
str.exe
当然,环境变量path必须加上masm的所在的路径,比如,你的masm安装的路径是c:\masm,则你需要设置你的环境变量path,在原来的内容后加上;c:\masm即可,否则,masm命令将不可用
CoffeeCat
2007-04-17
TP-Link SOHO Router R402M是一款比较优秀的路由器,适合4人寝室组网使用,我们寝室已经用了3年。本文我先讲讲寝室组网的方法,然后再就一些平时使用碰到的一些奇怪的问题做个交流。
寝室组网的方法 1:准备一根网线,连接路由器的WAN口和寝室上网端口
2:再准备n根网线,用于连接n台电脑。连接方法很简单,将电脑的网卡接口和路由器上1-4端口随意的一个相连。
3:打开电脑,打开路由器电源
4:设置网络
控制面板->网络连接->右击本地连接,选择属性,点击其中的TCP-IP,选择属性,然后选择自动分配IP,自动配置DNS服务器,然后确定即可
5:打开IE浏览器,输入网址:http://192.168.1.1,然后输入用户名admin,密码admin,进入路由器设置
6:选择左边菜单里的设置向导,进行路由器设置,点击下一步,会出现以下选择
本路由器支持以下三种常用的上网方式,请您根据实际需要进行选择。
ADSL虚拟拨号(PPPoE) |
以太网宽带 ,自动从网络服务商获取IP地址(动态IP) |
以太网宽带 ,网络服务商提供的固定IP地址(静态IP) |
这个需要根据不同的上网方式进行正确的选择,下面我分别解释一下
ADSL:先去电信买张上网卡,得到上网帐号和密码,输入路由器就可以了
动态IP:如果您的电脑直接插在寝室上网端口就能上网,并且您的电脑的本地连接TCP-IP协议是自动获取IP的,那就选择动态IP。对于有线通用户,将路由器连在cable上,再选择动态IP即可。当然,一般寝室网络很少用有线通。
固定IP:如果您的电脑直接插在寝室上网端口,并设置您本地连接的TCP-IP协议的属性,设置正确的IP和DNS就可以上网,那就选择固定IP,将这些信息输入到路由器中即可。
7:设置完成之后就能上网了。
常用问题汇总1:电脑不能访问路由器怎么办(即不能http://192.168.1.1) 1:控制面板->网络连接->本地连接->属性->TCP-IP协议->属性,设置为自动获取IP,自动获取DNS服务器
2:控制面板->网络连接->本地连接->禁用
3:控制面板->网络连接->本地连接->启用
4:好,稍等片刻,看看能不能访问了,如果还不能访问,请往下看
5:控制面板->网络连接->本地连接->状态->支持,检查IP地址是否以192.168.1开头,如果不是,请先记下网关的IP,然后看第6条;检查网关是否是192.168.1.1,如果你看到的是192.168.1.5,则输入http://192.168.1.5即可访问路由器。
6:如果您已经看到第6条了,那就说明您的路由器DHCP没有开。您需要手动设置IP,具体方法是:
控制面板->网络连接->本地连接->属性->TCP-IP协议->属性,网关和DNS服务器都设置为第5条记下的IP,IP地址前3位和网关一致,第4位随意,但不能和网关一样。子网设置为255.255.255.0
现在您应该可以访问路由器了。
2:电脑连上了路由器,但是不能上网,怎么办? 1:进入路由器,选择运行状态。在WAN口状态中,如果IP地址是0.0.0.0,请按连接。如果IP不是0.0.0.0,那么请先按断线,再按连接。
2:已经重新连接过了,如果WAN口状态的IP地址还是0.0.0.0,那说明您路由设置错了,请看上文进行重新设置,或者您的上网卡过期了,也可能是您的ISP暂时关闭了。
3:我能上QQ,但是不能看网页,怎么办?
1:可能您的DNS服务器设置不对,解决方法如下:
1:控制面板->网络连接->本地连接->状态->支持,记下您的网关地址
2:控制面板->网络连接->本地连接->属性->TCP-IP协议->属性,网关和DNS服务器都设置为第5条记下的
IP,IP地址前3位和网关一致,第4位随意,但不能和网关一样。子网设置为255.255.255.0。
3:看看现在能不能看网页了
2:可能您的IE浏览器设置了代理,而代理服务器已经关闭了,解决方法如下:
打开IE,工具,Internet选项->连接->局域网设置->取消选择“使用代理服务器...”这个选项即可。如果还不能上,请检查DNS服务器设置。如果您原本就没有设置过代理服务器,那就是您的IE被防火墙阻挡了,打开杀毒软件或防火墙进行设置,或者关闭他们试试。
CoffeeCat
2007-03-31
大家请看下列的程序:
sql = "insert into table values "
conn.execute(sql) 运行的时候出现下列错误
Microsoft JET Database Engine 错误'80004005'
操作必须使用一个可更新的查询
你可能会觉得奇怪,这是一个典型的数据库插入语句,怎么不是一个可更新的查询呢?
没错,所以问题的原因只能是您的数据库只读,不能被修改,所以返回如上错误信息。
解决方法:
1:其实这个解决方法在我第一篇文章里已经谈到,也就是关于设置NTFS权限的问题,您可以去那里看到第一种解决方法
http://www.cnitblog.com/CoffeeCat/archive/2005/08/24/2300.html
2:这里再补充一点,如果您试了第一种方法还是不行,并且您使用的是Access数据库,那么请打开您的这个数据库,然后选择“工具”->"选项"->"高级",设置“默认打开模式”为“共享”,“默认记录锁定”设置为“不锁定”即可。
CoffeeCat
2007-03-23
Linux经过这些年的发展,其易用性大大提高,这也体现在Linux的安装程序上,所以,将Linux安装在一台已安装了Windows的电脑上已经不是什么难事。下面,我就谈谈如何在windows电脑上安装Linux。
本文适合在已有Windows的计算机上安装Linux的用户,也适合在空硬盘上同时安装两个操作系统的用户阅读。如果您想同时安装Windows和Linux,那很简单,请先安装Windows,并在安装Windows的时候,创建好分区,其中,创建一个大于5G的分区用于安装Linux。当你完成了windows的安装,您可以阅读以下正文,来继续安装Linux。
在写正文前,你要知道一个常识,Linux的文件系统和windows的文件系统是互不兼容的。所以,如果您要安装Linux,您就必须从windows里奉献出一个分区给Linux。
好,下面开始正文。
1:前期准备(准备Linux分区) 我们要安装的Linux版本是Red Hat 9,一共三张CD
我们的电脑分区结构:C、D、E、F
其中,D盘数据已经清空,大小10GB。这个分区就是用来装Linux的。记住,在安装完Linux以后,您在Windows里将看不到这个分区了。(不兼容的文件格式)
2:开始安装
建议:如果您是第一次安装,最好将您电脑上的数据进行备份。如果您没有备份数据,请仔细阅读文章以后再操作,以免造成数据的破坏。
1:放入Red Hat 9 的第一张光盘,重启电脑,让CD先于光盘启动。如果您看到了Red Hat的商标,那恭喜您,光盘启动成功。如果您没有看到,而是又进入了Windows,那么请进入您的BIOS,将CD-Rom先于HDD启动。
2:按下Enter键,进行图形化模式的安装。之后会出现一个对话框,要求检查光盘,您可以选择skip,以节约时间。
3:之后的选项卡的内容无非就是选择语言,鼠标,键盘,时间等,我就不多说了,一般选择默认就可以了。当你看到了这个单词:
partition(分区)的时候,你就要小心了,因为下面将进入至关重要的分区阶段。
4:分区模式有两个,第一个是自动分区,第二个是手动分区,记住,一定要选择手动分区,否则您的windows将被自动分掉了。
5:好,进入了手动分区 你可以看到上部,有一个图,这就是我们的硬盘分区图,你应该可以看到4个分区,其中第二个分区,就是我们的D盘。我们将把Linux创建在这个分区上,而其他分区不去动它。点击这个分区,让这个分区突出显示。
1:当你选择了D盘以后,点击新建(new),也就是在D盘中再创建Linux的分区。
2:弹出一个对话框,挂载点(mount)选择swap,大小设置为你内存的2倍,并选择“将分区格式化成swap”,这样,就创建了一个swap分区了。
注:Linux的分区至少有两个,一个是swap分区,大小一般为你内存的2倍,主要用于虚拟内存,也就是内存数据与硬盘的交换。还有一个就是数据分区。 3:好,您已经创建了一个swap分区,现在看看分区图,是不是在D盘里面又有了一个新的块了?好了,剩下的那个块我们再创建一个数据分区。点击D盘中那个剩下的块,点击新建。
4:弹出一个对话框,挂载点(mount)选择 / ,即根目录,并选择“将分区格式化成ext3”,这样,就创建了一个数据分区了。注意:Linux的数据都存在/目录下,即根目录下,所以,您将根目录作为一个独立的挂载点,那就包含了所有的数据了。当然,您还可以再为某个目录创建一个分区,当然,为了简单起见,这里我们就创建一个数据分区。
5:至此,我们的分区已经完成,点击下一步进行安装。如果您点击下一步的时候,得到安装程序的错误,请仔细阅读上文,并确保您的分区中包含了swap分区和数据分区。
3:完成安装 剩下的工作很简单,您都可以使用默认设置来完成。不过请注意,请一定要选择正确的显卡驱动。如果您的显卡适配器不幸没有再Linux系统中列出,那就是用它默认的,但请特别注意:在你配置显示器的时候,色彩深度设置为16,不要设置成24,否则安装完成以后就会出现花屏,很麻烦的。如果你不幸已经花屏了,那请参看我的另一篇文章:
解决Red Hat 9安装完后花屏,黑屏的方法。
好了,当文件复制完成之后,您的Linux就安装好了。重启电脑时,一开始就会进入GRUB启动程序。在启动菜单中,有两个选项。第一个Red Hat 9,第二个是DOS,也就是Windows。您可以选择要进入哪一个操作系统。
CoffeeCat
2007-03-22
有时候,我们想将ASP中的变量的值传给Javascript的程序,那怎么办呢?
很简单,只需要将Javascript的程序用ASP的response.write输出即可,举个例子
<%
dim x1
x1=1
response.Write("<script>")
response.Write("<!--")
response.Write("var x2;")
response.Write("x2 = " & x1 & ";")
response.Write("-->")
response.Write("</script>")
%>
这样,就能将ASP中x1变量的值传递给Javascript程序中X2的值。
问题出现了,在<script></script>标签内,你无法使用<%%>,所以,如果你要用ASP实现与JS的变量传递,就得将整个Javascript程序用response.write输出。
因为建站需要,我写了个简单的转换程序,顺便提供给大家。注意,文件名和form的action要一致。
ASPtojavascript.asp
<%
Option Explicit
public function ASPWriter(str)
if str = "" then
ASPWriter = ""
else
dim arr
arr = split(str,chr(13)&chr(10))
dim i
dim temp
'双引号34,单引号39
for i = 0 to UBound(arr)
if trim(arr(i)) <> "" then
arr(i) = "response.Write(" & chr(34) & replace(trim(arr(i)),chr(34),chr(39)) & chr(34) & ")"
end if
temp = temp & arr(i) & chr(13)
next
ASPWriter = temp
end if
end function
%>
<%
dim input
input = request.Form("input")
%>
<body>
<center>
<font size="+5">
HTML - ASP输出HTML转换器
</font>
</center>
<form name="form1" method="post" action="ASPtojavascript.asp">
<table width="85%" align="center">
<tr>
<td>输入</td>
</tr>
<tr>
<td><textarea name="input" cols="120" rows="20"><%=input%></textarea></td>
</tr>
<tr>
<td>输出</td>
</tr>
<tr>
<td><textarea name="output" cols="120" rows="20"><%=ASPWriter(input)%></textarea></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value="转 换"></td>
</tr>
</table>
</form>
</body>
输入框中输入HTML的程序,输出就是用response.write加过的ASP代码
CoffeeCat
2007年3月19日
今天一个朋友找我帮忙,他把U盘插入电脑以后,杀毒软件显示有病毒,于是她将病毒删除。可再次插上以后 ,双击打开U盘却显示拒绝访问,而她U盘里有重要的数据,不能格式化,那怎么办呢?下面给出解决方法。
准备:
打开我的电脑,选择工具->文件夹选项,在查看选项卡中,选择“显示所有文件和文件夹”,并取消“隐藏操作系统文件”,取消“隐藏已知文件的后缀名”,确认即可。
第一种方法:
1:插入U盘,在U盘上点右键,选择打开,这是就可以打开U盘。如果您用这种方法还是显示拒绝访问,那么请看第二种方法。
2:找到autorun.ini,将其删除。
3:拔下U盘再插上,一切恢复正常
第二种方法:
由于您在Windows下不能打开U盘,所以,只能对您的U盘进行格式化,当然,在格式化前,我教你怎么将您的数据保留下来。
1:先安装解压缩软件WinRAR,相信大家都有这个软件吧。
2:插入U盘,在U盘上点右键,选择“添加到压缩文件”
3:弹出对话框,选择“浏览”,然后选择一个位置,推荐使用桌面
4:选择确定,开始压缩文件
5:压缩完成后,请回到桌面,这是应该可以看到一个新的压缩文件。这个压缩文件里的内容就是您U盘里的所有文件。
6:右击这个压缩文件,选择“解压缩..\”,这时,在桌面上会产生一个新的文件夹,您可以把这个文件夹想象成您的U盘。打开这个文件夹,您一定很欣喜,因为您看到了您熟悉的文件,当然,您还看到了一些陌生的文件,比如autorun.ini,将其删除。
7:您的文件已经成功保护了下来,这时,您就可以格式化U盘了。右击U盘,选择“格式化”,文件类型选择FAT,选择“快速格式化”,点击确定,即可!
8:最后,把你桌面上那个文件夹里的内容复制回你的U盘,一切恢复正常。
原理说明(不感兴趣的读者可以跳过)
病毒在U盘上一般会留下两个文件,一个是破坏性程序,还有一个是启动配置文件autorun.ini。破坏性程序具有破坏性,但是它不会自己启动。而启动配置文件只是文本文件,没有破坏性。但是由于您双击U盘打开的时候,Windows会根据autorun.ini里的内容去自动运行某些程序,所以,在您双击U盘的不经意间,破坏性程序已经运行。这时,杀毒软件检测并删除了这个破坏性程序,但由于autorun.ini本身不具破坏性,所以杀毒软件不会将它删除,于是,您的U盘里只剩下了autorun.ini,而这个文件里的信息是自动运行那个破坏性程序,所以,当你双击想打开U盘的时候,其实Windows是去打开那个破坏性程序,而那个程序已经不存在了,所以出现了“拒绝访问”。
CoffeeCat
2007年3月18日
今天,我下载了个爱萍留言板,想将它嵌入到我的网站中去,不过我的网站是用GB2312进行编码的,而爱萍的是用UTF-8进行编码的。假如浏览器的编码设置为GB2312,那爱萍的程序就不能运行,中文都显示成乱码。如果浏览器编码设置为UTF-8,那么我的程序就不能运行了,系统连"都认不出来,编译器显示语法错误。那怎么办呢?当然就是把编码统一咯。
我打算将爱萍的换成GB2312的,所以,用记事本打开爱萍的index.asp,把里面有三句话删除掉
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
Session.CodePage = 65001
Response.Charset = "UTF-8"
再找到下面的程序
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
改成
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
然后将文件中所有内容复制到剪贴板,关闭记事本。
用Dreamweaver打开index.asp,删除文件中的全部内容,然后按Ctrl+J(页面属性),在编码中选择GB2312,点击旁边的Reload按钮后,再点击确定。
最后,Ctrl+V将剪贴板中的程序粘贴上就OK啦。
当然,还有一个文件function.asp也这么做。function.asp就不需要删除程序了。
附:由于爱萍的程序中有一句
Response.Charset = "UTF-8",我测试发现这句程序会将浏览器的编码默认设置为UTF-8。所以,如果您运行完爱萍再运行用GB2312写的程序,可能会出错。解决方法:在你写的程序开头加上Response.Charset = "gb2312"即可。
CoffeeCat
2007-3-17
今天,寝室的两位朋友在虚拟机上安装Red Hat 9,由于他们的电脑较新,所以在安装的时候,列表中没有他们型号的显卡,于是选用了系统默认的显卡。安装完以后重启发现,屏幕呈花屏状,隐约可以看见一个扁扁的欢迎。
我上网查找解决问题的方法,不过网上没有很详细的教程。经过摸索,终于最后把问题解决了。方法还蛮简单的。以下是步骤。
1:启动电脑,出现花屏
2:按Ctrl+Alt+F6进入文字界面,再按Ctrl+Alt+F7回到图形界面,可以发现,这时的图形界面比前面好多了,至少可以看得出文字和图片,还有按钮。
3:填写信息,完成安装。
4:安装完成后,系统要求用户登录,这时,请按Ctrl+Alt+F6进入文字界面。
5:用root帐号登录
6:运行命令 cd ../
7:运行命令 cd etc/X11
8:运行命令 vi X86config(注意:如果出现找不到文件,请运行ls命令,然后找和这个文件相似的那个文件)
9:我们已经用vi编辑器打开了配置文件,下面,进行修改,
找到Depth,把后面的24改称16,一共有两处,上面的是默认深度(Default Depth)
注意:要编辑文本,请先按a,然后就可以编辑了。编辑完了按ESC,就能回到命令模式,输入:wq保存并退出。如果编辑错误,您可以在命令模式下输入:q!强行退出,然后再用vi打开再次编辑即可。
10:问题解决,输入命令reboot重启电脑即可
解决关键:把色彩深度由24改成16,您也可在安装的时候正确选择。
注意:以上解决方法能帮助在Red Hat 9安装程序中找不到自己显卡的朋友,正常使用Linux,但对于Red Hat 9认识的显卡,比如Intel 82855显卡,请在安装的时候正确选择,因为没有正确的显卡支持,而使用通用显卡、默认显卡,那电脑的性能会很低的。如果不幸选错了,那请用我的方法先进入图形界面,然后再到里面进行设置,方法和Windows差不多,这里不做介绍了。
CoffeeCat
2007-03-14
今天使用ASP编写了一个函数,本想利用函数返回一个RecordSet,却出现了如下错误
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值
看了它的提示,我是一头雾水,因为从它给的提示,我找不到一点线索,甚至我觉得他给的提示和我本身的语句毫不相关。
不过经过分析,我发现原来是函数返回时候写错了。函数返回基本数据类型时可以直接赋值,而当函数要返回一个对象时,则必须使用Set。
总之,对象的赋值必须是set 变量名 = 对象。
错误代码
public function executeQuery( sql )
executeQuery = conn.execute( sql )
end function
'调用
dim rs
rs = executeQuery("select * from [Student]")
正确代码
public function executeQuery( sql )
set executeQuery = conn.execute( sql )
end function
'调用
dim rs
set rs = executeQuery("select * from [Student]")
注意:此错误的出现有很多情况,以上仅是我遇到的比较怪异的一种,希望能给您带来帮助。
CoffeeCat
2007年3月8日