1、Delphi正则表达式学习
Delphi正则表达式学习,参考CSDN万一老师的BLOG、CSDN、网络资料以及带源码的TPerlRegEx,在此注明,以后不再说明,在些感谢Google老师和百度老师
安装:
下载地址:http://download.csdn.net/source/1668436
1、安装.dpk文件,在Libary中添加TPerlRegEx单元存放路径
2、运行程序前复制pcrelib.dll到C:\WINDOWS下
小试:
procedure TForm1.FormCreate(Sender: TObject);
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create(nil); //建立
reg.Subject := 'GoodBoy is You!'; //这是要替换的源字符串
reg.RegEx := 'You'; //这是表达式, 在这里是准备替换掉的子串
reg.Replacement := 'Me'; //要替换成的新串
reg.ReplaceAll; //执行全部替换
ShowMessage(reg.Subject); //返回替换结果: GoodBoy is Me
FreeAndNil(reg); //或 reg.Free
end;
//License Version 1.1
//Delphi 7.0
procedure TForm1.btn1Click(Sender: TObject);
var
Reg : TPerlRegEx;
begin
Reg := TPerlRegEx.Create(nil);
with Reg do
begin
Subject := '我爱DELPHI, 但Delphi不爱我--Delphi!'; //目标字符串
RegEx := 'Delphi'; //要替换的字符串
Replacement := '它'; //替换后的字符串
Options := [preCaseLess]; //不区分大小写
ReplaceAll; //全部替换
ShowMessage(Subject);
FreeAndNil(Reg);
end;
//设置Options := [preCaseLess];中文也可以替换
end;
相关文档:
Delphi操作注册表步骤如下:
-------------------------------------
1)在Uses中添加Registry单元;
2)声明TRegistry对象;
3)创建TRegistry对象;
4)指定根键;
----------------try------------------
5)打开需要操作的主键;
6)读写操作;
7)保存并关闭主键;
--------------finally----------------
......
Delphi中实现文件拷贝的三种方法
1.调用API函数
procedure CopyFile(fromFileName,ToFileName:string);
var
f1,f2:file;
Begin
AssignFile(f1,fromFileName); file://指定源文件名
AssignFile(f2,ToFileName); file://指定目标文件名
Reset(f1);
Try
Rewrite(f2);
Try
If Lzcopy(TfileRec(f1).handle,TfileRe ......
Delphi拷贝目录(含子目录)的方法
要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下:
WINSHELLAPI int WINAPI SHFileOperation(
LPSHFILEOPSTRUCT lpFileOp
);
实例:
新建一个工程,其程序示例如下:
unit Unit1;
interface
uses
Windows, Messag ......
设有以下三个变量:
var
s:string;
p:pchar;
a:array[1..20] of char;
那么三者之间的转换如下:
1、字符串到PChar
p:=PChar(s);
2、PChar到字符串
s:=p;
3、PChar到字符数组
StrCopy(@a,p);
4、字符数组到PChar
......
delphi中Synchronize这个东东有什么用?我知道是线程同步使用的
是否是一个函数或变量,当一个线程在使用时,如果这个函数使用了Synchronize修钸的话就不允许别一个线程来调用这个函数
1楼:别的线程会等待该操作完成后才能继续
2楼:你说的基本是这个意思。它的目的是避免多个子线程同时访问主线程资源。
示例:
......