谢氏工作室 - 我的精彩
我的鬼迹~~~~<br> 我的网路生活~~~<br> 我的~~~~~~~~~~~~~<br> Email:mrshelly@hotmail.com



■用户登录
用户名:
密   码:
■站内搜索
 

■最后更新


■最新评论


■存档




■我的链接

Net-Tools







■网站排名情况


■水盟最新发表
共2页 第一页 上一页 1 2
   晕哦,申请这么长的EMAIL。还要我备份    |   阅读全文   |   评论(4)  |  引用(trackback1)  
shelly 发表于  2004-04-28 09:25:56


   JS Check 值操作。/:D 留个范例在这里。    |   阅读全文   |   评论(0)  |  引用(trackback1)  

<form name="myform">
<input type="checkbox" name="price" value=1000 onclick=countot()>1000<BR>
<input type="checkbox" name="price" value=2000 onclick=countot()>2000<BR>
<input type="checkbox" name="price" value=3000 onclick=countot()>3000<BR>
<input type="checkbox" name="price" value=4000 onclick=countot()>4000<BR>
<input type="text" name="labelForPrice" value=0>
</form>
<script>
function countot()
{
     var objSrc=document.myform.price;
     var totPrice=0;
     for(var i=0;i<objSrc.length;i++)
     {
            if(objSrc[i].checked == true)
                   totPrice+=parseInt(objSrc[i].value);

     }
     document.myform.labelForPrice.value=totPrice;
}
</script>

 

1000
2000
3000
4000
shelly 发表于  2004-04-27 19:11:29


   最近想接触一下JSP。    |   阅读全文   |   评论(0)  |  引用(trackback1)  

/:~ 单就看了看开发环境的安装就头大。晕死。不如 PHP 的好。就几个DLL文件链到APACHE就OK了~~~

唉~~~~~~  ~~~

shelly 发表于  2004-04-23 14:07:09


   Google 搜索技巧    |   阅读全文   |   评论(0)  |  引用(trackback0)  

google搜索技巧

搜索技巧

一,GOOGLE简介

Google是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立。

二,GOOGLE特色

GOOGLE支持多达132种语言,包括简体中文和繁体中文;
GOOGLE网站只提供搜索引擎功能,没有花里胡哨的累赘;
GOOGLE速度极快,据说有8000多台服务器,200多条T3级宽带;

GOOGLE的专利网页级别技术PageRank能够提供高命中率的搜索结果;
GOOGLE的搜索结果摘录查询网页的部分具体内容,而不仅仅是网站简介;
GOOGLE智能化的“手气不错”功能,提供可能最符合要求的网站;
GOOGLE的“网页快照”功能,能从GOOGLE服务器里直接取出缓存的网页。

三,基本搜索:+,-,OR

GOOGLE无需用明文的“+”来表示逻辑“与”操作,只要空格就可以了。

示例:搜索所有包含关键词“易筋经”和“吸星大法”的中文网页
搜索:“易筋经 吸星大法”
结果:已搜索有关易筋经 吸星大法的中文(简体)网页。共约有726项查询结果,这是第1-10项。搜索用时0.13秒。

注意:文章中搜索语法外面的引号仅起引用作用,不能带入搜索栏内。

GOOGLE用减号“-”表示逻辑“非”操作。

示例:搜索所有包含“易筋经”而不含“吸星大法”的中文网页
搜索:“易筋经 -吸星大法”
结果:已搜索有关易筋经 -吸星大法的中文(简体)网页。共约有5,440项查询结果,这是第1-10项。搜索用时0.13秒。

注意:这里的“+”和“-”号,是英文字符,而不是中文字符的“+”和“-”。此外,操作符与作用的关键字之间,不能有空格。比如“易筋经 - 吸星大法”,搜索引擎将视为逻辑“与”操作,中间的“-”被忽略。

GOOGLE用大写的“OR”表示逻辑“或”操作。但是,关键字为中文的或查询似乎还有BUG,无法得到正确的查询结果。

示例:搜索包含布兰妮“Britney”或者披头士“Beatles”、或者两者均有的中文网页。
搜索:“britney OR beatles”
结果:已搜索有关britney OR beatles的中文(简体)网页。共约有14,600项查询结果,这是第1-10项。搜索用时0.08秒。
搜索:“布兰妮 OR 披头士”
结果:找不到和您的查询-布兰妮 OR 披头士-相符的网页。

注意:小写的“or”,在查询的时候将被忽略;这样上述的操作实际上变成了一次“与”查询。

“+”和“-”的作用有的时候是相同的,都是为了缩小搜索结果的范围,提高查询结果命中率。

例:查阅天龙八部具体是哪八部。

分析:如果光用“天龙八部”做关键字,搜索结果有26,500项,而且排前列的主要与金庸的小说《天龙八部》相关,很难找到所需要的资讯。可以用两个方法减少无关结果。

1,如果你知道八部中的某一部,比如阿修罗,增加“阿修罗”关键字,搜索结果就只有995项,可以直接找到全部八部,“天龙八部 阿修罗”。

2,如果你不知道八部中的任何一部,但知道这与佛教相关,可以排除与金庸小说相关的记录,查询结果为1,010项,可以迅速找到需要的资料,“天龙八部 佛教 -金庸”。

四,辅助搜索:通配符、大小写、句子、忽略字符以及强制搜索

GOOGLE不支持通配符,如“*”、“?”等,只能做精确查询,关键字后面的“*”或者“?”会被忽略掉。

GOOGLE对英文字符大小写不敏感,“GOD”和“god”搜索的结果是一样的。

GOOGLE的关键字可以是词组(中间没有空格),也可以是句子(中间有空格),但是,用句子做关键字,必须加英文引号。

示例:搜索包含“long, long ago”字串的页面。
搜索:“"long, long ago"”
结果:已向英特网搜索"long, long ago". 共约有28,300项查询结果,这是第1-10项。搜索用时0.28秒。

注意:和搜索英文关键字串不同的是,GOOGLE对中文字串的处理并不十分完善。比如,搜索“"啊,我的太阳"”,我们希望结果中含有这个句子,事实并非如此。查询的很多结果,“啊”、“我的”、“太阳”等词语是完全分开的,但又不是“啊 我的 太阳”这样的与查询。显然,GOOGLE对中文的支持尚有欠缺之处。

GOOGLE对一些网路上出现频率极高的词(主要是英文单词),如“i”、“com”,以及一些符号如“*”、“.”等,作忽略处理,如果用户必须要求关键字中包含这些常用词,就要用强制语法“+”。

示例:搜索包含“Who am I ?”的网页。如果用“"who am i ?"”,“Who”、“I”、“?”会被省略掉,搜索将只用“am”作关键字,所以应该用强制搜索。
搜索:“"+who +am +i"”
结果:已向英特网搜索"+who +am +i". 共约有362,000项查询结果,这是第1-10项。搜索用时0.30秒。

注意:英文符号(如问号,句号,逗号等)无法成为搜索关键字,加强制也不行。

五,高级搜索:site,link,inurl,allinurl,intitle,allintitle

“site”表示搜索结果局限于某个具体网站或者网站频道,如“sina.com.cn”、“edu.sina.com.cn”,或者是某个域名,如“com.cn”、“com”等等。如果是要排除某网站或者域名范围内的页面,只需用“-网站/域名”。

示例:搜索中文教育科研网站(edu.cn)上所有包含“金庸”的页面。
搜索:“金庸 site:edu.cn”
结果:已搜索有关金庸 site:edu.cn的中文(简体)网页。共约有2,680项查询结果,这是第1-10项 。搜索用时0.31秒。

示例:搜索包含“金庸”和“古龙”的中文新浪网站页面,
搜索:“金庸 古龙 site:sina.com.cn”
结果:已在sina.com.cn搜索有关金庸 古龙的中文(简体)网页。共约有869项查询结果,这是第1-10项。搜索用时0.34秒。

注意:site后的冒号为英文字符,而且,冒号后不能有空格,否则,“site:”将被作为一个搜索的关键字。此外,网站域名不能有“http”以及“www”前缀,也不能有任何“/”的目录后缀;网站频道则只局限于“频道名.域名”方式,而不能是“域名/频道名”方式。诸如“金庸 site:edu.sina.com.cn/1/”的语法是错误的。

“link”语法返回所有链接到某个URL地址的网页。

示例:搜索所有含指向google吧“www.google8.net”链接的网页。
搜索:“link:www.google8.net
结果:搜索有链接到www.google8.net的网页。共约有55项查询结果,这是第1-10项。搜索用时0.13秒。

注意:“link”不能与其他语法相混合操作,所以“link:”后面即使有空格,也将被GOOGLE忽略。

inurl语法返回的网页链接中包含第一个关键字,后面的关键字则出现在链接中或者网页文档中。有很多网站把某一类具有相同属性的资源名称显示在目录名称或者网页名称中,比如“MP3”、“GALLARY”等,于是,就可以用INURL语法找到这些相关资源链接,然后,用第二个关键词确定是否有某项具体资料。INURL语法和基本搜索语法的最大区别在于,前者通常能提供非常精确的专题资料。

示例:查找MIDI曲“沧海一声笑”。
搜索:“inurl:midi 沧海一声笑”
结果:已搜索有关inurl:midi 沧海一声笑的中文(简体)网页。共约有14项查询结果,这是第1-10项。搜索用时0.01秒。

示例:查找微软网站上关于windows2000的安全课题资料。
搜索:“inurl:security windows2000 site:microsoft.com”
结果:已在microsoft.com内搜索有关 inurl:security windows2000的网页。共约有198项查询结果,这是第1-10项。搜索用时0.37秒。

注意:“inurl:”后面不能有空格,GOOGLE也不对URL符号如“/”进行搜索。GOOGLE对“cgi-bin/phf”中的“/”当成空格处理。

allinurl语法返回的网页的链接中包含所有查询关键字。这个查询的对象只集中于网页的链接字符串。

示例:查找可能具有PHF安全漏洞的公司网站。通常这些网站的CGI-BIN目录中含有PHF脚本程序(这个脚本是不安全的),表现在链接中就是“域名/cgi-bin/phf”。
语法:“allinurl:"cgi-bin" phf +com”
搜索:已向英特网搜索allinurl:"cgi-bin" phf +com. 共约有40项查询结果,这是第1-10项。搜索用时0.06秒。

allintitle和intitle的用法类似于上面的allinurl和inurl,只是后者对URL进行查询,而前者对网页的标题栏进行查询。网页标题,就是HTML标记语言title中之间的部分。网页设计的一个原则就是要把主页的关键内容用简洁的语言表示在网页标题中。因此,只查询标题栏,通常也可以找到高相关率的专题页面。

示例:查找日本明星藤原纪香的照片集。
搜索:“intitle:藤原纪香 写真”
结果:已搜索有关intitle:藤原纪香 写真的中文(简体)网页。共约有284项查询结果,这是第1-10项。搜索用时0.03秒。

GOOGLE的罕用高级搜索语法:related,cache,info

related用来搜索结构内容方面相似的网页。例:搜索所有与中文新浪网主页相似的页面(如网易首页,搜狐首页,中华网首页等),“related:www.sina.com.cn/index.shtml”。

cache用来搜索GOOGLE服务器上某页面的缓存,这个功能同“网页快照”,通常用于查找某些已经被删除的死链接网页,相当于使用普通搜索结果页面中的“网页快照”功能。

info用来显示与某链接相关的一系列搜索,提供cache、link、related和完全包含该链接的网页的功能。

示例:查找和GOOGLE吧相关的一些资讯。
搜索:“info:www.google8.net”
结果:有关www.google8.net的网页信息。
google8.net|google的绿色通道|
→Google吧 搜索引擎的学习、记录、思考、应用。[blog
摘要:搜索引擎、google排名、网站推广、网络营销], ...


Google 提供这个网址的信息:


  • 查看Google网页快照里www.google8.net的存档
  • 寻找和www.google8.net类似的网页
  • 寻找网页有链接到www.google8.net
  • 寻找网页包含有www.google8.net



六,其他重要功能

目录服务

如果不想搜索网页,而是想寻找某些专题网站,可以访问GOOGLE的分类目录“http://directory.google.com/”,中文目录是“http://directory.google.com/Top/World/Chinese_Simplified/”。不过由于GOOGLE的目录由Dmoz志愿者服务,而GOOGLE在国内名气相对比较小,因此中文目录下收录站点很少。

工具条

为了方便搜索者,GOOGLE提供了工具条,集成于浏览器中,用户无需打开GOOGLE主页就可以在工具条内输入关键字进行搜索。此外,工具条还提供了其他许多功能,如显示页面PageRank等。最方便的一点在于用户可以快捷的在GOOGLE主页、目录服务、新闻组搜索、高级搜索和搜索设定之间切换。欲安装GOOGLE的工具条,可以访问“http://toolbar.google.com/”,按页面提示可以自动下载并安装。

新闻组(USENET)搜索

新闻组中有大量的有价值信息,DEJA一直是新闻组搜索引擎中的佼佼者。2001年2月份,GOOGLE将DEJA收购并提供了所有DEJA的功能。现在,除了搜索之外,GOOGLE还支持新闻组的WEB方式浏览和张贴功能。

输入“http://groups.google.com/”后,便进入GOOGLE新闻组界面。可惜现在还没有中文界面。因为新闻组中的帖子实在是多,所以我点击“Advaced Groups Search”进入高级搜索界面http://groups.google.com/advanced_group_search。新闻组高级搜索界面提供对关键字、新闻组、主题、作者、帖子序号、语言和发布日期的条件搜索。其中作者项指作者发帖所用的唯一识别号电子信箱。比如要在alt.chinese.text内搜索著名老牌网络写手图雅的帖子,可以用下列指令“group:alt.chinese.text author:tuya@ccmail.uoregon.edu”。不过一般而言,我更推荐使用图形搜索界面,方便而且直观。

搜索结果翻译

曾经为那些你不懂的法文、西班牙文页面烦恼么?现在,GOOGLE支持一项搜索结果翻译功能,可以把非英文的搜索结果翻译成英文!!虽然目前只支持有限的拉丁语、法语、西班牙语、德语和葡萄牙文,但是我不得不承认,这是个伟大的改进。

不过,目前只能在英文状态GOOGLE下实现这个功能。进入GOOGLE的设置页面,http://www.google.com/preferences,有一个“BETA: Enable translation of search results into your interface language. ”的选项,把它选中,就OK了。

搜索结果过滤

网络上的成人内容浩如烟海,而且很多站点具有欺骗或者其他不良企图,浏览者很容易掉入其中的陷阱。为此,GOOGLE新设立了成人内容过滤功能,见GOOGLE的设置页面,http://www.google.com/preferences,最底下有一个选项SafeSearch Filtering。不过,中文状态下的GOOGLE尚没有这个功能。

PDF文档搜索

我对GOOGLE尤其欣赏的一点就是它提供对PDF文档内文的检索。目前GOOGLE检索的PDF文档大约有2500万左右。这真是太美妙了。PDF是ADOBE公司开发的电子文档格式,现在已经成为互联网的电子化出版标准。PDF文档通常是一些图文并茂的综合性文档,提供的资讯一般比较集中全面。

示例:搜索关于电子商务(ECOMMERCE)的PDF文档。
搜索:“inurl:pdf ecommerce”
结果:已向英特网搜索inurl:pdf ecommerce. 共约有19,200项查询结果,这是第1-10项。搜索用时0.11秒。

下面是某项搜索结果:

[PDF] www.usi.net/pdf/outsoucing-ecommerce.pdf
Outsourcing Electronic Commerce Business Case White Paper By: John P. Sahlin, Product
Marketing Professonial (PMP) Implementation Manager, Web Engineering ...
一般文字档 - 类似网页

可以看到,GOOGLE在PDF档前加上了[PDF]的标记,而且,GOOGLE把PDF文件转换成了文字档,点击“一般文字档”,可以粗略的查看该PDF文档的大致内容。当然,PDF原有的图片以及格式是没有了。

图像文档搜索

GOOGLE提供了Internet上图像文件的搜索功能!!目前该功能尚在B测试阶段,但已经非常好用。访问地址是“images.google.com”。你可以在关键字栏位内输入描述图像内容的关键字,如“britney spears”,也可以输入描述图像质量或者其他属性的关键字,如“high quality”。

GOOGLE给出的搜索结果具有一个直观的缩略图(THUMBNAIL),以及对该缩略图的简单描述,如图像文件名称,以及大小等。点击缩略图,页面分成两祯,上祯是图像之缩略图,以及页面链接,而下祯,则是该图像所处的页面。屏幕右上角有一个“Remove Frame”的按钮,可以把框架页面迅速切换到单祯的结果页面,非常方便。GOOGLE还提供了对成人内容图像的限制功能,可以让搜索者免受不必要的骚扰。

不过,非常遗憾的是,图像搜索功能还不支持中文。

七,搜索技巧杂谈

关键词的选择在搜索中起到决定性的作用,所有搜索技巧中,关键词选择是最基本也是最有效的。

例一:查找《镜花缘》一书中淑士国酒保的酸话原文。

分析:如果按照一般的思路,找某部小说中的具体段落,就需要用搜索引擎先找到这本书,然后再翻到该段落。这样做当然可以,但是效率很低。如果了解目标信息的构成,用一些目标信息所特有的字词,可以非常迅速的查到所需要的资料。也就是说,高效率的搜索关键字不一定就是目标信息的主题。在上面的例子中,酒保谈到酒的浓淡与贵贱的关系时,之乎者也横飞。因此,可以用特定的词语一下子找到目标资料。

搜索:“酒 贵 贱 之”,OK,找到的第一条信息就是镜花缘的这一段落:“先生听者:今以酒醋论之,酒价贱之,醋价贵之。因何贱之?为甚贵之?真所分之,在其味之。酒昧淡之,故而贱之;醋味厚之,所以贵之。...”

以上的关键字选择技巧可以谓之“特定词法”。

例二:“黄花闺女”一词中“黄花”是什么意思。

分析:“黄花闺女”是一个约定的俗语,如果只用“黄花闺女 黄花”做关键词,搜索结果将浩如烟海,没什么价值,因此必须要加更多的关键词,约束搜索结果。选择什么关键词好呢?备选的有“意思”、“含义”、“来历”、“由来”、“典故”、“出典”、“渊源”等,可以猜到的是,类似的资料,应该包含在一些民俗介绍性的文字里,所以用诸如“来历”、“由来”、“出典”等词汇的概率更高一些。

搜索:“黄花闺女 黄花 由来”,查到“黄花”原来出典于《太平御览》,与南朝的寿阳公主相关。如果想获得第一手资料,那就可以用“太平御览 寿阳公主”做搜索了。

以上的关键字选择技巧可以谓之“近义词法”。

例三:刘德华同志的胸围是多少。

分析:首先声明,这是某个MM要我做的搜索,我把它作为搜索案例而已,没其他的意思。非常直接的搜索是,“刘德华 胸围”,但事实上,这么搜索出来的结果,尽是一些诸如“刘德华取笑莫文蔚胸围太小”之类的八卦新闻,无法快速得到所需要的资料。可以想到的是,需要的资料应该包含在刘德华的全面介绍性文字中,除了胸围,应该还包括他的身高,体重,生日等一系列相关信息。OK,这样就可以进一步的增加其他约束性关键词以缩小搜索范围。

搜索:“刘德华 胸围 身高”,没有料到的情况发生了,网上炙手可热的痞子蔡《第一次亲密接触》里居然含有这样关键字,阿泰“改编自刘德华《忘情水》的变态歪歌”、“用身高体重三围和生日来加以编号”。好办,把这部小说去掉,“刘德华 胸围 身高 -阿泰”,OK,结果出来了,华仔胸围84cm。说明一下,为什么用“阿泰”而不用“第一次亲密接触”呢?这是因为小说的名字被转载的时候可能有变动,但里面角色的名字是不会变的。

以上的关键字选择技巧可以谓之“相关词法”。

其他常用搜索个案

例一:找人

分析:一个人在网上揭示的资料通常有:姓名,网名,性别,年龄,毕业学校,工作单位,外号,住址,电话,信箱,BP,手机号码,ICQ号,OICQ号等等。所以,如果你要了解一下你多年没见过的同学,那不妨用上述信息做关键字进行查询,也许会有大的收获。

例二:找软件

分析一:最简单的搜索当然就是直接以软件名称以及版本号为关键字查询。但是,仅仅有软件名称和目标网站,显然还不行,因为搜索到的可能是软件的相关新闻。应该再增加一个关键字。考虑到下载页面上常有“点击此处下载”或者“download”的提示语,因此,可以增加“下载”或者“download”为关键字。
搜索:“winzip 8.0 下载”
结果:已搜索有关winzip 8.0 下载的中文(简体)网页。共约有6,670项查询结果,这是第1-10项。搜索用时0.22秒。

分析二:很多网站设有专门的下载目录,而且就命名为“download”,因此,可以用INURL语法直接搜索这些下载目录。
搜索:“winzip 8.0 inurl:download”
结果:已搜索有关winzip 8.0 inurl:download的中文(简体)网页。共约有358项查询结果,这是第1-10项。搜索用时0.44秒。

在互联网上随意的下载软件是不安全的,因为供下载的软件有可能带有病毒或者捆绑了木马,所以,对下载网站作一个限定,是一个稳妥的思路。可以用SITE语法达到这个目的。

共享软件下载完之后,使用的时候,软件总跳出警示框,或者软件的功能受到一定限制。由于中国的网民多是穷棒子,所以应该再找一个注册码。找注册码,除了软件的名称和版本号外,还需要有诸如“serial number”、“sn”、“序列号”等关键字。现在,来搜索一下winzip8.0的注册码。
搜索:“winzip 8.0 sn”
结果:已向英特网搜索winzip 8.0 sn. 共约有777项查询结果,这是第1-10项。搜索用时0.30秒。

例三:找图片

除了GOOGLE提供的专门图片搜索功能,还可以组合使用一些搜索语法,达到图片搜索之目的。

分析一:专门的图片集合,提供图片的网站通常会把图片放在某个专门目录下,如“gallary”、“album”、“photo”、“image”等。这样就可以使用INURL语法迅速找到这类目录。现在,试着找找小甜甜布兰妮的照片集。
搜索:“"britney spears" inurl:photo”
结果:已向英特网搜索"britney spears" inurl:photo. 共约有2,720项查询结果,这是第1-10项。搜索用时0.23秒。

分析二:提供图片集合的网页,在标题栏内通常会注明,这是谁谁的图片集合。于是就可以用INTITLE语法找到这类网页。
搜索:“intitle:"britney spears" picture”
结果:已向英特网搜索intitle:"britney spears" picture. 共约有317项查询结果,这是第1-10项。搜索用时0.40秒。

分析三:明星的FANS通常会申请免费个人主页来存放他们偶像的靓照。于是用SITE语法指定某免费主页提供站点,是个迅速找到图片的好办法。
搜索:“"britney spears" site:geocities.com”
结果:已在geocities.com内搜索有关"britney spears"的网页。共约有5,020项查询结果,这是第1-10项。搜索用时0.47秒。

例四:找MP3

分析一:提供MP3的网站,通常会建立一个叫做MP3的目录,目录底下分门别类的存放各种MP3乐曲。所以,可以用INURL语法迅速找到这类目录。现在用这个办法找找老歌“say you say me”。
搜索:“"say you say me" inurl:mp3”
结果:已向英特网搜索inurl:mp3 "say you say me". 共约有155项查询结果,这是第1-10项。搜索用时0.17秒。

分析二:也可以通过网页标题,找到这类提供MP3的网页。
搜索:“"say you say me" intitle:mp3”
结果:已向英特网搜索"say you say me" intitle:mp3. 共约有178项查询结果,这是第1-10项。搜索用时0.73秒。

当然,如果你知道某个网站的下载速度快,而且乐曲全,就可以用SITE语法先到该网站上看看有没有目标乐曲。

例五:找书

分析一:对我而言,常访问的电子图书馆类网站就那么几个,比如文艺类的“www.shuku.net”。于是可以用SITE语法很简单的找到某本书(如果该网站上有的话)。比如,“旧唐书 site:shuku.net”,就可以马上找到该书。如果没有,通常别的网站上也很难找到。因此,找书的关键,是你了解一大批著名的图书馆网站。

分析二:我上面介绍的第一项关键字选择技巧特定词法,对于迅速找到某书或者文章也是极其有用的,当然,这得建立在你已经读过该书,对书的内容有印象的基础上。比如如果了解堂吉诃德一书战风车的大致内容,就可以用“吉诃德 风车 桑乔”迅速找到该书。

九,GOOGLE搜索FAQ

Q:如何全面的了解google.com?
A:查看网站相关页面“http://www.google.com/about.html”。

Q:如何切换google.com的初始语言界面?
A:点击搜索栏右边的“使用偏好”(Preferences),选择“界面语言”(Interface Language)中你期望的语言,点击最下面的“设定使用偏好”(Save Preferences)按钮。需要提醒的是,GOOGLE用cookie记录这个偏好,所以如果你把浏览器的cookie功能关掉,就无法进行设定。

Q:如何设定每页搜索结果显示数量?
A:同上,进入使用偏好,在该页的“查看结果”(Number of Results)选择显示结果数,数目越大,显示结果需要的时间越长,默认是10项。

Q:搜索到的链接无法打开怎么办?
A:链接无法打开的原因很多,比如网站当机,或者ISP过滤等,可以点击GOOGLE的“网页快照”查看在GOOGLE服务器上的网页缓存。

Q:打开搜索结果的链接,可是该页面太大,很难找到一下子找到目的资料怎么办?
A:直接打开“网页快照”,GOOGLE会把关键词用不同颜色标记出来,很容易找到。


shelly 发表于  2004-04-17 14:30:03


   惠普 激打 HP1150 打印机软故障排除一例。    |   阅读全文   |   评论(0)  |  引用(trackback0)  

本来排除这故障费了些周折,搞的我有些头大,差点坏了我名声(/tx)。

序:本就为仓管系统服务器重启问题(后查得是电源质量问题)搞的焦头烂额的。接到新(软起动)公司的求救电话。说AutoCAD 2000 不能打印。晕晕,怎么可能呀?      猛然想起,上次给装激打时,只是打印了测试页。嗯,可能存在软件兼容性问题。

现象:火速(/:D 没有啦)赶到新公司,发觉该打印机,点击打印时,有一出错提示。没有仔细看,就点确定,预览可以看到,打印时,吐出一张空白纸。 用记事本及Word 打印正常。

解决:

1 既然这样,WORD正常,记事本正常。呵呵,那应该是 AutoCAD2000 的问题了吧。嗯,俺的拿手好戏。

  1.a  删除原有的AutoCAD2000程序,并删除安装目录。

  1.b  清理注册表 。

2 安装AutoCAD2000 一切正常。装好加密狗后,再打印。晕晕,故障依旧。

  然后,头脑一热,就进AutoCAD2000的设置里进行了关于打印的N项设置的设置试验。晕晕~~~  未果~~~

......

3 最后:

  把 AutoCAD2000 的 Drv 目录下的 hpgdi6.drv 文件备份为  hpgdi6_bak.drv。并把 原 gdi6.drv COPY一份并改名为 hpgdi6.drv 。故障得以解决。晕晕

结论:该型号打印机估计出厂没有进行驱动大型软件的驱动测试。唉唉~~~  真搞不懂 惠普 还会搞这些东东出来~~~ 

shelly 发表于  2004-04-15 20:40:08


   部分摘录HTTP状态码。    |   阅读全文   |   评论(0)  |  引用(trackback1)  

七、HTTP应答状态 
 作 者 : 仙人掌工作室
  
  
     7.1 状态代码概述
  
     Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答:
  HTTP/1.1 200 OK
  Content-Type: text/plain
  
  Hello World
  
  
  
  
     状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应答头都是可选的。但Content-Type是必需的,它描述的是后面文档的MIME类型。虽然大多数应答都包含一个文档,但也有一些不包含,例如对HEAD请求的应答永远不会附带文档。有许多状态代码实际上用来标识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)。
  
     Servlet可以利用状态代码来实现许多功能。例如,可以把用户重定向到另一个网站;可以指示出后面的文档是图片、PDF文件或HTML文件;可以告诉用户必须提供密码才能访问文档;等等。这一部分我们将具体讨论各种状态代码的含义以及利用这些代码可以做些什么。
  
     7.2 设置状态代码
  
     如前所述,HTTP应答状态行包含HTTP版本、状态代码和对应的状态信息。由于状态信息直接和状态代码相关,而HTTP版本又由服务器确定,因此需要Servlet设置的只有一个状态代码。
  
     Servlet设置状态代码一般使用HttpServletResponse的setStatus方法。setStatus方法的参数是一个整数(即状态代码),不过为了使得代码具有更好的可读性,可以用HttpServletResponse中定义的常量来避免直接使用整数。这些常量根据HTTP 1.1中的标准状态信息命名,所有的名字都加上了SC前缀(Status Code的缩写)并大写,同时把空格转换成了下划线。也就是说,与状态代码404对应的状态信息是“Not Found”,则HttpServletResponse中的对应常量名字为SC_NOT_FOUND。但有两个例外:和状态代码302对应的常量根据HTTP 1.0命名,而307没有对应的常量。
  
     设置状态代码并非总是意味着不要再返回文档。例如,虽然大多数服务器返回404应答时会输出简单的“File Not Found”信息,但Servlet也可以定制这个应答。不过,定制应答时应当在通过PrintWriter发送任何内容之前先调用response.setStatus。
  
     虽然设置状态代码一般使用的是response.setStauts(int)方法,但为了简单起见,HttpServletResponse为两种常见的情形提供了专用方法:sendError方法生成一个404应答,同时生成一个简短的HTML错误信息文档;sendRedirect方法生成一个302应答,同时在Location头中指示新文档的URL。
  
     7.3 HTTP 1.1状态代码及其含义
  
     下表显示了常见的HTTP 1.1状态代码以及它们对应的状态信息和含义。
  
     应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0。如果你使用了HTTP 1.1特有的状态代码,最好能够检查一下请求的HTTP版本号(通过HttpServletRequest的getProtocol方法)。 状态代码 状态信息 含义
  100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)
  101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)
  200 OK 一切正常,对GET和POST请求的应答文档跟在后面。如果不用setStatus设置状态代码,Servlet默认使用202状态代码。
  201 Created 服务器已经创建了文档,Location头给出了它的URL。
  202 Accepted 已经接受请求,但处理尚未完成。
  203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。
  204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
  205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。
  206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。
  300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
  301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
  302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”,而HttpServletResponse中相应的常量是SC_MOVED_TEMPORARILY,而不是SC_FOUND。
  出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。为此,Servlet提供了一个专用的方法,即sendRedirect。使用response.sendRedirect(url)比使用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location",url)更好。这是因为:
  
  首先,代码更加简洁。
  第二,使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)。
  最后,sendRedirect能够处理相对URL,自动把它们转换成绝对URL。
  注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。
  
  严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。
  
  303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP 1.1新)。
  304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
  305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取(HTTP 1.1新)。
  307 Temporary Redirect 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定向。
  注意,HttpServletResponse中没有为该状态代码提供相应的常量。(HTTP 1.1新)
  
  400 Bad Request 请求出现语法错误。
  401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
  403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。
  404 Not Found 无法找到指定位置的资源。这也是一个常用的应答,HttpServletResponse专门提供了相应的方法:sendError(message)。
  405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。(HTTP 1.1新)
  406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。
  407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新)
  408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。(HTTP 1.1新)
  409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。(HTTP 1.1新)
  410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。(HTTP 1.1新)
  411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。(HTTP 1.1新)
  412 Precondition Failed 请求头中指定的一些前提条件失败(HTTP 1.1新)。
  413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头(HTTP 1.1新)。
  414 Request URI Too Long URI太长(HTTP 1.1新)。
  416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头。(HTTP 1.1新)
  500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
  501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求。
  502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
  503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。
  504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)
  505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新)

shelly 发表于  2004-04-15 15:15:17


   今天发现一个生活常理    |   阅读全文   |   评论(4)  |  引用(trackback1)  

茶泡久了,就会淡!

呵呵,品茶,我想 90% 感受源于心情~~  所以,泡淡的茶一样可以让人体会到它的清香哦。 :D 

PS:泡过的茶还可以晾干,用处多多,好处多多。

shelly 发表于  2004-04-14 10:39:59


   申请到本站顶级域名。/:D 虽然有广告。    |   阅读全文   |   评论(4)  |  引用(trackback1)  

http://www.mrshelly.tk/

呵呵,不错。就是不知道这个顶级域名能有效多久?

shelly 发表于  2004-04-13 07:33:14


   今天发觉GOOGLE收录本站。呵呵~~~    |   阅读全文   |   评论(7)  |  引用(trackback1)  
shelly 发表于  2004-04-12 11:00:49


   查看被锁定源代码的网页~~~    |   阅读全文   |   评论(0)  |  引用(trackback1)  
把网址复制到下面再点击查看源文件即可~~~ FOR 水盟圣诞老人

  看源文件  清除网址
shelly 发表于  2004-04-10 08:04:51


   关于Serv-U 的ODBC 帐户管理    |   阅读全文   |   评论(1)  |  引用(trackback1)  

昨天收到 水盟蓝雨 发给我的支持ODBC的 Serv-U 回家试了一下。呵呵,主要是试一下ODBC帐户管理的功能。

呵呵,试验成功。

这里简要说明一下要点。

1 按 Serv-U 的帮助文档 设计好Access 数据库。呵呵,如果你愿意,用Excel也成。关键是 可以提供ODBC连接就成。  Serv-U 帮助文档里用的是 MySQL 数据库的连接。呵呵,不错。我喜欢。 不过,出租房电脑里没有安装 MyODBC 也就做罢了。就更选用比较适合 普通用户 的Access 数据库做为帐号数据库

2 安装 Serv-U 5.0 新建域时选择 帐号存储位置为ODBC。

3 修改新建域的属性。有一个 ODBC 选项卡多出来。呵呵,就是它了。

4 我原以为,Serv-U 所支持的帐号数据库需要有特定的表名,及表结构等。 其实不然。(因为这个想法,让我走了不少弯路哦) 

    最初,我把表结构 设置的同帮助文档的字段名呀,表名呀什么的。 在ODBC里只设置了ODBC 系统DSN 名。(不要学这里哦),最后才发现,不但要设置系统DSN,还要设置对应DSN 的用户表名,及表结构里对应的字段名。呵呵,重新设置后成功。

5 爽,这样就不用我以前替PC做的那个 Serv-U INI文件管理类 (php 的,做的比较粗糙,不敢登上来 /hx) 来用 ASP或PHP等添加账号了。 以后就可以直接用ASP,PHP等连接ODBC,就可以动态更新帐号。呵呵,高兴中~~~~

   不过,数据库更新后,Serv-U 帐号是不是立马就生效,还有待今晚 验证一下。

PS:如果你操作INI文件,要让修改后的INI文件立即生效,得在 [GLOBAL] 段里添加 ReloadSettings=1, 呵呵,这点可是先前找了好久才找到的。这里共享给大家,以免大家同我一样花 大量的时间在这里。 /:D 注册表存储用户账号的方式没有研究透(我想应该不算很难,主要莫有时间搞了),有知道的兄弟姐妹,不要忘记共享哦。谢谢~~~

shelly 发表于  2004-04-08 08:27:04


   JS 窗口操作经典    |   阅读全文   |   评论(0)  |  引用(trackback1)  
转自CSDN 有修改.
就是这段
win.document.write("<SCRI");
win.document.write("PT>window.open('','a','');</SCR");
win.document.write("IPT>");
:D 发现把 <SCRIPT 分开,就不会出错了.晕晕~~~~

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>子父窗口的操作</title>
</head>
<body>
<script>
var win=null;
function op(){
win=window.open("about:blank","win","width=200,height=200");
win.document.write("<SCRI");
win.document.write("PT>window.open('','a','');</SCR");
win.document.write("IPT>");
win.document.write("<input type='button' value='关闭父窗口' onclick='window.opener.opener=null;window.opener.close()'>");
win.document.write("<input type='button' value='刷新你窗口' onclick='window.opener.location.reload()'>");
}
</script>
<input onclick="op()" value="打开窗口" type="button"><input type="button" value="最小化" onclick="if(win&&win.open&&!win.closed){win.resizeTo(0,0);win.moveTo(0,window.screen.width);}else alert('还没有打开窗口或已经关闭')">
<input type="button" value="最大化" onclick="if(win&&win.open&&!win.closed){win.moveTo(-4,-4);win.resizeTo(screen.availWidth+8,screen.availHeight+8);}else alert('还没有打开窗口或已经关闭');">
<input type=button value="关闭子窗口" onclick="if(win&&win.open&&!win.closed){win.opener=null;win.close()}else alert('还没有打开窗口或已关闭')">
<input type=button value="刷新子窗口" onclick="if(win&&win.open&&!win.closed){win.location.reload();win.focus()}else alert('窗口还没有打开或已关闭')">
<input type="button" value="看子窗口的大小" onclick="if(win&&win.open&&!win.closed){alert(win.document.body.clientWidth+'*'+win.document.body.clientHeight);win.focus();}else{alert('还没有打开窗口或者已关闭')};">
</body>
</html>

shelly 发表于  2004-04-06 10:18:09


   Yahoo Mail POP3服务BUG    |   阅读全文   |   评论(2)  |  引用(trackback1)  

今晨帮水盟MM cynthir “Yahoo 邮件FOXMAIL接收设置”的问题时。发现 Yahoo 中文站全球站的帐户是相同的。所以,就把 Yahoo 全球站去看了看帮助。发现 Yahoo 全球站的 关于 Pop3 Smtp 服务地址对于 中文站用户同样适用。

哈哈,这么大网站,这么大BUG,中文站还好意思在上面注明“目前不提供POP3服务”   晕晕~~~~~~

shelly 发表于  2004-04-04 08:41:36


   将Access窗体存为文本文件.(Access 未公开方法)    |   阅读全文   |   评论(0)  |  引用(trackback0)  
From : AccessQQ.com
     应黄海之邀,突然要写点自己的东西,一下子仿佛不知道写些什么了,研究ACCESS这么多年,感觉都是在做企业应用,并没有什么高深的技巧,也没有属于自己的技巧,只好绞尽脑汁,榨点东西出来,希望能对得起黄海和大家:)
     在ACCESS中APPLICATION对象有两个未公开的方法,其中一个是SaveAsText, 另一个是LoadFromText.我记得是刚学ACCESS不久,当时在研究FMS一个分析工具时,跟踪发现它总会产生一些临时文件,对这些临时文件分析,发现它与VB里的窗体文件差不多的格式,所以估计微软可以将ACCESS的窗体转换为文本格式,并提供一种逆相转换的方法。所以发现了深厚的兴趣,后来就找到这两个方法。
    虽然微软还有其它一些比较好用的未公开的属性,但我在这两个方法上花的时间还是最多的,因为它的确有使用价值,所以说说自己多年来的使用心得。
    这两个方法在以后的ACCESS版本中并不一定支持,所以我并不建议大家使用,但因为有些功能如果使用它来实现,可以节省比较多的时间,所以,在某些情况下,我还是会使用它,至少现有的ACCESS版本都支持这个方法。如果同样的功能你可以通过ACCESS正常的方法来实现,我则建议你使用微软公开的方法。切记!

    用途1:

     使用
       application.saveastext acForm,"我的窗体","c:\test.txt"
     将整个窗体导出到一个文本文件,将其打包发送给朋友,让朋友再使用       
       application.loadfromtext acForm,"我的窗体","c:\test.txt"
     再导回去。你可以压缩打包传送。

    用途2:
     可以将窗体保存到文本文件,然后把文本文件存储到OLE字段里,这样整个窗体的界面与代码都可保存到ACCESS数据表里,这个方法对编写 代码库管理器 非常有用。在使用时,还可即时将文本文件还原到一个窗体,让使用者即时预览到这个技巧产生的效果

    用途3:
      将窗体保存到一个文件文件,使用正则表达式对代码进行分析,可以分析语法,代码结构、语法错误、字数统计等等,你可参考一下FMS的一个ACCESS分析工具,它有的功能,你花个半年,做出来应该也没有大问题啦。记得让我试用一下源码哦:)
    
    用途4:
      真正的全局替换,一般我们需要全局替换窗体里一个属性的名称或内容,需要逐个逐个修改,而无法实现像代码中的全局替换,现在将窗体导出到文本文件,在文本文件里进行全局替换,完成后再导回窗体。
    用途5:
      繁简转换,中英转换,一般对控件标题、提示文字、默认值等进行文字上繁简转换后并不能真正实现繁简转换,在转换后相应的环境中打开还会出现ACTIVEX控件找不到或者OLE错误,将窗体或其它对象转换为文本文件后再进行繁简转换,然后再转换相应的字符集、字体名称、节的繁简对应名称、CRC校验码等之后,再导回ACCESS相应对象,就可完成整个ACCESS程序的转换,相应的程序效果可参见我做的繁简转换通用程序,记住简体一般是134 繁体是136 英文你打开就知了。我奉劝,如果你想做同样的功能,那你最好就别做了,用我的就得了,免得断我财路,我提成20%给你就得了,等两年后积到100元我再一次汇给你:)
    用途6:
      中英转换,虽然还需要进行少量手工转换,但已经节省了不少时间,但如何使用正式表达式来正确区别哪些是标题、提示文字、消息框还需要一些技巧。
    用途7:
      改变控件的默认属性        
       除了我们在设计状态修改控件的默认属性之外,使用修改文本文件的内容也可达到修改控件默认属性的效果,当窗体或报表导出到文本文件之后,所有的窗体、控件属件以及默认控件属性都在文本文件中体现出来,通过修改这个文本文件里有关默认属性的设置即可达到目的。
      什么是默认属性?举个例子,你从国外下载一个程序,为什么往窗体里面添加控件,控件字体总是Serif,而在简体中文环境下新建的窗体控件,字体都是“宋体”,在繁体中文环境下新建的窗体控件,字体都是“新细明体”,就是因为这个控件的默认属性导致的
    用途8:
       实现自动创建窗体模板的效果,将做好的具备基本功能的窗体导出到文本文件保存起来,到需要使用的时间,直接导入回来马上就可能产生一个已具备常用功能的窗体,不需要从头来过,再做得自动化一点,做一个丰富的窗体功能代码库,可让用户选择各种不同的功能,然后从这些代码库里选择想要的代码按照窗体文本文件的格式创建一个文本文件,再由这个文本文件自动组合出一个完善的窗体,不需要用户去编程,他只要选择字段,选择窗体功能、选择样式、选择模板就可实现各种录入窗体、查询窗体、分析窗体、报表统计等等,写程序就变成了组装程序。到时大家没事干了,就开发各个专用组件吧。注意,在文本文件中复制功能和代码,在自动编程化方面,相对窗体里复制控件和代码,具有更大的弹性和可塑性。
    用途9:
       如果窗体或报表里有图片或OLE对象,在导出的文本文件里会包含它们的二进制文件,使用正则表达式或其它方法提取这部分内容再将其还原到相应的图片文件中,即可实现将窗体和报表的图像保存取文件(ACCESS不支持直接将图像控件的图片保存到文件)
    用途10:
       实现将ACCESS窗体和报表转换到VB程序中,现在有一些专业程序提供这种功能,我想基本思路应该是出于此,将窗体和报表导出到文件文件,然后分析它与VB窗体文件之间的分别,然后修改文本文件以适应VB窗体的需要即可实现,只是我没有足够的时间来做这些了:),当然如果你举一反三,你也可能做一个工具,实现将VB的窗体反向转换到ACCESS程序中,毕竟VB的资源和丰富的技巧对ACCESS来讲有很大的利用价值
     用途11:
        一次性修改ACCESS对象里面所用的字体名称 字体大小或其它属性,连窗体的数据表的字体及其它属性也可更改到。
     用途12:
        查看窗体和控件的GUID ,并用来做相应的用途
     用途13:
        修改窗体和报表有关打印机的信息,为什么窗体的打印设置无法保存,为什么打开报表总会提示原来默认打印机不存在,是否使用当前打印机等等,这些信息其实都保存在窗体和报表里,打开文本文件,什么都清楚了,通过这个功能可实现不少强大的功能,大家发挥想像吧。
     用途14:
        如果要获取窗体和控件到底有些什么属性,通过文本文件可知道许多
     用途15:
        创建一些新的控件,如组合框,列表框等等,都可直接在里面复制代码来创建,而更有用的是,有些带注册信息(license)的控件,如果原来的窗体可用,但你没有LICENSE,你复制窗体会出现错误,说你没有版权,但如果你将窗体导出到文本文件,再导回一个新的窗体,ACCESS就给你蒙过去了,不过,这个方法可别说是我教的:),虽然我试过很多次才试出来的,不过我自己是坚决不用的:),大家都知道啦,我一般在公开场合,都是用正版的:)

     用途16:

         可以使用上述的方法对整个ACCESS的所有对象导出到文件进行备份保存,然后想还原哪个就还原哪个,虽然这种方法有其优点,不过,把整个MDB备份可能更实际些:)

    用途17:

         可以用于版本控制,不知大家有否在ACCESS中使用过SourceSafe,我研究不短时间,发现,它的签入签出就是使用我上述说的方法,在SourceSafe保存的是每个对象的文本格式。如果你有兴趣,可以写一个类似的版本控制工具,我预计2008年会开始写它,如果你在那年之前已经写出来了,那最好寄份源码给我,否则我控告你窃取我的点子:)


     用途18:
        除了窗体和报表外,还有其它几乎大部分对象,如查询、视图、存储过程、关系、宏、模块等等都可导出,你可用来做各种各样的用途,这里就不详述了,如果你有独到发现,请一定告诉我哦


        不过请注意,表是不可导出的:)


另外得告诉大家,在2002(XP)版本开始,微软开始对CRC校验进行检查了,所导回时有时可能会有一些问题。可能微软已经知道有人在滥用这个功能了:)     

       匆促而就,语句不通处或错字处,还请放过一马:)

shelly 发表于  2004-04-03 14:18:14


   让MSN能离线留言    |   阅读全文   |   评论(0)  |  引用(trackback0)  
 有没有方法让MSN像QQ那样具有离线留言的功能呢?微软为美国的MSN用户提供了手机服务,可以在离线的情况下向手机和邮箱发送信息。我们就是利用这个实现MSN的离线留言功能。

  第一步:登录http://join.msn.com/?pgmarket=en-us&&page=sitewide/home,然后在窗口左侧的“Hotmail Solutions”栏目下点击“Mobile Hotmail”链接,接着在出现的窗口右小角点击“learn more”按钮链接,然后在出现的网页上点“Sign in”链接。

  第二步:在“Wireless service provider”选项中选择“Other” ,在“Type your mobile address”输入框中输入你的E-mail地址,也可以是MSN号(如图1所示),进行下一步。

  第三步:这里需要你输入验证码,去你刚才填写的信箱看看,如果一切正常的话,你会收到MSN发给你的一封信,内容是“Your MSN Mobile Confirmation code is: ****”将后面这个四位数填入“Confirmation code:”。

  第四步:进入下一页后,提示说三十秒后自动转到下一页,点链接后继续,点“Next”继续,出现“Thank you”提示后点“Done”按钮你就会看到如图2的画面,表示成功申请了。

  注销你的MSN,然后重新登录一下,你会发现你的MSN在离线的状态下,图标发生了变化:多了一个小手机在旁边。当你不在线的情况下,别人也可以给你发送信息了,你将在刚才申请服务时填写的信箱中查看到信息。
shelly 发表于  2004-04-03 12:49:09


   MSN机器人 呵呵~~    |   阅读全文   |   评论(2)  |  引用(trackback1)  

是否在深夜里感到无聊? 去下个机器人吧?

www.9zi.com

shelly 发表于  2004-04-03 12:30:03


   今天是黑色星期五?    |   阅读全文   |   评论(2)  |  引用(trackback0)  

错,今天二号。不是十三号。

但愿不是我的黑色星期五~~~~~~~~

:(

呵呵,虽然有些失眠。但,现在感觉状态还算好了~~ (By shelly  @2004-04-03 7:37)

shelly 发表于  2004-04-02 11:28:38


   《CS之赏金猎手》昨晚在书店里看到    |   阅读全文   |   评论(0)  |  引用(trackback1)  

太长了,头两天 水盟冰柠檬 有推荐。呵呵,太长了,我不习惯看。不过既然书也出来了,问了一下店员听说销量还不错。呵呵,这里把地址留下来。 :) 有时间的话,看一看了。~~~~~

http://www.sanxia.com.cn/book/book.asp?book_id=391

shelly 发表于  2004-03-29 10:38:13


   有人骂PHP垃圾。呵呵~~    |   阅读全文   |   评论(0)  |  引用(trackback1)  
喜悦国际村 看到有人骂PHP垃圾。呵呵,进去才知道是 CDSN 上在讨论。晕晕,这个问题已经讨论N久了。PHP只不过是一种编程工具而已,垃圾不垃圾纯属个人喜好。如其它编程语言一样。各有所长嘛。
我喜欢它:
1  极佳的跨平台功能。(一般WIN32下写的普通程序,在*NIX下都能用哦。)有人说JSP也好,嗯,正确,我没有说JSP不好呀。
2  语法简单。呵呵,学过TC的朋友基本上都可以掌握。
3  可用ZEND加密代码。我个人不赞成加密原代码。但,它在一定程度上解决了 版权的问题。 /:D
4  ....
5  ......
6  ........
N  ............
shelly 发表于  2004-03-29 10:26:26


   NT系统默认共享清除工具    |   阅读全文   |   评论(2)  |  引用(trackback0)  

另存下面内容为 Delshare.bat ,再开个DOS窗口执行它,按提示操作就行了

@echo off

:Rem 检查参数
if {%1}=={} goto :Usage

:Rem 程序主体
echo.
echo ------------------------------------------------------
echo.
echo  删除当前的系统共享目录
echo.
net share %1$ /delete
net share %2$ /delete
net share %3$ /delete
net share %4$ /delete
net share %5$ /delete
net share %6$ /delete
net share %7$ /delete
net share %8$ /delete
net share %9$ /delete
net stop Server
net start Server
echo.
echo  共享目录全部删除完毕
echo.
echo ------------------------------------------------------
echo.
echo  修改注册表项,修改系统默认共享属性
echo.
echo  生成 delshare.reg 准备修改注册表
echo Windows Registry Editor Version 5.00> c:\delshare.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg
echo "AutoShareWks"=dword:00000000>> c:\delshare.reg
echo "AutoShareServer"=dword:00000000>> c:\delshare.reg
echo  运行 delshare.reg 修改注册表
regedit /s c:\delshare.reg
echo  删除 delshare.reg 临时文件
del c:\delshare.reg
goto :END

:Usage
echo.
echo ------------------------------------------------------
echo.
echo  Windows NT/2000 系统默认共享清除工具
echo.
echo  作者:阿新(Seraph Chutium)
echo  主页:http://com.6to23.com/
echo.
echo  错误:未输入系统共享名称
echo.
echo  *=*=*  请输入系统共享名称  *=*=*
echo.
echo  例如,删除系统默认共享:
echo  delshare c d e ipc admin print
echo.
echo  若本地硬盘盘符不是 C: D: E: ,请自行修改
echo.
echo  如:
echo  本地硬盘为 C: D: E: X: Y: Z: ,则应改为:
echo  delshare c d e x y z ipc admin print
echo.
echo  *** 支持可同时删除 9 个共享目录 ***
echo.
echo ------------------------------------------------------
goto :EOF

:END
echo.
echo ------------------------------------------------------
echo.
echo  Windows NT/2000 系统默认共享清除工具,成功完成清除工作
echo.
echo  作者:阿新(Seraph Chutium)
echo  主页:http://com.6to23.com/
echo.
echo ------------------------------------------------------
echo.

:EOF

shelly 发表于  2004-03-28 14:57:29


   基本掌握为黑白照片上色技巧。    |   阅读全文   |   评论(6)  |  引用(trackback0)  
:)  真是神奇哦。  PS真的可以做到。晕晕~~~~~~
http://www.showyes.com/new1/html/2003-9-1/200391204554.htm


处理前

上色后
shelly 发表于  2004-03-28 08:15:41


   PHP 调试用 包含文件    |   阅读全文   |   评论(0)  |  引用(trackback1)  


<?php

    
/**

     * **]Function Name[= snk_debug()

     * **]Purpose[=

     *     在网页中添加一浮动层,探测预定义变量的当前值。

     * **]Parameter[=

     *     int $bug_lv 探测变量级别,值为下列变量中要探测变量对应值之和

     *         1    $_GET

     *         2    $_POST

     *         4    $_SESSION

     *         8    $_SERVER

     *         16   $_COOKIE

     *         32   $_FILES

     *         64   $_ENV

     * **]Return[= void

     * **]Author[= SNakeVil<51JS,BU>(snakevil**qq.com)

     * **]Version[= 1.0.0.0

     * **]Create[= 5:39 2004-3-27

     * **]Modifications[=

     * **]See[=

     */

    
function snk_debug($bug_lv=14) {

        if (!
is_int($bug_lv)) $bug_lv = intval($bug_lv);

        
$bug_lv = sprintf("%07s", base_convert($bug_lv, 10, 2));

?>

    <!-- "PHP Debug Frame" Plugin Content : START  -->

    <style type="text/css">

    TABLE#oDebugFrame {

        position:absolute;

        z-index:19840806;

        left:expression(body.scrollLeft+100);

        top:expression(body.scrollTop+100);

        width:expression(Math.round(body.clientWidth/2));

        height:expression(Math.round(body.clientHeight/2));

        background:#99D64B;

        border:solid 1px black;

        overflow:visible;

        cursor:default;

        filter:alpha(Opacity="80");

    }

    TH.oDebugFrame_Button {

        font:normal normal normal 9pt "Webdings";

    }

    DIV#oDebugFrame_Zone {

        width:100%;

        height:100%;

        overflow-x:visible;

        overflow-y:auto;

        padding:0 10px;

        scrollbar-3dlight-color:#99D64B;

        scrollbar-highlight-color:#99D64B;

        scrollbar-face-color:#222222;

        scrollbar-arrow-color:#222222;

        scrollbar-shadow-color:#99D64B;

        scrollbar-darkshadow-color:#99D64B;

        scrollbar-track-color:#99D64B;

    }

    P.oDebugFrame_SubCapital {

        width:100%;

        padding:0;

        margin:10px 0 0px 0;

        border-bottom:solid 1px #111111;

        font:normal normal bolder 10pt "Tahoma";

        color:black;

        text-indent:5pt;

    }

    P.oDebugFrame_SubCapital_Sub {

        width:100%;

        padding:0;

        margin:0 0 5px 0;

        font:normal normal normal 7pt "Verdana";

        color:#222222;

        text-align:right;

    }

    TABLE.oDebugFrame_List {

        border-collapse:collapse;

        width:95%;

        background:#CDE84C;

        font:normal normal normal 8pt/1.2 "Verdana";

        color:#111111;

        table-layout:fixed;

        margin-bottom:20px;

    }

    TABLE.oDebugFrame_List TH {

        background:#E8C54C;

        font:"Arial";

        color:black;

        letter-spacing:1px;

        padding:5px;

    }

    TABLE.oDebugFrame_List TD {

        word-break:break-all;

        word-wrap:break-word;

        padding:3px;

    }

    TD.oDebugFrame_List_Key {

        font:normal normal bold 8pt "Tahoma";

    }

    </style>

    <script language="JScript">

    function HoverIt(which) {

        return which.style.backgroundColor = "#DEF95D";

    }

    function LeaveIt(which) {

        return which.style.backgroundColor = "";

    }

    </script>

    <table id="oDebugFrame" cellspacing="0" cellpadding="0" onselectstart="return false" ondragstart="return false">

        <tr style="BACKGROUND:black;COLOR:white;HEIGHT:20px">

            <td style="FONT:normal normal 600 8pt 'Tahoma';TEXT-INDENT:10pt;WORD-SPACING:1px">PHP Debug Frame ( by SNakeVil )</td>

            <th class="oDebugFrame_Button" onclick="oDebugFrame.filters.alpha.opacity=Math.max(10,oDebugFrame.filters.alpha.opacity-10)" title="- : 更透明…">3</th>

            <th class="oDebugFrame_Button" onclick="oDebugFrame.filters.alpha.opacity=Math.min(100,oDebugFrame.filters.alpha.opacity+10)" title="+ : 更清晰…">4</th>


            <th class="oDebugFrame_Button" onclick="oDebugFrame.style.display='none'" title="x : 关闭本调试窗口">**</th>

        </tr>

        <tr><td colspan="4"><div id="oDebugFrame_Zone">

<?php

        
if ($bug_lv[6]=="1") { // 0000001 $_GET 1

?>

            <!-- Display $_GET -->

            <p class="oDebugFrame_SubCapital">Request - Get</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of get variables in request</p>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

             
foreach ($_GET as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_GET['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

        
}

        if (
$bug_lv[5]=="1") { // 0000010 $_POST 2

?>

            <!-- Display $_POST -->

            <p class="oDebugFrame_SubCapital">Request - Post</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of post variables in request</p>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

             
foreach ($_POST as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_POST['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

        
}

        if (
$bug_lv[4]=="1") { // 0000100 $_SESSION 4

?>

            <!-- Display $_SESSION -->

            <p class="oDebugFrame_SubCapital">Request - Session</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of session variables in request</p>

<?php

            
if (isset($_SESSION)) {

?>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

            
foreach ($_SESSION as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_SESSION['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

            
} else print("\t\t\t<div style=\"FONT:normal normal bold 8pt 'Verdana';COLOR:#990000;TEXT-INDENT:20pt;MARGIN-BOTTOM:15px\">\"Session\" has been not started !</div>\n");

?>

<?php

        
}

        if (
$bug_lv[3]=="1") { // 0001000 $_SERVER 8

?>

            <!-- Display $_SERVER -->

            <p class="oDebugFrame_SubCapital">PHP Web-Server</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of PHP web-server variables</p>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

             
foreach ($_SERVER as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_SERVER['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

        
}

        if (
$bug_lv[2]=="1") { // 0010000 $_COOKIE 16

?>

            <!-- Display $_COOKIE -->

            <p class="oDebugFrame_SubCapital">Request - Cookie</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of cookie variables in request</p>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

             
foreach ($_COOKIE as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_COOKIE['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

        
}

        if (
$bug_lv[1]=="1") { // 0100000 $_FILES 32

?>

            <!-- Display $_FILES -->

            <p class="oDebugFrame_SubCapital">Request - Files</p>

            <p class="oDebugFrame_SubCapital_Sub">a list of upload files variables in request</p>

            <table class="oDebugFrame_List" align="center" cellspacing="0" cellpadding="0" border="1" bordercolor="#111111">

                <tr><th width="39%">Variable</th><th>Value</th></tr>

<?php

             
foreach ($_FILES as $i => $j) print("\t\t\t\t<tr onmouseover=\"HoverIt(this)\" onmouseout=\"LeaveIt(this)\" title=\"\$_FILES['$i']\"><td class=\"oDebugFrame_List_Key\">$i</td><td>$j</td></tr>\n");

?>

            </table>

<?php

        
}

        if (
$bug_lv[0]=="1"</