Delphi
dw.z
学习,训练,学习,训练!
展开
-
Delphi StrUtils 单元,字符串处理的一些使用
Delphi StrUtils 单元 字符串处理原创 2024-07-01 23:25:14 · 223 阅读 · 0 评论 -
Delphi 11 dbExpress 连接 MySQL 5.7.44
DBX Error: Driver could not be properly initialized.原创 2024-03-23 16:12:54 · 232 阅读 · 0 评论 -
Delphi ^ 符号的特殊用法
Delphi ^ 符号的特殊用法原创 2023-07-13 09:28:38 · 374 阅读 · 0 评论 -
Delphi警告提示:security alert 的一种解决方案
Delphi警告提示:security alert 的一种解决方案原创 2023-07-12 16:33:06 · 708 阅读 · 0 评论 -
delphi 通过控件的handle或控件名称取得控件
delphi 通过控件的handle取得控件Posted on2013-09-17 17:21╰★张志峰★╮ 阅读(1397) 评论(0)编辑收藏举报例子代码如下:vartsg:TstringGrid;begintsg:=Tstringgrid(FindControl(handle));//正常使用TstringGrid//tsg.......//....end...原创 2021-06-14 00:05:54 · 1221 阅读 · 0 评论 -
Delphi 整理记录
数组填充,清0FillMemoryorfillchar,填充FillChar(buffer,SizeOf(buffer),#0)FillMemory(@buffer,SizeOf(buffer),0)原创 2020-09-12 13:05:28 · 135 阅读 · 0 评论 -
动态创建控件的释放,有父对象时释放后子控件必然会释放
如果一个控件有父对象 当父释放时候 子也必然会释放。动态创建1个TPanel 在TPanel上创建其他子控件后,释放时只要FreeAndNil TPanel 就会释放掉子控件,但是指针非 nil 需要注意。原创 2020-09-02 17:44:05 · 346 阅读 · 0 评论 -
实现 Combobox 显示内容与值不同
使用Combobox提供的AddItem的方法:procedure AddItem(Item: String; AObject: TObject);Item:添加项的字符串值。AObject:关联的对象。AddItem 方法添加项目同时与AObject对象进行关联,并可以读取、修改被关联对象。就实现了显示内容与值的不同了。procedure TForm1.FormCreate(Sender: TObject);var eStrs: TStrings; i: Integer;be..原创 2020-06-18 20:41:52 · 1334 阅读 · 0 评论 -
Delphi 操作ini文件
一.INI文件的结构[小节名]ini文件 关键字1=值1 关键子2=值2INI文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示。二、定义1、在 Interface 的 Uses 增加 IniFiles;2、在Var变量定义部分增加一行: minifile:Tinifile;定义类的一个实例。然后,就可以对变量 mi...原创 2020-06-18 19:56:47 · 558 阅读 · 0 评论 -
delphi 获取文件所在路径、文件名、扩展名等
SysUtilsExtractFileDrive:返回完整文件名中的驱动器,如"C:"ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:/test/"ExtractFileDir:返回完整文件名中的路径,最后不带“/”,如"C:/test"ExtractFileName:返回完整文件名中的文件名称(带扩展名),如"test.txt"ExtractFileExt:返回完整文件名中的文件扩展名(带.),如".txt"ExpandUNCFil...原创 2020-06-18 18:01:30 · 2037 阅读 · 0 评论 -
_IMAGE_SECTION_HEADER
typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union { DWORD PhysicalAddress;//不用关心,始终是NULL DWORD VirtualSize; //指出实际的、被使用的区块的大小(也就是区块的数据没有对齐处理的实际大小)16H个 } Misc; DWORD VirtualAddress...转载 2020-06-17 17:46:44 · 424 阅读 · 0 评论 -
PE文件结构详解(六)重定位
前面两篇PE文件结构详解(四)PE导入表和PE文件结构详解(五)延迟导入表介绍了PE文件中比较常用的两种导入方式,不知道大家有没有注意到,在调用导入函数时系统生成的代码是像下面这样的:在这里,IE的iexplorer.exe导入了Kernel32.dll的GetCommandLineA函数,可以看到这是个间接call,00401004这个地址的内存里保存了目的地址,根据图中显示的符号信息可知,00401004这个地址是存在于iexplorer.exe模块中的,实际上也就是一项IAT的地址。这...转载 2020-06-17 17:13:17 · 186 阅读 · 0 评论 -
PE文件结构详解(五)延迟导入表
PE文件结构详解(四)PE导入表讲了一般的PE导入表,这次我们来看一下另外一种导入表:延迟导入(Delay Import)。看名字就知道,这种导入机制导入其他DLL的时机比较“迟”,为什么要迟呢?因为有些导入函数可能使用的频率比较低,或者在某些特定的场合才会用到,而有些函数可能要在程序运行一段时间后才会用到,这些函数可以等到他实际使用的时候再去加载对应的DLL,而没必要再程序一装载就初始化好。这个机制听起来很诱人,因为他可以加快启动速度,我们应该如何利用这项机制呢?VC有一个选项,可以让我们很方便的使.转载 2020-06-17 17:12:20 · 203 阅读 · 0 评论 -
PE文件结构详解(四)PE导入表
PE文件结构详解(二)可执行文件头的最后展示了一个数组,PE文件结构详解(三)PE导出表中解释了其中第一项的格式,本篇文章来揭示这个数组中的第二项:IMAGE_DIRECTORY_ENTRY_IMPORT,即导入表。也许大家注意到过,在IMAGE_DATA_DIRECTORY中,有几项的名字都和导入表有关系,其中包括:IMAGE_DIRECTORY_ENTRY_IMPORT,IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT,IMAGE_DIRECTORY_ENTRY_IAT和IMAG转载 2020-06-17 17:10:28 · 434 阅读 · 0 评论 -
PE文件结构详解(三)PE导出表
上篇文章PE文件结构详解(二)可执行文件头的结尾出现了一个大数组,这个数组中的每一项都是一个特定的结构,通过函数获取数组中的项可以用RtlImageDirectoryEntryToData函数,DataDirectory中的每一项都可以用这个函数获取,函数原型如下:PVOID NTAPI RtlImageDirectoryEntryToData(PVOID Base, BOOLEAN MappedAsImage, USHORT Directory, PULONG Size);Base:模块基地址..转载 2020-06-17 17:08:08 · 370 阅读 · 0 评论 -
PE文件结构详解(二)可执行文件头
在PE文件结构详解(一)基本概念里,解释了一些PE文件的一些基本概念,从这篇开始,将详细讲解PE文件中的重要结构。了解一个文件的格式,最应该首先了解的就是这个文件的文件头的含义,因为几乎所有的文件格式,重要的信息都包含在头部,顺着头部的信息,可以引导系统解析整个文件。所以,我们先来认识一下PE文件的头部格式。还记得上篇里的那个图吗?DOS头和NT头就是PE文件中两个重要的文件头。一、DOS头DOS头的作用是兼容MS-DOS操作系统中的可执行文件,对于32位PE文件来说,DOS所起的作用就是转载 2020-06-17 17:04:26 · 342 阅读 · 0 评论 -
PE文件结构详解(一)基本概念
PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。那Windows是怎么区分可执行文件和非可执行文件的呢?我们调用LoadLibrary传递了一个文件名,系统是如何判断这个文件是一个合法的动态库呢?这就涉及到PE文件结构了。PE文件的结构一般来说如下图所示:从起始位置开始依次是DOS头,NT头,节表以及具体的节。DOS头是用来兼容MS-DOS操作系统的,目的转载 2020-06-17 17:01:20 · 152 阅读 · 0 评论 -
CreateFile,ReadFile,WriteFile,GetFileSize,SetFilePointer
CreateFile 跟 fopen 不同,打开文件时不区分 文本方式 或 二进制 方式ReadFile 或 WriteFile 都是对二进制数据进行操作HANDLE WINAPI CreateFile( __in LPCTSTR lpFileName, // 文件路径 __in DWORD dwDesiredAccess, // 访问权限,GENERIC_READ | GENERIC_WRITE __in .原创 2020-06-17 16:19:36 · 795 阅读 · 0 评论 -
Delphi 集合和字符串互转
type TCommType = (cEm, cDm, cMd); TCommTypeCon = class public class function CommToStr(nComm: TCommType): string; class function StrToComm(const nStrComm: string): TCommType; end;implementationclass function TCommTypeCon.CommToStr(...原创 2020-06-16 12:36:03 · 611 阅读 · 0 评论 -
Delphi ADOQuery 的一些操作
Prepared用来确定ADOquery是否要准备好了再查询,如设为true,则系统会先编译后再运行,在多次重复使用某一查询的情况下能有效提升运行速度,但对于只执行一次的查询反面会导致速度下降(编译会消耗时间):adoquery.sql.text:='select * from table1'adoquery.prepared:=true;while condition doadoquery.open;end;ADOQuery.Prepared属性的True/False与ADOQuery.P.原创 2020-06-07 11:44:23 · 2097 阅读 · 0 评论 -
Delphi文件路径获取及其相关函数示例
Delphi文件路径获取及其相关函数示例Application.ExeName 就是调用的ParamStr(0)ParamStr(0) :C:\test1\test2\ test.exeExtractFileDir(ParamStr(0)) C:\test1\test2ExtractFileDrive(ParamStr(0))C:ExtractFileExt(ParamStr(0)).exeExtractFile...原创 2020-06-04 23:39:29 · 241 阅读 · 0 评论 -
GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (5)
字符:[唷] GB2312:[0xE0,0xA1] UNICODE:[0x37,0x55] UTF8:[0xE5,0x94,0xB7]字符:[啖] GB2312:[0xE0,0xA2] UNICODE:[0x56,0x55] UTF8:[0xE5,0x95,0x96]字符:[啵] GB2312:[0xE0,0xA3] UNICODE:[0x75,0x55] UTF8:[0xE5,0x95,0xB5]字符:[啶] GB2312:[0xE0,0xA4] UNICODE:[0x76,0x55] UTF8:[原创 2020-05-27 18:58:39 · 13108 阅读 · 0 评论 -
GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (4)
字符:[小] GB2312:[0xD0,0xA1] UNICODE:[0x0F,0x5C] UTF8:[0xE5,0xB0,0x8F]字符:[孝] GB2312:[0xD0,0xA2] UNICODE:[0x5D,0x5B] UTF8:[0xE5,0xAD,0x9D]字符:[校] GB2312:[0xD0,0xA3] UNICODE:[0x21,0x68] UTF8:[0xE6,0xA0,0xA1]字符:[肖] GB2312:[0xD0,0xA4] UNICODE:[0x96,0x80] UTF8:[原创 2020-05-27 18:57:36 · 1956 阅读 · 0 评论 -
GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (3)
字符:[馈] GB2312:[0xC0,0xA1] UNICODE:[0x88,0x99] UTF8:[0xE9,0xA6,0x88]字符:[愧] GB2312:[0xC0,0xA2] UNICODE:[0x27,0x61] UTF8:[0xE6,0x84,0xA7]字符:[溃] GB2312:[0xC0,0xA3] UNICODE:[0x83,0x6E] UTF8:[0xE6,0xBA,0x83]字符:[坤] GB2312:[0xC0,0xA4] UNICODE:[0x64,0x57] UTF8:[原创 2020-05-27 18:56:20 · 2400 阅读 · 0 评论 -
GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (2)
字符:[啊] GB2312:[0xB0,0xA1] UNICODE:[0x4A,0x55] UTF8:[0xE5,0x95,0x8A]字符:[阿] GB2312:[0xB0,0xA2] UNICODE:[0x3F,0x96] UTF8:[0xE9,0x98,0xBF]字符:[埃] GB2312:[0xB0,0xA3] UNICODE:[0xC3,0x57] UTF8:[0xE5,0x9F,0x83]字符:[挨] GB2312:[0xB0,0xA4] UNICODE:[0x28,0x63] UTF8:[原创 2020-05-27 18:53:54 · 2899 阅读 · 0 评论 -
GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (1)
字符:[ ] GB2312:[0xA1,0xA1] UNICODE:[0x00,0x30] UTF8:[0xE3,0x80,0x80]字符:[、] GB2312:[0xA1,0xA2] UNICODE:[0x01,0x30] UTF8:[0xE3,0x80,0x81]字符:[。] GB2312:[0xA1,0xA3] UNICODE:[0x02,0x30] UTF8:[0xE3,0x80,0x82]字符:[·] GB2312:[0xA1,0xA4] UNICODE:[0xB7,0x00] UTF8:[原创 2020-05-27 18:50:49 · 3158 阅读 · 0 评论 -
Delphi 数据类型转换函数
Delphi 数据类型转换函数DateTimeToFileDate 将DELPHI的日期格式转换为DOS的日期格式 DateTimeToStr 将日期时间格式转换为字符串 DateTimeToString 将日期时间格式转换为字符串 DateToStr 将日期格式转换为字符串 TimeToStr 将时间格式转换为字符串 FileDateToDateTime 将DOS的日期格式转换为DELPHI的日期格式 FloatToDecimal 将.原创 2020-05-27 16:54:24 · 297 阅读 · 0 评论 -
Delphi TClientSocket组件、TserverSocket组件
Delphi是一种功能强大的面向对象的编程语言,在网络方面,它将windows API封装成许多组件,大大简化了编程的复杂程度。对于一些比较简单的程序,利用Delphi中的一些网络组件,可以轻松地解决问题。下面将说明TClientSocket组件、TserverSocket组件。一.TClientSocket组件TClientSocket组件主要作为客户端的套接字使用。它封装了客户...转载 2020-05-07 12:19:01 · 596 阅读 · 0 评论 -
Delphi 常用消息
开始屏保PostMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);原创 2020-05-05 00:25:08 · 198 阅读 · 0 评论 -
Delphi 在任务栏隐藏程序图标
procedure TForm1.FormShow(Sender: TObject);begin ShowWindow(Application.handle,SW_HIDE);end;sw_hide 隐藏窗口,激活另一个窗口sw_maximize 将指定的窗口最大化sw_minimize 将指定的窗口最小化sw_restore 还原指定的窗口sw_show 以当前...原创 2020-05-04 21:57:02 · 783 阅读 · 0 评论