Delphi摘要
文章平均质量分 68
senfore
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
非模式窗体中的可编辑控件无法响应LEFT、RIGHT、UP、DOWN、HOME、END、CTRL+V等按键的解决办法!
非模式窗体中的可编辑控件无法响应LEFT、RIGHT、UP、DOWN、HOME、END、CTRL+V等按键的解决办法! 非模式窗体由于没有自己的消息循环,造成无法响应以上按键事件,后来使用向非模式窗体添加TApplicationEvent控件解决问题。 procedure TDlgFindFile.aplctnvntsMessage(var Msg: tagMSG; var原创 2009-02-09 18:06:00 · 450 阅读 · 0 评论 -
Delphi 正则表达式语法(10): 选项
// preCaseLess: 不区分大小写, 相当于其他语言中的 ivar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := abc ABC aBc; reg.RegEx := abc; reg.Replacement := ◆; reg.Op转载 2008-03-07 04:11:00 · 501 阅读 · 0 评论 -
Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
//准备: 我们先写一个搜索所有英文单词的表达式var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := one two three four five six seven eight nine ten; reg.RegEx := /b[A-Za-z]+/b; //这个表达式就可以找到所有的英转载 2008-03-07 04:09:00 · 414 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数
//字符串分割: Splitvar reg: TPerlRegEx; List: TStrings;begin List := TStringList.Create; reg := TPerlRegEx.Create(nil); reg.Subject := aaa,bbb,ccc,ddd; reg.RegEx := ,; {这里可是运行转载 2008-03-07 04:08:00 · 534 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(3): Start、Stop
//设定搜索范围: Start、Stopvar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := ababab; reg.RegEx := ab; reg.Replacement := ◆; reg.Start := 1; reg.Stop := 2; while reg.Matc转载 2008-03-07 04:04:00 · 311 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式
// MatchedExpression 与 SubExpressions[0]var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := CodeGear Delphi 2007; reg.RegEx := Delphi; while reg.Match转载 2008-03-07 04:03:00 · 399 阅读 · 0 评论 -
TPerlRegEx 正则表达式起步
在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.官方网站: http://www.regular-expressions.info/delphi.html直接下载: http://www.regular-expressions.info/download/TPerlRegEx.zip安装方法:1、先把解压的 TPerlRegEx 文件夹放一个合转载 2008-03-07 04:13:00 · 601 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数
// EscapeRegExChars 函数可以自动为特殊字符加转义符号 /var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := C++Builer; reg.RegEx := reg.EscapeRegExChars(C+) + {2}; {相当于 C/+{2}} reg.Re转载 2008-03-07 04:07:00 · 312 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(5): Compile、Study
// Compile、Studyvar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.RegEx := ab; reg.Options := [preCaseLess]; reg.Compile; {编译表达式} reg.Study; {Study 方法会检查是否编译, 如果转载 2008-03-07 04:06:00 · 338 阅读 · 0 评论 -
Pcre使用小记(一)
implementationuses Pcre;function textReplaceHtmlTagToPounc(const Atext:AnsiString):AnsiString;const SHtmlTagRegEx=&/w+;|&#/d+;;var tt:TStringList; i:Integer; Regex : IRegex;//声明正则类型 MatchCol原创 2008-03-07 02:43:00 · 759 阅读 · 0 评论 -
关于在DELPHI6中使用正则表达式的一些心得
转载地址:http://www.delphibbs.com/keylife/iblog_show.asp?xid=25712 一. 工具选择DELPHI6本身没有处理正则表达式的库,只能找第三方库。在选择方面,我的标准是:1. 不必向开发环境注册控件2. 接口简单3. 符合主流的perl式正则语法4. 专业,至少应该有个看上去专业的专门网站5. 免费目前符合以上标准, 比较好的RegEx类转载 2008-03-06 20:27:00 · 457 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
//查找是否存在var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := CodeGear Delphi 2007 for Win32; reg.RegEx := /d; if reg.Match then ShowMessage(找到了) else ShowMessage转载 2008-03-07 04:01:00 · 367 阅读 · 0 评论 -
Delphi 正则表达式之TPerlRegEx 类的属性与方法(4): Replace
// Replacevar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.RegEx := ab; reg.Replacement := ◆; reg.Subject := ababab; reg.ReplaceAll; ShowMessage(reg.Su转载 2008-03-07 04:05:00 · 297 阅读 · 0 评论 -
D2007下使用TEncoding类进行UNICODE、UTF8、UTF32格式转换?
源码下载地址:http://www.rayfile.com/files/1f6d6517-eed9-11dd-8bce-0019d11a795f/ 说明:参照Delphi2009的相关类,写了TEncoding类及继承类。重写了UTF16、UTF8、UTF32在Delphi2007下的字符处理方式,现在能进行这些格式的读写了。当然对于Delphi2007,读取UNICODE格式文字显示的时原创 2009-01-30 21:35:00 · 4895 阅读 · 1 评论 -
PCRE 7.7 for delphi
PCRE 7.7 for delphi (Renato Mancusos dpcre modification). http://delphipg.oranc.co.kr/node/181 ChangeLog for PCRE------------------Version 7.7 07-May-08---------------------1. Applied Craigs原创 2008-06-05 11:00:00 · 700 阅读 · 0 评论 -
在delphi中嵌入脚本语言--(译)RemObjects Pascal Script使用说明(1)(译)
在delphi中嵌入脚本语言--(译)RemObjects Pascal Script使用说明(1)(译)翻译这篇文章源於我的一个通用工资计算平台的想法,在工资的计算中,不可避免的需要使用到自定义公式,然而对於自定义公式的实现,我自己想了一些,也在网上搜索了很多,解决办法大致有以下几种:1. 自己写代码去解析公式。这种方法的缺点是,解析的代码很难实现,如果公式的功能比较完整,如增加条件判断或自转载 2008-05-01 09:59:00 · 2562 阅读 · 0 评论 -
快速查询PosEx与PosRightEx(原创)
快速查询PosEx与PosRightExhttp://blog.youkuaiyun.com/senfore 1.PosEx功能说明:实现正向增强查询,跟FastCodePosEx功能相同,不依赖fastCode;OffSet为偏移位置,通过测试,速度要比FastCodePosEx稍慢。function PosEx(const SubStr,S:AnsiString;const Offse原创 2008-04-27 13:24:00 · 1257 阅读 · 0 评论 -
Pcre使用小记(三)自定义替换
Pcre使用小记(三)自定义替换Pcre有个函数是function Replace(const Input : string;const Replacement : string):来实现替换功能,但是这个函数并不能完成我们所有的需求。我们都知道大多数情况下,使用Pcre匹配到的都是不定内容(如果你一定要它匹配某个字符,算我没说,那还不如直接使用Pos),对于匹配到的内容进行替换,当然可以使原创 2008-03-16 18:22:00 · 1387 阅读 · 0 评论 -
InsertionSort
procedure InsertionSort(var Menge: MengeIntegerTyp; Links, Rechts: INTEGER; )var Index, Einfuegeposition, Zwischenspeicher: INTEGER;begin for Index := Links + 1 to Rechts do begin Zwischenspeich转载 2008-03-14 20:02:00 · 323 阅读 · 0 评论 -
BubbleSort
Procedure BubbleSort( Var Data : IntArray; Count : integer; First : integer; Last : integer;转载 2008-03-14 20:01:00 · 318 阅读 · 0 评论 -
使用Qsort(QuickSort)实现快速排序
转载地址:http://www.codecodex.com/wiki/index.php?title=Quicksort示例一、procedure QuickSort(const AList: TStrings; const AStart, AEnd: Integer); procedure Swap(const AIdx1, AIdx2: Integer); var转载 2008-03-14 18:19:00 · 707 阅读 · 0 评论 -
答夜明的问#include 和 extern 的问题: #include 和 extern 根本是两回事
#include "xxxx.cpp "中XXX.cpp 已经可以看成和这个文件是一个文件了,而extern 是这样的: 偷个懒上图一看就明白了,实际上就VC6来说,ExE前面的名子是工程名字,可以参考你有的那本钱能的《C++实验指导》的79页,再看看就知道了。原创 2008-03-08 21:40:00 · 997 阅读 · 0 评论 -
Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
//匹配右边var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := Delphi 6; Delphi 7; Delphi 2007; Delphi Net; reg.RegEx := Delphi (?=2007); // ?= reg.Replacement := ◆; reg.R转载 2008-03-07 04:10:00 · 456 阅读 · 0 评论 -
使用 Windows XP 的外观风格
目录 简介 ComCtl32.dll 版本 6 外观风格任务 在未使用第三方扩展的应用程序中使用 ComCtl32.dll 版本 6 在使用扩展、插件或进程内运行的 DLL 的应用程序中使用 ComCtl32 版本 6 在控制面板中或在通过 RunDll32.exe 运行的 DLL 中使用 ComCtl32 版本 6转载 2008-03-04 22:31:00 · 776 阅读 · 0 评论 -
Delphi2007 hotfix.feb08.compiler
编译器更新,更新到11.0.2963.11001版本。hotfix.feb08.compilerftp://H2Field:R4D2007@bekins1.borland.com/原创 2008-02-26 15:41:00 · 290 阅读 · 0 评论 -
汉字编码问题
汉字编码问题 由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉字编码的种类 汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简转载 2008-02-24 16:30:00 · 297 阅读 · 0 评论 -
Delphi中调用系统文件属性对话框
uses shellapi;// Thanks to Peter Below (TeamB) for this codeprocedure PropertiesDialog(FileName: string);var sei: TShellExecuteInfo;begin FillChar(sei, SizeOf(sei), 0); sei.cbSize := SizeOf(sei);原创 2007-08-22 14:24:00 · 484 阅读 · 0 评论 -
比 FastPos 还要快 Pos 函数
相信字符串处理中用的最多的就是 Pos 函数了。但是如果要搜索一个字符串中第二次或者第三次出现的子字符串的,就没有现成的 DELPHI 标准函数了。所以我就自己写了一个。同时和网上比较流行的 FastStrings.SmartPos() 和 JVCL.NPos() 做了比较,速度更快,而且兼容 Unicode(WideString/WideChar)。注:代码可能有人会觉得不太舒服,但作为最常原创 2004-09-13 16:49:00 · 676 阅读 · 0 评论 -
2个不错的通配符比较函数
近日在和朋友讨论 MaskMatch 时偶得2个不错的算法。函数1 只支持*,?模糊匹配。速度比采用递归算法的快近2倍,比TMask方法快很多。函数2 完全支持正规表达式。速度于之前的相同。(不会正规表达式的朋友慎用) // ===========================// Funtion 1// ===========================// Check if原创 2004-09-13 16:48:00 · 531 阅读 · 0 评论 -
组件制作之二(一个简单组件的制作过程)
接下来要动手来做一个组件了,我想了一个计数器组件,功能方面是比较简单的,但这不是本章的重点,这一章的重点是说明一个组件的制作全过程。在其中可以学到很多组件制作的技巧,当然这些也是我从书上学得的。好了,开始制作吧: 这是一个可以计数的组件,为了简单,我以秒为单位,当开始时,他就从0开始增加,并显示出来,到3600时,它又回到0,如此循环。当然它也可以停止,暂停,继续。另外,他还有一个时间事件原创 2004-09-13 15:06:00 · 448 阅读 · 0 评论 -
格式化函数的用法
一。Format的用法Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要原创 2004-09-13 15:04:00 · 529 阅读 · 0 评论 -
Delphi的TWebBrowser编程综述
Delphi的TWebBrowser编程综述 <!--//--> Delphi3开始有了TWebBrowser构件,不过那时是以ActiveX控件的形式出现的,而且需要自己引入,在其后的4.0和5.0中,它就在封装好shdocvw.dll之后作为Internet构件组之一出现在构件面板上了。常常听到有人骂Delphi转载 2008-02-25 22:29:00 · 269 阅读 · 0 评论 -
Delphi中正则表达式的应用(vbscript)
正则表达式是一个很有用的工具,处理字符串非常方便,Delphi本身没有提供对正则表达式的支持,但Windows系统提供了正则表达式的支持:vbscript.regexp 对象。Delphi可以直接创建这个OLE对象,然后就可以使用了。例如:var exp: OLEVariant;exp := CreateOleObject(vbscript.regexp);exp.IgnoreCas转载 2008-02-27 16:22:00 · 489 阅读 · 0 评论 -
Delphi正则表达式控件下载(VbScript、Pcre、TRegExpr、TPerlRegEx)(2008.12.29更新)
Delphi正则表达式控件下载(VbScript、Pcre、TRegExpr、TPerlRegEx)一、.Delphi 7 Wrapper for the Microsoft VBScript 5.5 RegExp Classes地址:http://www.renatomancuso.com/software/delphi_vbscript/delphi_vbscript.htm二、.PC原创 2008-02-27 16:19:00 · 1699 阅读 · 0 评论 -
指针的第二个数据的读取
Program a(input, output);varg : file of longint;buffer, buf : ^char;i, l : longint;f : file;r : word;{Procedure GetLongint(Var Buffer; ID : L转载 2008-02-27 15:21:00 · 285 阅读 · 0 评论 -
在Pascal语言下实现动态数组和大数组的讨论(三)
我在youkuaiyun.com的2000年合订本光盘上看到了这样的一段代码:作者是谁,我忘记了。{$R-} { TypetFlexArray = Array[1..1] of Integer;VarpFlexArray : ^tFlexArray;NumofElements,i : Integer;beginWrite(How many elements do you want in the Arra转载 2008-02-27 15:20:00 · 279 阅读 · 0 评论 -
在Pascal语言下实现动态数组和大数组的讨论(二)
访问元素的基本原理Segment := Seg(Buffer^);Offset := Ofs(Buffer^);......_Temp := Ptr(Segment, Offset + (_Index - 1) * AtomSize);Move(_Temp^, _Val, AtomSize);Get := @_Val;......而Segment和Offset的作用除了可以减少调用函数的时间之外,转载 2008-02-27 15:19:00 · 393 阅读 · 0 评论 -
在Pascal语言下实现动态数组和大数组的讨论(一)
在Pascal语言下实现动态数组和大数组的讨论关键:指针的操作Tips : 关于强制类型转换 有的时候,Pascal语言提供的强制类型转换的功能不是那么好用, 因为有的类型无法强制类型转换,至少编译器这么认为。 这里提供一个强制类型转换的方法,虽然说不是万能的, 但是要比原先编译器提供的功能要强多了。 使用(@F)^的方法可以让Tur转载 2008-02-27 15:18:00 · 365 阅读 · 0 评论 -
浅谈Object Pascal的指针
浅谈Object Pascal的指针 C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的 Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。转载 2008-02-27 15:16:00 · 225 阅读 · 0 评论 -
Delphi使用命令行编译项目
Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多、工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间。其实,在一个工程开发结束,调试完成之后的Release编译,完全可以用命令行来执行,因为Delphi的编译器参数不像C++编译器那样复杂。 笔者把Delphi联机手册中关于命令行编译(command-line compil转载 2008-02-27 15:15:00 · 485 阅读 · 0 评论
分享