- 博客(43)
- 资源 (7)
- 收藏
- 关注
原创 UISearchBar的一些小技巧
在实现搜索功能时,界面使用UISearchBar比较好,它实现了很多搜索时使用到的东西,但是默认的风格可能和现有的风格不一致,所以需要我们想办法去修改一下默认的外观。1.去掉原生的背景:[[mySearchBar.subviewsobjectAtIndex:0]removeFromSuperview];[mySearchBarsetBackgroundColor:[UIColorc
2012-08-16 20:00:21 4568 1
原创 QXmlStreamReader 解析xml
作为记录,代码如下:QXmlStreamReader xml(html); while (!xml.atEnd()) { xml.readNext(); //这个是关键函数,挨个读取节点 if (xml.isStartElement()) { if (xml.name() == "ul")
2011-12-10 16:03:52 2541
原创 qt通过pri文件实现预编译处理
//test.pro文件中这样定义:include(devinfo.pri)//devinfo.pri文件中这样定义:可以通过“#”来实现预编译# Debug output from waveform generation#DEFINES += LOG_WAVEFORM//utils.h中这样定义:#ifndef UTILS_H#define UTILS_H
2011-12-05 13:35:28 5104
原创 QFileDialog选择多个文件夹
QFileDialog解决了大多数选择文件和文件夹的需求,但是请看文档是这么写的:The QFileDialog class enables a user to traverse the file system in order to select one or many files or a directory.注意:one or many files or a directory,在做
2011-11-24 17:02:13 8761 2
原创 UTF-8与GB2312间相互转换
本文源于我参加了某著名搜索公司的面试后,决定写点有助于自己记忆。 先找了一下wiki对这两种字符的描述,更具体的可以去参看wiki。 GB 2312 或 GB 2312-80 是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集·基本集》,又称为GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312编码通行于中国大陆;新加坡等地也采用
2010-04-12 17:11:00 2079
原创 C++中const用法总结(转)
作者JuKevin 1. const修饰普通变量和指针const修饰变量,一般有两种写法: const TYPE value; TYPE const value; 这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。 对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。 例如: const in
2009-04-02 17:06:00 494
原创 求平均值
二个整型数求其平均值,这个问题有人说,小学生都会. c=(a+b)/2是的.这是一个很简单的问题.程序员一定也会.可是我们在会的时候,却忘记了会溢出,因为二个整型数相加之后可能会大于int.Max如果是这样的话,那我们按上面的公式求出来的值还会正确吗.但是我们知道它们的平均值是肯定不会溢出 来看一下下面的代码.轻松解决了这个问题.int average(int x, int y
2008-08-20 13:49:00 856
转载 TCP/IP的三次握手
TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后数据传送,最后拆除连接三个过程 并且TCP在建立连接时又分三步走:第一步是请求端(客户端)发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号; 第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求
2008-08-20 13:32:00 643
原创 妈的,看见一片很不错的文章:VC++是什么?(转载)
这个问题很奇怪吗?大概是。不过,当我又看到有人发表诸如“Windows/Office是VC编写的”或者“VC是无所不能的”这种高论,我就禁不住这样问自己。Visual C++究竟是什么?你平常在其中工作的那个标记着“Microsoft Visual C++”的窗口,真的就代表Visual C++吗?按照我的理解,Visual C++是一个开发工具包,它大概可以分成三个主要的
2008-03-14 15:01:00 1697
原创 C++编译警告:warning C4305: 'initializing' : truncation from 'const double' to 'float'
float a=4.14E-3;float a=3.1;类似的语句在编译的时候,会产生如下警告:warning C4305: initializing : truncation from const double to float,虽然说不会导致错误,但是看了也不爽,所以去找找看为什么这个语法没有错误的句子会产生这个警告呢?找了半天,终于找到了一个觉得比较对的原因:在c++
2008-03-14 14:40:00 22420 1
原创 RC4加密算法在C++中的实现(转)
在一些场合,常需要用到一些简单的加密算法,这里的RC4就可以说是最简单的一种。只要设置一个足够强的密码,就可以适用于一些非常简单的场合了。我是用来加密HTTP传送的数据的。RC4函数(加密/解密) 其实,RC4只有加密,将密文再加密一次,就是解密了。GetKey函数 随机字符串产生器,呵呵,为了方便,大多数加密算法都有一个随机密码产生器,我也就附带一个了。ByteToHex函
2008-03-10 15:16:00 7977
原创 vector和iterator
#include #include #include using namespace std; // hehe, simple methodint main(){ int i; vector s(3, "shao"); // 3 objects of string type, init value: shao s.push_back("alben"); // push_bac
2008-02-20 15:04:00 12255 1
原创 VC之sendmessage与postmessage的区别
SendMessage函數是阻塞的。PostMessage函數是非阻塞的。SendMessage: 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg
2008-01-24 18:41:00 1435 1
原创 线程的起与关
CWinThread* m_pWinThread; m_pWinThread=AfxBeginThread(MyThreadHandler, this);//这就起了MyThreadHandler函数如下:.h: static UINT MyThreadHandler(LPVOID lpParam);.cppUINT CTidyInfoFPDlg::MyThreadHa
2007-12-07 10:39:00 511
原创 获取系统时间
在vc中,我们往往需要获取系统时间以做一些处理,我在项目中用到的,和在网上找到的,都贴出来:A:1 使用time_t time( time_t * timer ) 精确到秒 计算时间差使用double difftime( time_t timer1, time_t timer0 )2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SE
2007-12-06 09:43:00 1056
原创 VC读配置文件
这也算自己的一点积累,虽然这些东西很简单但是毕竟是自己的,喜悦。以MFC为例子: CString strCMD=Getkey("CMD","CMDNAME");//读配置文件的某个字段配置文件格式如下:(配置文件必须在exe的同目录下)[CMD]CMDNAME="ping www.163.com" Getkey函数如下:CString C**Dlg::Getkey(CS
2007-12-06 09:23:00 2542
原创 CTime COleDateTime的常用操作和比较(转)
1) 获取当前时间。datetime = COleDateTime::GetCurrentTime();CTime和COleDateTime具有几乎同样的功能。与CTime相比, COleDateTime的优点在于它支持DWORD变量。COleDateTime使用的位数是双浮点的两倍,既然CTime只是简单地计算从1970年1月1日之后经过的秒数,所以到了2 0 3 7年它将达到4 2 9 4 9
2007-12-05 11:21:00 2303
原创 sprintf的用法
sprintf你知道多少 选自《CSDN 社区电子杂志——C/C++杂志》 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 sprintf 是个变参函数,定义如下:int spr
2007-09-12 10:37:00 1233
原创 vc++中各种字符串(转载)
CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCT
2007-09-01 15:30:00 1011
原创 在VC中使用VB制作的控件
在VC中使用VB制作的控件注意检查: #if _WIN32_WINNT >= 0x0400 HRESULT hRes = CoInitializeEx(NULL, COINIT_MULTITHREADED);#else HRESULT hRes = CoInitialize(NULL);#endif而且控件的类要CreateDispatch("xxx.xxx");
2007-09-01 15:26:00 729
原创 VC中OnPaint()的工作原理
对于窗口程序,一般有个特点:窗口大部分的区域保持不变,只有部分区域需要重新绘制。如果将整个窗口全部刷新的话,就做了许多不必要的工作,因而,MFC采用了一套基于无效区的处理机制。在分析无效区处理之前,我们要明白一个现实,现在的机器还不够牛,如果够牛的话,我们干脆将整个窗口不断的重新绘制好了。事实上即使够牛也不行,对于一个单线程程序,通过一个while循环不断的刷新窗口,程序也无法相应
2007-07-09 11:17:00 1417
原创 内存调试技巧——C 语言最大难点揭秘(转)
级别: 中级Cameron Laird (claird@phaseit.net), 副总裁, Phaseit Inc.2007 年 6 月 21 日本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划
2007-07-06 17:17:00 842
原创 编译常见错误
1、fatal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 2、fatal error C1083: Cannot open include file: R…….h:
2007-06-29 15:09:00 883
原创 在对话框间传递数据(转自lixiaosan的博客)
遇到了需要在对话框间传递变量的问题,所以找到了这篇文章,这篇文章比较简洁,而且很清晰,我们只需照葫芦画瓢就行了!CDlg1::OnButton1() { CDlg2 dlg2; dlg2.m_str = _T("你好"; ) dlg2.m_bJudge = TRUE; dlg2.DoModal(); } //Dlg2.h public:
2007-06-26 09:55:00 766
原创 数据类型转换(三) _variant_t to CString
在数据库操作中,很多时候要用到 _variant_t 类型,而_variant_t 这个类型的方法远远不如CString来到丰富,所以将_variant_t 换成CString很必要,下面给出一个例子: _variant_t str; myado.GetCollect("NAME",str); //某类中的查找数据库中字段的函数 CString name=(LPSTR)(_bstr_t) st
2007-06-25 11:52:00 976
原创 给成员变量添加自定义类
在ClassWizard中我们可以为某资源添加成员变量。 ClassWizard ->Member Variables ->选择某Control IDs ->Add Variable Variable Type中没有自定义的类?对那如何把这个加进去呢?这样可以直接使用类中的函数了。删除*.clw文件。在VC中选择Class Wizard, Add All(自定义类的.h
2007-06-23 11:21:00 1120
原创 树状控件的相关编程(转自努力工作的祥子)
在权限管理的项目中,我遇到了需要Tree Control控件的相关编程,在网上找了一篇,对我挺有帮助的,所以收藏过来,顺便改进一下。 下面是文章的全部内容:VC6中树状控件相较其它的控件如编辑框、按钮、IP地址来说编程实现复杂一点,但是相应的可以实现的功能也多一些,最近我在学习利用VC6进行SNMP编程过程中就需要用到树状控件,另外还需要利用CString类来对字符串进行一些处理,由此就萌
2007-06-20 11:32:00 2113 2
原创 如何设计通用权限
前言:权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。针对不同的应用,需要根据项目的实际情况和具体架构,在维护性、灵活性、完整性等N多个方案之间比较权衡,选择符合的方案。目标:直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组的继承,除了功能的必须,更主要的
2007-06-13 14:02:00 824
原创 SQL Server如何得到用户的继承列表 选择自 liufuyahong 的 Blog
在实际开发中,尤其是在做权限管理的时候,常常要对对某个用户的权限进行检索,本文给出SQL Server中的一个实例.--用户继承树CREATE function getUserTree(@UserName sysname, --用户名 @Seq bit --查找方式:0查找子孙 1.查找祖先
2007-06-11 10:56:00 688
原创 CSDN大虾freelybird(阿愚)写的关于CString总结
关于CString总结 前言:串操作是编程中最常用也最基本的操作之一. 做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MFC中提供的这个类对我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用起串起来更象basic中那样直观;而且它还提供了动态内存分配,使我们减少
2007-06-04 12:22:00 951
原创 关于CoInitialize()
在msdn中对于CoInitialize的解释如下:Initializes the COM library on the current apartment and identifies the concurrency model as single-thread apartment (STA). Applications must initialize the COM library bef
2007-06-01 11:53:00 11064 1
原创 匈牙利命名法
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Sw
2007-05-24 10:02:00 747
原创 用Viusal C++实现字符串分割函数
//参数说明:source: 需要分割的源字符串;dest: 存储分割后的各个字符串变量的目标变量;division:分割字符void decodeCString(CString source, CStringArray& dest, char division){ dest.RemoveAll(); for(int i=0;i〈 source.GetLength();i++) { if(s
2007-05-23 17:07:00 1458 1
原创 windows消息大全
鼠标位置end;消息中有什么?是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam 通常是一个
2007-05-17 16:27:00 580
原创 (转)断言的一些知识
刘伯温(1311-1375年)刘伯温(1311-1375年),名刘基,字伯温,以字行。刘伯温自幼聪颖异常,天赋极高。在家庭的熏陶下,他从小就好学深思,喜欢读书,对儒家经典、诸子百家之书,都非常熟悉。尤其对天文、地理、兵法、术数之类更是潜心研究,颇有心得。他的记忆力非常好,读书一目十行,过目成诵。而且文笔精彩,所写文章非同凡俗。他14岁时入处州郡学读《春秋》,17岁师从处州名士郑复初学习宋明理
2007-05-15 12:44:00 1219
原创 数据类型转换(二)char*和CString的转换
在我要用到strcat()等时,经常会碰到一些内存的错误,但是此时vc并不提示类型不匹配,这就让人很费解,在我经过多次这种情况后,我才恍然明白原来是 char*和CString的原因。那到底怎么转换呢?网上找了很久,终于搜集的比较全了:CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于 CSt
2007-05-10 11:10:00 1599
原创 vc获得当前的路径
1.//以下代码来自CSDN 2004 VC编程经验总结 { CString strPath; GetCurrentDirectory(MAX_PATH,strPath.GetBuffer(MAX_PATH)); strPath.ReleaseBuffer(); return strPath; } 2.//以下代码来自TZ MFC.NET Primer 1.01
2007-04-29 14:42:00 1494
原创 数据类型转换(一)BSTR Char*
#include //BSTR 转换到 char*: char* p = _com_util::ConvertBSTRToString(b); //char * 转换到 BSTR: BSTR b = _com_util::ConvertStringToBSTR("string");
2007-04-29 14:37:00 542
Interface for Java参考手册
2007-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人