-
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
-
转: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,B的server-id 不能相同;
3)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;
其中mysql_binary_log是日志文件的名称,mysql将建立不同扩展名,文件名为mysql_binary_log的几个日志文件.
4) master-host=10.1.1.201 表示A做slave时的master为10.1.1.201;
5) master-user=repl 这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;
6) master-password=123456 表示授权用户的密码;
7) master-port=3306 master上MySQL服务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 it和s Waiting for master to send event .
3,CHANGE MASTER TO
如果A 的 Slave 未启动 ,Slave_IO_Running 为No.
可能会是B的master 的信息有变化,
查看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;
如果A的Slave_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
-
比尔·盖茨写给青年人的十一点忠告
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".