王者归来wp

  • 2个提问
  • 576个回答
  • 0个收藏
  • 0个赞成
简介: 该用户没有自我介绍
  • 键盘上每个按键对应唯一的一个ASCII码正确吗  

    0
    0
    这是一个本应早就谈到的问题,但是当时,我们并没有意识到这个问题会如此严重,所以没有把这个问题特别提出来讨论。但后来,在很多游戏网站上,我们发现对这个问题做一个清晰的阐述还是非常必要的。
    什么是键盘的键位冲突?简单的说,也就是当你同时按下键盘上的几个键的时候,这几个键不能同时反映出来,这就叫做键盘的键位冲突。例如说,你能想象当你按下Ctrl-Alt-Del时,系统只能接收到前两个键,而死活不承认你按了Del键吗?
    当然,现实中是不会有这样的键盘的,按不下Ctrl-Alt-Del的键盘根本就没法出厂,但其他一些常见的键位冲突就不稀奇了。例如,经常有一些键盘不能同时对例如A-S-空格这样的按键组合作出反应,这样在FPS游戏中,使用者就会大为吃亏。
    对于键位冲突问题,电脑用户中有两种完全不同的态度,绝大多数人根本意识不到键位冲突问题的存在,直到遇到冲突的时候才叫苦不迭,并且大呼“为什么他就能做这个动作?”;而另一部分人,特别是一些游戏高手,又在孜孜不倦的寻找“没有键位冲突的键盘”。这两种人都是对键位冲突的原因认识不清楚的。
    键位冲突的直接起因,是键盘的非编码结构。在2月号的专题中,我们提到过现在的键盘几乎都是非编码的薄膜接触式键盘,那么什么是非编码键盘呢?在专题里我们没有详细的解释,下面我们就来详细说明一下非编码键盘的原理与结构。
    传统的键盘,是编码式键盘,它的每个键按下时都会产生唯一的按键编码,并且通过专有的一组导线传输到键盘接口电路,由于其线路和编码的唯一性,这种键盘是不存在键位冲突的问题的,但是编码键盘结构复杂,现在已经很少使用了。
    而现代的薄膜接触式键盘,任何一个按键都有上下两层薄膜的触点,我们将它拆开来仔细看一看(如图),就会发现在任何一层薄膜上,导线数都远少于按键数,而且每一条导线都同时连通多个按键的触点,而且,上层和下层的任何两条导线都最多只在一个按键上重合。也就是说,上层的1号导线可能会同时经过1、2、3、4、5……等按键,而下层的1号导线可能同时经过1、Q、A、Z……等按键,且两条导线只在1键上重合。
    这样,根据上层薄膜和下层薄膜所经过的按键,就可以排出一个类似下面的表格:

    上层导线1 上层导线2 上层导线3 上层导线4 上层导线5 ……
    下层导线1 1 2 3 4 5 ……
    下层导线2 Q W E R T ……
    下层导线3 A S D F G ……
    下层导线4 Z X C V B ……
    …… …… …… …… …… …… ……

    在非编码键盘的接口控制电路中,就存储着这样一张表格,当按下某个按键,例如“Q”时,那么在这一点上,上下两个触点就会连通,反映到接口电路中,就会检测到上层导线1与下层导线2被连通了。相对应在表中一查,就会知道,被按下的是字母“Q”,然后通过接口输出其ASCII码。
    与老式的编码式键盘相比,非编码键盘的结构要简单许多,省略了复杂的编码电路和蜘蛛网似的走线,而且更重要的是,由于非编码式键盘将按键结构和输出键码分离,所以当需要制造不同键位排列的键盘时,不需要重新设计键盘线路,而只要将控制电路中的键位排列表格重新刷新就可以了。例如在德文键盘上,子母“Y”和“Z”的位置是互调的,那么如果要把一条英文键盘生产线改造成德文键盘生产线,什么都不用改变,只须在控制芯片中刷进一个新的排列表,将“上层导线1-下层导线4”的位置写作“Y”,“Z”字也作同样处理就行了,显然比重新布线要简单了很多。这也就是为什么非编码式键盘大行其道的原因。
    但是非编码式键盘带来的就是“键位冲突”的问题。以上面的按键排列表为例,当按下一个按键时,键盘肯定会正常识别的;当按下两个按键时,例如同时按下“Q”与“D”,此时上层导线1与下层导线2连通,而上层导线3与下层导线3连通,系统完全可以正常识别;或者同时按下“Q”与“E”,此时,上层导线1、下层导线2、上层导线3同时连通,系统同样可以正常识别出是按下了这三个按键。
    但在同时按下3个或3个以上按键时,情况就复杂了。
    在一种情况下,例如同时按下“Q”、“D”、“B”时,此时,从表中我们可以看出,上层导线1-下层导线2、上层导线3-下层导线3、上层导线5-下层导线4都分别连通,此时系统完全可以正常识别出按下了这三个按键。
    但当按下的第三个按键不是“B”,而是“E”呢?
    此时,我们可以发现,由于第三组连通的导线变成了上层导线3-下层导线2,所以,此时反映到接口控制芯片的信号是:上层导线1-下层导线2-上层导线3-下层导线3统统被连通到了一起。
    但是,问题就在于,除了按下的第三个按键是“E”以外,如果按下的第三个键是用来连通上层导线1和下层导线3的“A”,也会有同样的信号组合?事实上,“Q”、“E”、“A”、“B”四个按键中按下任何三个都会有同样的信号组合,那么此时接口电路怎么判断呢?究竟是按下了哪三个按键或者是同时把四个按键都按下了呢?
    这个时候,大多数键盘选择的方式,就是按照一个固定的规则输出固定的按键组合代码,对于其他可能的组合方式统统予以忽略,换句话说,在上面的键盘中,可能无论你怎么按这四个按键,它可能永远只会输出“Q”-“E”-“D”的组合,尽管可能你按下的实际是“Q”-“A”-“D”(这里只是一个假设,实际上为了避免误码,大多数键盘根本只输出两个按键而已)。于是,“键位冲突”就出现了。
    由于非编码键盘的固有结构,“键位冲突”是不可避免的。于是就需要键盘的设计者绞尽脑汁修改键盘的线路排列和待查表格,尽量使可能会有的常用组合按键避开冲突键位——尽管要做到所有的按键都不发生冲突是不可能的,但你总不能让Ctrl-Alt-Del相互冲突吧?那这样的键盘还怎么用?还有如果四个方向键相互冲突,那赛车类的游戏还怎么玩?
    不过,由于市场上的游戏实在太多,每个游戏都可能会有自己常用的按键组合,甚至每个人都有自己的习惯按键,键盘的设计者当然不可能面面俱到,有经验的设计师可能会考虑得多一些,至少对最常见的游戏和最常见的按键设置能够保证不出现问题,但要考虑到所有情况当然是不可能的。
    所以,当你购买键盘的时候,绝对不要忽略“键位冲突”的问题,一定要把键盘装到电脑上,试一试自己常玩的游戏是否能够正常使用(只有实际试用才能试出键位冲突问题,由于它与键位表相关,所以看外表是看不出来的)。同时,一些游戏高手朋友也不要白费心机去寻找什么“没有键位冲突的键盘”了,只要它依然是非编码键盘,那么键位冲突就是不可避免的,只要它的键位冲突不对你所玩的游戏构成影响,这就足够了。
    10-03-19 编程 匿名
    1回答
  • 谁能给出一个求矩阵对角化的FORTRAN源程序啊? 

    1
    1
    Program Main
    [code]use PreciseTimeIntegration

    Real(8), Dimension(8, 8) :: K,M,C,INVK
    Real(8), Dimension(8, 4) :: R,U,V,A
    Real(8) dt
    dt=1

    R=0
    C=0
    C(7,7)=5
    C(7,8)=-5
    C(8,7)=-5
    C(8,8)=5
    DO i=1,8
    M(i,i)=8
    END DO
    DO i=1,7
    K(i,i+1)=-4
    k(i+1,i)=-4
    END DO
    DO i=2,7
    k(i,i)=8
    END DO
    K(1,1)=4
    K(8,8)=4
    ! WRITE (*,*) M
    ! WRITE (*,*) K
    ! WRITE (*,*) C
    ! INVK=INV(K,8)
    ! STOP

    U=0
    U(8,1)=10
    V=0
    A=0
    call PreciseTIM (M, C, k, R, 8, 4, dt, U, V, A)
    write (*,*) U
    ! write (*,*) V
    ! write (*,*) A

    end[/code]
    10-03-19 编程 匿名
    1回答
  • word的文本如何转换成pdf格式 

    0
    0
    在文件中有一个格式转换的选项。你可以选择里面的另存为,查看,应该里面有一个pdf格式的文本。
    10-03-19 编程 匿名
    2回答
  • ISO认证时没有设计和开发 但执行过程文件中有开发,有没有影响呀 

    0
    0
    有这样一些组织,其产品在设计和开发完成以后,一直没有开发新的产品。这些组织在贯彻2000版GB/T19001标准,建立质量管理体系时,对设计和开发条款进行了删减。组织删减的理由是:有关产品设计和开发过程在按标准要求实施质量管理体系之前已经完成,产品一直在稳定生产,产品的功能特性也能满足顾客要求,到目前为止,一直没有新产品设计和开发的需求和项目,也无法按照标准中设计和开发条款的要求形成可以展示和证实的运行过程。

       这种理由能否成为组织删减设计和开发条款的合理表述?如果这种表述成立,是否意味着组织在实施质量管理体系时,只要是在此之前完成的设计和开发项目,就可以不考虑其与质量管理体系的相互联系与作用以及可能存在的产品改进问题,并回避相应设计和开发的能力和责任问题?对此,需要进行进一步的讨论,以确定其合理性。

       仔细分析这一类组织和产品的特点后就会发现,虽然其产品的设计和开发过程是在以前某个时期完成的,但就产品实现过程而言,设计和开发是一个必不可少并确实存在的过程。目前的生产等其他过程与产品的设计和开发过程存在着相互联系和相互作用。正是前期完成的设计和开发输出为现在的生产或其他过程提供了输入,它与现在的生产等其他过程共同构成了某一产品的完整的实现过程。这些组织曾经存在着顾客要求的识别以及把有关要求通过设计和开发转化为产品特性的过程。即使目前没有新的设计和开发项目和有关活动,但实际完成的设计和开发过程是客观存在的,现在生产的产品本身就是组织实施设计和开发过程的产物。

       从持续改进的角度看,即使产品已经稳定批量正常生产,对组织而言,要达到顾客持续满意,就必须时刻关注顾客对产品的需求和期望,以及相关法律法规、标准调整和变化等方面的信息,持续地改进产品和过程,使组织在体系运行和市场竞争中保持对产品或过程进行分析、改进的能力。对于产品改进而言,必然会不同程度地涉及到设计输入、输出、评审、验证或确认的要求。保持适宜的设计和开发过程的能力,既是组织管理的需要,也是满足标准要求的需要。从体系有效应用的角度看,如果组织要证实自身有效实施了质量管理体系要求,那么,保持设计和开发能力并承担相应的责任就是组织必然要面对的现实问题。

       由以上分析可以看出,这一类组织的设计和开发过程是客观存在的,同时考虑到持续改进等方面的因素,组织不宜对设计和开发条款进行删减。

       既然设计和开发过程是现有产品实现过程的组成部分,组织在建立质量管理体系时,应从产品的设计和开发、产品的持续改进、自身能力与责任等方面进行考虑,不能回避组织实际存在的设计和开发的控制要求和责任。在具体实施质量管理体系时,不能片面地认为只有在按标准实施质量管理体系后,正式组织实施了设计和开发活动才符合标准和认证的要求。应站在有效性的角度,在实践中解决好原设计和开发与现行质量管理体系过程的有机衔接问题。那些已被证明是成功的产品设计和开发过程和结果,必然已经历过从顾客要求的识别到设计和开发确认等不同阶段,这些阶段是现行产品实现过程的一个环节,是整个质量管理体系的组成部分。但要注意的是,即使是成功的设计及开发,也不能表明其一定完全满足标准的要求,组织在贯彻标准实施质量管理体系时要进一步加以完善。
    10-03-19 设计 匿名
    1回答
  • C++中大小写转换 

    0
    0
    方案一:

    char gc1[53] = "abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";



    void wayOne()

    {

       strlwr(gc1);

    }



    优点是使用方便,别人看着也容易理解,但是效率慢的让人吐血。

    extern "C" char * __cdecl _strlwr (

           char * string

           )

    {

       if (__locale_changed == 0)

       {

           char * cp;



           /* validation section */

           _VALIDATE_RETURN(string != NULL, EINVAL, NULL);



           for (cp=string; *cp; ++cp)

           {

               if ('A' <= *cp && *cp <= 'Z')

                   *cp += 'a' - 'A';

           }



           return(string);

       }

       else

       {

           _strlwr_s_l(string, (size_t)(-1), NULL);

           return string;

       }

    }



    循环中平均2.5次的判断,(*cp一次,if的’A’<=一次,*cp<=版次)加平均每次0.5次的加法,虽然这样的转换O(n)是必不可少的,但是对于这样多的操作还是慢的可怕。

    例2:

    char gc2[53] = "abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";

    namespace MYTEST

    {

       inline char* strlwr(char *asz)

       {

          for(char* lp = gc2; *lp != 0; ++lp)

          {

              *lp |= 0x20;

          }



          return asz;

       }

    }





    void wayTwo()

    {

       MYTEST::strlwr(gc2);

    }

    此例中利用了ASCII字母值的特点,一共只有一次判断(*lp!=0),一次位或操作。算法上提高了很多:)其实已经达到了1/3的效率提升。。。。。

    将原来一大堆的代码,转化成了反汇编只有4句的程序:

    00401020 80 08 20         or          byte ptr [eax],20h

    00401023 83 C0 01         add         eax,1

    00401026 80 38 00         cmp         byte ptr [eax],0

    00401029 75 F5            jne         wayTwo+10h (401020h)

    但是考虑到char只是1个字节,看到

    00401020 80 08 20         or          byte ptr [eax],20h

    一句都感觉不爽,白白浪费了eax 这样4个字节的寄存器,于是可以这样优化:

    namespace MYTEST2

    {

       inline char* strlwr(char *asz)

       {

          long* lp = (long*)gc3;

          for(; *((char*)lp) != 0; ++lp)

          {

              (long)(*lp) |= 0x20202020;

          }



          for(char* lpc = (char*)lp;*lpc!=0; ++lpc)

          {

              *lpc |= 0x20;

          }



          return asz;

       }

    }



    说实话,。。。。。。。。。。。没有任何清晰性可言,没有任何可读性可言,但是优化的思想就是充分的利用4个字节的寄存器,并且以DWORD来读取内存,这是很有效率的方式。汇编代码其实比C语言代码更加清晰,原因在于C语言代码还需要处理大量与类型相关的事情,汇编代码不需要。

    第一个循环汇编代码如下:

    00401040 81 08 20 20 20 20 or          dword ptr [eax],20202020h

    00401046 83 C0 04         add         eax,4

    00401049 80 38 00         cmp         byte ptr [eax],0

    0040104C 75 F2            jne         wayThree+10h (401040h)

    将循环次数减少了3/4。。。。所以效率的优化还是很明显的。单指令多数据操作的思想不过就是这种思想的延生罢了。。。呵呵,但是说在前面,如此影响可读性的效率优化,除非在很必要的情况下,不然慎用。。。。。

    为了证实效率的优化,起码也得给出一个测试结果给大家看看吧,不然还以为我胡扯了。



    void wayOne()

    // Hit Count          : 1

    // Time               : 5553.00

    // Time with Children : 5553.00

    {

          strlwr(gc1);

    }



    void wayTwo()

    // Hit Count          : 1

    // Time               : 247.00

    // Time with Children : 247.00

    {

          MYTEST::strlwr(gc2);

    }



    void wayThree()

    // Hit Count          : 1

    // Time               : 180.00

    // Time with Children : 180.00

    {

          MYTEST2::strlwr(gc3);

    }



    int _tmain(int argc, _TCHAR* argv[])

    // Hit Count          : 1

    // Time               : 6836996435.00

    // Time with Children : 6837002415.00

    {

          wayThree();

          wayTwo();

          wayOne();

    }



    测试结果为AQtime5测试数据,单位为机器周期,因为结果已经很明显了,所以没有进行多次循环的测试。并且为了排除缓存的影响,将最快的放在了最前面,那么哪怕有缓存的影响,对于wayThree也是最不利的才对。库函数的5000多的结果,说慢的可怕并不为过。在数据量很大的时候,这种优化的差异可不是一点点而已。
    10-03-19 编程
    1回答
  • 为什么拖入一个控件就可以使用 

    0
    0
    virtual DROPEFFECT OnDragEnter(CWnd* pWnd,

           COleDataObject* pDataObject,

           DWORD dwKeyState,

           CPoint point)

    {                

       COleDropInfo DropInfo( pDataObject, dwKeyState, 0, 0, point );

       return (DROPEFFECT)::SendMessage( pWnd->GetSafeHwnd(),

                       WM_DRAG_ENTER,

                       (WPARAM)&DropInfo,

                       0 );

    }

    由于只能接受的参数有限,而OnDragEnter参数有多个。所以不能将参数原本的转发给控件。因此我们将这些参数放在一个类(COleDropInfo )中,作为一个参数(DropInfo)发给控件,控件收到后再取出即可。



    WM_DRAG_ENTER:是自定义的消息。控件当然要响应该消息。

    可以用同样的方法处理其它几个函数,而OnDropEx则只要返回-1即可。

    <!--[if !supportLists]-->5       <!--[endif]-->控件的实现
    我们的控件要做的就是两件事,1控件需要注册,即调用m_target.Register(this);2需要响应那几个消息。

    只有具体的控件才知道收到消息后进行什么处理,因此这几个消息响应函数必须是控件的编写人自己实现。

    而每个控件的注册过程则是一样的,调用m_target.Register。因此这个注册过程可以做成自动化的,不需要控件编写人知道,控件编写人只要实现那几个消息响应函数即可。

    是不是可以做一个基类来实现注册的自动化呢?

    <!--[if !supportLists]-->5.1    <!--[endif]-->多重继承
    第一种作法是多重继承,可以做一个CBaseCtrl,在CBaseCtrl中完成注册,让我们写的控件继承于CBaseCtrl。CMyEdit:public CEdit,public CBaseCtrl。

    m_target.Register只能接收CWnd*作为参数,因此CBaseCtrl也只能是CWnd的子类。而CEdit也是CWnd的子类……于是此路不通。

    <!--[if !supportLists]-->5.2    <!--[endif]-->模板
    我们可以写一个控件CDropTargetControl 作为已有控件的CMyEdit(它实现了拖入消息的响应)子类,在子类CDropTargetControl 中实现Register的自动化。之前使用CMyEdit的地方都要改成使用CDropTargetControl。为使CDropTargetControl一般化,我们将它写成一个模板类,这样父类就可以随意改变(不仅限于CMyEdit)。
    10-03-19 电脑软件 匿名
    1回答
  • Java源程序文件的后缀是什么? 

    0
    0
    Java类文件的后缀为.java
    10-03-17 Java 匿名
    2回答
  • 看那些书能增加编程能力? 

    0
    0
    C语言四本经典书籍不知道你看了几本?C程序设计语言 C和指针 C陷阱与缺陷 C专家编程
    5回答
  • 三维动画设计专业最少要懂几个软件,都有哪些?高手指点!! 

    0
    0
    我所知道的软件有:Autodesk MAYA 2009,Houdini,3D Max ,Adobe  Premiere,Adobe After Effect,shake,Dfusion,nuke,realfow ,Zbrush等些个软件,这是我在ACG国际动画教育的ACG-CCTV项目学习的时候所涉及到所有的软件,其中HOUDINI软没有教,其它软件几乎都涉及到了,有一些软件也就是懂些皮毛,但在最后我们学习中参与的央视的制作项目和毕业的时候做毕业项目的时候几乎都用到了,可能也不是很全面
    10-03-17 电脑软件 编程
    1回答
  • 什么是仓库栈单 

    0
    0
    证券是指各类记载并代表一定权利的法律凭证。它用以证明持有人有权依其所持凭证记载的内容而取得应有的权益。证券分为凭证证券和有价证券。

    有价证券是指标有票面金额,证明持有人有权取得收入,并可自由转让和买卖的所有权或债权凭证。

    有价证券是虚拟资本的一种形式。所谓虚拟资本是以有价证券形式存在,并能给持有者带来一定收益的资本。通常所说的有价证券是指期限在1年以上的债券和股票,它是资本市场金融工具的基本形式。

    有价证券有广义和狭义之分。狭义有价证券仅指资本证券,具体指那些能够给其持有者定期带来收益,并能转让流通的资本所有权证书或债权证书。广义有价证券则包括商品证券、货币证券和资本证券三类。

    (1)商品证券是证明持券人有商品所有权或使用权的凭证,如提货单、运货单、仓库栈单等取得该证券就是取得了该商品的所有权或使用权,这种权利受法律保护。

    (2)货币证券是指本身能使持券人或第三者取得货币索取权的有价证券。货币证券包括两大类:商业证券如商业汇票、商业本票;银行证券如银行汇票、银行本票、支票等。

    (3)资本证券是指由金融投资或与金融投资有直接联系的活动而产生的证券。持券人对发行人有一定的收入要求权。资本证券有股票、债券及其衍生品种。

    按证券发行主体的不同,有价证券可分为政府证券、金融证券、公司证券。按是否在证券交易所挂牌交易,可分为上市证券与非上市证券。按募集方式分类,可以分为公募证券和私募证券。

    按证券的经济性质分类,有价证券还可以分为:股票、债券和其他证券三大类。

    有价证券具有以下基本特征:期限性、收益性、流动性、风险性
    10-03-14 编程 匿名
    1回答
  • 3的二进制补码是多少? 

    0
    0
    3的二进制补码是:0010;
    10-03-14 互联网 匿名
    2回答
  • 为什么ARCMAP 图例样式显示不正确 

    0
    0
    如果你用FrontPage做了一个主页,里面有一些图片,在本地一切正常,但上传后背景、图片就显示却显示不出来,这可怎么办呢?

      产生这样的问题,有两种可能,一是图片用的是绝对路径,二是大小写问题。

      先说第一种情况,如果你的图片链接用的是绝对路经,上传后就找不到此图片文件。这时打开源文件,选中上传后显示不出来的图片,单击鼠标右键,选择“属性”,可以看到“图片源”为file:///D:/lhm/img/zt-1gif形式,这就是绝对路径,我们可以将其改为相对路径“img/zt-1.gif”即可。



      第二种情况是因为图形文件名或是图形文件所在的目录名中有大写字母,或是里面有中文。因为服务器所在操作系统一般都是unix或linux下的,系统是区分大小写的。还有就是不要用中文文件名或目录名。



      比如上图中,图形文件所在的目录为Img,将其改为img,上传后显示就正常了。
    10-03-14 编程 匿名
    1回答
  • int a=5,求b=++a*--a的值 

    0
    0
    结果应该是24
    10-03-14
    2回答
  • 怎样制作课件 

    0
    0
    随着多媒体技术在教育教学中的应用,多媒体课件制作也越来越受到各方面的重视一个好的多嫌体课件既能更好地辅助学生掌握知识,又要能提高教学旋率那么,什么样的课件才算好的多谋体课件,我以为,主要应体现以下几个特征:
    1. 能充分、合理、恰当采用多种谋体(文字、图象、视音频及动画等),以弥补传统教学方法与手段的不足;
    2.必须以学生为本,摸透学生的思维方式方法,在课件中尽可能全面地提供可能出现的问题及其相应解决方法;并且课件播放不能是单纯的线形、要有一些人机对话或交互式元素;
    3.新颖的教学思路与结构;
    4.色彩对比要强力、搭配和谐、构图美观、制作有创意
       那么如何才能制作出好的多媒体课件呢?说起来也不难,并不象很多人认为的那样,一定要具备很高的计算机能力才能做到_当然一定的多媒体制作能力和技巧,以及美术基本功还是需要的、下面就自己在多年多媒体课件制作实践的一般步骤及体会,粗浅地谈谈希望能对同事们有所帮助。
       一、明确制作目标,舍得花时间做好构思
       动手制作课件前首先要把握教材的重点、难点,明确你要做的这一节课或是几个相关联的知识点、甚至一个章节中,你教授的目标是什么?要重点解决的是什么问题?你准备用什么媒体,什么方式来实现你的教学思想?你可以把你的设想,写成简要的文字说明,比如框架图。
       二、根据你的构思,搜集需要的素材
       可以通过在网络中寻找,也可以在对应内容的录象片,VCD或DVD碟片,或者磁带等途径寻找需要的文字、图片、声音、动画、音频和视频素材,然后花些时间进行整理和加工。
       三、选择合适的制作平台
       选择易于使用、功能强大的软件(首要的是自己比较熟悉的软件)作为课件制作平台_一般来说,如果制作时间不很充裕、课件制作结构比较简单或制作者操作水平不是很熟练,可以选用PowerPoint2003中文版或frontpage2003,这两个软件易于学习、使用简单、功能强大,特别是它们能方便地插入课件所需要的图片、声音、影音文件,而且可以实现比较简单的动画效果。
       对于有一定的课件制作基础的教师,可以考虑用Flash和Authonva re等软件Flash和Authorare具有很强的移动交互功能。
       四、精心制作课件
       一切准备工作就绪后,开始制作课件首先按照自己原先的设计思路制作,在制作中学习制作技巧,在制作中调整结构。
       最后,简单谈谈在课件制作中常用到的一些技巧:
       1.在Powerpoint中可以利用文字的超级链接设置,从而建立漂亮的目录设置超级链接时,建议不要设置字体的动作,而要设置子所在的边框的动作这样既可以避免使子带有下划线,又可以使字色不受母板影响具体操作为选中字框,单击右键,选取“动作设置”项,链接到所要跳转的页面.
       2.音频、视频一般需要的片段,可以用现在比较流行的豪杰解霸来截取所需要的部分。
       3.课件总的容量不能大大,一般图片、声音、视频文件比较大,可以用相应的一些软件进行转换。如BMP格式图片可以用Photosliop将其转换成JPG格式的文件;WAV格式的声音文件可以用豪杰解霸转换成M P3格式的声音文件等等几
       4一些常见的声音、动画、卡通等素材,你可以在专门的素材光盘中找到特殊需要的素材自己可以用Flash软件来制作。
    10-03-14 编程 匿名
    4回答
  • 查询码是怎么制作? 

    0
    0
    用WORD,可以先在开头插入艺术字,打上主题。
    然后在网上找一些花边、漂亮的插图,插入花边,把内容打进去,插图作为修饰。
    照以上的方法,多做几个内容的版面。
    还要记得写上编辑人姓名


    电子报大概包括三个部份:

    (一).订阅系统(填写窗体、修改资料、退订、查询密码);

    (二).电子报的制作与传送;

    (三).讨论回响。 伺服环境:IIS4.0/5.0或PWS,使用CDOMail或其它Mail组件(如:JMail、ASPEMail、ASPMail等..) 一.登录系统:登录、退订、密码查询、修改 数据 <img src= http://chome.rich2000.com.tw/showimg/001.gif align=right>登录:订阅窗体通常置于首页,供人填入Email,为了避免有意或无意填错,都会用一个check.js来先作检查;也为了避免人家胡乱订阅,都会自动送确认函(确认函也是张填写比较详尽的窗体),待订阅者送出确认时,再写入数据库,并把自动产生的密码送给订阅者。<img src= http://chome.rich2000.com.tw/showimg/002.gif align=left> 查询密码:是为了让订阅者自行《修改资料》与《退订电子报》所使用,但因密马容易忘记,故需要能够《查询密马》,程序将密马直接寄给该订阅户的Email帐号。 退订:检查输入正确的信箱与密码后删除订户资料录(窗体以弹出小窗口,可避免网页地址的变换,浪费频宽) 修改资料:检查输入正确的信箱与密码后,输出原有资料,供修改!若电子信箱字段资料有变动,则送往新的电子信箱作确认,待确认后始写入资料录,若电子信箱资料无变动,更改资料录内容。 二.制作与传送 <img src= http://chome.rich2000.com.tw/showimg/003.gif align=left>电子报可能不止一个主题,若平时能写入数据库(如讨论板),暂时不显示!待累积几个主题后,再叫出讨论板勾选主题送出;或则选择人气最佳,讨论最热列的话题!送出后先进入电子报的预览画面,若满意即可送出,送出后逐一开启订阅者数据库送出!并将有关资料写入数据库里头。。 <a href= http://chome.rich2000.com.tw/showimg/enews.htm> size=4>送出后的电子报Demo</font></a> 电子报在传送时要注意的事项是:设定为Html格式及副本密件传送(避免泄露订阅者电子信箱) 电子报制作的技巧是:规划一电子报格式的文件文件,变量部份以『==变量名==』暂代,以FileSystemObject开启后,再将『==变量名==』取代为真正变量,这样送出的电子报对每个订户而言都可以该不一样的地方就不一样...送出的电子报也顺便写入一窗体里,作为电子报的历史资料文件... 三.讨论回响: 电子报的任何一个个别主题都要能连到讨论板的该话题,以增加互动性,也为了让话题与响应间的对应逻辑能一清二楚,讨论板建议最好使用树状回复式!这样一进来就可以看到这个话题的回响程度,而不只是一个响应数字! <img src= http://chome.rich2000.com.tw/showimg/004.gif> <a href= http://chome.rich2000.com.tw><font size=4>这里测试</font></a> <a href= http://chome.rich2000.com.tw/download/download.asp> size=4>下载程序</font></a> 电子报在传送时,最好设定「以HTML格式」传送! 使用的Mail组件,应事先知道自己的Web空间有那个Mail组件可使用,请参阅底下网址,上头列有CDOMail/JMail/ASPEmail三种! http://chome.rich2000.com.tw/index.asp?areana=动态网页
    10-03-14 互联网 匿名
    1回答
  • 系统配置子系统的图怎么画?  

    0
    0
    对于有安装Windows操作系统经验的朋友应该不难发现,即使是刚装好的电脑在性能上也不见得会相当高,主要原因在于系统设定值上,但这对大多数的人来讲是件相当困难的事,而Fresh UI的出现正好可以为你解决这方面的问题。Fresh UI 是一款优秀的系统配置、优化软件,为您提供数百种Windows XP/2000/NT/ 98/95/Me的隐藏设置选项。同时它还让您做到明明白白优化系统!您可以获得定制Windows用户接口、优化系统设置、优化硬件性能、定制Windows应用属性、通过策略Policies控制用户环境等,将你的Windows最佳化,让你的Windows跑起来更加的顺畅!


    点击此处下载系统优化配置专家Fresh UI

    一、优秀的系统系统配置/优化软件Fresh UI 软件资料:


    二、优秀的系统系统配置/优化软件Fresh UI 软件安装:
      
      Fresh UI的安装过程非常简单,虽然整个安装过程都是英文界面,但是只要您有过安装软件的经验,或者你有一点点英文基础,您就可以很轻松的进行安装。


    图1 欢迎安装界面

      用户根据安装向导可以轻松的完成整个安装过程,Fresh UI支持用户自定义安装目录,如图所示,用户可以随意将其安装到指定位置。


    图2 支持用户自定义安装位置

      Fresh UI同样支持用户自由选择创建快捷方式,程序默认勾选了“创建桌面图标”、“创建快速启动栏图标”以及“创建开始菜单文件夹”,如图所示,用户可以保持默认安装所有的快捷图标或者选择安装快捷图标。


    图3 安装快捷图标

      安装完毕启动程序,我们发现Fresh UI的使用界面显示为中文界面,并且在程序的菜单栏的最后一项,我们可以看到程序提供了一个切换使用语言的选项“Change Language”,支持用户自由切换多种使用语言,如图所示。


    图4 支持切换语言

    三、优秀的系统系统配置/优化软件Fresh UI 软件功能:
      
      通过Fresh UI的默认主界面,我们可以看到程序提供了强大的操作系统调整功能,可以调整多种类别的系统配置,包括Windows操作界面设置最佳化、操作系统最佳化、硬件设定值最佳化、软件启动设定值最佳化以及使用者可自订使用环境数值最佳化等诸多项目。
      
      但是,小编使用中也发现,该程序的中文翻译的不是特别好,很多地方翻译的不是很准确,给普通用户的使用上带来一点难度。


    图5 默认主界面

      Fresh UI的默认主界面左侧提供有六个类别,用户单击任一类别都可以看到其实每个类别都是一个树状结构,其下蕴藏着丰富的子类别,下图所示为小编展开第一个类别“应用”的树状结构,显示的子类别,我们可以看到程序提供了丰富的应用程序优化配置选项,用户可以具体的选择需要进行设置的项目进行设置。


    图6 应用

      小编选择展开的Fresh UI的 “应用”类别下的的子类别“注册表”,可以看到注册表选项提供了三个服务,用户可以选择设置注册表,如图所示。


    图7 注册表子类别

      小编选中“注册表”选项下的“修理登记编辑”选项,用户可以在右侧界面上看到该选项的一些简单参数,用户单击右侧的选项名称即可打开修理登记编辑窗口,在此用户可以进行有关的修复,如图所示。


    图8 修复注册表



    图9 播放器设置

      Fresh UI的默认主界面左侧的第二个类别是“窗口探险家”,同样该类别下也包含丰富的子类别,下图所示为小编展开“窗口探险家”的显示,用户可以具体的选择需要进行设置的项目进行设置。


    图10 窗口探险家



    图11 文件上下文菜单设置



    图12 查找归档设置

      Fresh UI的主界面左侧的第三个类别是“硬件”,同样该类别下也包含丰富的子类别,下图所示为小编展开“硬件”的树状结构,用户可以具体的选择需要进行设置的项目进行设置
    1回答
  • 从程序员转向管理的问题 

    0
    0
    我们是经编机专业的,面对不同的技术的难题,从未退却过。但是在******公司里,一天我们的CEO叫我跟进一个管理项目,我突然感觉感到很茫然,觉得自己压力更大了,但是就是感觉有力不知往哪儿使。无奈只好从零开始学新东西。
                                   管理之我看法--我理解的“管理”
        首先,让我们先理解管理的定义?我们经编机也开了不同的培训课。记得上学期,在组织行为学第一堂课上,老师问了大家一个问题:通过三年的大学学习,谁可以起来说说你所理解的管理,也就是说给管理下个定义。乍一听,是多么简单的问题啊,然而同学们起来回答的却是乱七八糟。是啊,三年的学习,竟然连个简单的名词都没有理解透彻,真是惭愧啊。
    搜集资料得知:西方各个管理学派,按照其各自的管理理论,对管理的概念有不同的解释。其中:
        管理是一种程序,通过计划、组织、控制、指挥等职能完成既定目标。
        管理就是决策。决策程序就是全部的管理过程,组织则是由作为决策者的个人所组成的系统。
        管理就是领导,则强调管理者个人的影响力和感召力对管理工作的重要意义。
        管理就是做人的工作,它的主要内容是以研究人的心理、生理、社会环境影响为中心,激励职工的行为动机,调动人的积极性。
        综合各种观点,对管理的比较系统的理解应该是:管理是管理者或管理机构,在一定范围内,通过计划、组织、控制、领导等工作,对组织所拥有的资源(包括人、财、物、时间、信息)进行合理配置和有效使用,以实现组织预定目标的过程。
        这一定义有四层含义:第一,管理是一个过程;第二,管理的核心是达到目标;第三,管理达到目标的手段是运用组织拥有的各种资源;第四,管理的本质是协调。
        罗宾斯论管理的定义:管理(Management)是指同别人一起,或通过别人使活动完成得更有效的过程。
                                   名人谈技术转管理
        我们从上面理解了什么叫管理,下面我们听新浪网原总裁兼CEO王志东谈---从技术人员的角度看管理。
        从技术到管理的转型按照王志东的说法,有些技术人员就是为研发而生,而有些技术人员天生就是管理者,只不过是从技术的门进去而已-他最佩服的比尔盖茨就是如此。至于自己,10年前他坚定地认为是前者。但现在,他越来越认为是后者。
      王志东最初扬名是因为写出了Richwin和中文之星,他被看成中国第二代程序员的象征。1992年他与人合作创办新天地,向管理迈出了第一步。虽然当初不情愿地认为"当总经理是被人推到水里的",怀着有朝一日还要回来做技术的梦想,但是现实中他却在管理这条路上越走越远了。从新天地到四通利方总经理到新浪网总裁再到现在的点击科技总经理,王志东已经在充分享受着一个管理者的乐趣。甚至点击科技做的软件就是管理软件,到今年上半年,其终端产品的累计销量已经突破10万套。
      1.从技术人员转变为管理人员,一开始最容易犯的错误是遇到问题喜欢躲。技术人员并不是碰到什么问题都躲,碰到技术难题他会迎难而上。但是碰到人的难题就会有畏难情绪。技术人员总是希望能找个好的环境,好的老板。如果这两点不能满足,常常有失落感-这个老板不行,我就跳槽,其实就是一种逃避。这是典型的技术人员心态,一碰到人的问题就不想多花心思和精力,觉得没有价值。但是当理想状态在当时的环境下不存在时,只有自己去创造这个环境,要创造就意味着你碰到任何问题都要自己面对,想出对策,这是一个世界观的变化。
      2.转型的过程中经历诸多考验。从1993年到1997年是我转型管理的过渡期,之前我是一个纯粹的技术人员,之后我完全成了一个管理者。1993年底四通利方成立,我担任总经理。1997年四通利方公司的改组和结构调整告一段落,也就是在这一年我写下了最后一行商业代码。后来在新浪做的完全是管理工作。这个转变过程一开始我是抵触的。我不愿放弃这个手艺-比如你是一个舞剑的高手,结果要你把剑挂起来去做别的事。转到另外的领域,万一不能成,再回来,也是很冒险的。后来我就采取所谓的"甜柠檬心理"-不得不吃的时候,柠檬也是甜的。当我不得不接受管理职责的时候,我就只好乐意接受并品味其中的快乐。一品味发现其实也不错。就和你第一次喝咖啡,咖啡是苦的、第一次喝啤酒,也是苦的一样。其实你喝多了,就会品味到其中的香醇。
      3.转变为管理者方法:
         首先,我觉得非常重要和有效的就是拜师。所谓"拜师"指的是"一字之师",就是要广泛地拜师。比如在和朋友聊天的过程中,就可以学到很多东西。你可以请他吃饭,然后趁机把使你最难受的一些东西讲出来,向他咨询。甚至有时候就可以找本公司的员工:"来!给我讲讲,平衡计分卡是怎么回事?"关键是你得放下架子。这样要比我自己翻书效率高很多。我现在越来越感觉到这种方法的有效,比如一次我在和人民大学的一位管理专家吃饭时,他提到了"敏捷组织"这个概念,这使我脑子一亮。回来以后我一查,发现这个概念正好和我们的产品很切合。我很喜欢参加一些企业家的聚会活动,在这些场合,你可以得到很多信息,开阔思维。
         第二,就是要不断地体会和总结。要在实践中慢慢摸索,边干边学。比如风险投资,当时我在四通利方时拜师都没法拜,国内没有懂这个的人。但我当时隐隐约约知道一些概念,我就自己创造机会,用了两年多时间终于成功融资。当时我也找了很多专家,但是最大的困难就是这些专家懂国外的不懂国内,懂国内的不懂国外。还有的懂产业不懂资本,懂资本又不懂产业。我要把他们所有的信息都汇总过来,再加上自己的经验一起做判断。
         第三,我觉得很重要的,也值得向那些准备向管理转型的技术人员推荐的是读一些哲学书。我现在越来越感觉自己管理能力的提升和自己看过一些哲学书,进行过一些哲学思考有关。有一个观点对我影响非常大,就是同构理论。同构理论认为任何体系都存在一种对应关系。你可以用做电路的脑袋去做软件,也可以用做软件的脑袋做管理。
        4.技术人员从哪一个领域入手转型管理容易一些?技术人员首先进入公司的战略层面,从这个层面进入管理比较自然,也容易往上提升。因为技术方案其实是在战略的统领之下的。我在做中文之星的后期其实已经形成了和微软打打谈谈的竞合战略。在做四通利方的时候我把这种思路贯彻和实践-这是一个战略,并不是技术。后来的发展包括我怎么运用OEM策略,和微软怎么合作,和PC厂家怎么合作等。
      转型成功,技术人员在管理的巨大优势。技术人员虽然转型管理,但应该时刻用一只眼睛去关注技术,因这是你的独特优势所在。2001年我们成立点击科技的时候,我就想到要做协同软件。当时国际上并没有这样一个行业分类,我甚至不知道这个软件该叫什么。直到2002年我才查到一篇国际上的文章,当中描述的一类产品和我们的产品很像,所以2002年8月我才正式说我们的产品是协同软件。到这两年,协同软件开始热起来了。如果我不是搞技术出身的,我就很难有这样的眼光。我知道哪些是可行的。如果没有技术背景,我就很难从技术和产业两个方面来判断。
                         管理新理念--我理解的技术型“管理”
         我所理解的管理前提条件:谈这个问题,是基于自己的体验和认识,而不是作为一种学术研究或理论探讨。
         在我的工作经历中,可以划分为三个阶段:第一阶段是作为纯技术人员;第二阶段是作为一个6人的技术组长,主要精力集中在技术和任务模块分工;第二阶段是作为一个20多人的项目经理角色---负责与项目发起人确立项目,与研发.应用开发部门大约80人左右的管理;第三阶段就是一个公司的技术经理阶段。在这三个阶段中,对于管理的体验有以下感想。
         第一个阶段,管理采用的方式是:言传身教,以组长,技术精湛的作为榜样,称兄道弟的管理;到了后期,开始学会了项目、计划和进度控制,最总要的是:已经开始不在开发前线冲杀了,开始通过其他人来实现目标了;这是最原始的管理,也是大部分技术出身者的管理模式。
         第二个阶段由于变换了环境(管理的人多了,事情多了,而且自己是一个新人,需要依靠大家),因此采用的方式是将以前的经验、思考和获得的理论(通过书本和一些培训)融合后,根据实际的情况进行的;
         第三个阶段,我还没有经历这个阶段或者到达这水平,但我可以理解为: 确定战略(产品战略)、组建和培养管理团队、制定规则并且推进规则的执行。
         上面就是新浪网原总裁兼CEO王志东与我,给自己******同事的意见与建议。总之,要转型成功是一个艰难的过程,我们要一步步的积累经验,脚踏实地,戒骄戒躁,成功迈向优秀管理人的门槛!
    3回答
  • 温度控制器的设计与实现(热电偶为检测元件) 

    0
    0
    根据热电偶测温原理可知,热电偶回路热电势的大小不仅与热端温度有关,而且与冷
    端温度有关,只有当冷端温度保持不变,热电势才是被测热端温度的单值函数。热电偶分
    度表和根据分度表刻度的显示仪表都要求冷端温度恒定为0,否则将产生测量误差。
    然而在实际应用中,由于热电偶的冷端与热端距离通常很近,冷端(接线盒处)又暴露于空
    间,受到周围环境温度波动的影响,冷端温度很难保持恒定,保持在O摄氏度就更难。因此必
    须采取措施,消除冷端温度变化和不为)+所产生的影响,进行冷端温度补偿。
    (一)补偿导线法
    一般温度显示仪表安装在远离热源、环境温度t0较稳定的地方(如控制室),而热
    电偶通常做得较短(满足插入深度l即可),其冷端(即接线盒处,温度为t10)在现场。
    用普通铜导线连接,冷端温度变化将给测量结果带来误差。若将热电极做得很长,使冷
    端延伸到温度恒定的地方,一方面对于贵重金属热电偶很不经济,另一方面热电极线路
    不便于敷设且易受干扰影响,显示是不可行的。解决这一问题的方法是使用补偿导线。
    补偿导线是由两种不同性质的廉价金属材料制成的,在一定温度范围内(0-100°c)与所配接的热电偶具有相同的热电特性的特殊导线。用补偿导线连接热电偶和显示仪表,由于补偿导线具有与热电偶相同的热电特性,将在热电偶回路中产生e补
    (t'0,t0 )的热电势,e补(t'0,t0) 等于热电偶在相应两端温度下产生的热电势e(t'0,t0),
    根据中间温度定律,热电偶与补偿导线产生的势电势之和为e(t,to) ,因此补偿导线的使用相当于将热电极延伸至与显示仪表的接线端,使回路热电势仅与热端和补偿导线
    与仪表接线端(新冷端)温度t0有关,而与热电偶接线盒处(原冷端)温度t'0变化无关。
    补偿导线起到了延伸热电极的作用,达到了移动热电偶冷端位置的目的。正是由
    于使用补偿导线,在测温回路中产生了新的热电势,实现了一定程度的冷端温度自动补
    偿。若新冷端温度不能恒定为0°c,则不能实现冷端温度的“完全补偿”,还需要配以其
    它补偿方法。必须指出,补偿导线本身不能消除新冷端温度变化对回路热电势的影响,应使新冷端温度恒定。
    补偿导线分为延伸型(x)补偿导线和补偿型(c)补偿导线。延伸型补偿导线选用.的金属材料与热电极材料相同;补偿型补偿导线所选金属材料与热电极材料不同.
    10-03-14 编程 设计
    2回答
  • 求一个好的论坛? 

    1回答
  • vc环境变量 什么用  

    0
    0
    这个东西是环境变量。用于编译和链接用的……

    貌似这个path 在VC++集成环境下不需要设置吧,其实很简单就是在操作系统中设置一个path变量,记录下应用程序的位置,以便操作系统可以找到编译器与链接器。。
    10-03-14 编程 匿名
    1回答
  • 华为t2211怎样执行java 

    0
    0
    T2211的内存小是T2211最大的缺点,但是只要合理使用,还是很凑合的。

       T2211的手机系统内存为12160KB,手机恢复出厂设置和数据之后,通过查看内存状态可以看出,被占用的内存为5544KB。

       经过本人测试,在不安装任何JAVA程序的情况下,T2211的内存也会增加,主要体现在以下两个方面:

       1、手机内部一些设置选项的变动会引起内存的增加,例如设置手机预设文件之外的文件为铃声或墙纸。至于为什么这些设置会增加内存,大家如果使用过智能手机就会明白其中的道理,在这里我不做过多解释,这些设置会占用600K~1M的空间,许多非智能手机都不会把这部分被占用的内存显示给用户看的。

       2、T2211运行机器内置的移动软件之后,内存会逐渐增加,主要原因是这些软件都是联网软件,会产生一部分缓存。

       基于以上几种情况,手机正常运行3~5天之后,被占用的内存会稳定在7500KB~8000KB左右,这时可以删除手机自带的浏览器的缓存文件,可以释放200~500KB的内存,这样T2211被占用的内存就会稳定在7200KB~7500KB,如果删除手机的短信或彩信还会释放少量空间。

       通过以上分析可以看出,T2211显示的实际是手机系统的动态内存,最终可供用户安装并运行JAVA的内存大小是4M左右。

       而且大家不必经常“恢复出厂设置和数据”,如果感觉JAVA占用内存空间大的时候,在百宝箱的选项中选择“全部删除”即可。

       就算选择“恢复出厂设置和数据”,仅仅是恢复到了出厂设置,彩信和上网设置是不用重设的,只需重设自己喜爱的铃声等选项。

       SIM卡上通讯录也不会丢失,如果有一部分通讯录存在手机上的话,大家可以使用T2211的通讯录备份功能,备份到存储卡上,连接电脑用记事本就可以查看,很方便,需要时再导入到手机中,就像IE导入导出收藏夹一样。
    10-03-12 Java 匿名
    1回答
  • java.lang.IOException是什么异常 

    0
    0
    java.io.IOException: 错误的文件描述符
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:247)
    at cn.solarstudio.model.ExecCodeBean$EchoOut.run(ExecCodeBean.java:400)
    at java.lang.Thread.run(Thread.java:619)
    错误的文件描述符

    不知道有谁遇见过,是我的一个JSP 项目在 LINUX(fedora core 6)上的异常。

    一看就知道是在写文件的时候异常,这个异常很怪,一般服务器开的第一次运行写文件这块就异常( 有时候第一次却OK),以后的大部分都可以,但有时候却又异常。总之似乎有一定的随机性。


    而且ECLIPSE 提示下面的错误
    This kind of lauch is configured to open Debug perspective when it suspends.

    This Debug perspective is designed to support application debugging.It incorporates views for displaying the debug stack,variables and breakpoint managerment.


    不知道怎么解决....

    在WINDOWS下很正常.....估计是操作系统的原因吧....




    ------解决方法--------------------------------------------------------
    应该和并发的文件访问数有关。
    ------解决方法--------------------------------------------------------
    我曾经碰到过这个问题,特别是linux和unix系统,是有这个设置的,你问下系统管理员
    10-03-12 Java 匿名
    3回答
  • excel里面能不能把大写数字转换成小写数字 

    0
    0
    =IF(OR(A1<0,A1=""),"",IF(VALUE(LEFT(A1,1))=0,"",NUMBERSTRING(INT(A1),2)&"元")&IF(ISERROR(FIND(".",A1)),"整",IF(VALUE(MID(A1,FIND(".",A1)+1,1))=0,"零",IF(ISERROR(FIND(".",A1)),"",NUMBERSTRING(MID(A1,FIND(".",A1)+1,1),2)&"角")))&IF(ISERROR(FIND(".",A1)),"",IF(LEN(ROUND(A1,2))=(FIND(".",A1)+2),NUMBERSTRING(MID(ROUND(A1,2),FIND(".",A1)+2,1),2)&"分","")))&IF(ISERROR(FIND(".",A1)),"","")

    ----------------------------------------------------------------------------------------------------------------

    http://wenwen.soso.com/z/q148828112.htm

    --------------------------------------------------------------------------------------------------------

    公式引用了A1单元格的数字,在B1单元格转成大写金额。

    NUMBERSTRING函数可将数字转成大写。
    10-03-09 编程 匿名
    2回答
  • Java随机数!!! 

    0
    0
    1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。

       2、通过Math.random()返回一个0到1之间的double值。

       3、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。

       二、Random类API说明

       1、Java API说明

       Random类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式对其进行修改(请参阅 Donald Knuth 的《The Art of Computer Programming, Volume 2》,第 3.2.1 节)。

       如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random 指定了特定的算法。

       很多应用程序会发现 Math 类中的 random 方法更易于使用。

       2、方法摘要


    Random()
             创建一个新的随机数生成器。
    Random(long seed)
             使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。

    protected  int next(int bits)
             生成下一个伪随机数。
    boolean nextBoolean()
             返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。
    void nextBytes(byte[] bytes)
             生成随机字节并将其置于用户提供的字节数组中。
    double nextDouble()
             返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0之间均匀分布的 double 值。
    float nextFloat()
             返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的 float 值。
    double nextGaussian()
             返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。
    int nextInt()
             返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
    int nextInt(int n)
             返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。
    long nextLong()
             返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。
    void setSeed(long seed)

    三、Random类使用说明

       1、带种子与不带种子的区别Random类使用的根本是策略分带种子和不带种子的Random的实例。

       通俗说,两者的区别是:带种子的,每次运行生成的结果都是一样的。

       不带种子的,每次运行生成的都是随机的,没有规律可言。

       2、创建不带种子的Random对象

       Random random = new Random();

       3、创建不带种子的Random对象有两种方法:

       1) Random random = new Random(555L);

       2) Random random = new Random();random.setSeed(555L);

       四、测试

       通过一个例子说明上面的用法


    import java.util.Random;

    /**
    * Java随机数测试
    * User: leizhimin
    * Date: 2008-11-19 17:52:50
    */
    public class TestRandomNum {
           public static void main(String[] args) {
                   randomTest();
                   testNoSeed();
                   testSeed1();
                   testSeed2();
           }

           public static void randomTest() {
                   System.out.println("--------------test()--------------");
                   //返回以毫秒为单位的当前时间。
                   long r1 = System.currentTimeMillis();
                   //返回带正号的 double 值,大于或等于 0.0,小于 1.0。
                   double r2 = Math.random();
                   //通过Random类来获取下一个随机的整数
                   int r3 = new Random().nextInt();
                   System.out.println("r1 = " + r1);
                   System.out.println("r3 = " + r2);
                   System.out.println("r2 = " + r3);
           }

           public static void testNoSeed() {
                   System.out.println("--------------testNoSeed()--------------");
                   //创建不带种子的测试Random对象
                   Random random = new Random();
                   for (int i = 0; i < 3; i++) {
                           System.out.println(random.nextInt());
                   }
           }

           public static void testSeed1() {
                   System.out.println("--------------testSeed1()--------------");
                   //创建带种子的测试Random对象
                   Random random = new Random(555L);
                   for (int i = 0; i < 3; i++) {
                           System.out.println(random.nextInt());
                   }
           }

           public static void testSeed2() {
                   System.out.println("--------------testSeed2()--------------");
                   //创建带种子的测试Random对象
                   Random random = new Random();
                   random.setSeed(555L);
                   for (int i = 0; i < 3; i++) {
                           System.out.println(random.nextInt());
                   }
           }
    }


       运行结果:


    --------------test()--------------
    r1 = 1227108626582
    r3 = 0.5324887850155043
    r2 = -368083737
    --------------testNoSeed()--------------
    809503475
    1585541532
    -645134204
    --------------testSeed1()--------------
    -1367481220
    292886146
    -1462441651
    --------------testSeed2()--------------
    -1367481220
    292886146
    -1462441651

    Process finished with exit code 0


       通过testSeed1()与testSeed2()方法的结果可以看到,两个打印结果相同,因为他们种子相同,再运行一次,结果还是一样的,这就是带种子随机数的特性。

       而不带种子的,每次运行结果都是随机的。
    10-03-09 Java
    2回答
  • 网站跳转问题~~高手请指教~~ 

    0
    0
    用html
    <META HTTP-EQUIV=REFRESH CONTENT="0;URL=http://www.linux.org">

    用php
    <?php header("location:http://www.linux.org")?>

    用javascript
    <script language="javascript">
    location.href='http://www.linux.org'
    </script>

    这三行可以分别保存为独立的网页文件,当访问他们时都将立刻转而读取http://www.linux.org。注意php方法的文件扩展名应为php,javascript里链接上的单引号不可少。
    1回答
  • 自定义模板图片在哪可以找到? 

    0
    0
    http://www.haoqzone.com 这个网址不错的 我都是用这里面的模块
    10-03-09 互联网 匿名
    1回答
  • 什么是s域分析?  

    0
    0
    拉氏变换是将时间函数f(t)变换为复变函数F(s),或作相反变换。
    时域(t)变量t是实数,复频域F(s)变量s是复数。变量s又称“复频率”。
    拉氏变换建立了时域与复频域(s域)之间的联系。


    s=jw,当中的j是复数单位,所以使用的是复频域。通俗的解释方法是,因为系统中有电感X=jwL、电容X=1/jwC,物理意义是,系统H(s)对不同的频率分量有不同的衰减,即这种衰减是发生在频域的,所以为了与时域区别,引入复数的运算。但是在复频域计算的形式仍然满足欧姆定理、KCL、KVL、叠加法
    Laplace变换是工程数学里的重要变换,主要是实现微分积分电路的代数运算,建议参看《积分变换》这书.在一阶和高阶电路中,有一些问题在频域中分析比在时域中分析要方便的多,而拉氏变换就是一个很好的分析工具。它将时域中的信号输入,变换成S域中的信频输入,再由S域的输出,转换成时频的输出,很简洁明了,又可以分析出信号的多种变化.工程数学或者积分变换都可以解决你所提的问题.好吧
    在一阶和高阶电路中,有一些问题在频域中分析比在时域中分析要方便的多,而拉氏变换就是一个很好的分析工具。它将时域中的信号输入,变换成S域中的信频输入,再由S域的输出,转换成时频的输出,很简洁明了,又可以分析出信号的多种变化。
    10-03-09 互联网 匿名
    1回答
  • 为什么会出现“错误!不能通过编辑域代码创建对象。”  

    0
    0
    如果这些域名不是WORD 插入/域中的域名,尽管它在WORD中以域的形式显示,但并不是真正意义上WORD的域,尽管你为这些域编辑域开关,但是,如果以手动插入域代码的方式,将会出现如楼主所言。
    比如:“EMBED”域。
    10-03-09 编程
    1回答
  • 与、或、非、与非、或非在IEEE标准中是如何表达的? 

    0
    0
    1.0简介
         众所周知的逻辑建模方针是:
    a)         在always 块里用阻塞赋值产生组合逻辑;
         b)         在always 块里用非阻塞赋值产生时序逻辑;
       但是为什么?一般的回答是:那只是关于仿真的,即使不遵照上面的规则也照样可以产生正确的综合结果。但问题是综合前的仿真结果也许会与综合后的电路行为仿真不匹配。要明白上述方针背后的原因,就必须明白非阻塞赋值和阻塞赋值两者的功能和时序安排。本文将详细描述有关问题。文章里将用到两个缩写形式:RHS(right-hand-side)和LHS(left-hand-side),前者指等号右边的表达式或变量,后者指等号左边的表达式或变量。
    2.0 Verilog竞争状态
       IEEE Verilog Standard定义了“执行顺序确定的描述”和“执行顺序不确定的描述”。当两个或多个不同的描述被调度于同一仿真时间步内执行时,如果不同的执行顺序会得到不同的结果,就会产生竞争,这就是IEEE Verilog Standard定义的竞争状态。为了避免竞争状态,理解Verilog对非阻塞赋值和阻塞赋值的调度方式是非常重要的。
    3.0 阻塞赋值
    阻塞赋值的操作符是等号“=”。阻塞赋值因其行为而得名:求出RHS表达式的值并完成赋值行为,这个过程不能被其它的Verilog描述打断。“阻塞”就是说在当前的赋值行为完成之前阻塞其它的赋值行为。一个例外是在阻塞赋值操作符的RHS带有时延的阻塞赋值,这种情况下在此操作延时等待时可以执行其它赋值操作,但这是一种很不好的代码风格。
       阻塞赋值可以看作一个单步过程:求出RHS的值并赋给LHS,不允许其它描述打断此操作。在同一个always块里面,阻塞赋值行为将“阻塞”后面的赋值操作直到本次赋值操作结束。阻塞赋值的一个问题是:当一个程序块中的阻塞赋值描述的RHS变量同时是另一个程序块中的阻塞赋值描述的LHS变量,并且两个等式的执行被调度在同一仿真步长时间内执行(比如同一个时钟上升沿),那么会出现竞争状态,这样的情况下其执行次序将是未知的。为了说明这种情况,请看例一的Verilog代码:
    module fbosc1 (y1, y2, clk, rst);
    output y1, y2;
    input clk, rst;
    reg y1, y2;
    always @(posedge clk or posedge rst)
    if (rst) y1 = 0;
    else y1 = y2;
    always @(posedge clk or posedge rst)
    if (rst) y2 = 1;
    else y2 = y1;
    endmodule
    Example 1 - Feedback oscillator with blocking assignments
            依据IEEE Verilog Standard,这两个always块可以以任意的次序调度。如果在一个复位信号后第一个块先被执行,结果是y1和y2都被赋值1;如果在一个复位信号后第二个块先被执行,结果是y1和y2都被赋值0。这个例子清楚地展示了一个Verilog竞争状态。
    4.0 非阻塞赋值
       非阻塞赋值的操作符是小于等于号“<=”。非阻塞赋值同样因行为而得名:在一个时间步的开始求RHS表达式的值并在这个时间步结束时用RHS的值替换LHS;在求RHS表达式和替换LHS变量的中间时间段,其它的Verilog语句和非阻塞赋值操作可以被执行。也就是说,非阻塞赋值并不阻止其它的Verilog语句的求解。非阻塞赋值可以看作一个二步过程:1. 在时间步开始时求RHS的值;2. 在时间步结束时替换LHS的值;非阻塞赋值为寄存器数据类型而设,所以只允许在程序块中出现,比如initial块和always块,不允许持续赋值。请看例二的Verilog代码:
    module fbosc2 (y1, y2, clk, rst);
    output y1, y2;
    input clk, rst;
    reg y1, y2;
    always @(posedge clk or posedge rst)
    if (rst) y1 <= 0;
    else y1 <= y2;
    always @(posedge clk or posedge rst)
    if (rst) y2 <= 1;
    else y2 <= y1;
    endmodule
    Example 2 - Feedback oscillator with nonblocking assignments
           依据IEEE Verilog Standard,这两个块可以以任意的次序执行。在一个复位信号后,不管哪一个块先被执行,在时间步的开始两个RHS表达式同时被求值,在时间步的结束同时替换LHS变量的值。在使用者的角度看,这两个非阻塞赋值是并行执行的。
    5.0 Verilog编码指导仿真
       在对非阻塞赋值和阻塞赋值作进一步的解释和举例之前,现列举八条有帮助的指导方针。这些方针有助于正确地用Verilog对硬件建模和仿真,谨遵这些方针可以避免90-100%的Verilog设计者可能遇到的Verilog竞争状态。
    l  对时序逻辑建模时,使用非阻塞赋值;
    l  对锁存器建模时,使用非阻塞赋值;
    l  用always块对组合逻辑建模时,使用阻塞赋值;
    l  同一个always块中既有组合逻辑又有时序逻辑时,使用非阻塞赋值;
    l  不要在同一个always块中混合使用阻塞赋值和非阻塞赋值;
    l  不要在多于一个always块中对同一个变量进行赋值;
    l  使用$strobe以显示已被非阻塞赋值的值;
    l  不要使用零时延#0赋值;Verilog新手一定要记住并遵守这些方针直到完全弄明白了它们的内在机理,这将会帮助你避免“death by Verilog!”。
    10-03-09 互联网 匿名
    1回答
  • 为什么按打印显示保存页面 

    0
    0
    是你打印机驱动的问题,建议你从新安装一下打印机驱动,我以前也遇到过这种问提,打印机有时候稍微有点操作不当,或者是直接断电关闭电脑,驱动程序就会损坏,太脆弱了
    2回答
1 2 3 4 5 6 7 8 9 10 11 ...下一页
意见反馈 帮助