- 博客(31)
- 资源 (7)
- 收藏
- 关注
原创 如何实现element-plus中的 el-container布局可拖动
通过增加横向拖动条与纵向拖动条实现 el-aside 与 el-header可拖动。
2023-06-02 09:41:31 1438
原创 oracle树查询(转)
Oracle树查询的最重要的就是select...start with... connect by ...prior 语法了。依托于该语法,我们可以将一个表形结构的中以树的顺序列出来。在下面列述了Oracle中树型查询的常用查询方式以及经常使用的与树查询相关的Oracle特性函数等,在这里只涉及到一张表中的树查询方式而不涉及多表中的关联等。 以我做过的一个项目中的表为例,表结构如...
2011-05-13 10:58:24 141
原创 Struts2中iterator标签遍历Map总结(转)
1.MapAction.javaJava代码package com.zx.demo.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensy...
2011-05-06 15:40:35 109
原创 SQL优化(转)
SQL优化由于ORACLE体系结构的关系,不同SQL写法,对性能影响关系比较大,所以遵循规范的SQL写法是我们进行SQL性能调整的重要一环。以下列出个人认为比较重要的规则,其他SQL写法规则,请参考其他文档。1 对查询条件字段创建索引这是最立竿见影的操作,也是sql优化的基础。2 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从...
2011-05-04 16:42:16 80
命令模式(Command)
命令模式是一种对象行为型模式,它主要解决的问题:在软件构建过程中,行为发起者与行为实现者之间的紧耦全的问题。它将一个发起者请求封装成一个对象,对请求排队或记录请求日志,以及支持可撤销的操作,将发起者和执行者分开来,通过命令的方式来实现。 命令模式包含了了3类对象。 1. 请求发起者Invoker:调用命令对象执行这个请求 2. 请求执行者Receiver:...
2011-03-18 21:05:46 122
模板方法模式(Template Method)
模板方法模式,简单说就是父类完全控制着子类的业务逻辑,而子类根据不同的业务对父类的所有抽象方法进行实现。 模板方法模式适用的场合:知道了一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境有关,这时就可以使用父类控制逻辑,由子类实现算法。 模板方法模式的使用方法:定义一个abstract的Class,在这个...
2011-03-18 14:19:20 88
外观模式(Facade)
外观模式的主要作用是降低系统之间的耦合性,包含3种角色:目标类、外观类、客户端类。 外观模式只可以将一些复杂的类包装成一个简单的封闭接口,外观模式对客户屏蔽了复杂的子系统组件,并为一般用户提供了一个比较简单的程序设计接口。package facade;/** * @author lenovo * @version 1.0 * @created 17-三月-2011 21...
2011-03-17 22:15:14 110
原创 Adapter适配器模式
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。 适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。一、类的适配器模式 类的适配器模式把适配的类的API转换成目标类的API。目标(Targe...
2011-03-16 16:45:09 112
原创 Decorator装饰器模式
Decorator装饰器,就是动态地给一个对象添加一些额外的职责,装饰器模式具有如下的特征: a. 它必须具有一个装饰的对象 b. 它必须拥有与被装饰对象相同的接口 c. 它可以给被装饰对象添加额外的功能 其最主要特征:保持接口,增强性能。 其主要代码如下所示: package decorator;/** * 源接口 * @author lenovo *...
2011-03-16 16:22:34 105
原创 用例图详解
在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测试。 用例...
2011-03-13 21:46:27 329
原创 MFC中各种字符串的转化
<br />1.LPCSTR与CString相互转化<br />Cstring strHello;<br />strHello=”Hello world”;<br />LPCSTR lpStr=(LPCSTR)strHello;<br />Cstring str2;<br />str2=(CString)lpStr;<br /><br />另外,Cstring类有一成员函数Format,可以用来把类型转换成Cstring类型,以上lpStr转换成Cstring可以这样表示:<br /><br />str2.
2010-12-27 15:21:00 811
转载 MFC打印编程
<br />MFC的文档/视图结构使我们的打印工作变得更加便捷,为了便于明晰打印流程,让我们了解一下MFC在背后“偷偷”为我们做了哪些工作。<br />1> 创建打印设备描述表并在打印结束后删除它<br />2> 调用StartDoc和EndDoc来开始和结束打印工作<br />3> 调用StartPage和EndPage来开始和结束每一页<br />在文档/视图结构的程序中实现打印的关键是一组CView类的虚函数,主框架要在打印处理的不同阶段调用他们,实际使用时我们可以根据需要覆盖这些函数,这里我建议用M
2010-12-27 14:27:00 1882
原创 C语言中const关键字学习
1. 指向const指针 const int* u;//u是一个指针,它指向一个const int, 它所指的值是不能改变的。还可以定义为int const * v; 但第一种定义更加规范const int *u; int j = 1; u = &j; *u = 9;//编译期间错误,指向一个const int ,其值是不能被修改的 int k =2; u = &k;//编译期间没有错误,指针本身是可以改变的2. const 指针int d =1;int * const w = &d; // w是一个指针
2010-12-27 11:15:00 324
原创 MFC中OnNewDocument与Serialize调用过程
1. OnNewDocument()调用过程: 程序启动->CWinApp:;OnFileNew(m_pDocManager->OnFileNew()) ->CDocManager::OnFileNew(pTemplate->OpenDocumentFile(NULL)) ->CSingleDocTemplate::OpenDocumentFile(Create...
2010-12-26 21:27:11 950
原创 MFC集合类
MFC中的集合类 实际上集合类就是数据结构中的顺序存储结构和链表存储结构。它的优点就是建立这样的存储结构简单,并且把相关的操作集中成函数,方便用户的调用。比如顺序存储用到数组,如果要在数组中的固定位置添加一项,普通的方法就是要用一个for循环,有点烦琐。而在集合类中只要用一个add函数 就完成了,相对简单一点。 数据结构是软件设计中的一个重要组成部分。因此我们有必要搞清楚集合类的相关问题。 ...
2010-12-26 20:59:17 132
原创 C语言文件操作
1.读取文件FILE * pFile = fopen("D:\\FileText.txt","r");/* char ch[100]; memset(ch,0,100); fread(ch,1,100,pFile); fclose(pFile);*/ char *pBuf; fseek(pFile,0,SEEK_END);//将文件指针移动到文件的结尾处 int len = ftell(pFi...
2010-12-26 13:52:47 90
原创 MFC多文档程序启动时一个文档创建两个视图
1.在App类中创建两个public变量:CMultiDocTemplate * m_pDocTemplate;CMultiDocTemplate * m_pNewDocTemplate;2.在App类中的Initlnstance()函数中添加以后程序:m_pDocTemplate = new CMultiDocTemplate( IDR_MULTIDTYPE, RUNTIME...
2010-12-25 20:44:10 466
原创 MFC中页面坐标系到设备坐标系之间的变换
页面坐标系到设备坐标系之间的变换这个变换决定了与特定DC相联系的映射模式,影响该DC上的所有图形输出。映射模式本身就是一个缩放变换,决定了画图操作中一个单位的尺寸,映射模式也可以用于平移变换,某些情形下,映射模式会改变x,y轴的坐标原点。首先来了解几个映射模式:(1)映射模式说明------------------------------------------------------...
2010-12-25 10:49:04 475
原创 MFC坐标系统
SetMapMode, SetWindowExt, SetViewportExt, SetViewportOrg, SetWindowOrgEx的用法总结:这四个函数是我以前就不太会的,第一个最容易,我已经理解了。第二个我也已经清楚了,它是设定窗口的逻辑大小的,它只能用逻辑上的数字作为参数。它只能在MM_ISOTROPIC模式或是MM_ANISOTROPIC模式下有作用。另外它应该在SetView...
2010-12-24 22:13:05 177
原创 菜单操作
//标记菜单 //GetMenu()->GetSubMenu(0)->CheckMenuItem(2,MF_BYPOSITION |MF_CHECKED);//索引方式 //GetMenu()获得菜单CMenu对象指针, GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_SAVE,MF_BYCOMMAND |MF_CHECKED...
2010-12-24 19:33:03 118
原创 MFC获取各类指针
1.获取应用程序指针 CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针 CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针 CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd); 或者 CMainFrame* pMainFrame = (CMai...
2010-12-24 17:08:03 98
原创 MFC窗口关闭执行的顺序
SDI窗口的关闭 在这种情况下,主窗口将被关闭。首先,关闭应用程序的文档对象。文档对象的虚拟函数OnCloseDocument调用时销毁了主窗口(Windows窗口和MFC窗口对象),同时也导致视、工具条窗口的销毁。主窗口销毁后,应用程序的主窗口对象为空,故发送WM_QUIT消息结束程序。 MDI主窗口的关闭 首先,关闭应用程序...
2010-12-24 15:26:16 494
原创 MFC对象的创建
http://www.wrsaw.cn/Article/ShowArticle.asp?ArticleID=3644 命令行到创建或打开文件的处理过程:命令行分析-》应用程序的FileNew-文档模板的OpenDocumentFile(NULL)->文档的OnNewDocument-》命令行分析-》应用程序的FileOpen->文档模板的OpenDocumentFile(f...
2010-12-24 10:36:16 106
原创 MFC消息执行顺序
1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWin...
2010-12-23 21:14:21 87
原创 深入分析MFC文档视图
文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/...
2010-12-23 14:41:06 113
原创 MFC消息执行顺序
在MFC框架下,一般一个消息的处理过程是这样的。 函数AfxWndProc接收Windows操作系统发送的消息。 函数AfxWndProc调用函数AfxCallWndProc进行消息处理,这里一个进步是把对句柄的操作转换成对CWnd对象的操作。 函数AfxCallWndProc调用CWnd类的方法WindowProc进行消息处理。注意AfxWndProc和AfxCallWndProc都是AFX的A...
2010-12-22 20:16:54 188
原创 SQL增加、删除、更改表中的字段名
1. 向表中添加新的字段 alter table table_name add column_name varchar2(20) not null 2. 删除表中的一个字段 delete table table_name column column_name3. 修改表中的一个字段名 alter table table_name rename colum...
2010-10-31 10:43:54 1407
原创 java中的hasCode与equals理解(转载)
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下: public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有Integer、Dou...
2010-10-18 15:44:54 62
原创 java中深复制与浅复制
java的类型,java的类型分为两大类,一类为primitive,如int,另一类为引用类型,如String,Object等等。 java引用类型的存储,java的引用类型都是存储在堆上的。java的浅复制在复制时,对于原始类型的变量,在堆上为其分配一块区间,对于引用类型,在堆上为其对象的引用分配一块区间,当对复制的引用进行改变时,改变的是对象的值,被复制的引用值也发生了变化。深复制对原始类...
2010-10-16 18:10:22 90
原创 访问map的四种方法
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapTest { public static void main(String[] args) { Map<String, String> map = new...
2010-10-14 21:28:29 632
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人