xfv

发布新日志

  • VC中Combo Box控件使用大全(转)

    2009-03-07 15:50:21

    一、如何添加/删除Combo Box内容
    1,在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。
    2,在程序初始化时动态添加
    如:

    //控件内容初始化
    CString strTemp;
    ((
    CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容
    for(int i=1;i<=100;i++)
    {
       
    strTemp.Format("%d",i);
        ((
    CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);
    }

    3,下拉的时候添加
    如:

    CString strTemp;
    int iCount=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCount();//取得目前已经有的行数
    if(iCount<1)//防止重复多次添加
    {
        ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();
        for(int i=1;i<=100;i++)
        {
            strTemp.Format("%d",i);
            ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);
        }
    }
    

    4,删除

    DeleteString( UINT nIndex )//删除指定行,    
    


    5,插入

    InsertString( int nIndex, LPCTSTR lpszItem )//将行插入到指定位置
    

    6,查找

    FindString( int nStartAfter, LPCTSTR lpszItem )//可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。 
    int SelectString( int nStartAfter, LPCTSTR lpszItem )//可以选中包含指定字符串的行
    

     

    二、如何控制Combo Box的下拉长度

    1,首先要知道两点:一、那就是在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。
    2,二、属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。

    三、选择其中的某行
    1,选中:

    int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel();//当前选中的行。

    2,设置
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n)//设置第n行内容为显示的内容。 
     

    四、取得Combo Box框内容
    1取当前内容

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp);
    

    2取其他行内容

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp);     
    

    四、获得焦点

    通常要判断控件是否获得了焦点,可以用GetFocus()函数

    例如:

    if(GetFocus()==GetDlgItem(IDC_EDIT_VALUE2))//判断焦点是否在编辑框IDC_EDIT_VALUE2内。

    但是combobox 的焦点不同,因为它是由edit和listbox两部分组成的

    所以获得焦点要用GetParent():

    if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF)) 
    

    VC++ Combo Box/Combo Box Ex控件
      组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数:

    BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
    

    其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。

    CBS_DROPDOWN        //下拉式组合框
    CBS_DROPDOWNLIST    //下拉式组合框,但是输入框内不能进行输入
    CBS_SIMPLE          //输入框和列表框同时被显示
    LBS_SORT            //所有的行按照字母顺序进行排序
    

    由于组合框内包含了列表框,所以列表框的功能都能够使用,如可以利用:

    int AddString( LPCTSTR lpszItem );                  //添加行,
    int DeleteString( UINT nIndex );                    //删除指定行,
    int InsertString( int nIndex, LPCTSTR lpszItem );   //将行插入到指定位置。
    void ResetContent();                                //可以删除列表框中所有行。
    

    通过调用int GetCount( )得到当前列表框中行的数量。
    如果需要得到/设置当前被选中的行的位置,可以调用int GetCurSel( )/int SetCurSel(intiIndex)
    通过调用int GetLBText(intnIndex,LPTSTRlpszText)得到列表框内指定行的字符串。
    此外通过调用int FindString(int nStartAfter,LPCTSTR lpszItem)可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。
    int SelectString( int nStartAfter, LPCTSTR lpszItem )可以选中包含指定字符串的行。
    此外输入框的功能都能够使用,如可以利用:
    DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar )得到或设置输入框中被选中的字符位置。
    BOOL LimitText( int nMaxChars )设置输入框中可输入的最大字符数。
    输入框的剪贴板功能Copy,Clear,Cut,Paste动可以使用。
    最后介绍一下列表框几种常用的消息映射宏:
    ON_CBN_DBLCLK 鼠标双击
    ON_CBN_DROPDOWN 列表框被弹出
    ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
    ON_CBN_SELCHANGE 列表框中选择的行发生改变
    ON_CBN_EDITUPDATE 输入框中内容被更新
    使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。
    在MFC 4.2中对组合框进行了增强,你可以在组合框中使用ImageList,有一个新的类CComboBoxEx(由CComboBox派生)来实现这一功能。在CComboBoxEx类中添加了一些新的成员函数来实现新的功能:首先你需要调用CImageList* SetImageList( CImageList* pImageList );来设置ImageList,然后调用
    int InsertItem( const COMBOBOXEXITEM* pCBItem );来添加行,其中COMBOBOXEXITEM定义如下:
    typedef struct {      
    UINT mask;      
    int iItem;      
    LPTSTR pszText;     
    int cchTextMax;      
    int iImage;      
    int iSelectedImage;      
    int iOverlay;      
    int iIndent;      
    LPARAM lParam;
    } COMBOBOXEXITEM, *PCOMBOBOXEXITEM;
    你需要设置mask=CBEIF_IMAGE CBEIF_TEXT,并设置iItem为插入位置,设置pszText为显示字符串,设置iImage为显示的图标索引。下面的代码演示了如何进行插入:
    /*m_cbeWnd 为已经创建的CComboBox对象
    m_list 为CImageList对象IDB_IMG 为16*(16*4)的位图,每个图片为16*16共4个图标*/
    m_list.Create(IDB_IMG,16,4,RGB(0,0,0));
    m_cbeWnd.SetImageList(&m_list);
    COMBOBOXEXITEM insItem;insItem.mask=CBEIF_IMAGE CBEIF_TEXT;insItem.iItem=0; insItem.iImage=0;insItem.pszText="Line 1";m_cbeWnd.InsertItem(&insItem);insItem.iItem=1;insItem.iImage=1;insItem.pszText="Line 2";m_cbeWnd.InsertItem(&insItem);
    通过调用int DeleteItem( int iIndex );来删除行,并指明行的位置。
    通过调用BOOL GetItem( COMBOBOXEXITEM* pCBItem )/BOOL SetItem( const COMBOBOXEXITEM* pCBItem );来得到/设置行数据。

  • public,protected, private

    2008-12-25 20:32:49

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任
    C++中 public,protected, private 访问标号小结

    第一:private, public, protected 访问标号的访问范围。
    private:只能由1.该类中的函数、2.其友元函数访问。
    不能被任何其他访问,该类的对象也不能访问。

    protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
    但不能被该类的对象访问。

    public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
     
    注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

    第二:类的继承后方法属性变化。
    private 属性不能够被继承。
    使用private继承父类的protected和public属性在子类中变为private;
    使用protected继承,父类的protected和public属性在子类中变为protected;
    使用public继承,父类中的protected和public属性不发生改变; 
     
    如下所示: 
                                     public:            protected:       private:
    public继承             public             protected        不可用 
    protected继承       protected       protected        不可用 
    private继承            private           private             不可用 

    protected继承和private继承能降低访问权限。

    本文出自 “将弛直奔” 博客,请务必保留此出处http://cnmtjp.blog.51cto.com/204390/36548
    本文出自 51CTO.COM技术博客
  • 转:vc++数据类型转换

    2008-11-30 22:27:36

  • Mysql的实时同步 - 双机互备.

    2008-10-24 15:05:06

     

    Mysql的实时同步 - 双机互备.

     

    一.方案描述:

    Mysql数据库的双机热备方案,主要是配合linux系统的热备方案,因为pluswell热备软件(linux版)没有数据镜像的功能,所以只有用mysql自带的热备功能。

     

    二.Mysql的数据库热备配置方法如下:

     

    1,测试环境

    A机器(双网卡)             

    系统:            Fedora7+mysql5.0.37(系统自带)+SER

                      IP地址:              192.168.20.201

                          心跳ip地址:         10.1.1.201

    B机器(双网卡)        

    系统:        Fedora7+mysql5.0.37(系统自带)+SER

                      IP地址:   192.168.20.202

                            心跳ip地址:  10.1.1.202

    2,设置方法:

    第一步:

    我们用心跳ip地址 ,且确定同步的数据库为SER数据库。在这两台机器上创建复制数据帐号

    A机器:

    Mysql>grant replication slave on *.* to ‘repl’@10.1.1.202 identified by ’123456’;
    B
    机器:

    Mysql>grant replication slave on *.* to ‘repl’@10.1.1.201 identified by ’123456’;

     

    第二步: 配置 mysql.cnf

    A机器

     

    mysqld

    #Replication master

    server-id = 1

    log-bin                 

    binlog-do-db=ser

    binlog-ignore-db=mysql

     

    # Replication slave

    master-host=10.1.1.202

    master-user=repl

    master-password=123456

    master-port=3306

    master-connect-retry=60

    replicate-do-db=ser

     

    B机器

     

    mysqld

    #Replication master

    server-id = 2

    log-bin

    binlog-do-db=ser

    binlog-ignore-db=mysql

     

    # Replication slave

    master-host=10.1.1.201

    master-user=repl

    master-password=123456

    master-port=3306

    master-connect-retry=60

    replicate-do-db=ser

     

    第三步:最后重新启动两台机器的mysql.

    #service mysqld restart

     

    =============================================================

    附,解释:

     

    1)binlog-do-db=ser 表示需要备份的数据库是ser这个数据库,

    如果需要备份多个数据库,那么应该写多行,如下所示:

    binlog-do-db=backup1

    binlog-do-db=backup2

    binlog-do-db=backup3

     

    2) server-id=2表示本机器的序号, A,Bserver-id 不能相同;

    3)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slaverelay-log,也是可以进行replication的前提;

    其中mysql_binary_log是日志文件的名称,mysql将建立不同扩展名,文件名为mysql_binary_log的几个日志文件.

    4) master-host=10.1.1.201 表示Aslave时的master10.1.1.201;

    5) master-user=repl 这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;

    6) master-password=123456 表示授权用户的密码;

    7) master-port=3306 masterMySQL服务Listen3306端口;

    8) master-connect-retry=60 同步间隔时间;

    9) replicate-do-db=ser 表示同步ser数据库;

     

     

    三.查看状态 及调试

     

    1,查看master的状态

    SHOW MASTER STATUS;

    Position 不应为0

    2,查看slave的状态

    show slave status;

    Slave_IO_Running | Slave_SQL_Running 这两个字段 应为 YES|YES.

    show processlist;

    会有两条记录与同步有关 state Has read all relay log; waiting for the slave I/O thread to update its Waiting for master to send event .

     

    3,CHANGE MASTER TO

    如果A Slave 未启动 ,Slave_IO_Running No.

    可能会是Bmaster 的信息有变化,

    查看B SHOW MASTER STATUS;

    记录下 File,Position 字段. 假设为'test202-bin.000001',98 ;

    A 下执行:

    mysql>Stop Slave;

     

    mysql>CHANGE MASTER TO

    mysql>MASTER_LOG_FILE = ' test202-bin.000001',

    mysql>MASTER_LOG_POS = 98 ;

     

    mysql>Start Slave;

     

    5,SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;

    如果ASlave_SQL_Running No.

    Err文件中记录:

    Slave: Error 'Duplicate entry '1' for key 1' on query....

    可能是master 未向slave 同步成功,slave中已经有了记录。造成的冲突.

    可以在A上执行

    SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

    start salve;就可以了。

     

    如果Slave_SQL_Running 仍然为No.可以考虑试一下如下步骤:

    1,  B机器上的ser数据库中删除上面Err文件中提到的表中的数据。

    2,  把两台机器上的/var/lib/mysql/文件夹中的master.info,relay-log.info,机器名开头的文件删除。

    3,重启mysql

  • 进程与线程的区别

    2008-04-09 22:12:58


    进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

    1。

           一个程序至少有一个进程,一个进程至少有一个线程.
           线程的划分尺度小于进程,使得多线程程序的并发性高。

    2。
         进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

    3。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
    从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别

    4。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
    一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

    5。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响, 而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要 比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

  • 转载:管理的最高境界不是完美

    2008-03-20 22:52:52

    管理的最高境界不是完美

          有时候,公司管理不规范、运作混乱自有好处,在特定的阶段里,只有残缺才是美。

        作为个体的集合,组织就如一个大树林,不同的鸟儿聚在其中,构成了一个复杂的生态环境。面对于此,有效管理决不是一个单纯过程,它应当具有针对性、包容性和灵活性,否则,管理就丧失了它的本质意义。

        水至清则无鱼

         有一个故事:在日本的一家动物园,有位饲养员特别爱干净,对动物也特别有爱心,每天都把小动物住的小屋打扫得干干净净。结果呢,那些小动物一点也不领他的 情,在干净舒适的环境里,动物们开始慢慢萎靡不振了,有的厌食消瘦,有的生病拒食,有的甚至死了。原因是什么?后来,通过观察才发现,那些动物都有自己的 生活习性,有的喜欢闻到那混浊的骚气,有的看到自己的粪便反而感到安全等等。这个故事就说明了一个道理,有效的管理必须针对组织内个体的需求,包容个体的 差异性,并在此基础上灵活应对、多元管理。假如像故事中的饲养员那样,无视个体的差异,一味求看似完美的统一,这样的组织最终一定会因抹杀了个体的个性而 导致组织的解体或僵死。

        作为组织的一个类型,企业就其性质而言,一方面具有经济属性,唯求其利;另一方面有具有社会属性,即企业 也是由具有不同性格、不同需求、不同地位、不同生活经历和习惯的,活生生的“人”组合在一起;不可否认,社会的混合性、庸俗性、复杂性同时被包容其中,构 成了这个复杂的组织环境。可以想象,在这个环境里,祈求一个称心如意的状态,达到一个理想的完美境界,几乎是异想天开。仅举公司电话私用现象:70%的电 话可能在被私人占用,你若想根除的话,可能你要被先根除。倒不如实实在在根据人们的习性和人的不同需求,因势利导,逐步改善,平和稳健,力求降低私用率罢 了。

        俗话说得好,水至清则无鱼。鱼缸里的水虽然清澈见底,但生长在其中的鱼长不大,活不长。江海的水虽然混浊,却能够容纳更多更 大的鱼。从管理学的原理来看,组织的方方面面留有余地,互存不良,反而顺理成章,和谐有序。当你想水清一点,不妨浑一点;想图快一点,不如慢一点;想求好 一点,不如差一点,这可能就是残缺美在管理实践中的表现吧。

        管理的重心则在于培育企业的自我净化能力

        但是否由于组织内个体的差异性、整体的不完美性客观存在,管理者追求改善的努力就会一无“适”处了呢?其实不然。管理的有效性恰恰体现在通过管理,使组织具备自我净化、自我改善的功能上。

      我想,管理者的职责不在于花更多的精力清除不良因素,而是任其适当合理存在,管理的重心则在于培育企业的自我净化能力。

         在这一过程中,管理者首先应该承认并学会欣赏人与人之间与生俱来的差异性。企业的功能之一,就是包容员工多样化的差异性,并将其揉合成一种向心力。比如在 能力差异上,能力强的员工恰恰在能力较弱的员工那里获得自信感,而能力差的员工又以能力强的员工为荣耀,并从中获得安全感。双方的差异性在日常工作中保持 着一种彼此依赖和满足的关系。如果在一个公司全都是“武林高手”的话,那么,就可能出现相互抵销的消极现象。从管理实用的原理出发,不妨有意或者无意地制 造差异性,让组织自然地进入一个有序磨合的状态。

        其次,管理者还应学会巧妙利用组织成员彼此之间素质的落差性。很多管理者都希望 组织内部的优秀分子、纯洁分子越多越好。“事实上,大概没有比会聚优秀人才于组织更可怕的事情。优秀人才的负面效果,往往使组织更加僵化,更倾向于争斗和 本位主义。一般认为非优秀人才能起到中和作用。”这是日本经济学家屋太一先生在《组织的盛衰》中写到的一段话。

        著名漫画家郑辛遥 有一幅耐人寻味的漫画,题目上写道:“若能把‘绊脚石’变成‘垫脚石’,你就是生活中的强者。”就公司内部来说,难免有素质不良人员,也会有难缠的人。如 果把他们当成仓库里的烂苹果一样,挑出来,扔出去的话,一切都显得简单了。问题是,人的关系复杂性远远不能等同于挑出烂苹果来的那么简单,实际情况要复杂 得多。倒不如换一种不扔的思维,发掘“绊脚石”成员的长处,从而使其变成“垫脚石”。

    也要欣赏残缺的美妙

        前面曾 说过,管理就是化腐朽为神奇的一门综合艺术。其实,再落后的人,也有被尊重的渴望,也有发挥自己潜能的意识。问题在于如何找到发现他、改变他的通道。有的 时候,偶然调换了一下工作岗位,或是领导给与一次恰当的赞赏,无意之中就会把那个人身上内在深处的可贵要素释放出来,变成组织中的动力元素。柳传志在谈到 处理不称职人的时候,不盲目学习西方的那种简单的辞退法,而是交给人事部门,寻求其他安排渠道。这样做,正是在承认人的差异性的基础上,相信“天生我才必 有用”的古训,并积极为其寻找和搭建发挥自我优势的平台。

        管理者在认同差异的同时,也要欣赏残缺的美妙。没了月亮的阴晴圆缺,我 们就不可能欣赏到那些感叹人生悲欢离合,聚散无常的或婉约、或豪放的诗句;而没了问题的存在,管理也就失去了存在的必要性,组织也只会如一潭止水,平淡无 奇,我们今天也就无从去高谈阔论那些或让人激动、或使人懒惰的管理案例了。

        既然残缺是美,管理者就应学会利用其“美”。有时在组 织内部故意制造一些摩擦,安插个别负面人物,目的是制造一些紧张,防止组织僵化;有的时候组织程序并不确定,然而在不确定的过程中反而容易出现生动创意和 强劲动力,无怪乎创业期间的组织冲力最大,这就是残缺的互合作用。

        从自然规律来看,不同的音符,才有乐章的美妙;不同的落差,才有起伏的壮观;不同的性格,才有生动的和谐;不同的所有,才有无尽的追求。

         作为管理者不要被完美情结所困扰。完美是无止境的追求目标,一切都得从不完美开始,在不完美中进步。完美无极限,在你看来是完美的东西,换一个人、换一个 时间,就是不完美了。奥林匹克精神是“更快、更高、更强”,如果换成“最快、最高、最强”,也就失去人们为之拼搏奋斗的价值了。在管理上也是如此,过分追 求完美就会陷入狭隘的陷阱。

        在这点上,联想柳传志很有独到之处,他在回答凤凰电视台记者提问时说过:“在我们这种情况下,计划经 济向市场经济转化的时候,环境本身是很恶劣。我曾说,不在改革中犯错误,因为大环境是这样,我改造得了吗?改造不了。改造不了我们不要动大环境,我们改造 小环境。小环境还改造不了我不动了。我不要冒死去为了改造环境去犯别的方面的问题。我宁可等着。”他告诉我们,在管理过程中应学会睁一只眼闭一只眼,容忍 或宽容一些不完美现象的存在。

        在管理实践中,常能听到员工抱怨公司管理不规范、运作混乱、组织架构不清晰,其实有的时侯,混乱自有混乱的好处,只要心里有章法。在特定的阶段里,只有残缺才是美,才是最合理的。难得糊涂比格外精明更重要。古人有训:水至清则无鱼、人至察则无贤。

        管理的最高境界不是完美,而是残缺中的和谐!

  • top命令用法及参数

    2008-01-28 15:21:49

    top 监视系统任务的工具;

    top是动态监视系统任务的工具,top 输出的结果是连续的;


    4.1 top 命令用法及参数;


    top 选择参数

    参数:

    -b  以批量模式运行,但不能接受命令行输入;
    -c 显示命令行,而不仅仅是命令名;
    -d N  显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;
    -i 禁止显示空闲进程或僵尸进程;
    -n NUM  显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出;
    -p PID 仅监视指定进程的ID;PID是一个数值;
    -q  不经任何延时就刷新;
    -s  安全模式运行,禁用一些效互指令;
    -S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;


    交互式命令键位:

    space  立即更新;
    c 切换到命令名显示,或显示整个命令(包括参数);
    f,F 增加显示字段,或删除显示字段;
    h,? 显示有关安全模式及累积模式的帮助信息;
    k 提示输入要杀死的进程ID,目的是用来杀死该进程(默人信号为15)
    i 禁止空闲进程和僵尸进程;
    l 切换到显法负载平均值和正常运行的时间等信息;
    m 切换到内存信息,并以内存占用大小排序;
    n  提示显示的进程数,比如输入3,就在整屏上显示3个进程;
    o,O 改变显示字段的顺序;
    r 把renice 应用到一个进程,提示输入PID和renice的值;
    s 改变两次刷新时间间隔,以秒为单位;
    t 切换到显示进程和CPU状态的信息;
    A 按进程生命大小进行排序,最新进程显示在最前;
    M 按内存占用大小排序,由大到小;
    N 以进程ID大小排序,由大到小;
    P 按CPU占用情况排序,由大到小
    S 切换到累积时间模式;
    T  按时间/累积时间对任务排序;
    W 把当前的配置写到~/.toprc中;
  • lr日志错误:Failed to transmit data to network:[10054]connection reset by peer.

    2008-01-23 15:29:26

    在controller运行时,output日志中会报错误:Failed to transmit data to network:[10054]connection
    原因与我安装的卡巴斯基杀毒软件的设置有关:
    添加如下设置:设置--->保护--〉信任区域--〉信任程序中添加mmdrv.exe,lr_bridge.exe.
    在排除码中,添加LRLauncherApp.exe,vugen.exe

  • 如何在TD中插入loadrunner的脚本并运行脚本

    2008-01-23 12:29:07

    1,在VUG中的“tools”中进入“Quallity Centter Connection”。
    在server中输入http://ip/tdbin                           .....connection..
    在Domain,project,user name,password中,分别填上相应的值   .....connection...

    2,在"file"的"save as "中就可看到TD项目,然后到相应的目录中保存脚本,即可。


    3,保存controller的场景同上。
    4,在完成以上操作后,就可在TD上直接执行脚本,但是执行的机器上必须安装Loadrunner,
  • 解决firefox访问td的问题

    2008-01-23 10:41:50



    把压缩包解压后,放到firefox的plugin的目录下。
    td支持firefox插件
  • 比尔·盖茨写给青年人的十一点忠告

    2008-01-19 10:51:52

        1.生活是不公平的,你要去适应它。

    2.这个世界并不会在意你的自尊,而是要求你在自我感觉良好之前先有所成就。  
     
     

    3.刚从学校走出来时你不可能一个月挣6万美元,更不会成为哪家公司的副总裁,还拥有一部汽车,直到你 将这些都挣到手的那一天。

    4.如果你认为学校里的老师过于严厉,那么等你有了老板再回头想一想。

    5.卖汉堡包并不会有损于你的尊严。你的祖父母对卖汉堡包有着不同的理解,他们称之为“机遇”。

    6.如果你陷入困境,那不是你父母的过错,不要将你理应承担的责任转嫁给他人,而要学着从中吸取教训。

    7.在你出生之前,你的父母并不像现在这样乏味。他们变成今天这个样子是因为这些年来一直在为你付账单、给你洗衣服。所以,在对父母喋喋不休之前,还是先去打扫一下你自己的屋子吧。

    8.你所在的学校也许已经不再分优等生和劣等生,但生活却并不如此。在某些学校已经没有了“不及格”的概念,学校会不断地给你机会让你进步,然而现实生活完全不是这样。

    9.走出学校后的生活不像在学校一样有学期之分,也没有暑假之说。没有几位老板乐于帮你发现自我,你必须依靠自己去完成。

    10.电视中的许多场景决不是真实的生活。在现实生活中,人们必须埋头做自己的工作,而非像电视里演的那样天天泡在咖啡馆里。

    11.善待你所厌恶的人,因为说不定哪一天你就会为这样的一个人工作。
  • 解决loadrunner 中ip spoofer的一个问题

    2008-01-13 13:24:24

    本人最近在试enable ip spoofer 功能,遇到一个问题:选上“enable ip spoofer”后,运行报错,
    如下::Failed to transmit data to network.  [10054]:connection reset by peer。

    后来一步步排查,发现是卡巴的问题,
    解决办法:把卡巴斯基关闭即可,或添加一些设置也可:具体看附件
  • FC4自启动程序

    2008-01-13 11:19:29

    方法一:

    [beinan@localhost ~]$ gnome-session-properties

    方法二:
    直接修改gnome-session-properties的配置文件 .gnome2/session-manual

    内容大体如下:

    [Default]
    num_clients=2
    0,RestartStyleHint=3
    0,Priority=50
    0,RestartCommand=gaim
    0,Program=gaim
    1,RestartStyleHint=3
    1,Priority=50
    1,RestartCommand=fcitx
    1,Program=fcitx

    我是加了fcitx和gaim 的自启动,说明一下;

    每增加一个自启动程序; num_clients的值加1;每个自启动程序都有一个序列号,比如 gaim 是0,fcitx 是1,如果我们再添加一个比如 gedit呢?那就是2,以此类推;

    每个自启动程序定义共有四行,我们按其格式输入就可以了;

    2,RestartStyleHint=3
    2,Priority=50
    2,RestartCommand=gedit
    2,Program=gedit
    标签: 
  • FC4的启动恢复

    2008-01-13 11:16:39

    第一方案:
    1,用FC4的第1张盘,启动到 linux rescue下。
    2,运行grub;
            grub>root (hdx,y)                     //x表示用的那块硬盘,y表示root所在分区。如我的是 root (hd0,3)
            grub>setup (hd0)
    3,重起机器即可。


    第二方案;
     1,用FC4的第1张盘,启动到 linux rescue下。
     2,chroot /mnt/sysimage
     3,到/sbin/目录下,运行fdisk -l 查看分区情况。
     4,#grub -install   /dev/hdx  (x为你使用的那块硬盘)
     5,exit 退出chroot ,再exit 退出linux rescure
     6,在具体环境中,编辑/boot/grub/grub.conf文件和menu.lst文件。

    第三方案:
     把启动从mbr中改变到引导分区的第一扇区中,这样可以避免格掉c盘导致fc4不能启动。
    1,用FC4的第1张盘,启动到 linux rescue下。
     2,chroot /mnt/sysimage
    3,mkdir /mnt/winc
    4,mount -t vfat /dev/hda1 /mnt/winc
    5,dd if = /dev/hda6 ōf = /mnt/winc/bootsect.lnx bs = 512 count =1
    6,在boot.ini 中加入  c:\bootsect.lnx = "Fedoro core 4 linux".
Open Toolbar