摘要: GUID guid; CString szGUID; if (S_OK == ::CoCreateGuid(&guid)) { szGUID.Format( "{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X} " , guid.Data1 , guid.Data2 , guid.Data3 , guid.Data4[0], guid.Data4[1] , guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5] , guid.Data4[6], guid. 阅读全文
posted @ 2012-11-27 17:19 郑文亮 阅读(3954) 评论(0) 推荐(0)
摘要: ListBox控件的使用 ListBox窗户用来列出一系列的文本,每条则本占一行。创建一个列表窗户可使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗户的风格,除了子窗户常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。 LBS_MULTIPLESEL 指明列表框可以同时选择多行 LBS_EXTENDEDSEL 可以路程经过过程按下. 阅读全文
posted @ 2012-11-27 17:00 郑文亮 阅读(6608) 评论(0) 推荐(0)
摘要: 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢? 幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,. 阅读全文
posted @ 2012-11-27 16:34 郑文亮 阅读(839) 评论(0) 推荐(0)
摘要: 转载注明以上文字第一:出现内存泄露后如图1所示,点击view工具的第三个视图,显示左侧栏,即如图2所示:(图一)第二:双击泄露的黑色的表示泄露的代码,出现如图三所示(图二)第三:红色区域即是表示有泄露的object,添加代码: CFRelease(email); [personNamerelease];后,解决了泄露问题(图三)第二种方法:使用analyze,会自动分析出可能存在的内存泄露的地方,或者错误引用的地方,如图所示(图四)将出现问题的代码换成被注释掉的代码即可。 阅读全文
posted @ 2012-11-27 16:20 郑文亮 阅读(238) 评论(1) 推荐(0)
摘要: 在project-setting中找到 “Run Static Analyzer” 键,然后把值修改为“YES”.这样在编码的时候,xcode就可以自动为我们检查内存泄露了. 阅读全文
posted @ 2012-11-27 16:18 郑文亮 阅读(1025) 评论(0) 推荐(0)
摘要: 一. 在 MFC 中检测内存泄漏 假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。 我们用VS2005生成了一个MFC的对话框的程序,发现他可以自动的检测内存泄露.不用我们做任何特殊的操作. 仔细观察,发现在每个CPP文件中,都有下面的代码: #ifdef _DEBUG #define new DEBUG_NEW #endif DEBUG_NEW 这个宏定义在afx.h文件中,就是它帮助我们定位内存泄漏。 在含有以上代码的cpp文件中分配内存后假如没有删除,那么停止程序的时候,VisualStudio的Output窗口就会显示如下的信息了: Detected m... 阅读全文
posted @ 2012-11-27 16:08 郑文亮 阅读(3159) 评论(0) 推荐(1)
摘要: 沿金马路——玉清东街——光电东路——第一孵化器(三楼恩源信息,20分钟;参观九楼中动传媒,20分钟;参观公共技术平台,10分钟)——光电西路——玉清东街——东方路——北宫东街——华光照排(停车参观,15分钟)————北宫东街——潍县中路——健康东街——软件园(路过)——健康东街——山东呼叫中心产业基地(一楼听取PPT情况介绍,参观四楼呼叫职场,15分钟)——健康东街——第二孵化器(参观高新成果展,15分钟;参观十二楼乐维特、天创传媒、英豪网络,30分钟;参观十四楼尚德软件,10分钟) 阅读全文
posted @ 2012-11-27 15:03 郑文亮 阅读(1397) 评论(0) 推荐(0)
摘要: 什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区我们为什么要引入缓冲区呢?比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。又比如,我们使用打印机打印文档,由于打印机的打印速度相对较慢,我们先把文档输出到打印 阅读全文
posted @ 2012-11-27 13:35 郑文亮 阅读(554) 评论(0) 推荐(0)
摘要: 在VC中,CSTRING类的用法形式多样,丰富多彩.但有时与传统数据类型之间的转换成为了很多人的难题.下面我来简单介绍它们之间的关系.1 如何实现cstring与char*之间的转换: CString m_cstr="abc"; char* m_char="def";char*lp=m_cstr.GetBuffer(m_cstr.GetLength());m_cstr.ReleaseBuffer(); //相反的char*转换成cstringm_cstr.Format("%s",lp); //lp为数组指针第二种:强制类型转换为LPC 阅读全文
posted @ 2012-11-27 13:32 郑文亮 阅读(10804) 评论(0) 推荐(0)
摘要: 在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。在实际使用过程种有什么区别呢?主要是符号位,但是在普通的赋值,读写文件和网络字节流都没什么区别,反正就是一个字节,不管最高位是什么,最终的读取结果都一样,只是你怎么理解最高 阅读全文
posted @ 2012-11-27 13:25 郑文亮 阅读(1420) 评论(2) 推荐(0)
摘要: 最近在学习一些SOCKET通讯协议设计的知识,涉及到了一些协议的设计,需要打包和解包,所以把一些比较基本的知识搜集了下来.暂时把协议结构定义得比较简单,也就是 CMD(命令类型8位)+序号(整形16位)+接收人长度(整形16位)+消息内容(每个包只接收1024位消息内容,多余的需要分割);下面是需要用到的一些方法.//整数到字节数组的转换 public byte[] intToByte(int intValue) { byte[] result = new byte[4]; result[0] = (byte) ( (intValue & 0xFF000000) >> 24 阅读全文
posted @ 2012-11-27 13:13 郑文亮 阅读(3500) 评论(0) 推荐(0)
摘要: 上网学了好多方法,关于Android的Activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作Java代码 publicclassMyApplicationextendsApplication{ privateList<Activity>act 阅读全文
posted @ 2012-11-27 09:17 郑文亮 阅读(1928) 评论(3) 推荐(1)