posts - 125, comments - 24, trackbacks - 41, articles - 2
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年3月5日

(继续讨论用repter或者DataList做分页)

调试存储过程老是提示“Invalid column name ...”,晕倒,检查到最后发现是字符串竟然写成了"",哈哈,应该是 '',记住了。

在这里整理了两个可以用的分页存储过程,以备后用。

第一:
ALTER  procedure Consignment
@tablename varchar(80) ,
@strOrder varchar(50) ,
@PageIndex int = 1,
@PageSize int = 15,
@strGetFields varchar(200) = '*',
@OutPut int output
as
Begin
Declare @strSql varchar(500)

DECLARE   @SQL   NVARCHAR(1000)
DECLARE   @R BIGINT
SET   @SQL=  N'select @R=count(*) from  '+@TableName
EXEC  SP_EXECUTESQL   @SQL,  N' @R BIGINT OUTPUT'@R OUTPUT
SET   @OutPut=  @R

if(@PageIndex =1)
Begin
  
set @strSql='select top '+str(@PageSize)+' '+@strGetFields+' from '+@tablename+' order by '+@strOrder
End
Else
  
set @strSql='select top '+str(@PageSize)+' '+@strGetFields+' from '+@tablename+' where ('+@strOrder
            
+' >= ( select Max('+@strOrder+') from ( select top '+str(@PageSize*@PageIndex)+' * from '+@tablename+' order by '
            
+@strOrder+' ) as tempTable)) order by '+ @strOrder
  
select @strSql 
exec(@strSql)

End

第二:

alter procedure AllProce
@tablename varchar(200) ,   --表名
@strGetFields varchar(200= '*',  --查询列名
@PageIndex int = 1 ,         --页码
@pageSize int = 15,         --页面大小
@strWhere  varchar(100= '',     --查询条件
@strOrder varchar(100= ''--排序列名
@intOrder bit = 0,        --排序类型  1为升序
@CountAll bigint output              --返回纪录总数用于计算页面数    
as
begin
declare @strSql varchar(500)  --主语句
declare @strTemp varchar(100--临时变量
declare @strOrders varchar(50--排序语句
declare @table varchar(70)

declare   @SQL   nvarchar(1000)
declare   @R bigint
set   @SQL=  N'select @R=count(*) from  '+convert(nvarchar(200),@TableName)
exec  SP_EXECUTESQL   @SQL,  N' @R BIGINT OUTPUT',  @R OUTPUT
set   @CountAll=  @R
if @intOrder = 0
begin
    
--为0是升序
    set @strTemp = '>(select max'
    
set @strOrders =  ' order by  '+@strOrder+' asc '
end
else
begin
    
--否则为降序
    set @strTemp = '<(select min'
    
set @strOrders = ' order by  '+@strOrder+' desc '
end
if @PageIndex =1        --第一页直接读出纪录
begin
    
if @strWhere = ''
    
begin
         
set @strSql = 'select top '+str(@pageSize)+' '+@strGetFields+' from '+@tablename+' '+@strOrders
     
end
    
else  
    
begin
         
set @strSql = 'select top '+str(@pageSize)+' '+@strGetFields+ ' from '+@tablename+' where '+@strWhere+' '+@strOrders
    
    
end
end
else
begin
    
set @strSql = 'select top'+str(@pageSize)+' '+@strGetFields+' from '+@tablename+' where '+@strOrder+' '+@strTemp+' ('+@strOrder+')'
                  
+' from (select top '+str((@pageIndex-1)*@pageSize)+' '+@strGetFields+' from '+@tablename+ ' '+@strOrders+ ') as tempTable ) '+@strOrders
         
    
if @strWhere != ' '
    
begin
       
set @strSql = 'select top '+str(@pageSize)+ ' '+@strGetFields+' from '+@tablename+ ' where '+@strOrder+ ' '+@strTemp+' ('+@strOrder+''
                   
+' from(select top '+str((@pageIndex-1)*@pageSize)+' '+@strGetFields+' from '+@tablename+' where '+@strWhere+' ' +@strOrders+') as tempTable) where '+@strWhere+' '+@strOrders
   
    
end
end 
exec(@strSql)    
end
GO

posted @ 2008-09-02 08:21 李海 阅读(23) | 评论 (0)编辑

jLook example v0.8

http://www.cssrain.cn/article.asp?id=687

演示:
http://www.cssrain.cn/demo/jlook/jlook.html

下载:
http://www.cssrain.cn/demo/jlook/jlook.rar

posted @ 2008-08-24 21:41 李海 阅读(19) | 评论 (0)编辑

jquery实现表单onfocus,onblur效果

<script>
    $("document").ready(function(){
        $("input[@type='text'],input[@type='password'],textarea").focus(function(){
            $(this).css({background:"#fcc", border:"1px solid #f00"}).blur(function(){
                $(this).css({background:"transparent", border: "1px solid #ccc"})
            })
        });
    });
  </script>

$(document).ready(function(){
if ($.browser.msie){
  $("input[@type='text'], input[@type='password'], textarea").focus(function(){$(this).addClass("focus")}).blur(function(){$(this).removeClass("focus")});
}
})

jquery获取表单的值

 

获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;

获取值:

文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio:   $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();

控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
                 $("#txt").attr("value",'11');//填充内容

多选框checkbox: $("#chk1").attr("checked",'');//不打勾
                 $("#chk2").attr("checked",true);//打勾
                 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾

单选组radio:    $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select:   $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
                $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
                $("#sel").empty();//清空下拉框

posted @ 2008-08-21 10:12 李海 阅读(13) | 评论 (0)编辑

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[XTJ_NewsInfor_DeleteArray]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[XTJ_NewsInfor_DeleteArray]
GO
------------------------------------
--用途:根据id字符串删除所有的记录
--项目名称:
--说明:
--时间:2008-8-13 14:44:20
------------------------------------
CREATE PROCEDURE XTJ_NewsInfor_DeleteArray
    @ID nvarchar(1000)
as
    DECLARE @PointerPrev int
    DECLARE @PointerCurr int
    DECLARE @TId int
    Set @PointerPrev=1
    
    while (@PointerPrev < LEN(@ID))
    Begin
        Set @PointerCurr=CharIndex(',',@ID,@PointerPrev)
        if(@PointerCurr>0)
        Begin
            set @TId=cast(SUBSTRING(@ID,@PointerPrev,@PointerCurr-@PointerPrev) as int)
            Delete from XTJ_NewsInfor where ID=@TID
            SET @PointerPrev = @PointerCurr+1
        End
        else
            Break
    End
    --删除最后一个,因为最后一个后面没有逗号,所以在循环中跳出,需另外再删除
     set @TId=cast(SUBSTRING(@ID,@PointerPrev,LEN(@ID)-@PointerPrev+1) as int) 
     Delete from XTJ_NewsInfor where ID=@TID
GO

下来要批量删除记录的话只要给存储过程传参1,2,3,4,……n,存储过程就会删除相应的记录

posted @ 2008-08-15 11:55 李海 阅读(45) | 评论 (1)编辑

装上SQLSERVER 2005已经很久了,以前登录直接选择'Windows身份验证',并没有什么问题出现!可前段时间采用'SQLSERVER身份验证'去登录,随之的问题就来了.无论用什么方法就是一个结果出错!

    出错的原因是:'用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联'.今天上网上查了半天还是搞不定,最后经过网上和书上的汇总,终于搞定了!呵呵········///


   具体的方法是:


  1:打开SQL Server Manager管理器!在左面找到  ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。     点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。


   2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!


    3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!

posted @ 2008-08-15 11:45 李海 阅读(366) | 评论 (2)编辑

干程序员这行实在是离不开英语。实际上,可以毫不夸张地说英语是IT的行

业语言。由于英语的优势,印度、爱尔兰等国的软件业在国际上比我们更有

竞争力,这并不是说我们的程序员在编程和开发能力上不如别人,而是在使

用计算机英语水平上差距太大。不久前在南京举办的一次高规格的软件开发

交流会上,就遇到过印度专家讲课,英文翻译译不下去的情景,因为太多的

IT专用术语和缩略语以及很强的专业知识使得没有计算机背景的英语专业翻

译无能为力,而在场的开发人员因为语言障碍又无法和印度专家直接沟通,

错过了一次极好的交流学习机会。现在,已经有越来越多的程序员意识到计

算机英语的重要性了,这种压力一方面来自进一步向高级程序员或资深IT开

发人员发展的需要,一方面来自于后起之秀不断竞争的威胁。对于前者,没

有较好的计算机英语,能难进一步发展,晋升到更高的技术职位;对于后者

,不少大学已经开始使用原版教科书进行专业授课,毕业生的计算机英语水

平实在是后生可畏,挑战是不言而喻的。

那么,一个程序员应该怎样去学习和掌握计算机英语呢?是立即开始背英汉

计算机字典还是先考完6级再考"托"考"G"?其实,在下定决心之后最关键的

是要搞清6个W,即:为什么学(why)、学什么(what)、怎样学(how)、

何时学(when)、何处学(where)、跟谁学(who)。下面我们就谈一谈这6

个W。

首先是为什么要学计算机英语。几乎所有的程序员都知道学习计算机英语的

重要性,但并不是所有人都具有学习的主动性。这个问题的提出就是要让我

们从自身的需求出发,掌握学习的主动性。一旦你有强烈的学习动机,任何

学习上的困难都不会认你屈服,而你的每一点进步都将给你带来无比自豪的

感觉。

学什么,是死背单词?还是猛抠语法?其实都不是。计算机英语的学习是一

项系统工程,需要找到一个适合自己的学习目标,并从词汇、语法、阅读、

写作多方面去融汇贯通。用程序员的术语讲,"学什么"的问题本质上是一个"

确定系统边界"的问题。应为学习计算机英语是一个很宽泛的概念,若不根据

个人的具体情况进行定义,恐怕难以有一个可以管理学习目标。无目标的或

边界不清的项目往往是失败的项目,在学计算机英语的问题上也是一样。因

此,我们先要根据自己的实际英语水平和工作需要界定计算机英语学习的系

统边界。关于实际英语水平,我们可以简单地以大学非英语专业的英语教育

作为参考,以通过大学英语四级考试(CET4)作为基线,即如果你通过了

CET4,则表明你的英语水平为中高级,词汇量接近5千,不存在基本的语法问

题,有一定的读写能力;如果你没有通过CET4,则表明你的英语水平为初中

级,词汇量不足4千,可能存在一些语法问题,读写能力较弱。关于工作需要

,我们可以将计算机英语学习对象划分成计算机研发人员、泛IT人员。其中

计算机研发人员是指从事计算机研究和开发的专业人员,他们又划分为软件

研发和硬件研发,显然程序员是属于前者。计算机研发人员要掌握的计算机

英语最专业,要求最高,但软件硬件各有侧重。泛IT人员是指在IT行业从业

的或与IT行业有密切联系的那些非研发人员,包括操作使用人员、技术管理

人员、支持服务人员等等。不难看出,泛IT人员对计算机英语的要求不是太

高,也不太专业,一般能够使用英文界面的软件,能够阅读原版的操作手册

和说明书即可。针对以上的划分,我在下表中大致给出了计算机英语的学习

目标:

表1 计算机英语的学习目标

初中级 中高级
泛IT行业人员 掌握计算机英语的基本术语;
了解计算机英语中常用的语法和惯用法;
能借助字典阅读英文界面和在线帮助以及简单的操作手册,阅读熟读在70-

90词/分钟。 掌握计算机英语的常用术语和缩略语; 掌握计算机英语中语

法和惯用法的表达方式和功能;
能借助字典阅读英文文档和技术资料,阅读熟读在100词/分钟以上;
能使用英文编写简单的文档。
计算机研发人员 掌握计算机英语的常用术语和缩略语;
熟悉计算机英语中的语法和惯用法;
能阅读英文界面和在线帮助以及简单的操作手册,阅读熟读在80-100词/分

钟。 掌握大量的计算机英语术语和缩略语;
熟练掌握计算机英语中语法和惯用法的表达方式和功能;
能阅读英文文档和技术资料,阅读熟读在100词/分钟以上;能借助字典翻译

专业技术图书。
能使用英文编写简单的技术文档和程序注释。

知己知彼,百战不殆。在了解了学习计算机英语的一般要求之后,接下来就

需要对自己的具体情况进行具体分析,制定一个学习计划或简单地定一个学

习方向。作为程序员学习计算机英语的根本目的是为了提高自己在英语环境

中掌握计算机技术的能力,所以学习的内容应该是围绕本专业的领域展开。

对于没有上过计算机专业英语课程的程序员来说,学习的重点应该是掌握专

业词汇和术语,了解计算机英语的一些规范译法和习惯用法。对于有一定计

算机英语基础的程序员则应该把重点放在提高阅读速度和阅读质量上,并逐

渐习惯使用英语注释程序撰写文档。
在明确学习目的和学习方向之后,还必须有一个好的学习方法,"怎样学"就

是一个学习方法问题。这其中还包含了何时学、何处学、跟谁学等一系列问

题。

在这里我建议把短期的系统学习和长期的日常学习结合起来,这样做的效果

最好,也最科学。所谓短期的系统学习是指集中一段时间系统地学习计算机

英语,这对于没有参加过大学计算机英语课程学习程序员尤为重要。而日常

的学习则是指在日常工作用有意识地多接触和多使用计算机英语,边用边学

,持续不断地积累提高。下面我就从这两个方面来具体谈一谈。

要系统地学习计算机英语,最好是参加专门的计算机英语课程培训班。培训

班的选择非常重要,好的老师、成功的办学经验和系统的课程设置都是选择

的重要依据。然而大多数程序员工作繁忙,可能采取的方式多是自学了。如

果不能选择一位好老师,那就只能选择一本好教材了。一本好的计算机英语

教材对系统地学习计算机英语帮助极大。目前市面上的计算机英语教材多达

30种,在选择教材时不少程序员往往无从下手,大家不妨从以下几方面进行

考虑:

教材的难易程度--对于不同学历层次有不同的教材,选择教材是一定要看清

该教材的培训对象是中专、大专、本科还是研究生。选择难易程度适合自己

的教材,太简单则不利于提高、太难则容易使学习受挫。

教材的专业侧重--有的计算机英语教材偏重于硬件,有的偏重于软件,还有

的教材是信息电子类的计算机英语,侧重于通信电子方面,比如:汇编语言

、单片机等。另外有的教材侧重于理论,如:数据结构、离散数学;而有的

则侧重于应用,如:软件工程、数据库开发。所以程序员在选择计算机英语

教材时,应仔细察看书中的内容,以免偏离软件开发的实际工作需要。

教材的体系结构--目前计算机英语教材主要分为按语法体系组织和按计算机

体系组织的两种结构。如果你是初中级的英语水平建议使用前者,如果你是

中高级的英语水平建议使用后者。

教材的易用性--教材的易用性是指教材的编排是否符合人们的学习习惯。虽

然计算机英语是专业课程教材,但如果编排活泼、图文并茂、注解查阅方便

肯定能调动学习的兴趣,降低阅读的难度。这方面国内的教材应该多向国外

的教材学习。

然而国内许多大学的计算机英语课程作为专业英语教学起步较晚,而早期出

版的计算机英语教材大多出自于任课老师收集的计算机英文资料,教材规划

不够系统,编排也比较简单。这些教材虽然使用的学校较多,为早期的计算

机英语教学做出过不可磨灭的贡献,但致命的弱点是内容陈旧、与时代脱节

。最典型的代表是清华大学出版社的《计算机英语》,该书最新版本是1997

年更新的,里面还充斥着Dos这样的陈旧内容。有些老师苦于没有新颖实用的

计算机英语教材,于是一本国外的计算机入门读物《Computing Essentials

》(McGraw-Hill出版公司)被许多大学选用为计算机英语教材,效果极佳。

这本书现在已经由高等教育出版社影印发行,书名是《计算机专业英语》。

该书的特点是:时效性强(版本更新快),新颖实用,编排活泼。但对于中

高级英语水平的专业开发人员未免有点太浅。

我们在分析和研究了市面上大量计算机英语教材的基础上,又结合计算机英

语教学和学习经验,编写了一本非常适合于软件开发人员的《计算机英语》

,该书已经由机械工业出版社出版,是该社"重点大学计算机教材"系列中的

一本。需要说明的是该书最适合的读者对象为英语达到CET4的程序员,因为

该书的选材直接来自国外计算机教材和出版物、技术文档和专业论文、IT精

英的言论以及计算机方面的大百科全书,这样的选材在保持原汁原味的同时

使学习者更能接触到计算机英语的真实语境和主流思想,虽然有一定的难度

,但非常实用和专业。同时为便于学习,我们为超出CET4的词汇和一些专业

术语都进行了注释,而且注释就在课文旁边,免去了翻查生词表的麻烦。这

本书适合于程序员的另一条重要原因是全书侧重于软件和应用,没有枯燥繁

琐的理论。计算机英语是用来学习专业英语的,而不是用来学习计算机理论

的。我们没有像其他的计算机英语教材那样,充斥了大量难懂的计算机理论

文章,而这些理论本身就非常难学。这本教材与其它计算机英语教材不同的

地方还在于它更关注计算机素养、计算机应用以及IT对社会和生活的深刻影

响。在这里我们可以聆听到IT精英比尔·盖茨和IBM公司CEO郭士纳的精彩演

讲,也能拜读到英特尔公司前总裁葛洛夫的惊世之作《只有偏执狂才能生存

》的序言。

系统学习计算机英语,这里的系统性包括了计算机体系的系统性和英语语言

的系统性,我们在学习时必须时刻牢记。除了借助计算机英语教材系统地了

解计算机硬件软件、操作系统、软件工程、编程语言、网络通信、信息安全

、应用系统等诸方面的英语表达和专业词汇外,还要对英语语言本身从听、

说、读、写四个方面下功夫,以免出现偏废。有些程序员就是因为在听和说

方面偏废,以至于影响到出国发展。如何加强听和说的训练,这是关于英语

学习的话题,我自己的一个经验是多看原版电影(VCD/DVD)以提高听力(当

然不能看字幕),多参加英语聊天(英语角)以提高口语。

计算机英语的学习不同于考"托"考"G",无法靠短期的突击来完成。长期的日

常学习尤为重要。所谓的日常学习并不需要你抛开工作,安排专门的时间,

而是边用边学。比如,你为了解决编程上的一个问题,查阅英文的帮助或技

术资料。然而,不少程序员不太喜欢看英文,他们喜欢使用中文版的软件,

喜欢汉化的帮助,喜欢读翻译好的书。这实际上就错过了许多日常学习计算

机英语的机会。不可否认,读中文肯定比读英文方便,节省时间,但从长期

的发展来看,弊大于利。这种对翻译的依赖使许多程序员失去了获取一手资

料的宝贵机会。

其实,既然你已经通过对计算机英语的系统学习掌握了一定数量的专业词汇

,就完全可以借助字典去使用那些原文资料和在线帮助,加上有金山词霸这

样的工具,阅读原文并不很困难,关键是一个习惯问题。我有一个朋友,在

自己的电脑里从不装任何中文版或汉化软件,连上网聊天也坚持用英文。几

年下来英语突飞猛进,效果甚佳,有志者不妨一试。
在日常工作中大量阅读英文书籍和资料是提高计算机英语水平的最佳途径。

目前市场上大量的计算机原版影印图书为我们提供了绝好的机会。阅读英文

计算机图书一开始是"啃"的感觉,比较费时费力,对于不太好读的地方,不

妨拿起笔来逐行逐字翻译出来,这样对提高英语水平很有帮助。对于有经验

的程序员可以利用自己的专业背景知识和上下文(Context)进行大胆推测,

这样有利于提高阅读速度。即使是不求甚解,也不要紧,你可以通过多读同

类书来弥补。原版计算机书读多了,你会发现一些很有规律的东西和一些常

用的词汇,这些来自实践的经验非常宝贵,并让你终生受益。一般在完整阅

读2-3本原版书以后,你就能发现读原版书的乐趣。值得一提的是读原版书

的真正乐趣并非只是在于提高英语水平,而更是在于获得一种和西方人一致

的思维方式,这种思维方式对学习计算机技术极为有益,因为计算机技术甚

至现代科学体系都是建立在这种思维方式的基础之上的。坚持阅读英文计算

机图书可以达到"品"的感觉,这种感觉是指在阅读时无需将英文转换为中文

,而是直接用英文和作者在同一个水平线上进行思考和交流。至此,我们获

得的不仅是英语水平的突破,更是计算机水平的突破。这也是许多计算机高

手成功的秘密。

如果你有一定的英语基础,并希望突破计算机英语的障碍并成为高手,从现

在起就养成一个学用计算机英语的良好习惯吧。下面是你可以立即选择的努

力方式:

1、 给自己起一个英文名字。并用作网名和登录名。
2、 立即将自己电脑中的所有中文版或汉化软件换成英文版。连Windows也用

英文的。
3、 选一本适合自己的计算机英语教材。
4、 保证一年至少读1-2本原版影印的计算机书,并坚持读完。
5、 上网尽量多访问英文的技术论坛和网站。不使用汉化的帮助。
6、 在程序中使用英文注释。坚决不用中文或汉语拼音作变量名、字段名、

文件和文件夹名。
7、 每月至少看1-2部原版电影(VCD/DVD),尽量不看字幕,提高语感和听

力。
8、 不看中英文对照读物,但可以看注释读物。多使用英英字典,少使用英

汉字典。
9、 每天坚持记录和复习遇到的生词。对于缩略语,一定搞清每个字母的英

文含义。

posted @ 2008-08-05 20:15 李海 阅读(42) | 评论 (1)编辑

 

本来对这个MS的新东东没有多大的兴趣,也看见很多博友都开使进入silverlight的开发行列,但就是提不起来兴趣,昨天看了webcast中的“Silverlight在国内的典型应用”这个课题,真的被他的炫的效果所折服,呵呵,还是那句话,动力来源于兴趣,从今天起记录我学习silverlight的点点滴滴。

   因本人系统上已装上VS2008的中文版,只下个silverlight_chainer.exe装上就行了,但是在安装过程中遇到这么个问题

了很多资料也没有解决,到最后才知道,中文的VS2008不能装Silverlight,幸好在csdn上发现了中文silverlight装上没想到竟然成功了,记录在这儿,希望能对各位遇到此问题的博友有帮助,不要像我白白浪费了一个下午的时间。

posted @ 2008-08-04 19:22 李海 阅读(22) | 评论 (0)编辑

 魔兽技巧个人操作基础教学
  系统菜单命令键
  ALT:打开选项内容
  ALT+F4:GG
  ALT+O:选项菜单
  ALT+H:帮助菜单
  ALT+G:小地图发信号
  ALT+T:小地图地形开关(不常用,但变态高手会用,大家可以想想为什么)
  ALT+A:颜色开关
  ALT+F:阵型模式开关
  F10:打开或者关闭主菜单
  ALT+O:打开选项菜单
  ALT+S:存档菜单
  ALT+L:读档菜单
  CTRL+M:音乐开关
  CTRL+S:音效开关
  ESC:退出指令
  回车键:发送消息
  CTRL+C:把选定的队伍居中显示
  BACKSPACE:视角回到主基地
  空格键:视角回到过去的事件发生处 最多8个
  DELTE:镜头向右转
  F8/~ :选择空闲的农民


重点键位
  A 键:
  这里大家都知道的,A键在游戏中表示的是攻击的意思,所以可能是使用最多的。但是我必须指出几点,新人可能会进入的误区:A键和鼠标右键不分,这是新人的通病,由于右键也有攻击的效果,而新人在一开始的时候可能不习惯用A键,而直接用鼠标右键点击敌人。这样的后果是:自己所有的部队会全部去攻击你右键所点击的敌人,而不管其他一切后果,这样做不但大乱你队伍的阵型,而且战斗结果也不好!
  正确的做法应该是这样的:在和敌人大部队冲撞或是你发起攻击的时候,立即选择自己队伍的编队,左手然后按A键, 右手点击鼠标左键,然后选择敌人大部队的正后方。注意是敌人大部队的正后方,不是其他的地方!!!也就是网友说的A地板。这个时候假如你A的目标是敌人的一个单位的话,后果是和鼠标右键点击敌人一样的。
  在侦察的时候不使用A键 其实这种情况和上面的情况是一样的,但也不同,要看情况使用,假如就是单纯的探路就可以不用A键了,但是在某些情况下,就需要A键了。
  M键:
  M键是移动的指令,但是一般情况下,高手们用来围杀敌人单位,我在前面一篇已经提到,就不讲解了。
  H键:
  H键是不被新人所了解的键位,但是是成为高手的必须,星际时代的人族步兵占领斜坡高地,防止小狗的强行进入就是典型的运用。其实H就是hold的意思:保持不动,原地待命!
  因此,这个键位的作用是:防止自己单位的盲目追击,也可以防守紧要关口。
  I键:
  隐身的意思。暗夜常用吧?
  S键:
  这个都应该知道,就是停止的意思了。要注意的是和H键的区别是受到S键指令的单位是会主动攻击附近单位的。
  P键:
  用来巡逻,在一定的范围内来回巡逻,不常用,但我个人有时候也用,例如:飞机的侦察,也会攻击敌人,只不过是在他巡逻的内。
  ALT键:
  这里我要说的是很多新人没有用ALT键的习惯,这是一个很不好的习惯,在比赛中交战时刻,要反复的使用ALT键看血,然后操作,再ALT键看血,再操作,反复的这样才是正确的操作。
  CTRL键:神秘的子键顺序修改键
  CTRL键,一般情况下只用来编队伍。 但是他的功能是很复杂的。我觉得很少有人能说清楚,我也是要查找资料来给大家讲解(以下部分来自专业书籍和官方资料): CTRL键,又叫子键顺序修改键,如果在发出命令的同时按下CTRL键,那么该命令将只对选定的子组有效。
  在游戏的默认的情况下,该功能是禁止使用的的。解除的方法是在游戏设置里将游戏性下面的子键顺序修改键的前面的空处打上勾。
_____________________________________________________________________________________________
第四部分:子键顺序修改键作用:
  齐射:比如说火抢手和步兵在同一个队伍编组内,我们就可以用CTRL键让火枪手独立齐射对手,而一般情况下是不能的,但使用子键顺序修改键后只需要按住CTRL键就可以了。
  独立控制英雄:只要按住CTRL键就可以操作英雄了;
  编队:最常用的,CTRL+数字就好了
  CTRL+Tab 组合功能键,Tab也是需要在设置里面打勾后才能使用的。使用该键的好处
  是无须点击多余的操作,直接选择子组。例如:在初期人类法师带着步兵放出水元素攻击怪物MF升级的时候,你把整个队伍遍成一队,大拇指然后按住CTRL不放食指按Tab键,切换到法师上,同时右手点击鼠标右键选择弱血的单位,也可以切换到水元素来做肉盾,也可以在掉宝的时候按Tab键切换到英雄迅速捡宝。另外按住CTRL 也可以选择屏幕内所有该种兵种。
  SHIFT键:强大的设计功能
  之所以说他是强大的设计功能键,是因为他可以编辑单位在未来一段时间内的动作。对于新人来说就是:插旗子!我看过MOON的一场在LT上的录象,当时MOON在几秒钟内在中央的泉水处,按顺时针方向用SHIFT键插了大约20个左右的旗子。而对方的部队就是这样跟着MOON的恶魔猎手在泉水出绕圈子,但是MOON在另外一个地方却在准备自己的兵力。也就是说恶魔猎手就是象上了发条的机器人一样的在工作,虽然是很短的时间,但比赛有时候就是这样慢慢来开差距的。
  SHIFT键的使用:
  探路:选择探路的民兵或者步兵后按住SHIFT键,然后依次选择插旗子的位子,也就是运动的路线,注意:要仔细研究过路线,否则你的民兵或者步兵很有可能有危险,因为他是严格按照你给他的录象去踩点式的运动。
  建筑后迅速采集木材或金矿 选择正在建筑的农民按住SHIFT键不放选择合适的树木或者金矿那么就可以让农民在建造完兵营后自动的去采木头了,非常使用的操作,百分之一亿要求新人使用。
  编队:SHIFT键是CTRL键编队的完美组合。利用SHIFT键可以增加和减少原来的队伍。方法很简单,选择你要操作的单位,然后按住SHIFT键的同时按下数字键1后松开,那么你的原队伍就增加一个新单位了。注意一个队伍的上限是12人
第五部分:右手剑,鼠标的操作
  虽然魔兽不需要CS那样苦练鼠标的各种甩枪,但是鼠标的操作好坏对于一个玩家来说也是非常重要的。
  姿势:鼠标和键盘显示器应该是放在同一平面上,鼠标放的过高一来是容易疲劳,二是不容易操作的流畅与和谐,目前市面上出售的电脑桌有些是没有键盘地位的(键盘有抽屉,鼠标只能搁在桌上)。我强烈反对这一做法,厂商也从来不生产游戏专用电脑桌。所以我建议玩家自己想办法,尽量让你的鼠标、键盘、显示器在同一水平面上。 选择灵敏度高的鼠标 这点非常重要,目前市场上的鼠标平牌很多,大家尽量买国产的优质鼠标(支持国货,从我做起),绝对也不要买什么多功能的超级鼠标。只要标准的两键加滚轮就好了,重量不能太重也不能太轻,总之要适合自己和适合游戏的强度。有目的地练习手指的点击速度 快速的点击是提高APM的途径,也是高手的必修课。
  其他方面:
  佩带耳机 比赛和训练时候最好是佩带耳机,一来可以免除外界的打扰,二来可以培养对游戏的反应,声音是很重要的一个环节噢。 充分的营养和休息 、干燥的手掌。
0

请先登录

posted @ 2008-07-01 08:39 李海 阅读(51) | 评论 (0)编辑

喜欢玩WAR3的人不在少数吧.很多人都遇到过这样的问题。那就是有的网吧的机子玩魔兽时鼠标会感觉很飘.这对于操作是有一定的影响的。而且让人感觉很不舒服.那么怎么能才解决这一问题那?
造成这问题的主要原因是显卡和内存.下面我给大家介绍几种方法.相信总有一种可以帮助你
1.机器配置过低.解决方法如下.
象素,建议调成800×600 16位色
另一个因素就是“纹理质量”,在“选项”--“图像”里面把这一项设成“低”其他可都是高。
系统优化,用相关的优化软件对系统进行全盘优化,玩游戏时少开应用程序,最好是系统重装一遍
鼠标设置,把加速关了,而且把移动速快一格或者2格,这个根据你自己手感。
游戏声音设为3d驱动,或者直接把声音关了。。。我都是直接关声音
选一张合适的鼠标垫很关键。
2.魔兽这款游戏要在opengl模式下运行才能保证鼠标不飘.而很多情况默认下都不是这种模式.那就导致了鼠标飘.这种情况下可以建立一个快捷方式.然后点属性,在目标那一栏最后空格然后填入-opengl就可以了。如果你是浩方或某些游戏平台上玩.可以在游戏参数上填写-opengl.
3..确认一下系统加速是否全部打开(开始运行dxdiag,到显示一栏里查看;另外在桌面空白处点右键选属性,然后点“设置”标签里下面的“高级”,再切换到“疑难解答”标签里,把加速那地方如果没到最右拖到最右边)
4.如果以上方法都不能解决的话。那就应该是某些硬件的驱动有问题。最有可能的就是你的显卡。试着重新安装应该可以解决的。

调试方法,会让延迟现象缓解很多很多!大家不妨一试。 桌面上点右键-属性-设置-高级-疑难解答,在硬件加速里,把箭头往左拉,不要让其在最右边。 在进入魔兽试试 好了很多吧
朋友,最直接的办法是在桌面点右键-属性-设置-高级,在显卡特效设置的地方,把“垂直同步”这个选项目设为“强制关闭”就OK了

posted @ 2008-05-25 12:31 李海 阅读(265) | 评论 (0)编辑

一个网站有很多页面,每个页面都具有 <title>,可以将站点名称直接写在 <title> 里面,但要想让标题统一方便修改(比如做模板时无法确定网站名称),更好的做法是使用母版,而有时没有必要使用母版时,可以利用 web.config 的 appSettings。

web.config

<appSettings>
<add key="SiteName" value="千一网络"/>
</appSettings>
.aspx

<title>文档 - <asp:Literal runat="server" Text="<%$ AppSettings:SiteName %>"></asp:Literal></title>
注意不能写为:

<title>文档 - <%$ AppSettings:SiteName %></title>

posted @ 2008-05-23 17:39 李海 阅读(39) | 评论 (2)编辑

很多时候我们要给一些按钮或是img设置背景,而为了达到数据与表现样式分离的效果,通常背景样式都是在CSS里设定的,但是这个行为在IE会有一个Bug,那就是因为IE默认情况下不缓存背景图片,所以当鼠标在有CSS背景的按钮或是图片上移动时,图片会闪烁甚至鼠标会出现忙的状态,而在FireFox下没有这个问题,为了解决这个问题,有两种解决办法,其一是在CSS中加入如下样式:

html {
filter: expression(document.execCommand(”BackgroundImageCache”, false, true));
}

但这个可能会使整个页面的加载变得很慢,所以推荐使用JS来修正这个Bug,在页面中的任意位置加入如下代码,即可达到理想中的效果:

<script>
document.execCommand(”BackgroundImageCache”, false, true);
</script>

 


(function(){
    /**//*Use Object Detection to detect IE6*/
    var  m = document.uniqueID /**//*IE*/
    && document.compatMode  /**//*>=IE6*/
    && !window.XMLHttpRequest /**//*<=IE6*/
    && document.execCommand;
   
    try{
        if(!!m){
            m("BackgroundImageCache", false, true) /**//* = IE6 only */
        }
       
    }catch(oh){};
})();

posted @ 2008-05-17 09:43 李海 阅读(84) | 评论 (0)编辑

     摘要: Ext2.0的form不单增加了时间输入控件、隐藏输入控件,还修改了创建方法,通过formpanel代替了原来form,column也根据新的布局定义更新了定义方式。总体来说,定义一个form更简单便捷了。本文将通过一个实例介绍一下2.0的form的创建以及其大部分控件的使用方法,因水平有限,错漏难免,忘大家多多谅解!我们先来看看我们将要设计的form的情况: <!--[if !vml]--... 阅读全文

posted @ 2008-05-13 20:26 李海| 编辑

1. Ext中常用的类

 I. Ext.data
  Ext.data封装了与数据有关的类。

 II. Ext.data.Store
  Store是数据源的封装。Ext通过Store提供了统一的接口访问不同的数据源,从数组到 ajax数据来源。这种统一的接口,让使用数据的部件更易于设计和使用。在设计使用数据的部件时,只需要关心Store提供的接口,而不需要关心底层数据的来源。数据消费部件与底层数据源的隔离,更有利于扩展新的数据类型,只需要为新的类型添加相应的解释程序即可。
  Store有两个关键的config options:
   a. proxy数据代理,Ext.data.DataProxy。这是store用于管理低层数据的部分。
   b. reader数据读取, Ext.data.DataReader。这是store读取数据的成员,它定义底层数据的结构。
  Store同时支持Inline的数据,用data config option指定。如:
   store: new Ext.data.SimpleStore({
    fields: [’text’],
    expandData: true,
    data : [’目录’, ‘项目’, ‘两者’]
   }),

  Store有几个子类:  GroupingStore, JsonStore, SimpleStore

  重要的方法:load

 III. 数据视图类。主要有Ext.DataView,Ext.grid,Ext.form等。

  数据视图类,用可视化的界面显示或操作数据。数据视图类的数据来源是Store,通过这个统一的接口,与不同的数据源结合起来。Store中的数据发生变化时,界面上会反映出来。config option是store。

  Ext.DataView有点特殊,因为这个类没有预定的显示模式,而是需要自己指定显示模板(Ext.XTemplate类,支持简单的模板语言)。其他都差不多。

3. Viewport
  刚开始使用Ext的时候,Viewport困扰了我很长时间。帮助里找不到太多可用的资料,只能慢慢摸索。
  Viewport采用region定义各Block的显示。看Ext Api Document里的例子,里面都列出来了。刚开始的时候不明白region做什么用的。后来才逐渐明白。其中各个region,只有center是必不可少的。

4. Panel
  刚开始,看一个例子,用Panel做Header,也试着做了个,发现Panel里自己的元素下面有一个方框(border:true时),怎么也去不掉。看代码,发现自己的元素在Panel元素内部前面部分,后面有一个”bwrap”区,就是那个框。后来还是参考例子解决问题。有三个条件:
  a. panel的layout指定为:anchor
  b. 自己的元素放在panel的items里定义
  c. 自己的元素,指定xtype为box
  看例子:

   new Ext.Panel{
    border: false,
    layout:’anchor’,
    region:’north’,
    cls: ‘twHeader’,
    height:60,
    items: [{ //放到items里定义
     xtype: “box”, //这里指定类型为box
     el: “twHeader”, //自己的元素ID
     border: true,
     anchor: “an_twHeader”
    }]
   })

5. Ext的对象,在Render以前与以后行为是不一样的。

  今天程序里用getTopToolbar取顶部工具栏,返回的不是Ext.Toolbar对象,反复检查,都不清楚原因,很是奇怪。后来才发现,对象Render以后,getTopToolbar才是正确的,Render以前,返回值是不对的。

6.ownerCT:对象的直接父元素

7. Ext.form.FormPanel对象

 I. submit方法。FormPanel.getForm().submit()方法提前当前的表单。getForm方法返回当前FormPanel的BasicForm,调用BasicForm的submit方法提交表单。submit方法有一些参数,其中success和failure参数分别担定成功和失败时的执行函数。submit方法对返回的数据格式有一定的要求。如果没有指定form的errorReader, Ext就会认为你返回的是一段JSon表达式,会通过Ext.decode去执行它。对这个返回的要求是:要有success数据项,指明调用是否成功。只有一切正常并且success为true时,submit里指定的success函数才会触发,否则是failure被触发。有一个例外,就是当返回是空白时,success函数也会触发。

8.ComboBox

  name属性存放显示变量名称,其中存放选中行的显示值,一般是代码的含义
  hiddenName属性存放值变量名称,其中存放选中行的内部值,一般是对应的代码
  displayField:ComboBox所用store中,用于显示的field名称,对应name
  valueField:ComboBox所用store中,存放代码值field名称,对应hiddenName
  

posted @ 2008-05-13 20:23 李海 阅读(359) | 评论 (0)编辑

Ext是一个非常好的Ajax框架,其华丽的外观表现确实令我们折服,然而一个应用始终离开不服务器端,因此在实现开发中我们需要对Ext与服务器端的交互技术有较为详细的了解,在开发中才能游刃有余地应用。本文对Ext应用中与服务器交互的常用方法作具体的介绍,本文的内容大部份来源于《ExtJS实用开发指南》
  总体来说,Ext与服务器端的交互应用可以归结为三种类型,包含表单FormPanel的处理(提交、加载)、控件交互及用户发起的Ajax请求等三种。

http://www.blogjava.net/oathleo/archive/2008/04/22/191194.html

posted @ 2008-05-10 09:27 李海 阅读(274) | 评论 (3)编辑

使用共享卫士2.0版本共享上网完全教程
一、下载并安装共享卫士
树丫工作室下载共享卫士最新版本,选择其中一台计算机安装共享卫士(如果使用主机自动切换功能,需要在2台或以上计算机上都安装)。
1、 安装路径中不能出现汉字,建议不要更改安装路径,直接下一步:


2、 端口配置:默认的是以下端口,点击应用,如果提示端口被占用,需要更改端口,端口数值在1024-65535之间,尽量选择数字较大的端口,注意3个端口不相同。


3、 端口设置成功后,会弹出几次以下对话框:一定要选“仍然继续”;如果有防火墙,会提示你是否允许软件通过,一定要选“允许”


4、 结束安装,重新启动计算机:安装结束后,会提示你重新启动机器,一定要重新启动。
注意问题:
1、 计算机中不能装有其他的共享类软件,如:共享神盾、Sygate等;
2、 软件支持Windows 2000/XP/2003,目前不支持Vista,如果是XP操作系统,请确保你使用的不是精简版的系统;
二、原来使用路由器拨号的用户要更改连接方式:
目前,使用路由器自动拨号,下挂多台机器上网是宽带用户共享的主要方式,连接方式为:WAN口连着ADSL猫,计算机分别连在LAN口上。下图是常见的路由器及接口:


使用共享卫士,需要对原来的连接方式进行更改:将原来连在WAN口上的数据线连接到LAN口中的接口上,计算机也接在LAN口上,WAN口闲置不要使用。

三、建立拨号连接:
在安装共享卫士的计算机上建立拨号连接:
Windows XP/2003系统:右击桌面网上邻居图标—属性,选择 “网络任务”中的“创建一个新的连接”进入拨号建立向导。
步骤: “连接到Internet”—“手动设置我的连接”—“用要求用户名和密码的宽带连接来连接”—ADSL拨号(ISP名称)—输入你的宽带帐号和密码—勾选“在桌面添加快捷方式”,点“完成”。拨号连接建立完毕。
Windows 2000系统:请参阅:怎样建立拨号连接
四、共享卫士的共享上网设置:
计算机重新启动后,双击桌面共享卫士图标可以打开共享卫士管理设置界面,默认的用户名和密码都是:admin
共享上网设置:进入共享上网设置界面后,点击“设置向导”进入设置:选择拨号模式,下一步:


在拨号接口中找到刚刚建立的拨号连接“ADSL拨号”,在下面填入帐号和密码,下一步。
设置虚拟网关:为了避免和其他内网设备的地址冲突,我们使用192.168.200.1,如下图:


本地网卡接口选择本地连接,(如果你有多个网口,本地连接是连接到路由器LAN口的那个网口)下一步:


此时要你的选择连接模式,包月用户建议选择“自动连接”,计时用户可以使用手动和按需连接,下一步完成设置。注意:按需连接和手动连接不支持主机自动切换
五、计算机IP地址设置:
共享卫士设置完成后,需要对连接的每台计算机的IP地址进行重新分配(包括安装共享卫士的机器)。
每台计算机配置不同的IP地址, IP地址为:192.168.200.2到192.168.200.254,掩码:255.255.255.0,网关:192.168.200.1。
配置IP地址步骤:
右击桌面网上邻居—属性,右击本地连接—属性,在下拉框中选择“Internet协议(TCP/IP)”,点击下面的“属性”—“使用下面的IP 地址”,填入。
DNS最好使用当地运营商提供的,如果不知道,可以试试网通:202.106.0.20;218.56.57.58;电信:219.150.32.132;202.101.224.68


以上所有设置结束后, 点击共享卫士界面右上角的启动/停止按钮,重新启动卫士,此时所有的机器都能够上网。
注意:主机要将以下服务停止并设成手动或禁用 :


方法:右击“我的电脑”—“管理”—“服务和应用程序”—“服务”,找到上面这个服务,右击—属性,更改相应的选项。
2楼
秋水长天 发表于:2007-9-10 5:53:21
1、 软件安装
共享卫士的安装很简单,按照卫士安装的提示进行安装就可以,请注意以下几点:
1) XP要装正常完整版本,不要装精简版,不然好多功能不正常;
2) 安装的时候要注意安装路径的文件夹的名字不能含有中文也不能有“空格”,否则可能导致数据库无法注册,结果打不开卫士的界面;
3) 安装过程即将结束的时候会提示安装网络驱动,这里会提示“驱动没有通过windows认证”,选择“仍然继续安装”就可以了,连续确认3-4次。
4) 完成安装时,会出现设置端口的提示(默认端口为3080,3081,3082),按照默认设置就可以(如果3080端口已经被操作系统占用的话,需要更换别的端口,选择范围为1024—65535),端口设置成功后共享卫士的安装就结束了。
5) 完成共享卫士的安装,必须要重新启动计算机。
2、 软件设置
卫士安装成功重新启动完计算机后,就可以打开共享卫士了。点击桌面上的程序图标后,会提示输入用户名和密码,默认用户名和密码都是“admin”。登陆到共享卫士后就可以进行卫士代理模式等相关设置,根据用户上网接入方式的不同分为拨号方式、单网卡方式和双网卡方式。推荐使用拨号方式,即,主机拨号的方式。
A 拨号方式:
(推荐使用这种方式,新手可以去看看 使用共享卫士2.0共享上网完全教程
适用范围:通过主机操作系统拨号接入互联网的ADSL用户使用这种方式。

主机拨号方式示意图
图片点击可在新窗口打开查看
设置方法:
使用主机拨号方式时,你需要改变一下连线方式:将ADSL猫连在WAN口上的网线拔出,插到和电脑相连的网口旁边的网口上(LAN口),WAN闲置不要使用。此时,所有网内电脑和MEDEM,都接到路由器的LAN口上,路由器的路由功能被取消,相当于交换机用。如果有交换机或者HUB的话,也可以把所有网内电脑和MEDEM都接到交换设备上,保证在一个网络环境里,如上图。
主机需要建立一个PPPOE的宽带拨号连接。
1) 在主机拨号方式下,建议将主机网卡的IP地址设置成192.168.2.2,掩码255.255.255.0,网关192.168.2.1,DNS设置成电信或者网通提供的DNS。请注意,192.168.2.1为虚拟网关,主机和所有分机的网关都要指向这个地址。同时还需注意一点,主机和分机所在的局域网IP地址段避免使用192.168.0.0和192.168.1.0,否则可能会和路由器的IP地址冲突。
2) 继续返回共享卫士管理界面,点击“设置向导”,弹出设置说明后,选择“下一步”,会显示出接入方式列表,选择“拨号方式”,点击下一步;
3) 系统弹出宽带账号和密码的设置窗口,输入正确的宽带账号和密码,点击下一步;
4) 进入虚拟网关的设置,虚拟网关的设置原则上是可以随便设置,但是为了确保IP地址不会与路由器等设备的IP冲突,不要将虚拟网关设置成192.168.1.1或者192.168.0.1,这里设置成192.168.2.1。(如果是多台机器自动选举主机,每台卫士的虚拟网关必须相同)虚拟网关设置好后,点击下一步;
5) 进入本地接口的设置。单网卡的用户直接选择默认的网卡,选择下一步就可以了;如果拨号主机是双网卡,需要将一个网卡接MODEM,另外的一个网卡接交换机,在这里要选择本地网卡的时候要选择接交换机的网卡作为本地网卡接口。(注意:本地接口Ip地址与虚拟网关在同一地址段,网关为你所设定的虚拟网关);
6) 下一步,系统弹出拨号方式的设置,这里提供“手动连接”、“按需连接”和“自动连接”三种方法,用户可根据自己的实际请况设置;
7) 设置完成。重新启动服务,主机即可通过共享卫士上网。
8) 分机的设置。修改分机的IP地址为192.168.2.3(3--254),掩码255.255.255.0,网关192.168.2.1,DNS设置成电信或者网通提供的DNS。设置完成后,分机应该就能正常上网了,如果分机上网未成功,请检查分机与主机网络上是否可以联通,例如通过分机PING主机的方式来测试。
B 单网卡固定IP方式:
(不推荐:因为有些路由器可能更改卫士出来的数据包,造成不能兼容的现象)
适用范围:使用路由器自动拨号方式接入互联网的用户,即:内网固定IP用户。

路由器自动拨号方式示意图
图片点击可在新窗口打开查看
设置方法:
使用路由器自动拨号方式时,连接方式如上图所示,MODEM的网线插到路由器的WAN口,主机和其他分机都插到路由器的LAN口上。目前大多数家庭的路由上网方式都是这种连接方式。
1) 在路由器自动拨号方式下,建议将主机单网卡的IP地址设置成192.168.2.2,掩码255.255.255.0,网关192.168.2.1,DNS设置成电信或者网通提供的DNS。请注意,192.168.2.1为虚拟网关,主机和所有分机的网关都要指向这个地址。
2) 继续返回到共享卫士管理界面,点击“设置向导”,弹出设置说明后,选择“下一步”,会显示出接入方式列表,选择“单网卡方式”后,点击下一步;
3) 进入虚拟网关的设置,虚拟网关的设置原则上是可以随便设置,但是为了确保IP地址不会与路由器等设备的IP冲突,不要将虚拟网关设置成192.168.1.1或者192.168.0.1,这里设置成192.168.2.1。虚拟网关设置好后,点击下一步;
4) 进入本地接口的设置,单网卡的用户直接选择默认的网卡,点击下一步;
5) 系统弹出虚拟网卡的设置界面,请注意,不要将虚拟网卡和虚拟网关的概念混淆,虚拟虚拟网卡的作用是提供主机到路由器的网络连接,虚拟网关的作用是提供分机到主机的网络连接,虚拟网关还是主机自动选举的前提条件。
虚拟网卡的设置原则是:需要设置成原来网卡能够通过路由器上网的IP、掩码、网关和DNS。例如:路由器地址是192.168.1.1,则虚拟网卡的设置为:192.168.1.2(2-254),掩码255.255.255.0,网关192.168.1.1,DNS设置成电信或者网通提供的DNS。
6) 完成设置。重新启动服务,主机即可通过共享卫士上网。
7) 分机的设置。修改分机的IP地址为192.168.2.3(3--254),掩码255.255.255.0,网关192.168.2.1,DNS设置成电信或者网通提供的DNS。设置完成后,分机应该就能正常上网了,如果分机上网未成功,请检查分机与主机网络上是否可以联通,例如通过分机PING主机的方式来测试。
C 双网卡固定IP方式
适用范围:使用路由器自动拨号方式接入互联网,主机有多网卡用户,即:主机双网卡的内网固定IP用户。
设置方法:
1) 在路由器自动拨号方式下,建议网卡1和2的IP设置如下:
将主机连接分机的网卡1(局域网接口)的IP地址设置成192.168.2.2,掩码255.255.255.0,网关192.168.2.1,DNS设置成电信或者网通提供的DNS。请注意,192.168.2.1为虚拟网关,主机和所有分机的网关都要指向这个地址。
将连接路由器的网卡2(广域网接口)的IP地址设置成192.168.1.2,掩码255.255.255.0,网关192.168.1.1,DNS设置成电信或者网通提供的DNS。
2) 继续返回到共享卫士管理界面,点击“设置向导”,弹出设置说明后,选择“下一步”,会显示出接入方式列表,选择“双网卡方式”后,点击下一步;
3) 进入虚拟网关的设置,虚拟网关的设置原则上是可以随便设置,但是为了确保IP地址不