随笔分类 -  delphi 笔记

摘要:本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用。详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: string[32]; StrLen: B 阅读全文
posted @ 2017-04-20 10:04 h2z 阅读(289) 评论(0) 推荐(0) 编辑
摘要:静态数组, 在声明时就分配好内存了, 譬如: 对静态数组指针, 虽然在声明之处并没有分配内存, 但这个指针应该分配多少内存是有定数的.这种情况, 我们应该用 New 和 Dispose 来分配与释放内存. 譬如: 给已知大小的指针分配内存应该用 New, 上面的例子是关于静态数组指针的, 后面要提到 阅读全文
posted @ 2017-03-31 09:55 h2z 阅读(463) 评论(0) 推荐(0) 编辑
摘要:马上能想到的函数有: 给字符指针(PChar、PWideChar、PAnsiChar)分配内存, 最佳选择是: StrAlloc.StrAlloc 虽然最终也是调用了 GetMem, 但 StrAlloc 会在指针前面添加 Delphi 需要的 4 个管理字节(记录长度).StrAlloc 分配的内 阅读全文
posted @ 2017-03-31 09:54 h2z 阅读(683) 评论(0) 推荐(0) 编辑
摘要:本例效果图: 阅读全文
posted @ 2017-03-31 09:53 h2z 阅读(497) 评论(0) 推荐(0) 编辑
摘要:本例在建立一个新的堆前后分别通过 GetProcessHeaps 函数获取了当前进程的堆句柄列表, 没想到一个最简单的程序也有 5 个堆. 效果图: 阅读全文
posted @ 2017-03-31 09:52 h2z 阅读(2030) 评论(0) 推荐(0) 编辑
摘要:一个使用私有堆的例子: 阅读全文
posted @ 2017-03-31 09:51 h2z 阅读(491) 评论(0) 推荐(0) 编辑
摘要:VirtualAlloc 分配的内存是以 4K 为最小单位、连续的内存地址(但映射到真实的内存时它不一定是连续的), 前面说了, 它不适合分配小内存(譬如只有几个字节的变量); 局部的变量在 "栈" 中有程序自动管理, 那么那些全局的小变量怎么办呢? 这就要用到 "堆".这样看来, VirtualA 阅读全文
posted @ 2017-03-31 09:50 h2z 阅读(433) 评论(0) 推荐(0) 编辑
摘要:系统给程序的地址数是 4G, 为什么不是 3G 或 5G? 因为 32 位的指针的最大值就是 $FFFFFFFF, 它不能表示更多了, 究其根源这要回到 CPU 的寻址能力、地址总线等等.在 Win64 下, 系统给程序的地址数达到了 16EB(0 - $FFFFFFFFFFFFFFFF), 也就是 阅读全文
posted @ 2017-03-31 09:48 h2z 阅读(264) 评论(0) 推荐(0) 编辑
摘要:Windows 是多任务的操作系统, 一个任务就是一个应用(应用程序)、一个应用占一个进程; 在一个进程里面, 又可以运行多个线程(所以就有了很多"多线程编程"的话题). 对 Win32 来讲, 系统给每个进程 4GB 的地址空间:低端 2GB($00000000 - $7FFFFFFF) 给用户支 阅读全文
posted @ 2017-03-31 09:47 h2z 阅读(282) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.cnblogs.com/pchmonster/archive/2012/07/06/2579185.html 基本绘图操作(Basic Drawing Operations) 现在大家已经知道Rectangle方法用来画正方形和矩形,Ellipse方法用来画圆和椭圆,Mo 阅读全文
posted @ 2017-03-24 16:38 h2z 阅读(330) 评论(0) 推荐(0) 编辑
摘要:Record 和Packed Record 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐,而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对结构体中的字段访问会比第一种方式慢!但是更节约空间。有Packed 的占用内存小,但是速度慢一点。没 阅读全文
posted @ 2017-03-17 11:28 h2z 阅读(1407) 评论(0) 推荐(0) 编辑
摘要:Delphi中DLL的创建和使用 1.DLL简介; 2.调用DLL; 3.创建DLL; 4.两个技巧; 5.初始化; 6.例外处理。 1、DLL简介 DLL是Dynamic-Link Libraries(动态链接库)的缩写,库里面是一些可执行的模块以及资源(如位图、图标等)。可以认为DLL和EXE基 阅读全文
posted @ 2017-03-16 10:50 h2z 阅读(461) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.csdn.net/maozefa/article/details/7188354 本文对已发布《Delphi图像处理》系列文章进行索引链接,以方便阅读和查找。 《Delphi图像处理 -- 数据类型及公用过程》。提供GDI+位图TGpBitmap和VCL位图TBitma 阅读全文
posted @ 2017-03-09 11:17 h2z 阅读(395) 评论(0) 推荐(0) 编辑
摘要:无论是用何种语言,只要使用过Windows的GDI+的人对ColorMatrix都不陌生,我的BLOG文章中也多次提到过,并在《GDI+ for VCL基础 -- 颜色调整矩阵ColorMatrix详解》一文中对其功能作了较为详细的讲解,虽然自认对ColorMatrix使用已经相当熟练,但对其原理也 阅读全文
posted @ 2017-03-09 11:12 h2z 阅读(501) 评论(0) 推荐(0) 编辑
摘要:转载自阿发伯:http://blog.csdn.net/maozefa/article/details/8316430 阅读提示: 《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。 《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。 尽可能保 阅读全文
posted @ 2017-03-09 11:07 h2z 阅读(1233) 评论(0) 推荐(0) 编辑
摘要:了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作、运用和动态、静态编译的工作方式。对初学DELPHI但仍对DELPHI开发不甚清晰的朋友有一定帮助。第一部分:有关包的介绍 一般我们编写编译一个DELPHI应用程序时,会产生一个EXE文件,也就是一个独立的WINDOWS应用程序。很 阅读全文
posted @ 2017-03-08 11:47 h2z 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:滚动条组件(TScrollBar)此组件是一个Windows滚动条,用于滚动窗口、组件内容。许多控制有滚动条属性,它们把滚动条作为自己的一部分,对于没有完整滚动条的控制,TScrollBar组件提供了一个附加的功能,运用它可以使某些控制的内容易于操作。 1、TScrollBar组件的典型用法一般情况 阅读全文
posted @ 2017-03-02 15:23 h2z 阅读(2149) 评论(0) 推荐(0) 编辑
摘要:procedure WMSetFocus (var Message: TWMSetFocus); message WM_SETFOCUS; //获得焦点 procedure WMKillFocus (var Message: TWMKillFocus); message WM_KILLFOCUS; 阅读全文
posted @ 2017-02-10 16:14 h2z 阅读(1431) 评论(0) 推荐(0) 编辑
摘要://标准语法 TMyClass1 = class(TObject) end; //如果是继承自 TObject 可以省略 TMyClass2 = class end; //可以实现多个接口; 实现接口时经常用到 TInterfacedObject 类, 它实现了接口的默认方法 TMyClass3 = 阅读全文
posted @ 2017-01-06 16:04 h2z 阅读(329) 评论(0) 推荐(0) 编辑
摘要:procedure TBitmapSurface.StretchFrom(const Source: TBitmapSurface; const NewWidth, NewHeight: Integer; APixelFormat: TPixelFormat = TPixelFormat.None) 阅读全文
posted @ 2017-01-03 17:45 h2z 阅读(413) 评论(0) 推荐(0) 编辑