- 博客(32)
- 收藏
- 关注
转载 c# 读写excel
<br />一<br />首先Add References Excel.dll,注意在MS office 2003的版本中,可能找不到Excel.dll,这时需要从Excel.exe中扣出来,怎么扣?网上有很多方法,扣出来的同时也把Excel.dll变成了受托管的。<br /> 1.读取Excel File。<br /> 其实读取Excel和读取数据库的方式差不多:#region<br />1 string StrConn ="Provider=Microso
2010-09-21 17:01:00 311
转载 半小时教你学会正则表达式
<br /> <br />一.开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束<br /> "^The": 开头一定要有"The"字符串; <br /> "of despair$": 结尾一定要有"of despair" 的字符串;<br /> 那么,<br /> "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配 <br /> "notice": 匹配包含notice的字符串<br /> 你可以看见如果你没有用我们提到的两个字符(最后一个例子
2010-09-05 22:14:00 287
转载 STL 学习笔记 ( 二. vector )
<br />MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 <br /> <br />vector<br /> –一. vector可以模拟动态数组<br /> –二. vector的元素可以是任意类型T,但必须具备赋值和拷贝能力(具有public<br /> <br /> 拷贝构造函数和重载的赋值操作符)<br /> <br /> 三.必须包含的头文件#include <vector><br /> – 四. vector支持随机存取<b
2010-09-02 09:22:00 214
转载 STL 学习笔记 ( 一. 概述 )
<br />MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 <br /> <br />几种常用的容器: map, vector, list, queue,stack, string ( 这个字符串也算个容器 ) <br /> <br />STL容器的共通操作<br /> –一. 初始化(initialization)<br /> <br /><br /> •1.产生一个空容器<br /> <br />list<int> l; vector<int> vec; map<int,
2010-09-02 09:16:00 279
转载 UI界面设计------skin++
具体见:http://www.uipower.com/index.php使用方法/* 1、将SkinPPWTL.lib skinppwtl.dll SkinPPWTL.h三个文件及相应皮肤拷贝至工程文件夹下*///2、在StdAfx.h文件中加入#include "SkinPPWTL.h" //.. #endif // _AFX_NO_AFXCMN_SUPPORT #include "SkinPPWTL.h" //在这个地方加 //{{AFX_INSERT_LOCATIO
2010-09-02 09:08:00 490
转载 AfxGetApp() GetMainWnd()的使用
<br />AfxGetApp( )是全局的。<br />AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。<br />比如在全局函数中要向对话框中的列表写数据。<br />void writeString(char* pString)<br />{<br /> CWnd* pWnd = AfxGetApp()->GetMainWnd();<br /> CMyDlg * pDlg;<br /> pDlg=(CMyDlg
2010-08-31 14:27:00 923
转载 引用MFC指针的获取【三】
<br /> 有了以上基础,我们已经可以从文档类取得任何类的指针。为了方便,我们将其作为一个文档类的成员函数,它有一个参数,表示要获得哪个类的指针。实现如下:<br /> CView* CTestDoc::GetView(CRuntimeClass* pClass)<br /> {<br /> CView* pView;<br /> POSITION pos=GetFirstViewPosition();<br /> while(pos!=NULL){<br /> pView=GetNextVi
2010-08-31 14:26:00 194
转载 引用MFC指针的获取【二】
<br />10、通过鼠标获得子窗口指针<br /> CWnd* ChildWindowFromPoint(POINT point) const;<br /> CWnd* ChildWindowFromPoint(POINT point,UINT nFlags) const;<br /> 用于确定包含指定点的子窗口<br /> 如果指定点在客户区之外,函数返回NULL;<br /> 如果指定点在客户区内,但是不属于任何一个子窗口,函数返回该CWnd的指针;<br /> 如果有多个子窗口包含指定点
2010-08-31 14:25:00 240
转载 引用MFC指针的获取【一】
1、获取应用程序指针 CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针 CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针 CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd); 或者 CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();3、获取菜单指针 CMenu* pMenu = AfxGet
2010-08-31 14:18:00 234
原创 快速排序
快速排序分为两个部分:一个是比较函数cmp(),一个是qsort();qsort()函数个是固定,但是比较函数cmp()会根据数组元素的类型不同有所变化。如下:一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序(同int类型)
2010-08-31 10:11:00 289
转载 C++ 中的位操作符
<br />位简介<br /><br />bits,你会问他们是什么呢? <br />其实,简单说,我们在电脑上处理各种工作都是由许多1和0完成的。我们在电脑上存储的所有数据都是用bits来表示的。一个byte是用8个bit表示的,一个WORD是用两个BYTE表示的,或者16个bit。一个DWORD是用两个WORD表示的,或者32个bit. <br /><br />0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 <br />||
2010-08-30 11:18:00 260
转载 按位运算
<br />1,左移位运算符:<br /> 运算符为:<< 是双目运算符,左边的操作元称作被移位数,右边的操作数称为移位量,操作元必须为整型的数据。<br /> Int类型数据7的数据表示如下:<br /> 00000000 00000000 00000000 00000111<br />对其进行移位运算:7<<1<br />得到结果是:<br /> 00000000 00000000 00000000 00001110<br />形如a<<n,表示将a 的所
2010-08-30 11:02:00 447
转载 qsort函数用法
<br />六类qsort排序方法<br />qsort函数很好用,但有时不太会用比如按结构体一级排序、二级排序、字符串排序等。<br />以下是其具体分类及用法(若无具体说明是以降序排列):<br />1、对一维数组排序:<br />(Element_type是一位数组中存放的数据类型,可以是char, int, float, double, etc )<br />int Comp(const void *p1,const void *p2 )<br />{<br />return *((Element_
2010-08-30 11:01:00 325
原创 各种排序算法汇总【转】
/**//*这些模板适用于任意数据类型,包括结构体和类类型;如果是结构体或者是类类型,请重载"PS:这里均按照从小到大的顺序来排序Copyright:abilitytao,Nanjing University Of Science And Technology *//**//////////////////////////BEGIN_TEMPLATE_BY_ABILITYTAO_ACM//////////////////////////////////////#include#include#include
2010-08-29 13:35:00 273
转载 用Eclipse+gcc编译器开始你的旅程
Eclipse(http://www.eclipse.org/)<br /> <br />Eclipse是一个由IBM公司牵头开发的一个自由软件,后来IBM公司为了让更多的公司积极参与进来而不至于让它们因为这是一个由IBM主导的软件而导致软件开发者们拒之门外,Eclipse的身份则转为由一个固定员工的组织所维护的非营利组织。它和所有的自由软件一样,被免费地提供给所有热爱开源事业的人们,通过集体的智慧将它进行完善。<br />Eclipse是一款跨平台的IDE,它既不是编译器,也不是简单的编辑器,它提供了一个
2010-08-29 12:35:00 376
转载 [转]C/C++中动态链接库的创建和调用
<br />转载自:http://developer.51cto.com/art/200702/39608.htm<br />动态连接库的创建步骤: <br />一、创建Non-MFC DLL动态链接库<br />1、打开File —> New —> Project选项,选择Win32 Dynamic-Link Library —>sample project —>工程名:DllDemo <br />2、新建一个.h文件DllDemo.h<br />#ifdef DllDemo_EXPORTS <br />
2010-08-29 01:35:00 262
原创 CSDN的CSS样式
/*页面body块样式*/ <br />body{ <br />background:#f7fdfd; <br />text-align:center; <br />} <br /><br />/*整体页面样式*/ <br />#csdnblog_allwrap{ <br />width:970px; <br />height:auto; <br />}<br /> <br />/*页面左侧*/ <br />#csdnblog_sidebar{ <br />widt
2010-08-29 00:52:00 1268
转载 VC单选按钮控件(Radio Button)用法(转)
先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上 ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上 ((CButton *)Get
2010-08-27 21:42:00 226
转载 VC中各种类型的数据转换【转】
一、VC中字符串类型的互相转换<br /> 总是觉得VC中的类型纷繁复杂,扑朔迷离。因为有了Unicode,因为C、C++类型相互转化如此不同。保存char的不止char一种,还可以用short,unsigned short,int 等来保存。单单就字符串就有N多种类型,其它类型也不止一个。再加上C++中本来就没有正式的string类型,所以,平常就会碰到很多种相同意思,但不同类型,或相同类型,不同写法的Type.<br /> 如何在他们之间相互转化,也是在学习VC中避免不了的一个问题。
2010-08-27 21:32:00 341
转载 VC++ combo box控件的使用(转)
1.你在编辑状态下点那个控件的向下的三角形,就出冒出来一个可以调高度的东东。将高度调高,否则在执行时会不能显示下拉选项。 2.为combo box添加选项,在编辑状态下选combo box控件的属性,选Data标签,在编辑框中添加选项,按Ctrl-Enter来添加下一个选项。 3.为combo box添加变量combo box有两个变量,CComboBox类变量和CString变量。CComboBox变量用来设置combo box的属性,一般在cdialog类中的oninitdialog()函数中使用。添加
2010-08-27 21:17:00 271
转载 CStringArray的排序问题
原文出处:http://support.microsoft.com/kb/120961/zh-cn概要 您可使用本文中示例代码要排序 CStringArray 对象。 main() 函数构造 CStringArray 对象、 向其添加元素、 打印出元素、 调用 sort() 成员函数以排序, 和然后打印排序元素。 sort() 函数使用气泡排序算法来排序数组并调用 CompareAndSwap() 函数以比较每个字符串并交换这些元素。示例代码 /* * Compile options needed:
2010-08-27 15:48:00 1036
转载 使用ifstream和getline读取文件内容[转自c++博客]
<br />假设有一个叫 data.txt 的文件, 它包含以下内容: <br /><br />Fry: One Jillion dollars.<br />[Everyone gasps.]<br />Auctioneer: Sir, that's not a number.<br />数据读取, 测试 。<br />以下就是基于 data.txt 的数据读取操作:<br /><br />#include <iostream><br />#include <fstream><br />#include <
2010-08-27 15:30:00 337
转载 可设置字体和颜色的按钮【作者:风林 来源:风林的家 】
要想修改CButton类按钮背景颜色和文字颜色,必须利用自绘方法对按钮进行重新绘制。这可以通过定义一个以CButton为基类的新按钮类来实现。以下为具体的实现方法:加入一个新类,类名:CMyButton,基类:CButton。在头文件 MyButton.h 中加入以下变量和函数定义:private: int m_Style; //按钮形状(0-正常,1-当前,2-按下,3-锁定) BOOL b_InRect; //鼠标进入标志 CSt
2010-08-27 15:06:00 634
转载 如何修改几种控件的颜色和字体【作者:风林 来源:风林的家 】
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。设置控件颜色和字体时必须重载该控件对应的类,在其中加入相关的颜色控制和字体函数。各种控件的做法完全相同,只是重载的类不一样。注:对于静态文本控件(Static Text)、单选按钮(Radio Button)、复选按钮(Check Box)、组合框(Group B
2010-08-27 15:03:00 647
转载 List Control控件技巧总汇【四】
26. 关于listctrl第一列始终居左的问题解决办法:把第一列当一个虚列,从第二列开始插入列及数据,最后删除第一列。具体解释参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listview/structures/lvcolumn.asp-------------------------------------------------------------------
2010-08-27 14:57:00 304
转载 List Control控件技巧总汇【三】
21. 在CListCtrl显示文件,并根据文件类型来显示图标网上找到的代码,share BOOL CTest6Dlg::OnInitDialog() { CDialog::OnInitDialog(); HIMAGELIST himlSmall; HIMAGELIST himlLarge; SHFILEINFO sfi; char cSysDir[MAX_PATH];
2010-08-27 14:54:00 442
转载 List Control控件技巧总汇【二】
10. 使listctrl中一项可见,即滚动滚动条m_list.EnsureVisible(i, FALSE);--------------------------------------------------------------------------------11. 得到listctrl列数int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();--------------------------------------------------
2010-08-27 14:52:00 280
转载 List Control控件技巧总汇【一】
以下未经说明,listctrl默认view 风格为report-------------------------------------------------------------------------------1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料直观的理解:wi
2010-08-27 14:48:00 341
转载 部分MFC和API函数 【作者:风林 来源:风林的家 】
索引CArchive类:用于二进制保存档案CBitmap类:封装Windows的图形设备接口(GDI)位图CBrush类:封装图形设备接口(GDI)中的画刷CButton类:提供Windows按钮控件的功能CByteArray类:该类支持动态的字节数组CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中CColorDialog类:封装标准颜色对话框CDC类:定义设备环境对象类CDialog类:所有对话框(模态或非模态)的基类CDocument类:提供用户定义的文档类的基本功能CEdi
2010-08-27 14:25:00 1333
转载 VC小技巧收集【作者:风林 来源:风林的家 】
窗口篇让窗口一启动就最大化把应用程序类(CxxxApp)的 InitInstance() 函数中的<br />m_pMainWnd->ShowWindow(SW_SHOW); 改为<br />m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);<br />则窗口一启动就最大化显示。如何设置窗口的初始尺寸在将应用程序类(CxxAPP)的 InitInstance() 函数中加入:<br />m_pMainWnd->SetWindowPos(NULL,x,y,Width,Heigh
2010-08-26 21:59:00 428
原创 要注意的几个问题
1,一个类A中不能直接调用另一个类B中的控件,而可以在类A中定义一个类B的对象,然后将参数传给类B中的成员变量,最后在类B中直接操作控件。但是要注意,类B中的操作一定在类A的参数传递完成之后:如下A::X(){ B b; 传递参数—>B; if(IDOK==b.DoModal()) { }}可以在B的初始化函数里对控件进行操作。2,winocc.cpp 345行错误,需要编译工程里的每一个项目到没有问题。3,要用到另一个类里面的函数,新建类的对象时还应得到相应的指针,才能得到值,不然没有意
2010-08-26 13:41:00 217
原创 内存泄露问题
<br /> 内存泄露是VC中自我认为比较难于解决的问题之一(至少现在解决起来很麻烦了)。今天用BoundsChecker调试了一下原来自己写的程序,呵呵!居然提示内存泄露40字节。看到了泄露的代码的位置,一处new的地方,由于程序写过很长时间了,所以想不起来了,干脆模拟一下吧!<br />程序中第一了一个结构体,用于保存数据;大致是这样吧!<br />typedef struct para<br />{<br /> double a;<br /> CString b;<br /
2010-08-26 13:07:00 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人