12 2008 档案
C# 语法练习(6): 枚举
摘要:显示枚举、枚举值、枚举名: using System; class MyClass { enum MyEnum { AA, BB, CC }; /* 类型定义不能在函数体内 */ static void Main() { MyEnum e = MyEnum.CC; Console.WriteLine(e); ... 阅读全文
posted @ 2008-12-31 17:04 万一 阅读(2708) 评论(3) 推荐(0) 编辑
显示系统托盘列表(并执行隐藏与显示) - 回复 "anybet" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/30/1364557.html#1417716 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Di... 阅读全文
posted @ 2008-12-31 09:24 万一 阅读(6920) 评论(17) 推荐(0) 编辑
C# 语法练习(5): 语句
摘要:if (bool) { } else { } switch (v) { case v1: ... break; case v2: ... break; ... default: ... break; } do { } while (bool); while (bool) { } for (int i; i C# 的 switch 语句支持字符串, 但好像只能用 const st... 阅读全文
posted @ 2008-12-30 23:49 万一 阅读(1768) 评论(0) 推荐(0) 编辑
图片的合并与缩放 - 回复 "錢亞兵" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/30/1316584.html#1417644 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls... 阅读全文
posted @ 2008-12-30 16:16 万一 阅读(2885) 评论(2) 推荐(0) 编辑
C# 语法练习(4): 类型转换
摘要:使用 Convert 类: ToBoolean -> bool ToByte -> byte ToChar -> char ToDateTime -> DateTime ToDecimal -> decimal ToDouble -> double ToInt16 -> short ToInt32 -> int ToInt64 -> long ToSBy... 阅读全文
posted @ 2008-12-30 14:37 万一 阅读(2170) 评论(0) 推荐(0) 编辑
C# 语法练习(3): 运算符
摘要:基本: . () [] x++ x-- new typeof checked unchecked -> :: 一元: + - ! ~ ++x --x (T)x True False & sizeof 乘除: * / % 加减: + - 移位: > 关系: = is as 相等: == != 逻辑: & ^ | 条件: && ||... 阅读全文
posted @ 2008-12-30 11:53 万一 阅读(2716) 评论(4) 推荐(0) 编辑
关于 TStringList.Assign - 回复 "u9cm" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/29/1230404.html#1416838 譬如有两个 TStringList 对象: List1 和 List2; List2.Assign(List1) 就是把 List1 的内容复制给 List2; List2 := List1 相当于给 List1 再取一个名字. 举例: unit ... 阅读全文
posted @ 2008-12-29 21:09 万一 阅读(3125) 评论(0) 推荐(0) 编辑
C# 语法练习(2): 字符转义
摘要:\' \" \\ \0 \a \b \f \n \r \t \U \u \v \x 本例效果图: 代码: using System; class MyClass { static void Main() { Console.WriteLine("\""); Console.WriteLine("\u0022");... 阅读全文
posted @ 2008-12-29 18:15 万一 阅读(2583) 评论(0) 推荐(0) 编辑
C# 语法练习(1): 基本数据类型
摘要:本例效果图: 代码: using System; class MyClass { static void Main() { Console.WriteLine("sbyte 类型:"); sbyte sbyteVar = (sbyte.MaxValue + sbyte.MinValue) / 2; Console.WriteL... 阅读全文
posted @ 2008-12-29 15:33 万一 阅读(4678) 评论(5) 推荐(0) 编辑
重写了博客上的代码着色脚本
摘要:目前支持 Delphi、C#、C/C++, 以后我学到什么会让它支持什么; 欢迎你也使用. 使用方法: 首先在 HTML 的 和 之间加上: 然后: Delphi 代码 C# 代码 C 或 C++ 代码 样例: 代码着色测试 //Delphi 代码: program Project1; {$APPTYPE CONSOLE} uses SysUtils;... 阅读全文
posted @ 2008-12-29 11:27 万一 阅读(2614) 评论(7) 推荐(0) 编辑
给 C# 代码动态着色的 JavaScript 脚本
摘要:脚本没有实现的功能: 没有给 "类、接口、结构、枚举、委托" 的名称着色, 因为太大了(373 K.) 脚本和 VS2008 默认着色的不同: 所有预编译指令我给弄成灰色了. 其他暂时没有发现(C#才学了一点), 如发现问题, 希望能告诉我. 阅读全文
posted @ 2008-12-27 00:26 万一 阅读(3265) 评论(9) 推荐(0) 编辑
把流中的字符串转换为 UTF 格式 - 回复 "lostapple" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/26/1269606.html#1414232 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Di... 阅读全文
posted @ 2008-12-26 13:53 万一 阅读(6230) 评论(20) 推荐(0) 编辑
从 EXE 或 DLL 中获取图标的函数 - 回复 "小李子子" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/25/1070115.html#1413353 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, St... 阅读全文
posted @ 2008-12-26 11:52 万一 阅读(2981) 评论(10) 推荐(0) 编辑
Net 3.5 类库列表
摘要:为计划中的类库源码浏览器准备的资料 阅读全文
posted @ 2008-12-26 10:37 万一 阅读(11385) 评论(1) 推荐(1) 编辑
看看盛大的小伙子们
摘要:给 Delphi 开发者们提提气, 看看盛大的小伙子们: http://act.sdo.com/Delphi/more.html 阅读全文
posted @ 2008-12-25 00:06 万一 阅读(2663) 评论(15) 推荐(0) 编辑
遍历进程并获取进程路径 - 回复 "编程少年" 的问题
摘要:代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TM... 阅读全文
posted @ 2008-12-22 22:48 万一 阅读(6023) 评论(21) 推荐(0) 编辑
Dll 使用 PChar 参数的小例子 - 回复 "linximf" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/20/985931.html#1408308 本例效果图: Dll 文件: library Lib; uses SysUtils, Classes; {$R *.res} procedure Test(p: PChar); const Title = 'Title '; var ... 阅读全文
posted @ 2008-12-20 22:44 万一 阅读(10820) 评论(38) 推荐(1) 编辑
用多媒体库 Bass.dll 播放 mp3 [17] : 如何从内存流播放 - 回复 "小李子子" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/20/1022124.html#1408043 这是从 http://www.cnblogs.com/del/archive/2008/08/17/1269958.html 修改来的. 代码文件: unit Unit1; interface uses Windows, Messages,... 阅读全文
posted @ 2008-12-20 21:30 万一 阅读(6860) 评论(23) 推荐(1) 编辑
窗口跟随 - 回复 "heyongan" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/20/985931.html#1408193 本例中的 Form2 所在 Unit2 中没有任何代码, 以下是 Unit1 中的代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Gr... 阅读全文
posted @ 2008-12-20 17:47 万一 阅读(2087) 评论(0) 推荐(0) 编辑
Delphi 的编译指令(4): 编译指令全表(未完)
摘要:指令及默认值可选值范围注释举例 {$A8} {$ALIGN8}{$A+},{$A-}, {$A1},{$A2},{$A4},{$A8}; {$ALIGN ON},{$ALIGN OFF}, {$ALIGN 1},{$ALIGN 2}, {$ALIGN 4},{$ALIGN 8} Local {$APPTYPE GUI} {$APPTYPE GUI}, {$APPTYPE CONSOLE}... 阅读全文
posted @ 2008-12-19 13:29 万一 阅读(8322) 评论(7) 推荐(1) 编辑
Delphi 的编译指令(3): 常用的预定义条件标识符
摘要:找来找去没找到官方资料, 暂时把碰到过的列举出来吧, 以后慢慢补充. 版本标识: VER10 : Turbo Pascal 1 VER20 : Turbo Pascal 2 VER30 : Turbo Pascal 3 VER40 : Turbo Pascal 4 VER50 : Turbo Pascal 5 VER60 : Turbo Pascal 6 VER70 : Tur... 阅读全文
posted @ 2008-12-17 18:02 万一 阅读(5526) 评论(8) 推荐(0) 编辑
Delphi 的编译指令(2): 条件语句的更多用法
摘要:1. $IFDEF 等同于 $IF DEFINED(...) : 它们的结束分别是: $ENDIF、$IFEND; 例子中的 VER200 是 Delphi 2009 的标识. begin {$IFDEF VER200} ShowMessage('这是 Delphi 2009'); {$ENDIF} {$IF DEFINED(VER200)} ShowMessage... 阅读全文
posted @ 2008-12-17 15:31 万一 阅读(8137) 评论(2) 推荐(0) 编辑
Delphi 的编译指令(1): $DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF
摘要:一个程序从无到有的过程是这样的: 编辑代码 -> 预处理 -> 编译(成dcu等) -> 链接(为exe等). 什么是预处理? 譬如 VCL 中有很多代码是兼容 Linux 的, 在 Windows 下就需要在编译之前预处理掉那些 for Linux 的代码. 1、判断操作系统: 其中的 "MSWINDOWS" 和 "LINUX" 就是 Delphi 预定义的 "条件标识符". begi... 阅读全文
posted @ 2008-12-17 13:58 万一 阅读(15889) 评论(1) 推荐(1) 编辑
GetForegroundWindow 与 GetActiveWindow 的区别 - 回复 "delphier" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/13/1081644.html#1400835 GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口; GetForegroundWindow 是获取当前系统中被激活的窗口. 两个函数的级别不一样, 一个是线程级、一个是系统级. 被激活的窗口不一定是顶层窗口(最上面... 阅读全文
posted @ 2008-12-13 16:23 万一 阅读(14357) 评论(13) 推荐(0) 编辑
字符串转换到指定格式的宽字符 - 回复 "厨师" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/13/1353193.html#1400641 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Di... 阅读全文
posted @ 2008-12-13 09:16 万一 阅读(3965) 评论(15) 推荐(0) 编辑
给 TStringGrid 添加鼠标拖动功能 - 回复 "dxx" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/11/1091310.html#1398793 本例效果图(这个例子还有问题, 拖动和移动的距离单位不一样): 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphi... 阅读全文
posted @ 2008-12-11 19:16 万一 阅读(7185) 评论(22) 推荐(0) 编辑
创建 GUID
摘要:uses ComObj, ActiveX; procedure TForm1.Button1Click(Sender: TObject); var Guid: TGUID; str: string; begin CoCreateGuid(Guid); str := GUIDToString(Guid); Memo1.Lines.Add(str); end; proce... 阅读全文
posted @ 2008-12-11 17:25 万一 阅读(7107) 评论(7) 推荐(0) 编辑
获取一个窗口的所有子窗口(包括嵌套) - 回复 "asian" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/10/1345752.html#1397451 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls... 阅读全文
posted @ 2008-12-11 09:42 万一 阅读(6377) 评论(8) 推荐(0) 编辑
Delphi 的运算符重载(2) - 可重载运算符列表
摘要:类别 运算符 运算符标识 使用 转换 隐式转换 Implicit Implicit(a: type): resultType; 显式转换 Explicit Explicit(a: type): resultType; 一元 - Negative Negative(a: type): resultType; ... 阅读全文
posted @ 2008-12-09 23:50 万一 阅读(5751) 评论(0) 推荐(0) 编辑
Delphi 的运算符重载(1)
摘要:其实 Delphi 2006 就已经支持运算符重载了, 不过 for Win32 的版本只是在 record 里支持. 运算符重载有什么用处呢? 举个例子: 譬如 "张三"、"李四" 两人一起来拜见你, 你可能会问: "你们两个谁大?" 其实你是在问: "你们两个谁的年龄大?"; 但生活中人们一般都不这么罗嗦. 在程序中能否这样简化呢? 这只能通过 "运算符重载" 做到! 先按 "你们两... 阅读全文
posted @ 2008-12-09 23:49 万一 阅读(9314) 评论(16) 推荐(0) 编辑
给定 ComboBox 的默认值 - 回复 "彩虹芭比" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/09/1286648.html#1395694 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls... 阅读全文
posted @ 2008-12-09 14:53 万一 阅读(3190) 评论(5) 推荐(0) 编辑
用 MapFileAndCheckSum 函数检测 exe 或 dll 是否被修改 - 回复 "Joe Lo" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/08/1350440.html#1395177 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls... 阅读全文
posted @ 2008-12-09 09:50 万一 阅读(3912) 评论(12) 推荐(0) 编辑
硬着头皮学点 C++(1): 前言
摘要:说实话, 有了 Delphi 真的很难喜欢 C++; 起码对我是这样. 在我学点 C 与 C++ 的同时, 更加感到 Delphi 的优秀: 它就是 C 与 C++ 集合、与进步. 但当 Delphi 过了入门关以后, 学习资料实在是太少了! 很多好的技术是用 C/C++ 描述的... 因此我不得不硬着头皮去了解一些. 起初仅仅是为了更好地看懂那些书, 但也有意外收获: 换个视角看 De... 阅读全文
posted @ 2008-12-08 16:06 万一 阅读(8084) 评论(28) 推荐(0) 编辑
存取 ListBox 列表 - 回复 "徐强" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/05/1022130.html#1392641 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,... 阅读全文
posted @ 2008-12-05 21:12 万一 阅读(2912) 评论(10) 推荐(0) 编辑
学点 C 语言(41): 函数 - 关于 main 函数
摘要:main 函数是 C 程序的入口点, 不可或缺, 不可重复; main 函数应返回一个整数值给操作系统, 返回 0 表示正常结束. 前面使用的 main 函数都是无参数的: int main(void); main 可以有两个参数: int main(int argc, char *argv[]); 第一个是自动获取的参数数目(+1), 第二个是参数列表(字符串列表); 这一般用于控制台或... 阅读全文
posted @ 2008-12-05 09:49 万一 阅读(3584) 评论(3) 推荐(0) 编辑
学点 C 语言(40): 函数 - 多参函数
摘要:像 printf 这种多参函数, 是借用 stdarg.h 中的宏实现的. va_list : 用于定义遍历参数列表的指针; va_start : 让指针指向第一个参数; va_arg : 获取下一个参数, 并向后移动一个位置; va_end : 释放指针, 完成遍历. 1. 整数求和: 本例实现了对系列整数求和, 要求至少要有三个参数, 并且最后一个必须是 0. 最后的 0 ... 阅读全文
posted @ 2008-12-04 22:20 万一 阅读(2360) 评论(0) 推荐(0) 编辑
学点 C 语言(39): 函数 - 使用函数的代价与内联函数(inline)
摘要:C 语言离不开函数, 使用函数也很方便, 但使用函数是有代价的; 特别是在反复调用时, 函数会因反复地压栈、出栈而浪费一些时间. 下面是测试, 用函数与不用函数的时间分别是: 8秒、4秒! 1. 测试使用函数的代价: #include #include int sum(int x) { return x + x; } int main(void) { int cou... 阅读全文
posted @ 2008-12-04 21:16 万一 阅读(2058) 评论(3) 推荐(0) 编辑
学点 C 语言(38): 函数 - 函数指针
摘要:先复习函数的定义与函数的声明: //这是一个求和函数的定义: int add(int x, int y) { return(x + y); } //可以这样声明: int add(int x, int y); //也可以这样声明: int add(int, int); 定义一个函数指针声明一个函数差不多, 用 (* ) 包括函数即可: //像这样: int (*pfun)(... 阅读全文
posted @ 2008-12-04 19:04 万一 阅读(2549) 评论(1) 推荐(0) 编辑
学点 C 语言(37): 函数 - 常量(const)参数
摘要:非指针参数(也就是传值参数)不会被修改原始值, const 对它是没有意义的. const 只用于指针. 1. 第一种用法: const 类型 *变量: 这种用法将限制修改指针指向的值. #include int fun(const int *p) { *p += 1; /* 只有去掉 const 这句才可以执行 */ return *p; } int main... 阅读全文
posted @ 2008-12-04 17:11 万一 阅读(2995) 评论(3) 推荐(0) 编辑
学点 C 语言(36): 函数 - 数组参数
摘要:数组参数属于指针参数. 指针参数即时传址参数(或叫引用参数), 如果想在函数中修改参数的值, 这是唯一的途径. 如果把数组当作参数, 不管你愿意与否, 它就是指针, 指向第一个值的指针. 1. 数组参数就是指向第一个元素的指针: #include void getArr(int p[], int si); int main(void) { int ns[] = {1,2,3... 阅读全文
posted @ 2008-12-04 15:47 万一 阅读(5694) 评论(1) 推荐(1) 编辑
学点 C 语言(35): 函数 - 递归
摘要:1. 递归就是: 函数自己调用自己 这是一个最简单的递归, 不过它会一直执行, 可用 Ctrl+C 终止. #include void prn(void) { printf("C++Builder 2009\n"); prn(); /* 自调用; 注意它会一直执行, 可用 Ctrl+C 终止执行 */ } int main(void) { prn(); ... 阅读全文
posted @ 2008-12-04 13:18 万一 阅读(3871) 评论(1) 推荐(1) 编辑
学点 C 语言(34): 函数 - 关于变量(auto、static、register、extern、volatile、restrict)
摘要:1. 局部变量: 局部变量也叫自动变量, 它声明在函数开始, 生存于栈, 它的生命随着函数返回而结束. #include int main(void) { auto int i = 9; /* 声明局部变量的关键字是 auto; 因可以省略, 几乎没人使用 */ printf("%d\n", i); getchar(); return 0; } ... 阅读全文
posted @ 2008-12-04 10:22 万一 阅读(3785) 评论(1) 推荐(1) 编辑
带进度的文件复制 - 回复 "冷风无泪" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/12/02/1066817.html#1389078本例效果图:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtr... 阅读全文
posted @ 2008-12-02 22:18 万一 阅读(5342) 评论(13) 推荐(1) 编辑
如何把一个程序中 Edit 中的文本赋给另一个程序的 Edit ? - 回复 "Disk_" 的问题
摘要:本例效果图: 首先应该知道要接受文本的 Edit 的句柄, 这个有很多办法, 本例用了最简单的自我获取的办法. 程序1: 准备接受文本的程序 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls... 阅读全文
posted @ 2008-12-02 13:58 万一 阅读(4113) 评论(6) 推荐(0) 编辑
学点 C 语言(33): 函数 - 传值与传址、形参与实参
摘要:1. 传值参数(非指针参数): #include int inc(int x); int main(void) { int num = 1; printf("%d\n", inc(num)); /* 2 */ printf("%d\n", num); /* 1; num 并没有改变, 用作函数参数时只是复制过去 */ getch... 阅读全文
posted @ 2008-12-02 13:08 万一 阅读(3052) 评论(2) 推荐(0) 编辑
学点 C 语言(32): 函数 - 返回值
摘要:C 语言的函数可以返回数组以外(不包括数组指针)的任何类型. 不写明返回类型, 在以前的 C 语言版本中是默认返回 int, 现在 C99、C++ 已不支持. void 表示没有返回值, 也就无须 return 语句; 如果是其他语句必须有 return 语句. 在 main 函数中(只是 main 函数)若忘掉 return, 有些编译器会自动添加 return 0; 1. 每执行 r... 阅读全文
posted @ 2008-12-02 10:31 万一 阅读(3107) 评论(3) 推荐(0) 编辑
学点 C 语言(31): 函数 - 声明、定义、调用
摘要:1. 如果函数没有声明, 应该在调用前定义: #include /* 定义求大值函数 */ int MAX(int x, int y) { if (x > y) return x; else return y; } /* 定义求小值函数 */ int MIN(int x, int y) { return x 2. 可以在函数头... 阅读全文
posted @ 2008-12-02 09:15 万一 阅读(11389) 评论(0) 推荐(2) 编辑
学点 C 语言(30): 数据类型 - 布尔类型
摘要:1. : #include //等待填充... 阅读全文
posted @ 2008-12-02 08:33 万一 阅读(1376) 评论(1) 推荐(0) 编辑
学点 C 语言(29): 数据类型 - 定义新类型(typedef)
摘要:自定义的类型名一般要大写, 以提示这是自命名的类型. 1. 把 unsigned long 更名为 UINT: #include int main(void) { typedef unsigned long UINT; UINT num = 1234567890; printf("%lu\n", num); getchar(); ret... 阅读全文
posted @ 2008-12-02 08:05 万一 阅读(2883) 评论(0) 推荐(0) 编辑
关于位图的像素格式
摘要:1、判断位图的像素格式: var bit: TBitmap; pix: TPixelFormat; s: string; begin bit := TBitmap.Create; bit.LoadFromFile('c:\temp\test.bmp'); //位图路径 pix := bit.PixelFormat; s := ''; case pix of ... 阅读全文
posted @ 2008-12-01 14:08 万一 阅读(6268) 评论(8) 推荐(0) 编辑