2011年7月20日

Access数据库分页查询

摘要: 不过这种方式对于大批量数据会很慢select top 每页条数 * from 表名 where [ID] not in (select top 每页条数*(页数-1) [ID] from 表名 order by [ID]) order by [ID]; 阅读全文

posted @ 2011-07-20 10:57 c语言源码 阅读(262) 评论(0) 推荐(0) 编辑

自己重写右键菜单

摘要: 在程序中我们会用到文本框,如果要让右键菜单按照我们的要求显示,可以用如下方法实现,自己定义Item控件来显示。 private const int WMS= 0x007B; protected override void WndProc(ref Message m) { if (m.Msg == WMS) { try { ContextMenu contextMenu = new C... 阅读全文

posted @ 2011-07-20 09:43 c语言源码 阅读(236) 评论(0) 推荐(0) 编辑

2011年7月19日

c#中的get和set

摘要: public string Url { get { return url; } private set { url = value; } }外部只读,内部可读写。 阅读全文

posted @ 2011-07-19 09:34 c语言源码 阅读(269) 评论(0) 推荐(0) 编辑

2011年7月4日

一些笔记

摘要: 1、 datetime类型,初始化时,参数必须大于1。2、 写注册表项,OpenSubKey必须带true。3、 启动exe:ProcessStartInfo和WinExec("c:\\windows\\system32\\eudcedit.exe",2);//[DllImport("kernel32.dll")]//public static extern int WinExec(string exeName, int operType);4、c++程序生成是提示cmd错误:MSDN上提示错误的可能原因为: 系统资源不足。关闭一些应用程序以解决此问题。 阅读全文

posted @ 2011-07-04 08:49 c语言源码 阅读(178) 评论(0) 推荐(0) 编辑

2011年7月1日

组合与聚合的选用 (Composition & Aggregation)

摘要: 看到不少朋友讨论组合与聚合的异同,我觉得有两个要点决定了组合与聚合的选用: 共享性 组合中各个子件是被宿主独占使用,实例间不存在共享同一个子件。 聚合中各个子件可以由不同的实例共享使用。 生命周期 组合中宿主负责创建和释放其子件。 聚合中宿主不需要负责创建和释放其子件,只有使用权。 下图是一个组合的类图示例: 选择使用组合或是聚合,取决实际应用中的类之间的关系。同样以电脑为例,... 阅读全文

posted @ 2011-07-01 14:09 c语言源码 阅读(157) 评论(0) 推荐(0) 编辑

2011年6月22日

数组的误用

摘要: 原文地址: Teaching C++ Badly: How to Misuse Arrays我上次写了篇文章列举了我所看到的一些不好的C++教学,并且承诺详细地解释这些技术。这篇就是其中的第一篇。 我见到有归因于Trenchard More(*定义了More Array Theory)的断言,说数组是所有数据结构中最基本的一个。 事实上几乎没有哪个在世的程序员没有使用过数组。如果没有足够的证据,想象一下数组是一种线性寻址机制的抽象,它是所有计算机硬件通常使用的最基础的部分。线性寻址的想法认为计算机的内存由一组具有连号地址的存储单元构成。通过使用普通的整数来计算存储单元的地址,我们可以很容易从“ 阅读全文

posted @ 2011-06-22 14:36 c语言源码 阅读(156) 评论(0) 推荐(0) 编辑

2011年6月21日

五步为类瘦身

摘要: (http://drdobbs.com/cpp/230600127)重构技巧和纪律是通往小精灵之岛的康庄大道。我之前的文章讨论了在基础代码中使用小的类的好处和作用,我认为一个类的代码应当限制在50到60行。我陆续收到了许多回复,大部分类比了以前关于让函数变小以在一屏显示的法则。虽然很感谢这些回复,但他们都忽略了决定性的一点。我并没有讨论函数,而是可能包含多个函数的类。编写一个只有60行大小的类会打击一些作者,因为要实现它的简单性却有许多的限制,可能并不值得去做。但它恰恰是纪律,这样的行数规定,创建了非常明确理想的代码。相信正如其它回复所描述的那样,这条纪律并没有被保持,对于保持小类的标准技术也 阅读全文

posted @ 2011-06-21 13:28 c语言源码 阅读(215) 评论(0) 推荐(0) 编辑

2011年5月18日

较好的代码维护实践

摘要: 在别人实现的基础上进行开发,基本是一种常态。特别是对原来的代码陌生的情况下,有没有什么好的实践方法呢?基本原则:类似重构一样,尽量减少对原有流程和结构的修改,最好能兼容原有结构。上来就按自己的相法来修改代是比较容易的,这样做很大程度是因为理解原有的代码需要较长的时间且有一定的难度,但这样会增加系统的复杂度,也会引入许多不必要的风险。除非得到项目负责人的同意,否则相当然的直接动手重写,绝非是什么好事!那么如何做呢?要花大量的时间从头阅读代码吗?你以为文档写得那么好吗?嗯,阅读代码和文档是免不了得,但需要有明确的目标和有序的安排。有效地控制各个阶段所关注的内容是成功的关键。过早的被许多的细节困扰会 阅读全文

posted @ 2011-05-18 22:33 c语言源码 阅读(128) 评论(0) 推荐(0) 编辑

XCode小技巧

摘要: 1.用TODO做个标记代码就是这么一行:// TODO: xxxxxx.然后看看你的Symbol list吧.另外Eclipse也有类似的功能,它提供一个视图用于方便用户查看所有的TODO项目.XCode的实现方式不如Eclipse那么直观,但也够用。2.XCode中的重构功能。在写代码时,想要修改一个函数名或变量名,直接使用重构功能就行,当然不止这些。如果自己一个一个改,效率比较低,还有风险。这个功能只对objective-c有效。Step 1.选中函数名,右击,选择Refactor...Step 2.输入新的函数名,然后点一下Preview,看看有多少修改Step 3.点Apply执行即可 阅读全文

posted @ 2011-05-18 21:32 c语言源码 阅读(267) 评论(0) 推荐(0) 编辑

x&(x-1)表达式的意义

摘要: 求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){int countx = 0;while(x){countx++;x = x&(x-1);}return countx;} 假定x = 999910011100001111答案: 8思路: 将x转化为2进制,看含有的1的个数。注: 每执行一次x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0。判断一个数(x)是否是2的n次方--------------- 阅读全文

posted @ 2011-05-18 02:31 c语言源码 阅读(248) 评论(0) 推荐(0) 编辑

导航