搜档网
当前位置:搜档网 › Delphi文件操作

Delphi文件操作

Delphi文件操作
Delphi文件操作

Delphi文件操作

变量的数据保存于内存中,随程序运行的结束而结束,若要使程序下次运行时能重复使用或给其他程序员使用,必须保存在文件中,Delphi存取文件的方式有4种,即传统的PASCAL方式、windows API文件句柄方式、VCL文件流方式、使用类方法方式。使用类方法方式比较简单,其他三种方式一般的步骤为:

(1) 声明文件类型变量;

(2) 给文件类型变量指定文件名;

(3) 通过文件类型变量打开并且读写文件,必要时进行文件定位;

(4) 关闭文件。

1、PASCAL方式访问文件

文件是由相同数据类型的数据元素组成的序列,文件可以分为三种类型:文本文件,类型文件,无类型文件。文本文件中每个数据元素就是一个字符,占有一个字节,并以回车换行符(#13#10)表示每行的结束;类型文件中每个数据元素的数据类型可以是整数、实型记录型等;无类型文件中每个数据元素是一个字节的二进制数。

文件和数组在形式上有些类似,但实质上有诸多不同,主要表现为以下三个方面:(1)数组的元素个数一般是固定的,而文件的长度一般是不定的、随即的;

(2)数组元素总是放于内存中,而文件往往存于外存中;

(3)数组以“数组名[下标]”的形式访问数组中的任意一个元素,而文件则需要通过文件变量来访问。

1)类型文件

例一、Button1按钮将记录数组XS[0..1]写入文件…Stu.dat?,Button2将…Stu.dat?读到记录变量X1,X2,然后用消息框输出。

TYPE Stu = Record

Xh:integer;

Xm:string[20];

END;

Procedure TForm1.Buttonclick(Sender:TObject);//记录数组写入文件

Const xs:array[0..1] of Stu=((Xh:=405;xm:='张三'),(xh:=406,xm:='李四'));

Var F:File of Stu;

begin

AssignFile(F,'Stu.dat');//关联文件

ReWrite(F);//打开方式(写)

Write(F,xs[0],xs[1]);//将数组写到文件

CloseFile(F);

end;

procedure TForm1.Button2Click(Sender: TObject);

Var

F:File of Stu;

x1,x2:Stu;

begin

AssignFile(F,'Stu.dat');

ReSet(F); //打开方式(读)

Read(F,x1,x2); //从文件中读到记录

CloseFile(F);//关闭F指定文件

showmessageFmt('%d,%s;%d,%s',[x1.xh,x1.xm,x2.xh,x2.xm]);

end;

2)文本文件

例二、Button3将EDIT1指定库名写入文件'DBN.txt',Button4将DBN.txt读到变量DBN,然后用消息框输出。

procedure TForm1.Button3Click(Sender: TObject);

Var

F:TextFile;

DBN:string;

begin

DBN:=edit1.text;

AssignFile(F,ExtractFilePath(Application.ExeName)+'DBN.txt');

Rewrite(F);

Writeln(F,DBN);//写入一行字符创到变量DBN

CloseFile(F);

end;

procedure TForm1.Button4Click(Sender: TObject);

Var

F:textfile;

DBN:string;

begin

AssignFile(F,ExtractFilePath(Application.ExeName)+'DBN.txt');

ReSet(F);

Readln(F,DBN);//读取一行字符创到变量DBN

CloseFile(F);

Showmessage(DBN);

end;

注意:有类型文件操作的函数一般有:read函数,write函数,EOF函数:判断文件是否结束;而文本文件除了这些函数之外还有readln函数:读取一行字符串,writeln函数:写一行字符串,EOLN:判断是否为文件行尾,Append函数,以追加方式打开文件。

3)无类型文件

通过文件数据块和写入数据块的过程原型说明如下:

procedure BlockRead(Var F :File;const buf;Count:integer[;var Result:integer]);

procedure BlockWrite(Var F :File;const buf;Count:integer[;var Result:integer]);

//参数BUF为要读取或写入的数据缓冲区,COUNT为读或写的数据块的数目;

//Result返回实际读或写如的数据;

//数据块的大小默认为128个字节,调用RESET和REWRITE可以设置参数指定读入或写入的字节个数;

读取位置定位的过程原型说明如下:

procedure seek(var F:file;N:Longint)

例三、Button5将缓冲区BUF中的数据写入无类型文件'abc.txt',Button5将'abc.txt'读到MEMO1,然后用消息框输出。

procedure TForm1.Button5Click(Sender: TObject);

var

F:file;//定义为无类型文件

n:integer;

BUF:array[0..127] of Char;

begin

AssignFile(F,'abc.txt');

ReWrite(F,16);//写方式且块的大小为16个字节;

FillChar(BUF,Sizeof(BUF),'A');//缓冲区BUF用A填充,共128个字节

BlockWrite(F,Buf,9,n); //写入9块,末尾16个字符为乱码

CloseFile(F); //写完文件后文件大小为9*16=144字节

Showmessage('写入的块的个数为:'+inttostr(n)); //输出为9,但有效的为8块*16=128个字节

end;

procedure TForm1.Button6Click(Sender: TObject);

Var

F:file;

n:integer;

BUF:array[0..127] of Char;

begin

AssignFile(F,'abc.txt');

Reset(F,16);

BlockRead(F,buf,10,n);/读取10块,实际9块

closefile(F);

Showmessage(inttostr(n));

Memo1.Lines.Add(buf); //有效字符8块,128个字符

end;

2、Windows API方式访问文件

使用WINDOW 提供的API函数通过句柄也可以访问文件,他们在DELPHI中的SysUnit 单元中的定义如下:

function FileCreate(const FileName:string;[;Rights:integer]):integer;//创建新文件并返回句柄;

function FileOpen(const File Name:string;Mode:LongWord):integer;//打开文件并返回句柄;

function FileRead(Handle:integer;VarBuf;Count:LongWord):integer;//从文件中读取数据;

function FileWrite(Handle:integer;const buf;Count:Longword):integer;//将数据写入文件;

function FileSeek(Handle:integer;const offsetLint64;origin:integer):int64;//读写位置的定位;

procedur FileClose(Handle:integer);//关闭Handle指定文件句柄相应的文件;

其中fileopen()函数MODE参数的大尅文件方式和共享文件方式常量如下:

FmCreate //用指定的文件名创建,若文件已经存在则打开FmOpenRead //只读方式打开,以下都在SYSUNITS中定义FmOpenWrite //只写方式打开

FmopenReadWrite //读写方式打开

FmShareCompact //DOS兼容模式不可抑制

FmshareExclusive //独占方式

FmShareDenyWrite //拒绝其他进程写

FmShareDenyRead //拒绝其他进程读,不支持所有平台

FmShareDenyNone //允许其他进程读或写

FileSeek()函数用于改变文件要读写的当前位置,OFFSET参数用于设置该变量,ORIGIN参数用于设置改变的相对位置,当ORIGIN为0时意味着OFFSET移动的字节数相对于文件头,为1时意味着相对于当前位置,为2时意味着OFFSET相对于文件尾,一般返回相对于文件头的心的当前位置,若返回-1表示发生异常。

例四、BUTTON7将MEMO1中文本写入文件'new.txt',button8将'new.txt'内容读到MEMO2中;

procedure TForm1.Button7Click(Sender: TObject);

var

Hnd,n:integer;

s:string;

Len,i:Longint;

begin

s:=Memo1.Text;

Len:=Length(s);

n:=1;

Hnd:=FileCreate('new.txt'); //创建文件'new.txt'并返回句柄

for i:=1 to len do FileWrite(Hnd,s[i],n); //用FOR循环调用FileWrite()函数每次写入N个字符,或FileWrite(Hnd,s[1],len);该方法可一次写入全部字符

FileClose(Hnd);

end;

procedure TForm1.Button8Click(Sender: TObject);

var

Hnd,n:integer;

i,len:LongWord;

buf:array[0..127] of Char;

begin

Hnd:=FileOpen('new.txt',fMopenRead ); //以只读方式打开文件,并返回该文件的句柄存于Hnd

len:=FileSeek(Hnd,0,2);//获取文件的长度(相对于文件尾);

i:=0;

Memo2.Clear ;

While i

begin

FileSeek(Hnd,i,0);//定位新读取的位置

n:=FileRead(Hnd,Buf,127); //每次读取127个字符

i:=i+n; //下次读取位置

if n<127 then BUF[n]:=#0;//最后一次读不足127个字符时设置串结束标志

Memo2.text:=memo2.Text+buf;//追加到MEMO2中

end;

end;

3、VCL流方式访问文件

在面向对象语言中文件的访问逐渐趋向使用数据流来实现,流不仅可以出来文件,还可以处理动态内存、网络数据等多种数据形式。

数据流(stream)是一组有顺序的、有起点和终点的字节集合,是对数据传输的总称(或抽象)。数据流有读写两个方向,由外设到内存为读,由内存到外设为写。每个数据流都有一个缓冲区以提高传输效率。

TStream类是所有流的基类,其中定义了所有流的共同属性和方法,其主要属性如下:(1)position:控制当前流中存取指针的位置;

(2)size:指定一次读写流数据的字节数;

在TSTREAM中定义的方法有两类:一类是虚方法,这些方法在其子类中通常被覆盖,以处理不同存储方式的数据,而在使用流时,则不必使用这些方法;另一类是静态方法,如COPyFORM,这些方法利用虚方法对流进行不同的操作。TSTREAM中定义的方法主要有以下几种:

(1) read :读取指定书目的字节到缓冲区,并自动控制流指针的位置,原型说明如下: function read(var:Buffer,Count:Longint):Longint:virtual;abstrcact;//读Count字节到BUFFER;

(2) Write:向流中写入数据,并自动控制流指针的位置,原型说明如下:

function Write(Const Buffer;Count:Longint):Longint;virtual;abstrat;//将OUNT字节写到BUFFER;

(3) SEEK 方法:将文件流指针安ORIGIN指定位置移到OFFSET指定的字节数,原型说明如下:

function seek(offset:Longint;origin:word):Longint;overload;virtual;//参数意义同API句柄方式;

(4) CopyFrom 方法:从Source流复制COUNT字节的数据到当前流,若COUNT=0;则表示复制所有数据,原型说明如下:

function CopyFrom(Source:Tstream;Count:int64):int64;

由于TSTREAM类的方法是虚方法,所有在其拍摄类中必须覆盖相应的方法,常用的派生类有如下几种;

(1) TFileStream:文件操作流,用于已知文件名的文件访问

(2) TStringStream 字符串流,用于内存字符串的操作

(3) TMemoryStream 内存流,用于管理内存的地址

(4) TBlobStream 块操作流面对BLOB类进行操作

(5) TWinSocketStream 用于以SOCKET方式连接的数据流的读写操作

(6) TOleStream 用于COM接口的读写操作

用TFileStream类进行文件存取要经过4个步骤:定义TFileStreanm类对象;创建类对象并指定文件名和打开方式;引用类方法进行文件操作;释放类对象。

例五、Button9将MEMO3内容读入'xx.txt',BUTTON10将…xx.txt?的内容读到MEMO4。procedure TForm1.Button9Click(Sender: TObject);

var

F:TFileStream;i:integer;s:string;

begin

F:=TFileStream.Create('xx.txt',fmCreate);//创建类对象

S:=memo3.Text;

for i:=1 to length(s) do F.Write(S[i],1);//memo3.lines.savetostream(F);直接将MEMO3的数据写入流中

F.free;

end;

procedure TForm1.Button10Click(Sender: TObject);

var

F:TFileStream;

len,i:integer;

n:LongInt;

Buf:array[0..127] of char;

begin

F:=TFileStream.Create('xx.txt',fmOpenRead);

//Meno4.lines.loadFromStrean(F);用类方法要简单很多

len:=F.Seek(0,2);

memo4.Clear ;

i:=0;

while i

begin

F.Seek(i,0);

n:=F.Read(Buf,127);

i:=i+n;

if n<127 then buf[n]:=#0;

Memo4.Text:=memo4.Text+buf;

end;

end;

用数据流和STRING类型直接实现

例六、BUTTON11将MEMO3内容读入'xx.txt',BUTTON12将…xx.txt?的内容读到MEMO4。procedure TForm1.Button11Click(Sender: TObject);

var

F:TFileStream;

S:string;

begin

F:=TFileStream.Create('xin.txt',fmCreate);

S:=memo3.Text;

F.Write(pointer(s)^,Length(s));

F.Free;

end;

procedure TForm1.Button12Click(Sender: TObject);

var

F:TFileStream;s:string;

begin

F:=TFileStream.Create('xin.txt',fmOpenRead);

SetString(s,nil,F.SIZE); //用HELP可以查看其功能,在此为设置变量S的长度为F.size

F.Read(pointer(s)^,F.size);

memo4.text:=s;

F.free;

end;

4、使用类方法访问文件

Delphi在与文件有关的类中都定义了存取文件的方法,使用这些方法可以简单地实现将类中数据保存到文件中或从文件中读取数据到类。根据调用参数的不同又分为两类,其实两者都是通过刘实现的。

(1)以字符串作为调用参数的文件存取:LoadFromFile()和SaveToFile(),原型说明如下:procedure LoadFromFile/SaveToFile(const FileName:string);//从FileName指定的文件中读取数据/讲类型写到FileName指定的文件中

(2) 以流作为调用参数的文件存取:LoadFromStream()和SaveToStream原型说明如下:

Procedure LoadFromStream/SaveToStream(Stream:TStream);

在TStrings、TGraphi 、TPicture类或派生类中都定义了以上四个方法,可方便地实现文件的存取,如TMEMO类中的LINES属性就定义了文件存取方法。

5、与文件目录相关的过程和函数

文件操作中除可用文件管理组件和通用对话框组件外,还可以使用标准过程和函数来获取或设置文件和目录有关的信息。

1)目录操作

(1) 获取当前目录GetDir(D:byte;var S:string);//读取D:当前目录到变量S中;

(2) 新建目录procedure MKDir(const s:sring);创建S指定目录

(3) 改变当前目录procedure ChDir(const s:string); 进入S指定目录

(4) 删除子目录procedure RmDir(const s:sring);删除S指定目录

2)与文件操作有关的过程和函数

function CetCurrentDir:string;//返回当前盘当前目录路径那个

function SetCurrentDir(const Dir:string):Boolean;//设置当前目录路径,成功返回TRUE function FileExists(const filename:string):Boolean;//判断文件是否存在

function DirectoryExists(const Directory:sring):Boolean;//判断目录是否存在

function CreateDir(const Dir:string):Boolean;//创建子目录

function ExtractFileDir(const filename:string):string;//从文件中提取路径名

function ReName(const oldName,NewName:string):Boolean;//文件改名

function DeleteFile(Const Filename:string):Boolean;//删除指定文件

function FileGetAttr(const filename:string):integer;//返回文件的属性

function DiskSize(Drive:Byte):int64;//返回指定盘的总容量

Delphi函数清单

[标准函数和过程] 首部 procedure Abort;$[SysUtils 功能引起放弃的意外处理。 说明不显示任何错误信息。 首部 function Abs(N: ): ;$[System 功能返回参数N的绝对值。 说明函数结果与参数有相同类型,参数可以是整型也可以是浮点型。 ## Abs(-12) = 12;Abs(-12.03) = 12.03 首部 procedure AddExitProc(Proc: TProcedure);$[SysUtils 功能将旧版本某一过程添加到当前版本运行的库的结束过程表中。 说明只能向下兼容,不能用在当前使用版本的 首部 function Addr(X): Pointer;$[System 功能返回指定对象的内存地址。 说明地址运算符 @ 可以产生与Addr相同的结果。 首部 procedure AddTerminateProc(TermProc: TTerminateProc);$[SysUtils 功能将一过程添加到运行时库的终止过程表中。 说明 Delphi 在程序结束时将终止该程序的全部进程,可以终止的进程都放在终止过程表中,程序通过结束终止过程表所有的进程来实现终止全部进程的目的。 首部 function AdjustLineBreaks(const S: string): string;$[SysUtils 功能将给定字符串的行分隔符调整为Cr/Lf序列。 说明 首部 function AllocMem(Size: Cardinal): Pointer;$[SysUtils 功能在堆栈上分配给定大小为 Size字节的块,即在内存里开辟Size 大小的空间。 说明 Cardinal 0..4294967295 32位无符号整数 首部 function AnsiCompareFileName(const S1, S2: string): Integer;$[SysUtils 功能比较两个文件名的大小。不区分大小写。 说明条件返回值 S1 > S2 | > 0 S1 < S2 | < 0 S1 = S2 | = 0 首部 function AnsiCompareStr(const S1, S2: string): Integer;$[SysUtils 功能比较两个字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiCompareText(const S1, S2: string): Integer;$[SysUtils 功能返回两个字符串是否相同的状态。不区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiExtractQuotedStr(var Src: PChar; Quote: Char):string;$[SysUtils 功能将引用字串转换成结束引语返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLastChar(const S: string): PChar;$[SysUtils 功能取参数S的最后一个字符,并转换成以null结束的字符串指针返回。 说明 ##AnsiLastChar(‘Sysoft’) = {‘t\0’}; 首部 function AnsiLowerCase(const S: string): string;$[SysUtils 功能将字符串S转换为小写返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLowerCaseFileName(const S: string): string;$[SysUtils 功能将文件名S转换成小写返回 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiPos(const Substr, S: string): Integer; $[SysUtils 功能返回子串Substr出现在主串S中的第一个位置。 说明 首部 function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils 功能返回引用字串的译文 说明 首部 function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils 功能比较两个指针字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。

delphi数学模块函数、过程大全

function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;

delphi自定义函数收集1

本文包含以下自定义函数: 1、Base64编码函数。 2、Base64解码函数。 3、截取汉字子串函数,防止出现半个汉字现象。 4、人民币小写转换为大写函数。 1、Base64编码函数。 //Base64编码函数 function Base64Encode(InputData: string): string; //; Var OutputData: String const Base64TableLength = 64; Base64Table: string[Base64TableLength] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+*'; Pad = '='; var i: integer; CurrentB, PrevB: byte; c: byte; s: char; InputLength: integer; OutputData: string; FilterDecodeInput: Boolean; function ValueToCharacter(value: byte; var character: char): Boolean; //****************************************************************** // 将一个在0..Base64TableLength-1区间内的值,转换为与Base64编码相对应 // 的字符来表示,如果转换成功则返回True //****************************************************************** begin result := true; if (value > Base64TableLength - 1) then result := false else character := Base64Table[value + 1]; end; begin FilterDecodeInput := true; OutputData := ''; InputLength := Length(InputData); i := 1;

DELPHI常用函数说明

一、数据类型转换函数1 在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。 1.FloatToStr 功能说明:该函数用于将“浮点型”转换成“字符型”。 参考实例: Edit1.Text := FloatToStr(1.981); 2.IntToStr 功能说明:该函数用于将“整数型”转换成“字符型”。 参考实例: S := IntToStr(10);(注:S为String类型变量。) 3.IntToHex 功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数1。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。 参考实例: Edit1.Text := IntToHex('100', 2);

执行结果,Edit1.Text等于64。 注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。 4.StrToInt 功能说明:该函数用于将“字符型”转换成“整数型”。 参考实例: I := StrToInt('100'); 注意:不能转换如StrToInt('ab')或StrToInt('好')这样的类型,因为他们并不存在数字型。 5.StrToFloat 功能说明:该函数用于将“字符型”转换成“浮点型”。 参考实例: N := StrToFloat(Edit1.Text); 注意:Edit1.Text中的内容为1.981(凡在Edit 控件中显示的文本均为字符串)。N为Double类型,用于保存转换后的浮点型数据。

Delphi函数大全

Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考 例子:= IsValidIdent; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToStr(Value: Integer): string; overload; $[ 首部function IntToStr(Value: Int64): string; overload; $[ 功能返回整数Value转换成字符串 说明Format('%d', [Value]) 参考function 例子:= IntToStr; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[ 首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[ 功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充 参考function 例子:= IntToHex, ; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToInt(const S: string): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时将引起异常 参考procedure 例子:= StrToInt; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToIntDef(const S: string; Default: Integer): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时则返回默认值Default 参考procedure 例子:= StrToIntDef, 0); ━━━━━━━━━━━━━━━━━━━━━ 首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[ 功能返回字符串S转换成整数V alue是否成功 说明字符串非整数表达时返回False并且Value将输出为0 参考procedure 例子 ..);打开失败则返回负数 参考function

DELPHI常用组件

Delphi常用组件的使用 目录 1.按钮类组件 1.1Button组件

Button组件位于Standard页。 Button组件的常用属性表 属性描述 Cation用于在按钮上显示文本内容 Cancel用来指定按钮是否为取消按钮 Default用于指定按钮是否为默认按钮,在按Enter键时也选中命令按钮Hint设置鼠标在组件上短暂停时在组件旁显示的提示小窗口的内容ShowHint确定是否显示提示文本,默认值是FALSE 1.2Bitbtn组件 Bitbtn组件(位图组件)位于Additional,与Button很相似,只是多了一个位图符号在按钮上(如带有对号的OK,问好的Help等),其某些属性与Button类似,下表为其独有的的特性。(注:此组件不需编写代码) Bitbtn组件的常用属性表 属性描述 Kind Kind属性的值就是位图按钮上显示的图标。Kind属性后的下拉列表中有一组默认图标的属性值,有bkCancel(取消)、bkAbort(终止)、bkAll(所有)、 bkClose(关闭)等。 Glyph用于在位图按钮上显示加载后的位图图形 NumGlyphs用于指明位图按钮所能使用位图的个数。在delphi中,最多允许向一个位图按钮提供4个图像文件,用于表示4中不停状态 Layout用于指出位图图形在位图组件上的放置位置 1.3SpeedButton组件 SpeedButton组件(加速按钮)位于Additional,常放置在Panel组件上,用于设计工具栏。它与Bitbtn相似,也可以显示图像和文本,但通常只用于显示图像。 SpeedButton组件的常用属性表 属性描述 AllowAllUp用于设置同一组的加速按钮是否具有同时弹起的状态。若设置为FALSE,则当同一组加速按钮中的一个被按下时,其他加速按钮都处于弹起状态,即这 组按钮必须有且只有一个处于按下状态 Down用于设置该加速按钮是否处于按下状态,若设置为TRUE,则表示按钮处于按下状态 Flat用于设置在鼠标移动到该按钮上时,按钮是否显示三维效果。为FLASE则不出现 GroupIndex用于将数个加速按钮设置成一组,只需将其值设置成不等于0的数值即可1.4RadioButton组件

《Delphi参考手册》

《Delphi参考手册》 ===========================================================================名称类型说明 --------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串

(DELPHI)API函数大全

(DELPHI)API函数大全 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件

delphi常用函数大全

delphi常用函数大全(转) Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写) AnsiCompareText函数比较字符串(不区分大小写) AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程 BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环 Copy函数返回一字符串的子串 Cos函数余弦函数 Ctl3D属性是否具有3D效果 Cursor属性鼠标指针移入后的形状 Date函数返回当前的日期 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串 DateToStr函数将日期格式转换为字符串

delphi函数参考手册

delphi函数参考手册 名称类型说明 abort 函数引起放弃的意外处理 abs 函数绝对值函数 addexitproc 函数将一过程添加到运行时库的结束过程表中addr 函数返回指定对象的地址 adjustlinebreaks 函数将给定字符串的行分隔符调整为cr/lf序列align 属性使控件位于窗口某部分 alignment 属性控件标签的文字位置 allocmem 函数在堆栈上分配给定大小的块 allowgrayed 属性允许一个灰度选择 ansicomparestr 函数比较字符串(区分大小写)ansicomparetext 函数比较字符串(不区分大小写)ansilowercase 函数将字符转换为小写 ansiuppercase 函数将字符转换为大写 append 函数以附加的方式打开已有的文件 arctan 函数余切函数 assignfile 函数给文件变量赋一外部文件名 assigned 函数测试函数或过程变量是否为空 autosize 属性自动控制标签的大小 backgrounddi2001.jpg 属性背景色 beginthread 函数以适当的方式建立用于内存管理的线程bevelinner 属性控件方框的内框方式

bevelouter 属性控件方框的外框方式 bevelwidth 属性控件方框的外框宽度 blockread 函数读一个或多个记录到变量中blockwrite 函数从变量中写一个或多个记录borderstyle 属性边界类型 borderwidth 属性边界宽度 break 命令终止for、while、repeat循环语句 brush 属性画刷 caption 属性标签文字的内容 change 函数改变文件的后缀 chdir 函数改变当前目录 checked 属性确定复选框选中状态 chr 函数返回指定序数的字符 closefile 命令关闭打开的文件 color 属性标签的颜色 columns 属性显示的列数 comparestr 函数比较字符串(区分大小写)concat 函数合并字符串 continue 命令继续for、while、repeat的下一个循环copy 函数返回一字符串的子串 cos 函数余弦函数 ctl3d 属性是否具有3d效果

Delphi字符串处理函数

【字符串函数大全】 首部function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas 功能返回两个字符串是否相似 说明ANSI(American National Standards Institute)美国国家标准协会;不区分大小写参考function StrUtils.SoundexProc; var StrUtils.AnsiResemblesProc 例子CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiContainsText(const AText, ASubText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否包含子串ASubText 说明不区分大小写 参考function StrUtils.AnsiUppercase; function StrUtils.AnsiPos 例子CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiStartsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText开头 说明不区分大小写 参考function https://www.sodocs.net/doc/5511718981.html,pareString 例子CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiEndsText(const ASubText, AText: string): Boolean; $[StrUtils.pas 功能返回字符串AText是否以子串ASubText结尾 说明不区分大小写 参考function https://www.sodocs.net/doc/5511718981.html,pareString 例子CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部function AnsiReplaceText(const AText, AFromText, AToText: string): string; $[StrUtils.pas 功能返回字符串AText中用子串AFromText替换成子串AToText的结果 说明不区分大小写 参考function SysUtils.StringReplace; type SysUtils.TReplaceFlags 例子Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);

Delphi函数大全

Delphi函数大全 Abort 函数引起放弃的意外处理 Abs 函数绝对值函数 AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址 AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分 Alignment 属性控件标签的文字位置 AllocMem 函数在堆栈上分配给定大小的块 AllowGrayed 属性允许一个灰度选择 AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写 AnsiUpperCase 函数将字符转换为大写 Append 函数以附加的方式打开已有的文件 ArcTan 函数余切函数 AssignFile 函数给文件变量赋一外部文件名 Assigned 函数测试函数或过程变量是否为空 AutoSize 属性自动控制标签的大小 BackgroundColor 属性背景色 BeginThread 函数以适当的方式建立用于内存管理的线程BevelInner 属性控件方框的内框方式 BevelOuter 属性控件方框的外框方式 BevelWidth 属性控件方框的外框宽度 BlockRead 函数读一个或多个记录到变量中 BlockWrite 函数从变量中写一个或多个记录 BorderStyle 属性边界类型 BorderWidth 属性边界宽度 Break 命令终止for、while、repeat循环语句 Brush 属性画刷 Caption 属性标签文字的内容 ChangeFileExt 函数改变文件的后缀 ChDir 函数改变当前目录 Checked 属性确定复选框选中状态 Chr 函数返回指定序数的字符 CloseFile 命令关闭打开的文件 Color 属性标签的颜色 Columns 属性显示的列数 CompareStr 函数比较字符串(区分大小写) Concat 函数合并字符串 Continue 命令继续for、while、repeat的下一个循环 Copy 函数返回一字符串的子串 Cos 函数余弦函数 Ctl3D 属性是否具有3D效果

Delphi函数大全 (2)

Delphi函数大全 function Int(X:Extended):Extended;//取整 function Round(X:Extended):Int64;//四舍五入function Trunc(X:Extended):Int64;//将小数无条件舍去信息来源:邪恶八进制信息安全团队 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录

Delphi基本语法格式和常用函数讲解

Delphi基本语法格式和常用函数 分类: 《Delphi中的进制转换(如hex与bin)》 ShowMessage(Format('%d:%d', [pos, length(keys)])+':'+keys); Format('%d:%d:%x', [pos, key_len,byte(pchar(keys)[0])]) // 其中keys 为string类型 《delphi快捷键-和vim对应上的快捷键》 delphi延时函数代码! Delphi文件操作函数 Delphi关于多线程同步的一些方法,信号量,互斥量和临界区 delphi轻松实现原子操作-CreateSemaphore 获得Integer和DWord类型的最大值 ShowMessage(IntToStr(High(Integer))); ShowMessage(IntToStr(High(DWord))); // delphi的sleep()就是一个ms毫秒级延时函数,但是使用sleep会导致程序短暂pending procedure TForm1.delay(MSecs: Integer); //延时函数,MSecs单位为毫秒(千分之1秒) var FirstTickCount, Now: Longint; begin if MSecs <> 0 then begin FirstTickCount := GetTickCount(); repeat Application.ProcessMessages; Now := GetTickCount(); until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount); end; end; var write_semaphore:THandle; write_semaphore:=CreateSemaphore(0, 1, 1, nil); procedure TForm1.Button1Click(Sender: TObject);

delphi的函数手册

delphi的函数手册 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分Alignment属性控件标签的文字位置AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名Assigned函数测试函数或过程变量是否为空AutoSize属性自动控制标签的大小BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式BevelOuter属性控件方框的外框方式BevelWidth属性控件方框的外框宽度BlockRead函数读一个或多个记录到变量中BlockWrite函数从变量中写一个或多个记录BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句Brush属性画刷 Caption属性标签文字的内容ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数CompareStr函数比较字符串(区分大小写)Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环Copy函数返回一字符串的子串

Delphi 位操作的函数

///// Delphi 位操作的函数(修改了一下,更靠近使用习惯) ///// unit BitControl; interface /// /||| INT32 INT16 BYTE |||///// /// /|||第…. 8 7 6 5 4 3 2 1 位|||///// /// /||| …… B7 B6 B5 B4 B3 B2 B1 B0 |||///// uses SysUtils; type TBitCount = (Bit_8 = 8, Bit_16 = 16, Bit_32 = 32); // getbit方法可以输入一个数,查询指定位是1还是0. function getbit(number: Integer; // 要查询位的数 nBit: Byte; // 要查数的第几位 BitCount: TBitCount // 是输入的数的位数,8,16,32 ): Byte; // 函数返回的是要查的数的第几位的值 // SetBit设置一个数的第几位的值为1或0. function SetBit(number: Integer; // 要设置位的数 nBit: Byte; // 数的第几位 BitCount: TBitCount; // 数的位数,8,16,32 value: Byte // 要置1或0,Value只能输入1或0. ): Integer; // 返回修改位后的数 // 取得一个数中从第几个位开始取多少个位的值 function getbits(number: Integer; // 要取位的数 nBit, // 从第几位开始取位 iBit: Byte; // 取多少位 BitCount: TBitCount // 数的位数,8,16,32 ): Integer; // 返回取位后的数 // 这个函数可以把一个数转换为二进制值的字符串 function int2bin(number: Integer; // 要转换的数 BitCount: TBitCount // 数的位数,8,16,32 ): string; // 返回转换后的字符串 implementation /// ////////////////////////////////////////////////////////////////////////////// function getbit(number: Integer; nBit: Byte; BitCount: TBitCount): Byte; begin GetBit := number;

相关主题