随笔分类 -  Delphi学习

摘要:// 下面的GetProcessNameById函数如下uses TLhelp32;function GetProcessNameById(const AID: Integer): String;var h:thandle; f:boolean; lppe:tprocessentry32;begin 阅读全文
posted @ 2023-05-30 14:10 lucken 阅读(196) 评论(0) 推荐(0)
摘要:IdHTTPServer开发https服务器 该篇经验同样适用于DATASNAP和UNIGUI,因为它们都基于INDY10。 1)需要TIdServerIOHandlerSSLOpenSSL控件 2)设置属性 3)OPENSSL生成自签名证书 X.509证书包含三个文件:key,csr,crt。 k 阅读全文
posted @ 2023-05-23 16:04 lucken 阅读(384) 评论(0) 推荐(0)
摘要:web api和rest api的区别 DELPHI似乎很少讲WEB API,讲得多的是REST API,其实REST API是WEB API的一个子集。DELPHI完全可以开发WEB API。 相比DELPHI,PHP,.NET 喜爱用WEB API名词。 什么是web api?通讯:HTTP请求 阅读全文
posted @ 2023-05-23 16:02 lucken 阅读(130) 评论(0) 推荐(0)
摘要:方法的更多信息是指: 方法类型、返回值、参数等. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type 阅读全文
posted @ 2023-05-23 15:37 lucken 阅读(55) 评论(0) 推荐(0)
摘要:对于一些小文件,用普通的文件流就可以很好的解决,可是对于超大文件,比如2G或者更多,文件流就不行了,所以要使用API的内存映射的相关方法,即使是内存映射,也不能一次映射全部文件的大小,所以必须采取分块映射,每次处理一小部分。 先来看几个函数 CreateFile :打开文件 GetFileSize 阅读全文
posted @ 2023-05-23 15:15 lucken 阅读(142) 评论(0) 推荐(0)
摘要:现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了。 // 标准模板 unit UntPools; interface uses Classes, SysUtils, UntThreadTimer; type { 这是一个对像池, 可以池化所有 TObject 对像 } { 用法: 在一个 阅读全文
posted @ 2023-05-23 15:11 lucken 阅读(45) 评论(0) 推荐(0)
摘要:全局对象在什么时候创建也是有讲究的,如果在调用之前尚未创建肯定会报错。 那么下面通过调用函数间接调用全局对象的方法就不会有任何问题了。 varFUserInfo: TUserInfo = nil; function UserInfo: TUserInfo;beginif not Assigned(F 阅读全文
posted @ 2023-05-23 15:03 lucken 阅读(46) 评论(0) 推荐(0)
摘要:如果DelimitedText的字符串中有空格,TStringList遇到空格会进行自动换行,而这显然不是我们想要的结果。经测试发现D7~D10.2.2都是这样的,然而这却不是TStringList的BUG。解决这个问题的方法需要修改classes.pas的源码。procedure TStrings 阅读全文
posted @ 2023-05-23 14:57 lucken 阅读(90) 评论(0) 推荐(0)
摘要:本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879 作者:苏生米沿 一、首先找到这个可执行文件,熟悉delphi的人应该很容易就找到,打开你安装delphi的目录,如我的路径C:\Program Files\Delphi 阅读全文
posted @ 2023-05-19 13:51 lucken 阅读(328) 评论(0) 推荐(0)
摘要://声明: ExtractIcon( hInst: HINST; {调用函数的程序实例} lpszExeFileName: PChar; {文件路径; 文件可以是 *.exe、*.dll、*.ico} nIconIndex: UINT {图标索引} ): HICON; {返回图标句柄; 索引为 0 阅读全文
posted @ 2023-05-18 17:24 lucken 阅读(307) 评论(0) 推荐(0)
摘要:本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用.第一步: 建一个 DLL 工程, 如图:然后保存, 我这里使用的名称都是默认的.第二步: 建一个资源原文件, 如图:编辑内容如下(路径中的文件一定要存在):img1 BITMAP "c:\temp\test.bmp"然后, 取 阅读全文
posted @ 2023-05-18 17:22 lucken 阅读(97) 评论(0) 推荐(0)
摘要://rc 文件: StringTable begin 0 "AAAA" 1 "BBBB" 2 "CCCC" 3 "DDDD" end //也可以这样写: StringTable begin 0,"AAAA" 1,"BBBB" 2,"CCCC" 3,"DDDD" end //还可以这样写: Strin 阅读全文
posted @ 2023-05-18 17:20 lucken 阅读(36) 评论(0) 推荐(0)
摘要:首先编辑 rc 文件如下(假定图片文件放在程序目录下的 img 文件夹下):1 BITMAP img\bmpFile1.bmp2 BITMAP img\bmpFile2.bmp或者:1,BITMAP,img\bmpFile1.bmp2,BITMAP,img\bmpFile2.bmp这次我们是给每个资 阅读全文
posted @ 2023-05-18 17:19 lucken 阅读(53) 评论(0) 推荐(0)
摘要://下面是 Windows 支持的资源格式: RT_CURSOR = MakeIntResource(1); RT_BITMAP = MakeIntResource(2); RT_ICON = MakeIntResource(3); RT_MENU = MakeIntResource(4); RT_ 阅读全文
posted @ 2023-05-18 17:14 lucken 阅读(44) 评论(0) 推荐(0)
摘要:delphi Format格式化函数 Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明: function Format(const Format: string; const Args: array of 阅读全文
posted @ 2023-05-17 11:21 lucken 阅读(88) 评论(0) 推荐(0)
摘要://把文字输出到屏幕 procedure TForm1.Button1Click(Sender: TObject); var cvs: TCanvas; Rect: TRect; Str: string; begin cvs := TCanvas.Create; cvs.Handle := GetD 阅读全文
posted @ 2023-05-16 13:30 lucken 阅读(55) 评论(0) 推荐(0)
摘要:通过TObject.GetInterface可以获得对象的实例实现某个接口,前提条件是必须实例化对象后才能运行GetInterface 下面的方法可获取类是否实现了某个接口,并返回接口的偏移: function FindInterface(AClass: TClass; GUID:TGUID; va 阅读全文
posted @ 2023-05-13 16:58 lucken 阅读(174) 评论(0) 推荐(0)
摘要://声明: SetLayeredWindowAttributes( Hwnd: THandle; {窗口句柄} crKey: COLORREF; {透明色} bAlpha: Byte; {Alpha 值} dwFlags: DWORD {LWA_COLORKEY(=1)表示使用透明色; LWA_AL 阅读全文
posted @ 2023-05-13 15:09 lucken 阅读(784) 评论(0) 推荐(0)
摘要:GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口;GetForegroundWindow 是获取当前系统中被激活的窗口.两个函数的级别不一样, 一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口). 阅读全文
posted @ 2023-05-13 15:08 lucken 阅读(206) 评论(0) 推荐(0)
摘要:DLL 文件: library MyHook; uses SysUtils, Windows, Messages, Classes; {$R *.res} const WM_MyMessage = WM_USER + 1; {自定义消息} var hook: HHOOK; info: string; 阅读全文
posted @ 2023-05-13 15:05 lucken 阅读(46) 评论(0) 推荐(0)