当前位置:文档之家› CString常用方法简介

CString常用方法简介

CString常用方法简介
CString常用方法简介

CString常用方法简介

作者:webmaster 出处:无

CString::Compare

int Compare( LPCTSTR lpsz ) const;

返回值字符串一样返回0

小于lpsz 返回-1

大于lpsz 返回1

区分大小字符

CString s1( "abc" );

CString s2( "abd" );

ASSERT( https://www.doczj.com/doc/f616438420.html,pare( s2 ) == -1 );

ASSERT( https://www.doczj.com/doc/f616438420.html,pare( "abe" ) == -1 );

CString::CompareNoCase

int CompareNoCase( LPCTSTR lpsz ) const;

返回值字符串一样返回0

小于lpsz 返回-1

大于lpsz 返回1

不区分大小字符

CString::Collate

int Collate( LPCTSTR lpsz ) const;

同CString::Compare

CString::CollateNoCase

int CollateNocase( LPCTSTR lpsz ) const;

同CString::CompareNoCase

CString::CString

CString( );

CString( const CString& stringSrc );

CString( TCHAR ch, int nRepeat = 1 );

CString( LPCTSTR lpch, int nLength );

CString( const unsigned char* psz );

CString( LPCWSTR lpsz );

CString( LPCSTR lpsz );

例子最容易说明问题

CString s1;

CString s2( "cat" );

CString s3 = s2;

CString s4( s2 + " " + s3 );

CString s5( 'x' ); // s5 = "x" CString s6( 'x', 6 ); // s6 = "xxxxxx"

CString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"

CString city = "Philadelphia";

CString::Delete

int Delete( int nIndex, int nCount = 1);

返回值是被删除前的字符串的长度

nIndex是第一个被删除的字符,nCount是一次删除几个字符。根据我实验得出的结果:当nCount>要删除字符串的最大长度(GetCount() - nIndex)时会出错,当nCount过大,没有足够的字符删除时,此函数

不执行。

例子

CString str1,str2,str3;

char a;

str1 = "nihao";

str2 = "nIhao";

int x;

// int i=(str1 == str2);

str1.Delete(2,3);

如果nCount(3) > GetCount() –nIndex (5-2)就会执行错误

CString::Empty

Void Empty( );

没有返回值清空操作;

例子

CString s( "abc" );

s.Empty();

ASSERT( s.GetLength( ) == 0 );

CString::Find

int Find( TCHAR ch ) const;

int Find( LPCTSTR lpszSub ) const;

int Find( TCHAR ch, int nStart ) const;

int Find( LPCTSTR lpszSub, int nStart ) const;

返回值不匹配的话返回-1; 索引以0 开始

nStar 代表以索引值nStart 的字符开始搜索,

即为包含以索引nStart字符后的字符串

例子

CString s( "abcdef" );

ASSERT( s.Find( 'c' ) == 2 );

ASSERT( s.Find( "de" ) == 3 );

Cstring str(“The stars are aligned”);

Ing n = str.Find('e',5);

ASSERT(n == 12)

CString::FindOneOf

int FindOneOf( LPCTSTR lpszCharSet ) const;

返回值不匹配的话返回-1; 索引以0 开始

注意::返回此字符串中第一个在lpszCharSet中也包括字符并且从零开始的索引值

例子

CString s( "abcdef" );

ASSERT( s.FindOneOf( "xd" ) == 3 ); // 'd' is first match.

CString::Format

void Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );

lpszFormat 一个格式控制字符串

nFormatID 字符串标识符

例子

CString str;

Str.Format(“%d”,13);

此时Str为13

CString::GetAt

TCHAR GetAt( int nIndex ) const;

返回标号为nIndex的字符,你可以把字符串理解为一个数组,GetAt类似于[].注意nIndex的范围,如果

不合适会有调试错误。

CString::GetBuffer

LPTSTR GetBuffer( int nMinBufLength );

返回值

一个指向对象的(以空字符结尾的)字符缓冲区的LPTSTR 指针。

参数

nMinBufLength

字符缓冲区的以字符数表示的最小容量。这个值不包括一个结尾的空字符的空间。

说明

此成员函数返回一个指向CString 对象的内部字符缓冲区的指针。返回的LPTSTR 不是const,因此可以允许直接修改CString 的内容。如果你使用由GetBuffer 返回的指针来改变字符串的内容,你必须在使用其它的CString 成员函数之前调用ReleaseBuffer 函数。

在调用ReleaseBuffer 之后,由GetBuffer 返回的地址也许就无效了,因为其它的CString 操作可能会导致CString 缓冲区被重新分配。如果你没有改变此CString 的长度,则缓冲区不会被重新分配。当此CSt

ring 对象被销毁时,其缓冲区内存将被自动释放。

注意,如果你自己知道字符串的长度,则你不应该添加结尾的空字符。但是,当你用ReleaseBuffer 来释放该缓冲区时,你必须指定最后的字符串长度。如果你添加了结尾的空字符,你应该给ReleaseBuffer 的长度参数传递-1 ,ReleaseBuffer 将对该缓冲区执行strlen 来确定它的长度。

下面的例子说明了如何用CString::GetBuffer。

// CString::GetBuffer 例子

CString s( "abcd" );

#ifdef _DEBUG

afxDump << "CString s " << s << "\n";

#endif

LPTSTR p = s.GetBuffer( 10 );

strcpy( p, "Hello" ); // 直接访问CString 对象。

s.ReleaseBuffer( );

#ifdef _DEBUG

afxDump << "CString s " << s << "\n";

#endif

CString::GetLength

int GetLength( ) const;

返回值

返回字符串中的字节计数。

说明

此成员函数用来获取这个CString 对象中的字节计数。这个计数不包括结尾的空字符。

对于多字节字符集(MBCS),GetLength 按每一个8 位字符计数;即,在一个多字节字符中的开始和结

尾字节被算作两个字节。

示例

下面的例子说明了如何使用CString::GetLength。

// CString::GetLength 示例

CString s( "abcdef" );

ASSERT( s.GetLength() == 6 );

CString::Insert

int Insert( int nIndex, TCHAR ch );

int Insert( int nIndex, LPCTSTR pstr );

返回修改后的长度,nIndex是字符(或字符串)插入后的索引号例子

CString str( “HockeyBest”);

int n = str.Insert( 6, “is” );

ASSERT( n == str.GetLength( ) );

printf( “1: %s\n”, ( LPCTSTR ) str );

n = str.Insert( 6, ' ' );

ASSERT( n == str.GetLength( ) );

printf ( “2: %s\n”, (LPCTSTR) STR );

n = str.Insert(555, …1?);

ASSERT( n == str.GetLength ( ) );

printf ( “3: %s\n”, ( LPCTSTR ) str );

输出

1. Hockeyis Best

2. Hockey is Best

3. Hockey is Best!

CString::IsEmpty

BOOL IsEmpty( ) const;

返回值

如果CString 对象的长度为0,则返回非零值;否则返回0。

说明

此成员函数用来测试一个CString 对象是否是空的。

示例

下面的例子说明了如何使用CString::IsEmpty。

// CString::IsEmpty 示例

CString s;

ASSERT( s.IsEmpty() );

请参阅CString::GetLength

CString::Left

CString Left( int nCount ) const;

throw( CMemoryException );

返回的字符串是前nCount个字符。

例子

CString s( _T("abcdef") );

ASSERT( s.Left(2) == _T("ab") );

CString::LoadString

BOOL LoadString( UINT nID );

throw( CMemoryException );

返回值

如果加载资源成功则返回非零值;否则返回0。

nID 一个Windows 字符串资源ID。

说明此成员函数用来读取一个由nID 标识的Windows 字符串资源,并放入一个已有CString 对象中。

示例

下面的例子说明了如何使用CString::LoadString。

// CString::LoadString 示例

#define IDS_FILENOTFOUND 1

CString s;

if (! s.LoadString( IDS_FILENOTFOUND ))

CString::MakeLower

void MakeLower( );

改变字符的小写

CString::MakeReverse

void MakeReverse( );

字符倒置

CString::MakeUpper

void MakeUpper( );

改变字符的大写

CString::Mid

CString Mid( int nFirst ) const;

CString Mid( int nFirst, int nCount ) const;

nCount代表要提取的字符数, nFirst代表要提取的开始索引位置

例子

CString s( _T("abcdef") );

ASSERT( s.Mid( 2, 3 ) == _T("cde") );

CString::ReleaseBuffer

void ReleaseBuffer( int nNewLength = -1 );

参数

nNewLength

此字符串的以字符数表示的新长度,不计算结尾的空字符。如果这个字

符串是以空字符结尾的,则参数的缺省值-1 将把CString 的大小设置为

字符串的当前长度。

说明

使用ReleaseBuffer 来结束对由GetBuffer 分配的缓冲区的使用。如果你知道缓冲区中的字符串是以空字符结尾的,则可以省略nNewLength 参数。如果字符串不是以空字符结尾的,则可以使用nNewLength 指定字符串的长度。在调用ReleaseBuffer 或其它CString 操作之后,由GetBuffer 返回的地址是无效的。

示例

下面的例子说明了如何使用CString::ReleaseBuffer。

// CString::ReleaseBuffer 示例

CString s;

s = "abc";

LPTSTR p = s.GetBuffer( 1024 );

strcpy(p, "abc"); // 直接使用该缓冲区

ASSERT( s.GetLength() == 3 ); // 字符串长度= 3

s.ReleaseBuffer(); // 释放多余的内存,现在p 无效。

ASSERT( s.GetLength() == 3 ); // 长度仍然是3

CString::Remove

int CString::Remove ( TCHAR ch );

返回值

返回从字符串中移走的字符数。如果字符串没有改变则返回零。

参数

ch

要从一个字符串中移走的字符。

说明

此成员函数用来将ch 实例从字符串中移走。与这个字符的比较是区分大小写

的。

示例

// 从一个句子中移走小写字母'c':

CString str (“This is a test.”);

int n = str.Remove( 't' );

ASSERT( n == 2 );

ASSERT( str ==“This is a es. ” );

CString::Replace

int Replace( TCHAR chOld, TCHAR chNew );

int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );

返回值

返回被替换的字符数。如果这个字符串没有改变则返回零。

参数

chOld

要被chNew 替换的字符。

chNew

要用来替换chOld 的字符。

lpszOld

一个指向字符串的指针,该字符串包含了要被lpszNew 替换的字符。

lpszNew

一个指向字符串的指针,该字符串包含了要用来替换lpszOld 的字符。

说明

此成员函数用一个字符替换另一个字符。函数的第一个原形在字符串中用chNew

现场替换chOld。函数的第二个原形用lpszNew 指定的字符串替换lpszOld 指定

的子串。

在替换之后,该字符串有可能增长或缩短;那是因为lpszNew 和lpszOld 的长度

不需要是相等的。两种版本形式都进行区分大小写的匹配。

读Visual C++ 开发经验技巧宝典第二章—-数据类型

一 Cstring

1. 初始化方法:

(1) 直接复制,如Cstring=”mingrisoft”;

(2) 通过构造函数初始化,如CString str(‘ ’,100)//与分配100个字节,填充空格

char*

p=”feiqiang”; Cstring(p);delete p.

(3) 加载工程中的字符串资源,如CString

str;str.LoadString(IDS_STR);

(4) 使用CString类的成员函数Format初始化,如CString str; int i=0; str.Format(“value:%d”,i);

2. 将CString转化为char*,如

CString str=”feqiang”;

char *p;

p=str.GetBuffer();

delete p;

将char*转化为CString,如:

char* p=”feiqiang”;

p[len(p)]=’\0’;

Cstring str(p);

char* 和char数组的转化:

char buf[5] ={‘a’,’b’,’c’};

char *p;

p=new char[5];

p=buf;

将字符串转化为数字:

CString str=”12”;

int i=atoi(str);

long j=atoll(str);

float f=atof(str);

将数字转化为字符串:

CString str;

int i=12;

str.Format(“%d”,i);

long j=12;

str,Format(“%ld”,j);

同理其他类型。

3. 字符串的相关操作即方法的使用:

(1) 提取字符串中的中文,如

CString strtext,temp,strres;

GetLlgItem(IDC_TEXT)->GetWindowText(strtext);//通过ID获取编辑框中的文本

for(int =\0;i

char ch=strtext.GetAt(i);

if(IsDBCSLeadByte(ch)){ //判断字符是否是双字节编码的前一个字节

tmp=strtext.Mid(i,2);//截取索引index1到index2的字符[ )

i++;

stress+=tmp;

}

GetLlgItem(IDC_RESULT)->SetWindowText(strtes);//设置文本框中的文本

}

(2) 英文字符串首字母大写,如将以空格符分隔的英文单词的第一个字母大写(小写)

str.GetAt(i);//提取字符串索引为i个字母

str.MakeLower();//转化为小写

tmp.MakeUpper();//转化为大写

(2) 按制定符号分割字符:

int pos=str.Find(strchar);//查找字符,如果没找到,则返回0,找到则返回字符的位置,参数可以是字符也可以是字符串

while(pos>0){

str1=str.Left(pos);//取左,参数为字符串的个数

str=str.Right(str.GetLength-pos-1);//取右,参数同上

tmp.Format(“%s\r\n”,str1);//字符串中\r\n代表回车化行符

strres+=tmp;

pos=str.Find(strchar);

}

(3) 删除指定的中文:

m_text.GetWindowText(strtxt);

m_text.GetSel(istart,iend);//得到文本框中选中的文本,并且得到文本的头索引和尾索引

if(istart==iend){

return;

}

str1=strtxt.Left(istart);

if(iend>=strtxt.GetLength()){

str2=””;

}else{

str2=strtxt.Right(strtxt.GetLength()-iend);

}

strres+=str1;

strres+=str2;

(4) 替换字符串:

strtxt.Replace(strchar,strnew);//用新串替换旧串

(5) 根据CPoint查找位置:

CPoint pt;//获取字符串时获取鼠标所在字符串的位置

int pos=m_text.CharFromPos(pt);//根据pt获取字符串中的位置,即其左侧字符的位置

if(str.IsEmpty()){//判断字符串是否为空

m_num.AddString(strres);//文本框追加字符串}

将字符转化为大写:ch=ch-32;

(6) 字符串忽略大小写的比较:

CString str=”feiqiang”;

int com=https://www.doczj.com/doc/f616438420.html,pareNoCase(“mingri”);//如果相等返回0,否则返回-1;

(7) 连接换行符:CString str=”feiqiang\

t”;

(8) 字符反转:str.MakeReverse();

(9) 取出首位空格:str.TrimLeft(); str.TrimRight();

取出字符串中的所有空格,str.Replace(“ ”,””);

(10) 在ListBox中查找字符串

int

index=::SendMessage(m_stringlist.GetSafeHwnd(),LB_FINDSTRINGEXACT,-1,

(LPARAM)(LPCTSTR)strtext));//通过SendMessage函数向列表控件发送

LB_FINDSTRINGEXACT消息来查找指定字符串是否在列表空间中,如果存在则返回索引位置。

(11) 字符串数组:

CString str[5] array;

CString str[5]={“feiqiang”,”mingri”,”mr”};

for(int i=0;i<5;i++){

array.Add(str[i]);//添加元素

}

for(int j=0;j

if(array.Get(j)==”mr”){

MessageBox(“存在”);

}

}

(12) 设置编码方式:Project/Settings Preprocessor,如果要使用DBCS,则添加_MBCS(多个字节编码),如果要使用Unicode,则添加_Unicode,不添加则使用ASCII.

二字符串指针类型

(1) LPCSTR:32位静态字符串指针,可以直接赋值使用,如LPCSTR

str=”mingrisofg”;

(2) LPSTR:32位字符串指针,如LPSTR str; str=new char[256];

(3) LPCTSTR:32位UNICODE型静态字符串指针,如 LPCTSTR

str=_T(“mingrisoft”);

(4) LPTSTR: 32位UNICODE型字符串指针,如LPTSTR str=new TCHAR[256];

三 BSTR(进行COM编程时使用的字符串类型)与CString之间的转化:

1. 对BSTR变量赋值时:

BSTR bstr=NULL;

bstr=SysAllocString(L”feiqang”);//从LPCWSTR构造

SysFreeString(bstr);//释放

将BSTR强制转化为CString,如:

CString str=(CString) bstr;或CString str; BSTR

bstr=str.AllocSysString();

2. _bstr_(对BSTR的包装类),包含的头文件为:”COMDEF.H”

用法:

直接赋值:_bstr_t tbstr=”feqiang”;

给CString对象赋值:CString str=(LPCSTR)tbstr;//LPCSTR

str=tbstr;

将_bsr_转化为BSTR,使用copy函数:BSTR bstr=tbstr.copy(); SysFreeString(bstr);

BSTR之间赋值给_bstr_对象,如BSTR

bstr=SysAllocString(L”mingri”); _bstr_t tbstr=b str;

四格式化类型

如:获取并且格式化系统时间

CTime t=CTime::GetCurrentTime();

CSTring strtime=t.Format(“%H:%M:%S”);

MessageBox(strtime;

职业规划自我分析方法

职业规划自我分析方法 职业生涯规划的重要性在个人层面上主要表现为:有助于使个人认清自己发展的进程和事业目标,作为选择职业与承担任务的依据,把相关的工作经验积累起来,准确地充分利用有关的机会与资源, 指引自我不断进步与完善。 第一步:分析你的需求 你也许会问:这一步怎么做呢?不妨试试以下两种方法。一种是 开动脑筋,写下来10条未来5年你认为自己应做的事情,要确切, 但不要有限制和顾虑哪些是自己做不到的,给自己头脑充分空间。 第二种更直接,完成这个句子:“我离开这个世界的时候会满足, 如果……”想象假设你马上将不在人世,什么样的成绩、地位、金钱、家庭、社会责任状况能让你满足。 第二步:SWOT(优势/劣势/机遇/挑战)分析 分析完你的需求,试着分析自己性格、所处环境的优势和劣势。以及一生中可能会有哪些机遇;职业生涯中可能有哪些威胁?这是要 求你试着去理解并回答自己这个问题:我在哪儿? 第三步:长期和短期的目标 根据你认定的需求,自己的优势、劣势、可能的机遇来勾画自己长期和短期的目标。例如,如果你分析自己的需求是想授课,赚很 多钱,有很好的社会地位,则你可选的职业道路会明晰起来。你可 以选择成为管理讲师——这要求你的优势包括丰富的管理知识和经验,优秀的演讲技能和交流沟通技能。在这个长期目标的基础上, 你可以制定自己短期目标来一步步实现。 第四步:阻碍 确切地说,写下阻碍你达到目标的自己的缺点,所处环境中的劣势。这些缺点一定是和你的目标有联系的,而并不是分析自己所有 的缺点。他们可能是你的素质方面、知识方面、能力方面、创造力

方面、财力方面或是行为习惯方面的不足。当你发现自己不足的时刻,就下决心改正它,这能使你不断进步。 第五步:提升计划 现在写下你要克服这些不足所需的行动计划。要明确,要有期限。你可能会需要掌握某些新的技能,提高某些目前的技能,或学习新 的知识。 第六步:寻求帮助 能分析出自己行为习惯中的缺点并不难,但要去改变它们却很难。相信你的父母、老师、朋友、职业咨询顾问都可以帮助你。有外力 的协助和监督会帮你更有效地完成这一步骤。 第七步:分析自己的角色 制定一个明确的实施计划:一定要明确根据计划你要做什么。那么现在你已经有了一个初步的职业规划方案。如果你心目中有未来 希望工作的公司或职位,你就可以开始分析或参考现有市场上,这 类公司或职位会对应聘者有怎样的要求和期望。做出哪种贡献可以 使你在这样的公司中脱颖而出?因为大部分人在工作后趋于麻木,对 自己的角色并不能清晰。因此,就像任何产品在市场中要有其特色 的定位和卖点一样,你也要培养一些能力,当你不断的对照公司的 需求来评估自己需要创造的价值时,接下来需要做的就是不断完善 自我,创造出自己的思想闪光点,和执行能力,为未来的职业之路 埋下更好的伏笔。 不要因为在校园的温馨生活中,就忘记了社会生活的紧张节奏,要尽早做好自己的职业生涯规划,不断完善自我,再走出校园后, 尽快融入社会的角色,成就幸福人生!

常用分析方法

绍的主要方法有六种,分别为:1、对比分析法:将A公司和B公司进行对比、2、外部因素评价模型(EFE)分析、3、内部因素评价模型(IFE)分析、4、swot 分析方法、5、三种竞争力分析方法、6、五种力量模型分析。对比分析法是最常用,简单的方法,将一个管理混乱、运营机制有问题的公司和一个管理有序、运营良好的公司进行对比,观察他们在组织结构上、资源配臵上有什么不同,就可以看出明显的差别。在将这些差别和既定的管理理论相对照,便能发掘出这些差异背后所蕴含的管理学实质。企业管理中经常进行案例分析,将A和B公司进行对比,发现一些不同。各种现象的对比是千差万别的,最重要的是透过现象分析背后的管理学实质。所以说,只有表面现象的对比是远远不够的,更需要有理论分析。外部因素评价模型(EFE)和内部因素评价模型(IFE)分析来源于战略管理中的环境分析。因为任何事物的发展都要受到周边环境的影响,这里的环境是广义的环境,不仅指外部环境,还指企业内部的环境。通常我们将企业的内部环境称作企业的禀赋,可以看作是企业资源的初始值。公司战略管理的基本控制模式由两大因素决定:外部不可控因素和内部可控因素。其中公司的外部不可控因素主要包括:政府、合作伙伴(如银行、投资商、供应商)、顾客(客户)、公众压力集团(如新闻媒体、消费者协会、宗教团体)、竞争者,除此之外,社会文化、政治、法律、经济、技术和自然等因素都将制约着公司的生存和发展。由此分析,外部不可控因素对公司来说是机会与威胁并存。公司如何趋利避险,在外部因素中发现机会、把握机会、利用机会,洞悉威胁、规避风险,对于公司来说是生死攸关的大事。在瞬息万变的动态市场中,公司是否有快速反应(应变)的能力,是否有迅速适应市场变化的能力,是否有创新变革的能力,决定着公司是否有可持续发展的潜力。公司的内部可控因素主要包括:技术、资金、人力资源和拥有的信息,除此之外,公司文化和公司精神又是公司战略制定和战略发展中不可或缺的重要部分。一个公司制定公司战略必须与公司文化背景相联。内部

mfc资料

你创建的是一个对话框程序,所以只有CMyApp 和CMyDlg 两个类。 但如果创建的是个单文档或者多文档程序。那么就有5个类。 程序是按顺序执行的,虽然都被封装成了类对象,看起来模块话,其实还是按顺序执行的,APP这个对象那个先于dlg构建。所以很多需要初始化的东西直接在App的成员initInstance 中编写。dlg中编写的基本都是一些与对话框相关的逻辑。 CMyApp是主线程类。他的InitInstance函数中会用CMyDlg构造一个对象,产生主对话框,CMyDlg是对话框类的一个派生类。两个类功能不同。 MFC的东西很复杂,不是三言两语可以说清楚的,可以参考下深入浅出mfc等书。CMyApp负责程序主框架的工作,可以理解为WinMain的封装。 CMyDlg是主对话框了,负责界面显示,消息循环等。 ------解决方案-------------------- CMyApp派生于CWinApp类,CMyDlg派生于CDialog类 程序运行时先执行CMyApp的InitInstance()函数 在InitInstance()中会有这样的代码 CMyDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); 一个最基本的单文档视图的MFC程序,包含CxxApp、CxxDoc、CMainFrame、CxxView和CAboutDlg五个类。 它们在程序开始运行时被创建的顺序是:CxxApp 、CxxDoc 、CMainFrame 、CxxView 、CAboutDlg 。

C**App()定义了窗体加载之前需要做的预处理。比如一个加密的软件,打 开后提示用户输入密码。这个事件的处理程序就要写在C**App()的 InitInstance(中。 CMainFrame()包含了对工具栏、状态栏、窗口的定义。 C**View包含了最主要的处理功能,如菜单操作、快捷键、用户交互操作等。 CAboutDlg定义了ABOUT对话框。 其中,前四个都是在程序主窗口出现之前被创建的,CAboutDlg是在“关于”对话框弹出 时被创建的 1CAboutDlg //这个是关于对话框里面是构造和析构2CMainFrame //主框架`是在窗口生成之前准备工作全在这吗 ?3CTestApp//这个是什么`initlnstance()在这里也是初始化什 么对象 ? 4CTestDoc//这是文档`是管理哪些文档`对初学者来说很少用 呐 ?5CTestView视图`这个常用 OnDraw我了解一些`我想知道`是不是默认就调 用一次 ? 还有个问题啊`我想加个音乐`虽然加成功了`但是`我一直不明白加在哪个函数里 `运行就有音乐?看过孙鑫的教程后来忘了`各位高手各抒已见,互相学习 LZ需要系统地学习一下。 CTestApp是基于WinApp的,WinApp封装了程序的主入口WinMain,WinMain就和c语言的main函数地位一样,是Win32程序的入口。在MFC的封装中,一个程序启动,Windows调用WinMain,这个WinMain函数现在由MFC事先写好藏好了,你不能也不需要修改,在这个预定义的WinMain里面会调用CWinApp的InitInstrance函数。你仔细看你CTestApp::InitInstrance函数,在这里一个CMainFrame的对象被创建,文档模板被创建,主窗口通过ShowWindow(SW_SHOW)被显示出来。 CMainFrame是个框架,是你整个应用程序的主窗口,他负责管理应用程序的菜单,工具栏,状态栏等。中间的区域,成为客户区,由View类来管理,View类也是一个窗口,他是MainFrame的子窗口。OnDraw函数负责绘制客户区的内容,该函数会被多次调用,他可以被你自己调用,比如你调用View类的UpdateWindow,或者在Document类中调用UpdateAllViews等等,MFC自动会调用OnDraw。他还会被Windows调用,Windows在需要刷新窗口的时候发送给窗口WM_PAINT消息,MFC事先已经预定义了,在响应WM_PAINT消息的时候会调用OnDraw。何时Windows会发送WM_PAINT呢,比如窗口从最小化还原,比如窗口被用户改变了 大小等等。这部分内容最好看看Windows GDI,Windows GDI是Windows操作系统整个可视化界面的基础。

自我分析方法

目前常用的认识自我的方法有:橱窗分析法、SWOT 分析法、决策单平衡法等 一、决策平衡单 考虑项目第一方案第二方案第三方案(加权范围1-5倍) 得(+) 失 (-) 得 (+) 失 (-) 得 (+) 失 (-) 自我的得失 1、适合自己的能力 2、适合自己的兴趣 3、符合自己的价值观 4、较高的社会地位 5、优厚的经济报酬 6、未来的发展性 …… 他人的得失 1、带给家人声望 2、便于和男友相处 3、更多时间照顾父母 …… 合计 得失差数 填表方法: 第一步:在第一行列出所有选择。 第二步:在“考虑项目”一列中,根据个人关注的内容,填入在选择中需要考虑的因素。 第三步:将表的各项加权记分。 1、每个项目的得分或失分,可以根据该方案具有的优势(得分)、缺点(失分)来回答,计分范围1—10分。 2、给每个“考虑项目”赋予权重:重要性因人、因时、因地不同。对于此刻的你,可以根据考虑项目的重要性与迫切性,给他们乘上权数,加权范围1-5倍。 第四步:合计每个方案的优点总分和缺点总分,正负相加,算出客观的得失差数。 注意:根据自己的真实想法作答,方可正确评估每个方案对自己的重要性。

二、橱窗分析法 橱窗分析法是一种借助直角坐标不同象限来表示人的不同部分的分析方法,它以别人知道或不知道为横坐标,以自己知道或不知道为纵坐标,坐标橱窗如下图所示: 橱窗1:为“公开我”,即是自己知道、别人也知道的部分,其特点是个人展现在外,无所隐藏。 橱窗2:为“隐私我”,即是自己知道、别人不知道的部分,其特点是属于个人私有秘密,不外显。 橱窗3:为“潜在我”,即是自己不知道、别人也不知道的部分,其特点是开发潜力巨大。 橱窗4:为“背脊我”,即是自己不知道、别人知道的部分,其特点是自己看不到,别人却看得清清楚楚。 运用橱窗分析法进行自我分析,主要是要了解“潜在我”和“背脊我”。了解“潜在我”的主要方法有:积极性暗示法、观想技术法、光明思维法等,具体可参阅有关潜能开发方面的书籍和材料。对于“背脊我”。如果自己诚恳地真心实意地征询他人的意见和看法,就不难了解“背脊我”。我们可以采取同自己的家人、朋友、同事等交流的方式,可以借助录音、录象设备,尽量开诚布公。要做到这一点,需要开阔的胸怀,确实能够正确对待,有则改之,无则加勉,否则,别人是不会说实话的。 对于橱窗2,我们可以采取撰写自传或24小时日记的方式来了解自我。撰写自传,可以了解我们自身成长的大致经历和自我计划情况等,而24小时日记对我们一个工作日和一个非工作日经历的对比,也可以了解一些侧面的信息。职场新人需要对此予以重视,尽管我们还年轻,不需要什么自传,但是这是了解自我的一种比较不错的途径。 三、SWOT分析法 从整体上看,SWOT可以分为两部分:第一部分为SW,主要用来分析内部条件;第二部分为OT,主要用来分析外部条件。利用这种方法可以从中找出对自己有利的、值得发扬的因素,以及对自己不利的、要回避的东西,发现存在的问题,找出解决办法,并明确以后

16种常用数据分析方法

一、描述统计 描述性统计是指运用制表和分类,图形以及计筠概括性数据来描述数据的集中趋势、离散趋势、偏度、峰度。 1、缺失值填充:常用方法:剔除法、均值法、最小邻居法、比率回归法、决策树法。 2、正态性检验:很多统计方法都要求数值服从或近似服从正态分布,所以之前需要进行正态性检验。常用方法:非参数检验的K-量检验、P-P图、Q-Q图、W检验、动差法。 二、假设检验 1、参数检验 参数检验是在已知总体分布的条件下(一股要求总体服从正态分布)对一些主要的参数(如均值、百分数、方差、相关系数等)进行的检验。 1)U验使用条件:当样本含量n较大时,样本值符合正态分布 2)T检验使用条件:当样本含量n较小时,样本值符合正态分布 A 单样本t检验:推断该样本来自的总体均数μ与已知的某一总体均数μ0 (常为理论值或标准值)有无差别; B 配对样本t检验:当总体均数未知时,且两个样本可以配对,同对中的两者在可能会影响处理效果的各种条件方面扱为相似; C 两独立样本t检验:无法找到在各方面极为相似的两样本作配对比较时使用。 2、非参数检验 非参数检验则不考虑总体分布是否已知,常常也不是针对总体参数,而是针对总体的某些一股性假设(如总体分布的位罝是否相同,总体分布是否正态)进行检验。 适用情况:顺序类型的数据资料,这类数据的分布形态一般是未知的。 A 虽然是连续数据,但总体分布形态未知或者非正态; B 体分布虽然正态,数据也是连续类型,但样本容量极小,如10以下; 主要方法包括:卡方检验、秩和检验、二项检验、游程检验、K-量检验等。 三、信度分析 检査测量的可信度,例如调查问卷的真实性。 分类: 、外在信度:不同时间测量时量表的一致性程度,常用方法重测信度1. 2、内在信度;每个量表是否测量到单一的概念,同时组成两表的内在体项一致性如何,常用方法分半信度。 四、列联表分析 用于分析离散变量或定型变量之间是否存在相关。 对于二维表,可进行卡方检验,对于三维表,可作Mentel-Hanszel分层分析。 列联表分析还包括配对计数资料的卡方检验、行列均为顺序变量的相关检验。 五、相关分析 研究现象之间是否存在某种依存关系,对具体有依存关系的现象探讨相关方向及相关程度。 1、单相关:两个因素之间的相关关系叫单相关,即研究时只涉及一个自变量和一个因变量; 2、复相关:三个或三个以上因素的相关关系叫复相关,即研究时涉及两个或两个以上的自变量和因变量相关; 3、偏相关:在某一现象与多种现象相关的场合,当假定其他变量不变时,其中两个变量之间的相关关系称为偏相关。

MFC知识点(自己整理的,只供参考)

知识点:不是很全面,只供参考 第一章 Windows应用程序使用的界面是由各种图形元素组成的图形界面(GUI)。 Windows提供了大量预定义的用C语言编写的函数,这些函数就叫做API(Application Programming Interface)函数。 在Windows应用程序中,存在着许多与DOS应用程序不同的复杂对象,例如窗口、按钮、滚动条等等。Windows把为这种复杂对象所定义的标识叫做句柄。 常用的句柄类型:HWND 窗口句柄,HDC 图形设备环境句柄,HINSTANCE 当前程序应用实例句柄,HBITMAP 位图句柄,HICON 图标句柄,HCURSOR 光标句柄,HBRUSH 画刷句柄,HPEN 画笔句柄,HFONT 字体句柄,HMENU 菜单句柄,HFILE 文件句柄 事件的描述是一个消息 消息的结构: typedef struct tagMSG { HWND hwnd; //产生消息的窗口句柄 UINT message;//消息的标识码 WPARAM wParam;//消息的附加信息1 LPARAM lParam;//消息的附加信息2 DWORD time; //消息进入消息队列的时刻 POINT pt; //表示发送该消息时鼠标的位置 }MSG; 消息循环: while(GetMessage(&msg,NULL,NULL,NULL))//系统处理了消息后返回 { TranslateMessage(&msg);//把键盘消息翻译成字符消息 DispatchMessage(&msg);//把消息派发给Windows系统 创建窗口的三个步骤: 注册窗口类: RegisterClass(&wc); 创建窗口: hwnd=CreateWindow( lpszClassName, "Windows", WS_OVERLAPPEDWINDOW, 120,50,800,600, NULL, NULL, hInstance, NULL); 显示窗口: ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); 大题:用函数封装Windows程序(P16) 第二章

使用 db2pd 进行监视和故障诊断

使用 db2pd 进行监视和故障诊断 因为 db2pd 工具可从 DB2? 内存集合迅速返回即时信息,所以该工具可用于故障诊断。 该工具不需要获得任何锁存器或使用任何引擎资源就可以收集信息。因此,在 db2pd 收集 信息时,有可能(并且预计)会检索到正在更改的信息;这样,数据可能不是十分准确。 如果遇到正在更改的内存指针,可使用信号处理程序来防止 db2pd 异常终止。这可能会导 致输出中出现诸如以下的消息:“正在更改的数据结构已强制终止命令”。虽然如此,该工 具对于故障诊断却非常有用。在不锁存的情况下收集信息有两个好处:检索速度更快并且 不会争用引擎资源。 如果要在出现特定 SQLCODE、ZRC 代码或 ECF 代码时捕获关于数据库管理系统的信息,那 么可以使用 db2pdcfg -catch 命令完成此操作。捕获到错误时,将启动 db2cos(调出脚本)。db2cos 文件可以自动改变,以便运行解决问题所需的任何 db2pd 命令、操作系统命令或任何其他命令。在 UNIX? 和Linux? 上,模板文件 db2cos 位于 sqllib/bin 中。在 Windows? 操 作系统上,db2cos 位于 $DB2PATH in 目录中。 以下是使用 db2pd 快速故障诊断的一组示例。 场景 1:诊断锁定等待 使用 db2pd -db -locks -transactions -applications -dynamic 命令来获取下列 结果: 锁定: Address TranHdl Lockname Type Mode Sts Owner Dur HldCnt Att ReleaseFlg 0x07800000202E5238 3 00020002000000040000000052 Row ..X G 3 1 0 0x0000 0x40000000 0x07800000202E4668 2 00020002000000040000000052 Row ..X W* 2 1 0 0x0000 0x40000000 对于使用 -db 数据库名称选项指定的数据库,开头的结果会显示该数据库的锁定。您会发 现 TranHdl 2 正在等待 TranHdl 3 挂起的锁定。 事务: Address AppHandl [nod-index] TranHdl Locks State Tflag Tflag2 Firstlsn Lastlsn LogSpace SpaceReserved TID AxRegCnt GXID

个人简介及自我评价

个人简介及自我评价 【篇一:简历中的自我评价范文】 简历中的自我评价范文 一、 工作认真负责,不推卸责任;能承受工作中的压力;工作上可以独当 一面;具有团队精神,能与同事,其它部门积极配合,公司利益至上;服从性好,能与上司保持良好的沟通,尊重上司的安排;为人诚实,正直;且好学上进,不断提高工作能力; 相信您的选择会让您我更加成功; 二、 本人热爱学习,工作态度严谨认真,责任心强,有很好的团队合作能力.有良好的分析、解决问题的思维.以创新、解决客户需求、维护公 司利益为宗旨。来接受挑战和更大的发展平台。 三、 诚实、稳重、勤奋、积极上进,拥有丰富的大中型企业管理经验, 有较强的团队管理能力,良好的沟通协调组织能力,敏锐的洞察力,自信是我的魅力。我有着良好的形象和气质,健康的体魄和乐观的 精神使我能全身心地投入到工作当中。 四、 本人性格随和乐观,积极向上,爱好广泛,喜欢钻研,工作认真负责,拥有较强的组织能力和适应能力,并具有良好的身体素质。乐 于沟通,易于融入集体,乐于助人,学习能力较好,注重理论与实 践相结合,在 工作中不断提高专业知识之余,同时也在不断地提高做人、做事的 的能力,争取将工作做得更好,争取做更好的自己! 五、 本人性格活泼开朗,与人相处和睦融洽,有较强的沟通能力。在校 期间担任班长一职,多次策划实施几次大型活动,拥有较强的组织 能力和协调能力,并具有良好的身体素质。在多次社会实践中,注 意向社会吸取丰富的经验,对工作认真负责。 六、 诚实守信,具有良好的感恩意识;勤勉务实,注重理论与实践的有 效结合;善于创新,拥有优异的创造性思维;责任心强,对待工作 尽职尽责;进取意识烈强烈,虚心好学;有良好的团队组织能力及

MFC对话框程序中的各组件常用方法

MFC对话框程序中的各组件常用方法: Static Text: 将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性: GetDlgItem(IDC_XX)->SetWindowText(L"dsgdhfgdffd"); 设置字体: CFont *pFont = new CFont; pFont->CreatePointFont(120,_T("华文行楷")); GetDlgItem(IDC_XX)->SetFont(pFont); Edit Control: 设置文本: SetDlgItemText(IDC_XX,L"iuewurebfdjf"); 获取所有输入: 建立类向导创建一个成员变量(假设是shuru1,shuru2……)类型选value,变量类型任选。 UpdateData(true); GetDlgItem(IDC_XX)->SetWindowText(shuru1); 第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。 若类型选用control: 1.设置只读属性: shuru1.SetReadOnly(true); 2.判断edit中光标状态并得到选中内容(richedit同样适用) int nStart, nEnd; CString strTemp; shuru1.GetSel(nStart, nEnd); if(nStart == nEnd) { strTemp.Format(_T(" 光标在%d" ), nStart); AfxMessageBox(strTemp); } else { //得到edit选中的内容 shuru1.GetWindowText(strTemp); strTemp = strTemp.Mid(nStart,nEnd-nStart); AfxMessageBox(strTemp); } 其中nStart和nEnd分别表示光标的起始和终止位置,从0开始。strTemp.Format 方法用于格式化字符串。AfxMessageBox(strTemp)显示一个提示对话框,其内容是字符串strTemp。 strTemp = strTemp.Mid(nStart,nEnd-nStart)返回一个被截取的字符串,从nStart开始,长度为nEnd-nStart。如果nStart == nEnd说明没有选择文本。 注:SetSel(0,-1)表示全选;SetSel(-1,i)表示删除所选。

db2pd命令捕获死锁信息

本文通过一个实例讲解了在DB2版本9以后,如何使用db2pd命令捕获死锁信息 死锁经常会存在于我们的应用系统中,如何捕获死锁信息并解决死锁问题,是一个比较复杂的问题。DB2提供了死锁事件监控器来获取死锁信息,可以非常方便地获取死锁信息。从DB2版本8.2.2开始,DB2也可以使用db2pd命令和db2cos脚本来获取死锁信息,提供了一种新的途径来获取死锁信息。 从DB2版本9开始,我们可以使用db2pd -catch 命令来捕获错误信息,然后调用一个sqllib/db2cos 的脚本收集出错时的现场信息。该命令的使用语法如下: Usage: -catch clear | status | [] [count=] Sets catchFlag to catch error or warning. Error Codes: [,] / sqlcode=[,] ZRC (hex or integer) ECF (hex or integer) "deadlock" or "locktimeout" Actions: [db2cos] (default) Run sqllib/db2cos callout script [lockname=] Lockname for catching specific lock (lockname=000200030000001F0000000052) [locktype=] Locktype for catching specific lock (locktype=R or locktype=52) 下面我们通过一个实例来讲解如何使用db2pd -catch命令获取死锁信息。如无特殊说明,命令均使用DB2实例用户执行。 1、将$HOME/sqllib/cfg/db2cos例子脚本拷贝到$HOME/sqllib下,并改变属性为实例用户添加执行权限: cp $HOME/sqllib/cfg/db2cos $HOME/sqllib

《自我分析的方法》

《自我分析的方法》 (1)自我测试法 在一些书刊中经常看到一些“测测你”的标题,其内容就是自我测试,并给出了参考答案。自答自测。这是一种比较简单的自测方法,其题目是心理学家们经过研究设计的,只要如实地回答,能大概了解自己的有关情况。但有些人在回答问题时,不是自己认为怎么答,就怎么答,而是看多数人怎么认为,就怎么答;社会倾向什么,就答什么;怎么答,符合社会常理,就怎么答。这样回答问题,就完全失去了自测的意义,更为严重的是,以不真实的自测结果为基础去设计自己的人生,将起到误导作用,导致自己的人生失败。因此,在自测回答问题时,一定要按照自己的想法、自己的认识、自己判别是非的标准、自己的习惯去答,这样的自测才有一些参考价值。 (2)计算机测试法 计算机测试是一种现代化测试手段。此种测试与自我测试法相比,其科学性、准确性较高,是了解自己、认识自己的一种有效方法。测试软件有多种类型,有人格测试、智力测试、能力测试、职业兴趣测试、潜能测试、管理能力测试等等,可测人的方方面面。不同的测试,有不同的题量,有的100多道题,有的200多道题……题目非常简单,每道题给出几个答案,你认为哪个对,就在哪个题号上打个勾。做完题后,将题号输入计算机。几分钟内计算机就打印出结果,将你的性格、兴趣、特长、气质、智商、情商等等,分析得一清二楚,使你能够较全面的认识自己。

第二篇:自我分析方法目前常用的认识自我的方法有:橱窗分析法、swot分析法、决策单平衡法等 一、决策平衡单 考虑项目 (加权范围1-5倍) 1、适合自己的能力 自我的得失 2、适合自己的兴趣 3、符合自己的价值观 4、较高的社会地位 5、优厚的经济报酬 6、未来的发展性 他人的得失 1、带给家人声望 2、便于和男友相处 3、更多时间照顾父母 ……合计得失差数 得(+) 第一方案 失(-) 得(+) 第二方案

常用的MFC类及其作用

常用的MFC类及其作用 分类:MFC基础类专区2008-10-14 11:16 445人阅读评论(1) 收藏举报 1.CRuntimeClass结构 继承自CObject的类都有一个与它相关的CRuntimeClass结构,用来在运行时获得对象以及其基类的信息。 要使用CRuntimeClass结构,必需借助于RUNTIME_CLASS()宏和其他有关运行时类型识别的宏。 2.CObject CObject类的作用: a.对象诊断:MFC提供了两种对象的诊断机制,一种是利用成员含数AssertValid 进行对象有效性检查,这样可以使类在继续运行以前对自已进行正确性检查。另一种是利用成员含数Dump输出对象的数据成员的值,诊断信息以文本形式放入一个数据流中,用于调试器的输出窗口信息显示。这两种诊断只能用于Debug版的应用程序。 b.CObject类提供了GetRuntimeClass与IsKindOf两个成员含数来支持运行时类型识别。GetRunntimeClass根据对象的类返回一个CRuntimeClass结构的指针,它包含了一个类的运行信息,含数IsKindOf用于测试对象与给定类的关系。 c.提供对象的序列化。必须在类的定义中包含DECLARE_SERIAL宏,并且在类的实现文件中加入包含IMPLEMENT_SERIAL宏. https://www.doczj.com/doc/f616438420.html,mdTarget 该类直接从CObject类派生而来. 它负责将消息发送到能够响应这些消息的对象。它是所有能实行消息映射MFC类的基类,如CWinThread,CWinApp,CWnd,CView,CDocument等类。CCmdTarget 类的主要功能包括消息发送,设置光标和支持自动化. a.消息发送:MFC应用程序为每个CCmdTarget派生类创建一个称为<消息映射表>的<静态数据结构>,该消息映射结构将消息映射到对象所对应的消息处理含数

职业生涯规划中的自我分析范文

职业生涯规划中的自我分析范文 一、自我分析 可能的盲点:过分在意别人的情感想法和对我的评价,希望得到别人的表扬,担心被忽视。为了保护和睦的人际关系,通常采蓉避或沉默的方式。 二、自我盘点: 么机会打。 2、优势:善于学习别人的优点,然后自我反省, 3、劣势:家在农村,没什么后台。见识较少,工作经验生活经历少,各类荣誉证书获得也很少,不善于表达,说话能力差,不够勇敢,怕这怕那的。 4、优点:从小养成吃苦耐劳的精神,做事细心,对待每一件事情都会先准备妥当不马虎。 解决自我盘点中的劣势和缺点: 一、自我简介 2XXX年经历过高考严峻的考验,进入了大学,成为老师和师兄师姐们关注的对象,“新生”这么一个角色就悄悄的灌输到的脑海里了,并很自豪的对自己说,我是大学生了,是07级民族学班的一员,是民族学与社会学学院的新成员。 二、自我分析 三、目标锁定 (一)自我分析 1.家庭背景及成长环境

我出生在一个农民家庭,父亲在从商,我三岁以前跟爷爷奶奶住在武汉的一个小农村里,后来来到十堰与父母一直住在一起。 2.人生观、价值观 人生短暂,要怀着一颗感恩的心来面对生活,享受生活中的每一分每一秒,并且不断学习,不断前进。 通过价值测评得到的职业价值观倾向为:舒适*安逸成就*实现型 3.性格分析 通过职业人格16pf测试及自我总结得到如下结果: (1)情感性世故性 1、细心敏感,依赖性强。通常心肠软,较女性化,爱好艺术、 富于幻想。遇事优柔寡断,缺乏自信。有时过分不切实际,容易感 情用事,不喜欢接近粗俗的人和做笨重的工作。2、为人精明,待人 圆滑、世故,处事老练得体,善于为人处事。对一切事物的看法非 常理智,善于解决疑难问题,在集体中受到人们的重视。 (2)忧虑性紧张性 1、通常比较忧郁,容易自责,缺乏安全感,容易焦虑不安,朋 友较少。在集体中没有成为领袖的欲望,通常也不会被推选为领袖。比较害羞,不善言辞、爱哭,常常抱怨环境,甚至沮丧悲观,有时 自寻烦恼。2、通常容易紧张,心神不宁,有挫折感,经常处于被动 局面,感觉不自然。在集体中很少被选为领导,常常感到自己不被 别人尊重和接受,经常自怜自叹。在压力下容易惊慌失措。这很可 能是因为没能在生活、学习、工作中发挥自身才智潜能。 4.能力分析 创造性一般 5.动力分析 -对事情要求不高,喜欢轻松、压力少的生活和工作。

常用MFC和API函数

常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::store时,将数据存入文档(要求CFile写许可);nBufSize 指定内部文件缓冲区的大小(按字节计); lpBuf 指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,

2020年自我分析方法(实用)

自我分析方法 目前常用的认识自我的方法有:橱窗分析法、SWOT 分析法、决策单平衡法等 一、决策平衡单 考虑项目第一方案第二方案第三方案 (加权范围1-5倍) 得(+) 失 (—) 得 (+) 失 (— ) 得 (+) 失 (-) 自我的得失1、适合自己的能力 2、适合自己的兴趣 3、符合自己的价值 观 4、较高的社会地 位 5、优厚的经济报酬 6、未来的发展性 …… 他1、带给家人声望

人的得失2、便于和男友相处 3、更多时间照顾父 母 …… 合计得失差数 填表方法: 第一步:在第一行列出所有选择. 第二步:在“考虑项目"一列中,根据个人关注的内容,填入在选择中需要考虑的因素。 第三步:将表的各项加权记分。 1、每个项目的得分或失分,可以根据该方案具有的优势(得分)、缺点(失分)来回答,计分范围1—10分. 2、给每个“考虑项目”赋予权重:重要性因人、因时、因地不同。对于此刻的你,可以根据考虑项目的重要性与迫切性,给他们乘上权数,加权范围1-5倍. 第四步:合计每个方案的优点总分和缺点总分,正负相加,算出客观的得失差数. 注意:根据自己的真实想法作答,方可正确评估每个方案对自己的重要性。

二、橱窗分析法 橱窗分析法是一种借助直角坐标不同象限来表示人的不同部分的分析方法,它以别人知道或不知道为横坐标,以自己知道或不知道为纵坐标,坐标橱窗如下图所示: 橱窗1:为“公开我”,即是自己知道、别人也知道的部分,其特点是个人展现在外,无所隐藏. 橱窗2:为“隐私我”,即是自己知道、别人不知道的部分,其特点是属于个人私有秘密,不外显。 橱窗3:为“潜在我",即是自己不知道、别人也不知道的部分,其特点是开发潜力巨大。 橱窗4:为“背脊我”,即是自己不知道、别人知道的部分,其特点是自己看不到,别人却看得清清楚楚。 运用橱窗分析法进行自我分析,主要是要了解“潜在我”和“背脊我”。了解“潜在我”的主要方法有:积极性暗示法、观想技术法、光明思维法等,具体可参阅有关潜能开

C++_MFC快速超简单入门

C++ MFC快速超简单入门学习 注意:红色字体为重要的信息,必须理解并记住。 在学习MFC之前,你必须对C++的“类和对象有一定的认识和理解,因为MFC就是C++完全的面向对象设计,它里面封装了好多类,我们只要调用就OK,就像C语言调用库函数一样,直接使用,这就是C++ 第一特性:封装性,第二性就是继承与派生, 这个在MFC中体现得淋淋至间(字打错了)。如果不懂,我再来解释一下,例:有一个商品类,class GOODS 商品属性有名字,价格 它可作为一个基类,我可以派上出苹果类,class Apple :public GOODS . 苹果属性出了继承了商品的属性名字,价格之外,还可派 生出,颜色,等属性,继承与派生就是一个是另一个的子集,但是这 个子集不仅包括父集的特征,还具有一些新的特性,懂了吧,这样。MFC其中重要的类是:CDialog 对话框类,CEdit,(编辑框 类)CButton,(按钮类)CRadio(单选钮类),这些都是作为基类,由我们自己定义的类去派生它们。 好了,现在先了解一下什么是MFC吧,请看当前目录下的MFC入门知识的幻灯片1—20张,或大概的浏览一下当前目录下的其它连个word文件,后面的幻灯片我觉得没必要看了,因为是快速吗,节约时间,(首先看不懂没关系,)但但看完之后,必须掌握如下知识: 1.MFC是作什么用的?与以前我们写的C,C++语言有什 么不同。以及它的一些优点, 不同,以前的是控制台的界面不好看,不友好,操作不 方便,黑框框的一片。 MFC反之。 优点:可用极少的代码实现强大的功能, 2.关于MFC的一些术语,概念啊

3.你要知道MFC的对话框是由控件组成的,具有 哪些控件(例按钮:Button, 单选钮:radio,Edit)例:要知道MFC的编程的原则,也就是宗旨理念吧,“消息映射,事件驱动“,这句话要记住并理解,很重要,真的。那到底是什么意思呢? 现实举例:一个人具备一种“感知“的能力,(也可称消息吧),当用火接近这个人时(发生的事件),就会(驱动)这个人做出反应,远离”火“, 用MFC举例:一个按钮有什么消息啊,我可以单 击它,所以它具备单击的消息: 第一个就是左键单击的消息,第二个 就是双击的消息,见名思议就 OK了。我单击这个按钮要产生某个事件, 我就可以第一步,先给按钮添加一个消息响应函 数,意思就是当我单击按钮时,就调用那个函数, 按钮时时刻刻都处于待命的状态, 假如添加的函数如下: void CDsDlg::OnButton1() { AfxMessageB ox(“我单击了这个按钮”);

db2 实战常用命令

db2 force application all –断开所有链接数据库的应用 db2 list application-查看连接数据库的应用 db2 bakup db ksdbs 备份数据库 db2start db2stop启停数据库 db2 connect reset断开所有链接 scp get trans.ini -r back@10.10.9.160/home/back/bccbin \ scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file scp -r ip:/db/dbhome/dbguard 【1】 db2top –d ksdbs db2pd -d ksdbs -stat >stat.log 查看数据库状态(数据超大超详细) 【1】find -type f | xargs dos2unix 遍历格式转换 【1】 find . -name [A-Z]* -print 查找当前目录下以大写字母命名的文件 【1】 >db2ckbkp 检查数据库的完整性 >tee 命令 用途--显示程序的输出并将其复制到一个文件中。 【1】db2 connect reset db2 list directory db2 list active databases db2 get db cfg db2 get db cfg 【1】归档日志 db2 update db cfg for db_name using LOGRETAIN ON 更改归档目录: db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log" 在我重新连接数据库的时候提示: db2 connect to t_1 to mydb SQL1116N A connection to or activation of database "T_1" cannot be made because of BACKUP PENDING. SQLSTATE=57019 网上找了n多最后才知道 若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。

MFC常用函数

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★//这一页的代码最重要了,呵呵……什么都在这里面呢; 单文档新建:CWinApp_________docManager->docSingleTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 多文档新建:CWinApp_________docManager->docMultTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 单文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docSingleTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 多文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docMultTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。 他们两个只有在docMultTemplate和docSingleTemplate的OpenDocumentFile函数中的动作不同,单文档负责新建框架类和视类但是如果存在了我们就不重建了,只是给其赋值。而多文档无论如何都会新建一个视类和框架类文档类,这也就是为什么他是多文档结构的原因。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 接下来介绍这个最重要的函数,它基本什么都干了,不管是新建还是打开都得调用它,呵呵…… // CDocument* CMultiDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible) { //下面调用的是CDocTemplate::CreateNewDocument() CDocument* pDocument = CreateNewDocument();//这里面调用了AddDocument(pDocument); //添加了一个CMyMultiTestDoc : public CDocument

相关主题
文本预览
相关文档 最新文档