陈锐的Blog

计算机是宝物
随笔 - 32, 评论 - 222, 引用 - 0

导航

每月存档

最新留言

广告

【第1页/共3页,36条】
首页
前页
1
2004年05月27日

这个问题是论坛中多次问过的问题,例如在用户填完一个表单进入下一页,就不希望用户能按“后退”按钮回到上一页。一般我的回答是做一个中间页面。今天找到一个更简单的方法:使用replace方法:


<HTML>
<SCRIPT>
function replaceURL(){
    window.location.replace("http://www.applevb.com");
}   
</SCRIPT>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<a href = "#" onclick = "replaceURL()">jump to applevb</a>
</BODY>
</HTML>

 

采用replace方法不是跳转,而且是用新页面替换了旧页面,这样在历史中都不会有旧页面的连接。

 

 

posted on 2004-05-27 17:07:00 by technofantasy  评论(9) 阅读(1341)

 
2004年05月26日

今天有网友问起来了,就给他分别写了VB和Delphi的实现方法,其实很简单,通过WebBrowser.Document.selection就可以了。

posted on 2004-05-26 16:41:00 by technofantasy  评论(5) 阅读(1214)

 
2004年04月22日

<body>
<H1>
CSDN帖子搜索(2003年,目前截至10月30日的帖子)<a href='http://www.applevb.com'>wwww.applevb.com</a>
</H1>
<br>
<br>
<table>
<tr>
<td width
</tr>
<%
dim keys
dim arr
dim i
dim sql
dim strAnd
Dim rs
dim i1
dim i2
dim url
dim index
dim ggg

strAnd = ""

On Error Resume Next

keys = Request("keys")
keys = replace(keys,"'"," ")
keys = replace(keys,"#"," ")
keys = replace(keys,"+"," ")
keys = replace(keys,"$"," ")

keys = trim(keys)
if(len(keys) =0 ) then
  response.Write("<H3>请输入搜索关键字</H3><br>")
else


 'sql = "select top 50 csdn_topic, CATA_INDEX from t_topic where contains(csdn_topic,'"
 sql = "select  cata_index,csdn_topic from T_Topic "
 sql = sql & " inner join containstable( t_topic,csdn_topic,'"
 
 arr = split(keys," ")
 for i = LBound(arr) to UBound(arr)
   if(lenb(trim(arr灯泡)) > 1) then
    sql = sql + strAnd + arr灯泡
     strAnd = " AND "
   end if
 next
 'sql = sql & "') and type_id = " & Request("types")
 sql = sql & "')  AS KEY_TBL "
 sql = sql & "on key_tbl.[key] = t_topic.cata_index "
 if (Request("types") <> "-99") then
   sql = sql + " and  type_id = " & Request("types")
 end if
 
 'response.write(sql)
 'response.write("<br>")
 
 Set conn=Server.CreateObject("ADODB.Connection")
 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\2003 document\db1.mdb;Persist Security Info=False
 conn.Open "DRIVER={SQL Server};SERVER=chen;DATABASE=csdn_v2;UID=sa;PWD=xiao haha"
 Set rs = CreateObject("ADODB.Recordset")
 set rs.ActiveConnection = conn
 call rs.Open (sql, conn)
 
 conn.Execute("update t_click set click_count = click_count + 1")

 if( err.Number = -2147217900 ) then
  response.write("有的关键字过于简单,请不要使用过于简单的字和单词,不要使用特殊符号<BR>")
 else if ( err.Number <> 0 ) then
  response.write( err.Description & "<BR>")
  response.write( err.Number & "<BR>")
  response.write(ggg)
 else
     index = 0
     response.write "<OL>"
     While (Not rs.EOF)
   URL = "http://expert.csdn.net/Expert/topic/" & int(rs(0).Value / 1000) & "/" & rs(0).Value & ".xml"
   index = index + 1
         response.write "<LI><A HReF = '" & URL & "' target=_blank>" & rs(1).Value & "</A></LI>"
         response.write("<br>")
  rs.MoveNext
     Wend
     response.write "</OL>"
 end if
 
 conn.close
end if
 
end if
%>
</table>

posted on 2004-04-22 08:08:00 by technofantasy  评论(0) 阅读(413)

 
2004年04月20日

http://www.pcdog.com/info/3903.htm

 

文/何东山

  几乎每一个使用计算机的用户都有错误操作计算机的时候,从某种意义上说,数据丢失的危险具有一定的必然性、普遍性和偶发性。笔者撰写本文的目的就在于让更多的计算机用户能够用最少的时间来做更有效的事情。

  笔者的一位朋友是一位喜欢捣弄计算机的超级Cfan。前不久,由于他的系统变得“千疮百孔”,于是使用Ghost将以前做好的系统镜像还原,进入Dos后,一阵快速点击Local/Dis k/From Image......呵呵,不用说大家也知道发生了什么事,他的世界开始一片黑暗,死机、重启找不到硬盘,于是重装Win98,经过焦急而漫长的等待,Win98终于出现了,可是打开“我的电脑”......傻主眼了!只剩下一个和原先一样大的2G的C盘,D、E、F三个分区全都无影无踪了,那上面可存着他好几年的心血哪,什么软件、游戏、动画、文章、还有......他已经不敢再想下去,他的“世界开始下雪”。

  看来,这虽一个典型的因误克隆操作而导致分区表损坏的事例。在笔者赶到之前,这位仁兄已经试用了Disk Edit、Debug、Easyrecovery等工具,可不是操作复杂、需要很专业的知识就是得一个一个文件地恢复出来,天哪!那上百、上千MB的文件得花上多少时间呀!况且那2G的C盘根本无法容纳。其实,完全不必这么麻烦、也用不着如此紧张,只要重建损坏的分区表就一切OK了!那就快请出咱们的主角——一款小巧(只有108k)而功能强大的硬盘维护工具Diskgenius吧!(Norton 2002实用工具集中有,也可在各大软件网站下载得到。)

  好了,现在我们来看看Diskgenius是如何通过几千简单的步骤将丢失的分区找回来的。

  1、运行Diskgenius,记住一定要在纯Dos下运行、这样你后面做的工作才会生效,运行后它会自动检测当前硬盘并将每个分区的信息详细提供给你(如图1)。左边柱形图表示硬盘、有几截就代表有几个分区,最下面深蓝色的是主分区,上面一大截灰色的是被误克隆后丢失的分区(现在变成了未分配区域),我们要做的工作就是把这一大截灰色区域恢复成原来的样子(正常是带网格的蓝色);右边的图表是硬盘及各分区的参数信息、非常明了。

图1

  2、在莱单栏点选“工具/重建分区”,Diskgenius便开始搜索并重建分区(如图2)。

图2

 文/何东山

  搜索过程可采用“自动方式”或“交互方式”,“自动方式”保留发现的每一个分区、“交互方式”对发现的每一个分区给出提示并由用户选择。

  这里我们点选“自动方式”(如图3),

图3

  接下来出现搜索进度指示界面(如图4),

图4

  很快分区表重建就完成了(如图5),这时我们可以清楚地看到左边柱形图的灰色区域变成带网格的蓝色了,右边图表中是各分区的详细信息。“呀!那不是以前的分区吗?”这位仁兄兴奋地叫了起来,呵呵,别急,工作还没完呢!要让它生效就赶快点击“确定”吧。

图5

  3、点选菜单栏“工具/重写主引导记录”(如图6),

图6

  Diskgenius一阵忙活,很快就将分区信息更改完毕(如图7),点击“重新启动”,一切OK!

图7

  等熟悉的Windows桌面出现后,这位仁兄便迫不急待地打开“我的电脑”,呵呵、D、E、F盘全都回归了,再进去查看里面的文件,哇!全部毫发未损。

  至此,一场数据恢复战就这样被Diskgenius轻松搞掂了。算算时间,整个过程只用了几分钟哦!

  最后,笔者还想给各位提个醒悲伤的脸1)万一遇到此类情况时最好不要再往硬盘里写入数据(2)平时做好备份工作。可将Diskgenius和分区表信息都备份到启动软盘上,以备不时之需。

  (注:其它类似情况下的数据恢复操作类同。如果不能正常进入系统,可用启动软盘或光盘进入Dos后运行Diskgenius。)

posted on 2004-04-20 21:17:00 by technofantasy  评论(0) 阅读(436)

 
2004年04月13日
VB中创建的DLL只是COM组件,无法作为输出函数的DLL。今天从袁波哪里搞到一种可以创建输出函数的DLL的方法。

posted on 2004-04-13 10:56:00 by technofantasy  评论(39) 阅读(2806)

 
2004年04月09日

刚到新公司,机器就老出问题,用段时间就会出现BSOD(蓝屏死机)。在网上找到这么一个Stop Error列表和解决方法的站点:

http://users.tpg.com.au/bzyhjr/stop_err.html

里面列出了可能的导致Windows停止的错误以及解决这些错误的链接。

posted on 2004-04-09 10:54:00 by technofantasy  评论(2) 阅读(836)

 
2004年04月07日

是关于Delphi下Win32 API编程的:
http://www.china-pub.com/computers/common/info.asp?id=18096

这本书算拖了比较长的时间,前后有1年多。其中的过程就不说了,只是在读者书评里面有一句话让我挺感慨的:又可喜又可惜!
喜的是这么著名的书终于有中文版了,惜的是win32版的delphi日渐式微的今天才出版!

就我这本书来说,拖延的各方面原因都有。如果能够顺畅的合作的话,应该在半年前就可以出版了。

那天跟一个编辑吃饭时就说到了,做本书真的不容易,要找好的书,跟对方出版社联系,找译者,翻译,反复修改。往往是等到书出来就已经过时了。什么时候能有一个快速的方法,甚至是在外国作者开始写的时候就能及时的“同步”翻译,让国内的读者能够尽快的读到一本好书就好了(嗬嗬,我估计着基本是不可能实现的)。

posted on 2004-04-07 11:56:00 by technofantasy  评论(8) 阅读(928)

 
2004年04月05日

对于支持页眉、页脚以及保持页面一致性,使用了MetaBuilders.WebControls.MasterPages组件,下面是一个页面:

<%@ Page SmartNavigation="true" Language="C#" %> <%@ Page SmartNavigation="true" Language="C#" %>
<%@ Import Namespace="AspNetForums.Components" %>
<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>
<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>

<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">
<mp:Content id="HeadTag" runat="server">
 <meta http-equiv="Refresh" content="300" />
</mp:Content>
<mp:Content id="MainContent" runat="server">
 <Forums:ThreadView runat="server" />
</mp:Content>
</mp:ContentContainer>
<%@ Import Namespace="AspNetForums.Components" %><%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %><%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>

ContentContainer 是一个内容容器组件,可以装载作为模板的ascx文件。而Content是内容展示组件,可以展示模板中的region(region类似于Place Holder)。这个组件是从http://www.metabuilders.com/ 获得的。这个网站上还提供了很多ASP.NET组件。

posted on 2004-04-05 23:12:00 by technofantasy  评论(2) 阅读(2533)

 
2004年04月03日

现在ASP.NET论坛已经出了2.0的Beta版了。前两天点缀的帖子已经介绍了一下,其实在那个版本中有一个InstallWizard的目录,可以运行这个目录下面的工程来执行安装。现在又出了一个新的可以直接安装的版本,下载地址在:http://forums.asp.net/builds/Beta/AspNetForums.exe。这个是一个可以直接安装的版本。不过这个版本也有问题,就是在安装完毕后安装数据库的时候会失败(似乎是安装所执行的SQL脚本文件在安装包中并不存在!!),只能手工运行SQL脚本,执行的次序依次是:

2004.03-Tables.sql
2004.03-Procedures.sql
2004.03-Functions.sql
2004.03-Data.sql

这样就可以将数据库安装好了。还有一个在安装时出现的问题,在InstallWizard中会要求你创建一个管理员账号,因为数据库安装失败,所以这个管理员账号并不会创建成功。我只好在页面中创建一个普通账号然后在数据库里面改账号的权限。这样论坛就算安装完成了。

安装完成以后打开web目录下面的工程AspNetWebForums.sln重新编译一下(如果出现命名空间错误需要手工将Components和Controls目录下的DLL重新引入一下)。然后论坛就可以正常运行了。

ASP.NET也新开了2.0版的讨论板块:http://forums.asp.net/Forums/G$4/default.aspx 去里面看了一下,好像2.0 beta的Bug还不少。希望能早点看到正式的发布版出来。

posted on 2004-04-03 23:18:00 by technofantasy  评论(16) 阅读(3109)

 

aspnetforums工程中的moderation里面保存着若干.ascx文件,这些文件就是相对应的engine中的同名控件的皮肤。具体的控制方法是这样的:

在aspnetforums工程中的moderation里面保存着若干.ascx文件,这些文件就是相对应的engine中的同名控件的皮肤(例如Skin-Navigation.ascx对应engine中的NavigationMenu.cs,在NavigationMenu.cs中有一行:string skinFilename = "Skin-Navigation.ascx"; 就是设置皮肤的)皮肤的装载在控件的父控件SkinnedForumWebControl的LoadSkin()方法中完成,在LoadSkin()方法中首先通过skinFilename获得皮肤ascx文件真实所在的目录并通过Page.LoadControl方法装载到页面中,具体代码如下:

string skinPath = Globals.ApplicationVRoot + "/skins/" + SkinName + "/Skins/" + SkinFilename;

// Do we have a skin?
if (SkinFilename == null)
throw new Exception("The SkinName property of the control must be set.");

// Attempt to load the control. If this fails, we're done
try {
skin = Page.LoadControl(skinPath);
}
这样,就实现了在LoadSkin()方法中装载页面控件(也就是皮肤),而LoadSkin()方法在基类SkinnedForumWebControl中的重载方法CreateChildControls()中被调用,这样就实现了在创建控件的同时装载与该控件相对应的皮肤(ascx文件)。
CreateChildControls方法是这样重写的:
protected override void CreateChildControls() {
Control skin;

// Load the skin
skin = LoadSkin();

// Initialize the skin
InitializeSkin(skin);

Controls.Add(skin);
}
注意其中的InitializeSkin(skin);方法,该方法在SkinnedForumWebControl中被定义为:
protected abstract void InitializeSkin(Control skin);
而在子类中该方法被实现,具体到NavigationMenu.cs类,在该类的InitializeSkin方法中,程序首先通过一系列的FindControl方法获得原先从皮肤Skin-Navigation.ascx中装载的HyperLink控件。然后根据当前的用户状态决定哪些控件显示,哪些不显示。由于在NavigationMenu.cs类的父类SkinnedForumWebControl中的重载方法CreateChildControls()中调用了InitializeSkin方法,这样就使得子类NavigationMenu.cs的InitializeSkin方法在CreateChildControls()中被调用。这样就实现了其InitializeSkin方法中对各种HyperLink的控制。

posted on 2004-04-03 22:31:00 by technofantasy  评论(0) 阅读(493)

 

今年再度根转转一起去面见签证官。过程就不细说了,整整站了三个小时的队。在我交资料的时候,看到转转满脸悲壮的走出去,感觉自己悬。果然,同去年一样的结果。不过也好,正好可以早点回去见我MM 笑脸

不过在北京还是有收获的,根美丽的杨志娟编辑和蝈蝈美美地吃了顿涮羊肉。就她们出版社的丛书聊了一下,听她说了不少有趣的故事。在这里说一下,现在她手头有丛书,需要对C#熟悉并且有充足时间的作者。现在我知道的是C#方面有两本书,但是一直没有找到合适的作者(有技术、文笔好、有时间)。我和蝈蝈写的是ASP.NET方面的书。

今天回来无聊,用开心提供的方法 写了一个发短信的网页,免得我MM抱怨发短信太慢 笑脸

posted on 2004-04-03 18:10:00 by technofantasy  评论(3) 阅读(907)

 
2004年03月08日

值此妇女节之际,湖南MVP发扬与时俱进的精神,聚首长沙,举行了一次隆重而热烈的MVP晚宴。以下是活动照片:

http://blog.joycode.com/technofantasy/gallery/706.aspx

 

咧嘴笑脸

posted on 2004-03-08 20:44:00 by technofantasy  评论(16) 阅读(1002)

 

现在美国大使馆已经更改了预约的方法,需要付费才能获得预约申请服务。申请的方法这里可以看到:

http://www.usembassy-china.org.cn/visa/c/#重要通知

 

不过需要首先支付54块钱获得12分钟的通话时间!!用国内的银联卡都可以支付的(我用的是招商银行的卡)。然后根据里面的语音提示就可以接通他们的客户服务热线了(在里面有一个很长的语音提示告诉你输入身份证号码,告诉你15位怎么输、18位怎么输,都是假的,直接输给你的密码就可以了)

不过付费服务就是不一样,这次是一个声音很甜的MM接电话,而且态度很好。我预约的时间是3月29号。就是说现在预约还有时间!

 

posted on 2004-03-08 10:01:00 by technofantasy  评论(3) 阅读(892)

 

今天晚上看程序,抬头一看表,不知不觉已经到了3.8号了。今天跟一个MM聊天说他们班的女生每人收到男生集体送的康乃馨1朵 笑脸

祝:

可可、睡猪、Pigangle、533、Young、花瓣的味道、院子、紫晶之梦、藏书人、还在创智奋战的各位MM,当然还有我们的Grace 节日快乐!! 咧嘴笑脸

posted on 2004-03-08 00:47:00 by technofantasy  评论(5) 阅读(834)

 
2004年03月04日
现在在程序中使用webbrowser控件的真不少。这两天就碰到几个这样的问题。

posted on 2004-03-04 12:00:00 by technofantasy  评论(8) 阅读(1472)

 
【第1页/共3页,36条】
首页
前页
1

Powered by: Joycode.MVC引擎 0.5.2.0