自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 一点关于Ares的看法

一直想写点最近看Ares代码的感想,最近小忙了几天,今天得空写两句。第一眼这个软件的界面和功能确实不错,多线程也做的很好。写这些代码的人应该有非常强的毅力和逻辑思维能力。如果我把代码的结构写成这个样子,我肯定是无法还能让它这么稳定的运行的。代码也显得很有经验,很多细节的地方考虑的很仔细,比如对Windows系统的了解,这点是很多Delphi程序员的通病,VCL的包装经常让我们忘记了系统API的

2008-01-29 10:37:00 704

原创 Ares心得2

1、EnumWindows获取所有Top-lever窗体。第一个参数是一个回调函数,每找到一个函数就运行一次回调函数。第二个参数是回调函数的参数。以下是回调函数的格式:BOOL CALLBACK EnumWindowsProc(     HWND hwnd,      LPARAM lParam );2、通过发送WM_COPYDATA消息,实现进程间通讯。下面是copydata的结构和发消息时

2008-01-29 10:28:00 652

转载 Delphi 完全时尚手册之 Visual Style 篇---使非标准 Win32 控件或自画控件也具有 Windows XP 的界面风格

Delphi 完全时尚手册之 Visual Style 篇---使非标准 Win32 控件或自画控件也具有 Windows XP 的界面风格    这里先说说两个概念:Theme(主题)和 Visual Style 。Theme 最早出现在 Microsoft Plus! for Windows 95 中,是 Windows 中 Wallpaper、Cursors、Fonts、Sounds 、

2008-01-23 14:19:00 988

原创 XP Visual Styles的一点体会

    首先在MSDN里Using Windows XP Visual Styles对Visual Styles的使用有详细描述,特别是对我一直很迷惑的XPMan单元,有了解释。在XPMan单元里有很重要的一行,{$R WindowsXP.res}。里面用XML描述了一些信息,结合msdn Attribute

2008-01-23 14:15:00 979

转载 Delphi中的线程类【转载】

Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。    线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当

2008-01-21 13:57:00 577

转载 Windows环境下Unicode编程总结

 UNICODE环境设置在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 UNICODE编译设置:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link/output 中设置Entry为wWinMainCRTSta

2008-01-21 09:28:00 541

原创 Classes2 单元

比较了一下。我感觉稍微有效的点的代码在Grow部分。这是TMyList的Growprocedure TMyList.Grow;begin  if FCapacity64 then SetCapacity(FCapacity+8)  else if FCapacity256 then SetCapacity(FCapacity+32)  else if FCapacity1024 the

2008-01-18 16:52:00 643

原创 uplaylistfrm 和 Drag_N_Drop 单元

uplaylistfrm:    播放列表窗口。很大一部分拖放的代码写在了mainform的Drag_And_Drop_AddFile方法里。用惯了Delphi封装好的拖放,今天就对Windows拖放的Api熟悉一下。    首先是设置窗体创建参数 TCreateParams 结构。使窗体可以接受WM_DROPFILES 消息。Params.ExStyle := Params.ExStyle or

2008-01-18 11:17:00 857

原创 Delphi 的Record结构体

    一直以来对带case的Record只会用而不求甚解。知道他类似于c语言的union。今天详细看了help。了解一下。汗~啊。先对自己内心进行下自我批评~~~~下面是偶的新体会。1. 首先了解到record是可以限制field的范围的,而且定义枚举类型的。type TDateRec = record Year: Integer; Month: (Jan, Feb,

2008-01-16 14:20:00 15675 2

原创 Ares 代码心得1

 1、创建一个临时的定时器刷新界面,注意执行OnTimer的时候把自己free掉。另,OnTimer传进来的Sender就是Timer自己。2、SHFOLDER.DLL .....(外壳文件夹服务). 若要正常打开系统属性, 例如我的文档,需要保留此文件。例如Ares中利用此函数获得我的文档的地址。3、ufrmhint:提示窗口,(最具特色的UI之一)。其中对于透明窗体的应用很

2008-01-15 17:01:00 1742

转载 Ares源码 单元介绍(自己根据最新版本更新)

源代码压缩包文件名:aresregular209_05032007.zipares/,,ares_objects,应用程序对象(some application objects are listed here)ares_types,应用程序数据结构AsyncExTypes,视频解码器??blcksock,socketchatroom_*,聊天室相关class_cmdlist,命令行列表Clas

2008-01-15 15:59:00 2215 2

原创 Inc文件心得

 inc 首先是两片在网上搜索的片段。Include文件。与C++的include不一样。可嵌入Delphi的源代码文件中,Delphi编译是遇$I到include文件时相当于Copy一份inc文件的内容到当前位置,一般用于提取一些重复的每个单元都需要定义的内容,或用于定义通用的编译器指示字条件,甚至可以使用Delphi的inc机制实现C++的范型(可惜不能支持操作符重载)

2008-01-15 13:11:00 4654 1

原创 编译 Ares Galaxy 的过程

    这几天工作不忙,在公司闲着没事,逛逛sourceforge,忽然发现排名第二位的Ares居然是Delphi编写的。正是俺的老本行。下载下来瞄~一下。看一下下面的文本文件,头小发懵~这么多第三方控件!算了,今天反正闲着,试试看吧。  首先就是回到俺以前的Delphi7上,要不是2006所带的重构工具和IDE实在太诱人,俺还是觉得Delphi7的界面友好,大概是习惯的缘故吧。 

2008-01-14 17:08:00 2821 2

转载 用Delphi2005和DUnit搭建敏捷开发平台(一篇被到处转贴的文章,不过看起来不错,有空应该尝试一下)

之前用的是Java那一套东西,有Eclipse什么都搞定了。现在因为要用Delphi改一个即时通讯软件的缘故,想着怎么能把重构和单元测试那一套搬到Delphi这边来。书上说给现有的代码加单元测试能够加深对代码的理解,并且可以作为改善代码的基础,这不正是我要做的事情吗?于是,为了搭建这么一个敏捷平台,我以Delphi2005和DUnit进行了一点小小的尝试,并把结果记录于下,与大家分享。 1、下载D

2007-04-06 10:16:00 636

转载 DUnit 实践(转自http://boblin.my.gsdn.net/)

我一直以为xUnit不能用来测试带界面的单元,但是我错了。看《Refactoring Improving the Design of Existing Code》中强调Testing,决定起用DUnit, 正好今天要给一个Form 增加保存字体设置的功能,遂决定从它开始。保存和恢复复字体的代码如下,TfmXXXX是一个带有TMemeo 的Form,目标是每次打开这个Form时都能使用上

2007-04-05 13:05:00 851

转载 程序里调用CMD模式下的程序(转自csdn社区)

function WinExecute(FileName: string; Visibility: Integer = SW_NORMAL): Boolean; {* 运行一个文件并立即返回 } function WinExecAndWait32(FileName: string; Visibility: Integer = SW_NORMAL;   ProcessMsg: Boolean = F

2007-03-28 13:27:00 850

原创 人总是被环境控制

刚刚把同事的一个代码接过来,觉得很烂,很想重构一下。可第一公司没奖金的奖励;第二又是Delphi语言的东西,没啥动力。扔在那吧。 

2007-03-14 16:25:00 558

原创 rss

http://www.google.com/reader/view/很不错的rss阅读器,web程序就是gooooooooogle厉害!

2007-03-14 16:21:00 679

转载 61条面向对象设计的经验原则

你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。-----Arthur J.Riel         (1)所有数据都应该隐藏在所在的类的内部。p13   (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15   (3)尽量减少类的协议中的消息。p16   (4)实现所有类都理解的最基本公有

2007-03-01 14:14:00 503

原创 刚刚从新疆回来

 脑子里感觉空空的。今年第三次去新疆了。新键盘用着也硬硬的。

2006-09-27 01:59:00 994

翻译 改变窗口层叠的顺序

BringWindowToTop The BringWindowToTop function brings the specified window to the top of the Z order. If the window is a top-level window, it is activated. If the window is a child window, the top-l

2006-06-16 16:29:00 4114

翻译 IsIconic(判断窗口是否最小化)

The IsIconic function determines whether the specified window is minimized (iconic). 函数isiconic返回值取决于指定窗口是否已经最小化。BOOL IsIconic(    HWND hWnd  // handle of window   );  ParametershWnd窗口句柄

2006-06-16 15:41:00 12978

原创 单片机C51串口中断接收和发送测试例程(含通信协议的实现)

单片机C51串口中断接收和发送测试例程(含通信协议的实现) [日期:2006-1-26] 来源:rs232  作者: [字体:大 中 小]     通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标

2006-03-06 00:34:00 2010

原创 对选项的程序的改进

如果对一个软件内有很多软件开关的时候,如果采用一个全局变量在程序启动时载入,用这个变量的各个位去表示各个选项,这样就大大减少了IF语句的数量。一个IF语句一次判断多个位,多方便。

2006-03-05 23:45:00 737

转载 对继电器操作

继电器都是ms级。由于火花或电源抖动都可能造成系统复位或eeprom写入失败。所以要在写入EEPROM之后然后再操作继电器,以免中间程序复位。造成EEPROM内状态和实际继电器状态的不一致。

2006-03-05 16:57:00 776

VIM中文手册.pdf

VIM中文手册.pdf VIM这个编辑器不用多说了吧

2009-07-04

重构:改善既有代码的设计

重构:改善既有代码的设计

2007-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除