摘要: procedure TForm1.FormShow(Sender: TObject);begin Form1.WindowState:= wsMaximizedend; 阅读全文
posted @ 2014-07-15 16:42 何石-博客 阅读(167) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Butt... 阅读全文
posted @ 2014-07-15 12:52 何石-博客 阅读(261) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Butt... 阅读全文
posted @ 2014-07-15 12:51 何石-博客 阅读(367) 评论(0) 推荐(0)
摘要: //查找一个文件 FileSearchvar FileName,Dir,s: string;begin FileName := 'notepad.exe'; Dir := 'c:\windows'; s := FileSearch(FileName,Dir); if s'' then ShowMe... 阅读全文
posted @ 2014-07-15 12:49 何石-博客 阅读(305) 评论(0) 推荐(0)
摘要: //判断文件是否存在 FileExistsvar f: string;begin f := 'c:\temp\test.txt'; if not FileExists(f) then begin //如果文件不存在 end;end;//判断文件夹是否存在 DirectoryExistsvar di... 阅读全文
posted @ 2014-07-15 12:48 何石-博客 阅读(255) 评论(0) 推荐(0)
摘要: 这里有所有相关参数的解释: http://www.cnblogs.com/del/archive/2008/04/15/1154359.html//最大化窗口procedure TForm1.CreateParams(var Params: TCreateParams);begin inherite... 阅读全文
posted @ 2014-07-15 12:44 何石-博客 阅读(441) 评论(0) 推荐(0)
摘要: 方法1: 使用 TForm 的 BorderIcons 属性unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 ... 阅读全文
posted @ 2014-07-15 12:43 何石-博客 阅读(714) 评论(0) 推荐(0)
摘要: 现在准备建立 Items 数组属性; 在 public 区输入下面代码:property Items[Index: Integer]: Pointer;执行 Shift+Ctrl+C 后的代码是:... TMyList = class(TObject) private ... function ... 阅读全文
posted @ 2014-07-15 12:41 何石-博客 阅读(204) 评论(0) 推荐(0)
摘要: 总结目前 TMyList 已具备的功能(3 个方法、3 个属性):Add: 添加; Delete: 删除; Clear: 清空;Count: 元素总数;Capacity: 已存在的所有元素位置数;List: 指向核心数组的指针(只读).举例测试如下:unit Unit1;interfaceuses ... 阅读全文
posted @ 2014-07-15 12:39 何石-博客 阅读(165) 评论(0) 推荐(0)
摘要: 实现 TMyList.Add 函数.TList 中的 Add 函数用到了一个 Grow 方法, 它的原理是元素越多就为以后准备更多内存, 我们这里省略为预留 4 个元素的内存;TList 中的 Add 函数还同时触动了一个 Notify 方法, 这应该是为它们的子类准备的(估计是用它来激发一个事件的... 阅读全文
posted @ 2014-07-15 12:38 何石-博客 阅读(250) 评论(0) 推荐(0)
摘要: 先来实现 TMyList.SetCapacity.马上会想到下面代码:procedure TMyList.SetCapacity(const Value: Integer);begin if FCapacity Value then FCapacity := Value;end;但这样是远远不够... 阅读全文
posted @ 2014-07-15 12:37 何石-博客 阅读(238) 评论(0) 推荐(0)
摘要: 现在准备一步步地模拟 TList 类, 建立一个自己的 TMyList.首先, 这个类中应该包括前面提到的那个 Pointer 数组(TPointerList)的指针(PPointerList):TMyList = class(TObject) FList: PPointerList;end;既然是... 阅读全文
posted @ 2014-07-15 12:36 何石-博客 阅读(284) 评论(0) 推荐(0)
摘要: 在 Delphi 中, 几乎所有的类型都有对应的指针类型, 譬如: Char PChar Word PWORD Double PDouble TPoint PPoint 甚至一种类型对应这着几种指针类型, 譬如: Integer PInteger PINT WideChar PWideChar PW... 阅读全文
posted @ 2014-07-15 12:34 何石-博客 阅读(213) 评论(0) 推荐(0)
摘要: 我原来以为 TList 可能是一个链表, 其实只是一个数组而已.你知道它包含着多大一个数组吗? MaxListSize 个!MaxListSize 是 Delphi 在 Classes 单元定义的一个常量:MaxListSize = Maxint div 16; 也就是 134217727; 这也是... 阅读全文
posted @ 2014-07-15 12:23 何石-博客 阅读(200) 评论(0) 推荐(0)
摘要: 最近整理了一些函数列表, 算是一个宏观的安排; 等以后再碰到一些函数时就可以放置的更有次序一些.我对函数与类的理解是:函数是一个功能模块, 类是一个更强大的功能模块; Delphi 已经提供了很多的函数与类, 但很多时候我们却视而不见, 重新"刀耕火种".曾记得网上有一个 Delphi 行家连续几年... 阅读全文
posted @ 2014-07-15 12:22 何石-博客 阅读(247) 评论(0) 推荐(0)
摘要: 本例效果图:Dll 文件:library Lib;uses SysUtils, Classes;{$R *.res}procedure Test(p: PChar);const Title = 'Title ';var str: string;begin str := p; StrCopy(p, T... 阅读全文
posted @ 2014-07-15 11:47 何石-博客 阅读(271) 评论(0) 推荐(0)
摘要: 本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用.第一步: 建一个 DLL 工程, 如图:然后保存, 我这里使用的名称都是默认的.第二步: 建一个资源原文件, 如图:编辑内容如下(路径中的文件一定要存在):img1 BITMAP "c:\temp\test.bmp"然后, 取... 阅读全文
posted @ 2014-07-15 11:46 何石-博客 阅读(294) 评论(0) 推荐(0)
摘要: //通过 DLL Wizard 建立:library TestDLL;uses SysUtils, Classes, Dialogs;{$R *.res}//建立过程procedure Test;begin ShowMessage('TestDLL.Test');end;//输出exports Te... 阅读全文
posted @ 2014-07-15 11:45 何石-博客 阅读(241) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type //晚绑定,也就是动态调用外部函数主要用以下三个命令:... 阅读全文
posted @ 2014-07-15 11:44 何石-博客 阅读(218) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Butt... 阅读全文
posted @ 2014-07-15 11:43 何石-博客 阅读(397) 评论(0) 推荐(0)
摘要: BeginDeferWindowPos 和 DeferWindowPos、EndDeferWindowPos 是一组一起使用的函数, 可对一组窗口的位置、大小、Z 序等进行调整, 在 ExtCtrls 单元有用到.下面先用常规方法实现对 Panel1 中的一组 Button 进行调整, 然后再用上面... 阅读全文
posted @ 2014-07-15 11:39 何石-博客 阅读(484) 评论(0) 推荐(0)
摘要: AlphaBlend 是指定图像混合透明的函数, 在 Graphics、GraphUtil、RibbonStyleActnCtrls 单元用到.下面的测试是把一张图片显示在窗体, 并可以调整透明度.本例效果图:代码文件:unit Unit1;interfaceuses Windows, Messag... 阅读全文
posted @ 2014-07-15 11:29 何石-博客 阅读(367) 评论(0) 推荐(0)
摘要: AdjustWindowRectEx 用在了 Forms、DBCtrls 单元.AdjustWindowRectEx 可以根据窗口样式获取的边缘尺寸.测试:var R: TRect;begin SetRect(R, 0, 0, 0, 0); {此矩形不是全局变量, 需要初始为空} AdjustWin... 阅读全文
posted @ 2014-07-15 11:28 何石-博客 阅读(445) 评论(0) 推荐(0)
摘要: ActivateKeyboardLayout 分别在 Controls、DBGrids、Grids 单元用到, 基本都是如下语句:ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE); {表示激活当前输入法}函数字面的意思是键盘布局... 阅读全文
posted @ 2014-07-15 11:27 何石-博客 阅读(537) 评论(0) 推荐(0)
摘要: AbortDoc: 该函数终止当前打印作业并删除最好一次调用 StartDoc 函数写入的所有信息.该函数在 Printers 单元的应用:AbortDoc(Canvas.Handle); 阅读全文
posted @ 2014-07-15 11:26 何石-博客 阅读(356) 评论(0) 推荐(0)
摘要: 代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TForm1 = cla... 阅读全文
posted @ 2014-07-15 11:21 何石-博客 阅读(182) 评论(0) 推荐(0)
摘要: URLOpenStream 和 URLDownloadToFile 类似, 都是下载文件的 COM 函数;前者是下载到 IStream 流, 后者是直接下载到指定路径; 不如后者使用方便.它们都声明在 UrlMon 单元, 本例还要同时 uses ActiveX, 因为要用到 IStream 接口.... 阅读全文
posted @ 2014-07-15 11:19 何石-博客 阅读(2080) 评论(0) 推荐(0)
摘要: Eclipse快捷键大全Ctrl+Shift+F 自动排版Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一... 阅读全文
posted @ 2014-07-15 11:11 何石-博客 阅读(271) 评论(0) 推荐(0)
摘要: delphi中ShellExecute使用详解delphiparameters有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。1.CreateProcess因为使用复杂,比较少用。2.WinExec主要运行EXE文件。如:WinExec('No... 阅读全文
posted @ 2014-07-15 09:58 何石-博客 阅读(535) 评论(0) 推荐(0)
摘要: eclipse与myeclipse恢复已删除的文件和代码顿时感觉myeclipse真的很强悍啊;必须将这个功能写写,要不感觉就对不起myeclipse的作者1.类文件的恢复前些天在开发中,不小心将一个写着有数1000行代码的类删除了,本能下去按了ctrl+z进行恢复,但没有一点用,但还是搜索下有没有... 阅读全文
posted @ 2014-07-15 09:52 何石-博客 阅读(152) 评论(0) 推荐(0)