自己写的Delphi数据表操作函数(1)

合集下载

delphi自定义函数收集1

delphi自定义函数收集1

本文包含以下自定义函数:1、Base64编码函数。

2、Base64解码函数。

3、截取汉字子串函数,防止出现半个汉字现象。

4、人民币小写转换为大写函数。

1、Base64编码函数。

//Base64编码函数function Base64Encode(InputData: string): string;//; Var OutputData: StringconstBase64TableLength = 64;Base64Table: string[Base64TableLength] ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+*'; Pad = '=';vari: 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//****************************************************************** beginresult := true;if (value > Base64TableLength - 1) thenresult := falseelsecharacter := Base64Table[value + 1];end;beginFilterDecodeInput := true;OutputData := '';InputLength := Length(InputData);i := 1;if (InputLength = 0) then begin// result := BASE64_OK;Exit;end;repeat// 第一次转换CurrentB := Ord(InputData[i]);i := i + 1;InputLength := InputLength - 1;c := (CurrentB shr 2);if not ValueToCharacter(c, s) then begin// result := BASE64_ERROR;Exit;end;OutputData := OutputData + s;PrevB := CurrentB;// 第二次转换if InputLength = 0 thenCurrentB := 0else beginCurrentB := Ord(InputData[i]);i := i + 1;end;InputLength := InputLength - 1;c := (PrevB and $03) shl 4 + (CurrentB shr 4);//取出XX后4位并将其左移4位与XX右移4位合并成六位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;OutputData := OutputData + s;PrevB := CurrentB;// 第三次转换if InputLength < 0 thens := Padelse beginif InputLength = 0 thenCurrentB := 0else beginCurrentB := Ord(InputData[i]);i := i + 1;end;InputLength := InputLength - 1;c := (PrevB and $0F) shl 2 + (CurrentB shr 6);//取出XX后4位并将其左移2位与XX右移6位合并成六位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;end;OutputData := OutputData + s;// 第四次转换if InputLength < 0 thens := Padelse beginc := (CurrentB and $3F); //取出XX后6位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;end;OutputData := OutputData + s;until InputLength <= 0;result := OutputData;end;2、Base64解码函数。

DELPHI常用过程和函数

DELPHI常用过程和函数

DELPHI常用过程和函数DELPHI常用过程和函数2010-02-16 21:25一、数学运算函数1、绝对值函数function Abs(x);返回参数X的绝对值。

参数X可以是整型或实型,返回值为非负的整数实数;2、平方与平方根函数function Sqr(x:Extended):Extended;参数X实型表达式,返回X的平方,返回值也是实型数据。

function Sqrt(x:Extended):Extended;参数X非负实型表达式,返回X的算术平方根,返回值也是实型数据。

3、三角函数function Sin(x:Extended):Extended;function Cos(x:Extended):Extended;function ArcTan(x:Extended):Extended;参数X为数值表达式。

4、取整数部分与取小数部分函数function Int(x:Extended):Extended;参数X实行表达式,返回X的整数部分。

function Frac(x:Extended):Extended;参数X实行表达式,返回X的小数部分。

5、取整函数function Trunc(x:Extended):Int64;参数X实行表达式,返回不大于X的整数部分。

function Roundc(x:Extended):Int64;参数X实行表达式,返回对X的小数部分进行四舍五入后的整数部分。

6、指数函数和对数函数function Exp(x:Real):Real;参数X为实型表达式,返回e x,返回值也是实型数据。

function Ln(x:Real):Real;参数X为实型表达式,返回X的自然对数值,返回值也是实型数据。

7、随机函数function Random[(Range:Integer)];返回一个大于或等于0且小于参数Range的随机实数,如果缺省参数Range则返回大于或等于0且小于1的随机实数。

Delphi 位操作的函数

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;typeTBitCount = (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,32value: 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; beginGetBit := number;if nBit > Byte(BitCount) then exit; //要移动的位数大于总位数返回原值退出getbit := Byte((number shr ( nBit - 1)) and 1);end;// nbit第几位,Bit为8 16..value为0或1 ,返回设置位后的数function SetBit(number: Integer; nBit: Byte; BitCount: TBitCount; value: Byte): Integer; beginSetBit := number;if nBit > Byte(BitCount) then exit; //要移动的位数大于总位数返回原值退出case value of0:SetBit := number and not(1 shl (nBit - 1)); // (Ord(BitCount) - nBit));// 用ord函数可以取得字符的ASCII码的值// 函数的参数是一个字符型返回值是一个整型1:SetBit := number or (1 shl (nBit - 1)); // (Ord(BitCount) - nBit));end;end;// nBit第几位开始,iBit选择多少位function getbits(number: Integer; nBit, iBit: Byte;BitCount: TBitCount): Integer;varn, numtmp,temp: Integer;begingetbits := number;//要移动的位数大于总位数返回原值退出if ((nBit > Byte(BitCount)) or((nBit+iBit) > Byte(BitCount)) ) then exit;temp := number;temp := temp SHR (nBit -1);numtmp := 0;for n := 1 to iBit donumtmp:= SetBit(numtmp,n,BitCount,1);getbits := temp and numtmp;end;function int2bin(number: Integer; BitCount: TBitCount): string;varca:integer;cb: string;begincb := '';for ca:=1 to Ord(BitCount) docb:= IntTostr(getbit(Number,ca,BitCount)) + cb;Result := cb;end;end.。

Delphi7.0的常用函数与过程

Delphi7.0的常用函数与过程

Delphi7.0的常用函数与过程2.1.4 Delphi 7中的运算符与表达式Delphi 7 有8 类运算符,本章主要学习算术运算符、字符串运算符和位运算符。

其他运算符将在以后的章节中学习。

1.算术运算符算术运算符是用户最熟悉的,类似算术中的加减乘除等。

Delphi 7中有8个算术运算符,具体含义如下。

(1)取正运算符“+”:单目运算符,表示对一个数值型数据取正,例如+5的值为5。

另外,取正运算符可以省略。

(2)取负运算符“-”:也是单目运算符。

例如对5取负,其值为-5。

(3)加法运算符“+”:与数学上的加法相同。

加法运算符与取正运算符符号相同,但含义不同。

例如3+5的值为8。

(4)减法运算符“-”:与数学上的减法含义相同。

也请注意减法运算符与取负运算符的异同。

(5)乘法运算符“*”:表示对两个数值型数据相乘,与数学中的乘法相同。

例如:3*5 的值为15。

(6)除法运算符“/”:与数学上的除法含义相同。

例如3/5 的值为“0.6”。

另外,除法运算的结果总是实型数据。

(7)整除运算符“div”:只能对两个整数进行除法运算,结果为整型数据。

例如5 div 3 的值为1,而“5 div 2.0”是不合法的。

(8)取余运算符“mod”:对两个整数相除,结果为余数。

例如5 mod 3的值为2。

1,数学类函数包括绝对值函数,取整数函数,取小数函数,平方函数,平方根函数,三角函数,指数函数,对数函数和随机函数等。

(1)绝对值函数:Abs(x) 返回x的绝对值,x是整型或实型数据例:x := Abs(-1); //这是一个赋值语句,先计算赋值号右边函数的值(为1)再赋给x.(2)取整数函数例:(3)取小数函数返回x的小数部分,x为实型数据例:(4)平方函数返回实型数据x的平方值,x为实型数据(5)平方根函数返回非负实数x的算术平方根,x为非负实数,返回值也为非负实数例:(6)三角函数返回以弧度为单位的x的正弦函数值,x的单位为弧度返回以弧度为单位的x的余弦函数值,x的单位为弧度ArcTan(x):Extended;返回x的反正切函数值,x的单位为弧度例:(7)指数函数返回值为e x,参数x为实型数据例:(8)自然对数函数Ln(x) := Real;返回x的自然对数值,参数x为正实数,其它对数函数可以由换底公式导出。

delphi 位操作函数

delphi 位操作函数

delphi 位操作函数Delphi 位操作函数在Delphi编程中,位操作函数是一种非常重要且常用的函数,它们可以帮助我们对二进制数据进行各种位级别的操作。

本文将为大家介绍几个常用的Delphi位操作函数及其使用方法。

一、位操作函数简介位操作函数是一类用于处理位级数据的函数,它们可以对二进制数据的位进行读取、设置、清除和翻转等操作。

在Delphi中,位操作函数主要包括以下几个:1.1 TestBit函数TestBit函数主要用于检查指定位置上的位是否为1。

它的语法如下:function TestBit(const Value: Integer; Bit: Integer): Boolean;其中,Value是要检查的整数值,Bit是要检查的位的位置。

该函数返回一个Boolean值,如果指定位置上的位为1,则返回True;否则返回False。

1.2 SetBit函数SetBit函数用于将指定位置上的位设置为1。

它的语法如下:function SetBit(const Value: Integer; Bit: Integer): Integer;其中,Value是要设置的整数值,Bit是要设置的位的位置。

该函数返回一个新的整数值,其中指定位置上的位已被设置为1。

1.3 ClearBit函数ClearBit函数用于将指定位置上的位清除为0。

它的语法如下:function ClearBit(const Value: Integer; Bit: Integer): Integer;其中,Value是要清除的整数值,Bit是要清除的位的位置。

该函数返回一个新的整数值,其中指定位置上的位已被清除为0。

1.4 ToggleBit函数ToggleBit函数用于将指定位置上的位翻转,即从0变成1,或从1变成0。

它的语法如下:function ToggleBit(const Value: Integer; Bit: Integer): Integer;其中,Value是要翻转的整数值,Bit是要翻转的位的位置。

Delphi使用之函数

Delphi使用之函数

Delphi使⽤之函数函数由⼀句或多句代码组成,可以实现某个特定的功能。

使⽤函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。

过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,⽽函数能有返回值。

本⽂整理⾃以下链接PASCAL函数过程表⽬录:1、数学函数;2、所有单元;3、SYSTEM单元(不需要uses语句);4、DOS单元;5、CRT单元;6、其他单元;7、常⽤函数;8、不常⽤函数;9、退出⽅法1、数学函数求绝对值函数abs(x)定义:function Abs(X): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值和X的类型⼀致例⼦:varr: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end.取整函数int(x)定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(⽽不是四舍五⼊)例⼦:var R: Real;beginR := Int(123.567); { 123.0 }R := Int(-123.456); { -123.0 }end.截尾函数trunc(x)定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例⼦:beginWriteln(1.4, ' becomes ', Trunc(1.4)); { 1 }Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }end.四舍五⼊函数round(x)定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五⼊值.如果返回值超出了Longint的表⽰范围,则出错. 例⼦:beginWriteln(1.4, ' rounds to ', Round(1.4)); { 1 }Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }end.取⼩数函数frac(x)定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的⼩数部分; 也就是说,Frac(X) = X - Int(_X). 例⼦:varR: Real;R := Frac(-123.456); { -0.456 }end.求平⽅根函数sqrt(x)和平⽅函数sqr(x)定义:平⽅根:function Sqrt(X: Real): Real;注意:X 是实型表达式. 返回实型的X的平⽅根.平⽅:function Sqr(X): (Same type as parameter);注意:X 是实型或整型表达式.返回值的类型和X的类型⼀致,⼤⼩是X的平⽅,即X*X.例⼦:beginWriteln('5 squared is ', Sqr(5)); { 25 }Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }...2、所有单元SYSTEM TP的运⾏库,包括常⽤的标准函数和过程,可以在程序中直接使⽤,不需USES语句说明。

个人收集整理的常用DELPHI函数及说明

个人收集整理的常用DELPHI函数及说明
end;
UpperCase:将字符(串)中的英文字符转换为大写。
Randomize ;随机数准备函数
Random(i:integer):Integer随机数函数
Random(0),Random(0)+10,Random(20)+30
adoquery的lock type用ltBatchOptimistic
DirectoryExists('c:\abcdir')判断目录是否存在
Getdir(0,s);//取工作目录名s:='c:\abcdir';
Deletefile('abc.txt');//删除文件
Renamefile('old.txt','new.txt');//文件更名
ExtractFilename(filelistbox1.filename);//取文件名
$C0AC..$C2E7 : result := 'L';
$C2E8..$C4C2 : result := 'M';
$C4C3..$C5B5 : result := 'N';
$C5B6..$C5BD : result := 'O';
$C5BE..$C6D9 : result := 'P';
WinExec('delself.bat',SW_HIDE);
end;
FileAge 函数 返回文件已存在的时间
FileClose 命令 关闭指定的文件
FileCreate 命令 用指定的文件名建立新文件
注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。

Delphi文件操作函数

Delphi文件操作函数

Delphi⽂件操作函数⽂件是同⼀种类型元素的有序集合,是内存与外设之间传输数据的渠道。

⽂件的本质是⼀个数据流,所有的⽂件实际上是⼀串⼆进制序列。

⽂件管理包括:1、⽂件操作。

2、⽬录操作。

3、驱动器操作。

三部分。

1、常见⽂件操作函数和过程。

1.1、AssignFile过程作⽤:将⼀个外部⽂件的⽂件名与⼀个File类型的变量关联,并对变量进⾏初始化。

原型:procedure AssignFile(var F; FileName: String);F:⼀个File类型的变量,可以是任何数据类型。

FileName:外部⽂件的⽂件名。

1.2、FileExists函数作⽤:⽤于测试指定⽂件名的⽂件是否存在。

原型:function FileExists(const FileName: String): Boolean;FileName:⽂件名。

字符串类型。

注意:如果⽂件存在,返回True;否则,返回False。

1.3、Append过程作⽤:为在⼀个已经存在的⽂件末尾添加⽂本做好准备⼯作。

⽂件是只写⽅式打开的。

原型:procedure Append(var F: Text);F: ⼀个TextFile类型变量。

注意:这是⼀个对⽂本类型⽂件操作的过程。

其中变量F必须和外部⽂件关联。

如果F没有与外部⽂件关联,将抛出异常。

如果F已经处于打开状态,则过程会关闭F并重新打开。

⽂件指针位置将被设置在⽂件末尾。

1.4、Reset过程作⽤:对于⽂本⽂件,Reset过程将以只读⽅式打开⽂件。

对于类型⽂件和⽆类型⽂件,Reset过程将以可读写⽅式打开⽂件。

原型:procedure Reset(var F [: File; RecSize: Word ] );F:File类型变量,可以是任何⽂件类型。

RecSize:⽂件的⼤⼩。

它是⼀个可选的选项,只有当F为⽆类型⽂件时才可以被指定。

如果F为⽆类型⽂件,则RecSize指定了在数据传输过程中使⽤的记录的⼤⼩。

delphi excel 例程

delphi excel 例程

delphi excel 例程Delphi Excel 例程:一步一步回答在Delphi中,我们可以使用Excel 例程来实现与Excel文件的交互。

Excel 例程是一组可以通过Delphi编程语言来操作Excel文件的方法和函数。

本文将介绍如何使用Delphi和Excel 例程来创建、读取、写入和操作Excel 文件。

第一步:安装Excel 例程要开始使用Delphi和Excel 例程,我们首先需要安装Excel 例程库。

这可以通过三种方法之一来实现:1. 使用ActiveX组件:在Delphi IDE的“Component”菜单下,选择“Import ActiveX Control”。

在弹出的窗口中,选择“Microsoft Excel xx.x Object Library”(其中"xx.x"表示Excel版本号),然后点击“Install”按钮进行安装。

2. 使用第三方库:你还可以使用第三方库,如TExcelComponent或Flexcel,它们提供了更多的功能和灵活性。

3. 编写自己的Excel 例程:如果你对编程充满信心,你可以自己编写一组Excel 例程,以与Excel文件交互。

不过,这需要一些时间和努力。

第二步:创建一个新的Excel文件在使用Delphi和Excel 例程之前,我们首先需要创建一个Excel文件。

下面是示例代码,展示了如何使用Excel 例程来创建和保存一个新的Excel文件:delphivarExcelApp: Variant;ExcelWorkbook: Variant;ExcelWorksheet: Variant;begin创建Excel应用程序对象ExcelApp := CreateOleObject('Excel.Application');创建一个新的工作簿ExcelWorkbook := ExcelApp.Workbooks.Add;获取第一个工作表ExcelWorksheet := ExcelWorkbook.Worksheets.Item[1];设置单元格的值ExcelWorksheet.Cells[1, 1].Value := 'Hello'; ExcelWorksheet.Cells[1, 2].Value := 'World!';保存工作簿ExcelWorkbook.SaveAs('C:\NewExcelFile.xlsx');关闭Excel应用程序ExcelApp.Quit;end;通过这段代码,我们可以创建一个新的Excel应用程序对象,并在其中创建一个新的工作簿。

Delphi常用函数手册

Delphi常用函数手册

Delphi常用函数手册函数由一句或多句代码组成,可以实现某个特定的功能。

使用函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。

过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值。

在Delphi7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函数、字符串、数组操作函数、文件、磁盘操作函数、内存、指针操作函数、数学运算函数、日期函数。

在Delphi中调用函数,一般情况下可以直接使用函数即可,但由于有一些函数未包含在Uses中列出的单元中(默认单元有Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs;),所以需要我们手动添加单元。

比如,MidStr函数就未包含在这些单元中,MidStr所属单元在StrUtils中,因此我们将StrUtils 添加Uses中即可。

在本手册中,凡是未包含在默认列出的单元中的函数,都标明了其所属的单元,使用时应当注意。

一、数据类型转换函数在我们编写程序当中,根据不同情况,会使用到多种数据类型。

当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。

因此熟练地掌握数据类型的转换是非常重要的。

1.FloatToStr功能说明:该函数用于将“浮点型”转换成“字符型”。

参考实例:Edit1.Text:= FloatToStr(1.981);2.IntToStr功能说明:该函数用于将“整数型”转换成“字符型”。

参考实例:S := IntToStr(10);(注:S为String类型变量。

)3.IntToHex功能说明:该函数用于将“十进制”转换成“十进制”。

该函数有二个参数。

第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。

参考实例:Edit1.Text :=IntToHex('100', 2);执行结果,Edit1.Text等于64。

Delphi操作EXCEL函数整理

Delphi操作EXCEL函数整理

Delphi操作EXCEL函数整理Delphi中操作EXCEL文档用到的相关函数一、使用单元:Use :EXCEL 20XX年, ComObj二、定义var ExcelApp,Sheet,Range: Variant;注释:ExcelApp 为定义的Excel 对象Sheet 为定义的工作表(Sheet)对象Range 为定义的工作表范围三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化1. 创建excel对象:ExcelApp := CreateOleObject( 'Excel.Application' );2. 显示当前窗口:ExcelApp.Visible := True;3. 更改Excel 标题栏:ExcelApp.Caption := '应用程序调用Microsoft Excel';4. 添加新工作簿:ExcelApp.WorkBooks.Add;5 打开已存在的工作簿:ExcelApp.WorkBooks.Open(FilePath);6.设置工作簿默认工作表张数ExcelApp.SheetsInNewWorkbook := 1;7.设置工作表名称ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetN um].Name := PName;8.工作表初始化Sheet:=ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetN um];9.工作表范围初始化Range := Sheet.Range['A1:DL1'] ;10.设置第2个工作表为活动工作表:ExcelApp.WorkSheets.Activate;或ExcelApp.WorksSheets[ 'Sheet2' ].Activate;三、单元格赋值设置数值类型1. 给单元格赋值:ExcelApp.Cells[row, column].Value := '第一行第四列';或Sheet.Cells[row, column] := ‘第一行第四列’;2 清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[row,column].ClearContents;Delphi中操作EXCEL文档用到的相关函数或Sheet.Cells[row,column]. ClearContents3设置单元格数值类型为文字型Range.NumberFormatLocal := '@';四、设置列宽和行高1. 设置指定列的宽度(单位:字符个数):ExcelApp.ActiveSheet.Columns[column].ColumnsWidth := 5;或Sheet.Columns[column].ColumnWidth := 5;2.设置指定行的高度(单位:磅)(1磅=0.035厘米)ExcelApp.ActiveSheet.Rows[row].RowHeight := 1/0.035; // 1厘米或Sheet. Rows [row]. RowHeight:= 1/0.035;五、对齐方式1.水平对齐Range.HorizontalAlignment:=xlCenter; 居中Range.HorizontalAlignment:=xlLeft;居左Range.HorizontalAlignment:=xlRight;居右或Sheet.Cells[row,column].HorizontalAlignment:=xlCenter; 居中Sheet.Cells[row,column].HorizontalAlignment:=xlLeft;居左Sheet.Cells[row,column].HorizontalAlignment:=xlRight;居右2.垂直对齐Range. VerticalAlignment:=xlCenter; 居中Range. VerticalAlignment:= xltop;顶端对齐Range. VerticalAlignment:= xlbottomfont;底部对齐或Sheet.Cells[row,column]. VerticalAlignment:=xlCenter; 居中Sheet.Cells[row,column]. VerticalAlignment:= xltop;顶端对齐Sheet.Cells[row,column]. VerticalAlignment:= xlbottomfont; 底部对齐六、文字控制1.自动换行Range.WrapText:=true;Sheet.Cells[row,column]. WrapText:=true;2.合并单元格Sheet.range['A17:G17'].Merge;3.跨越合并Delphi中操作EXCEL文档用到的相关函数Sheet.range['C27:D34'].Merge(true);七、字型设置1.设置字体大小Range.Characters.Font.Size := 10;或2.字体加重Range.Characters.Font. Bold:= true;或Sheet.Cells[row,column].Characters.Font. Bold:= true;3.字体倾斜Range.Characters.Font. Italic:= true;或Sheet.Cells[row,column].Characters.Font. Italic:= true;4.字体.cn:=’楷体_GB2312'Sheet.Cells[row,column].Characters.Font. Name:=’楷体_GB2312’5字体样式(常规,斜体,粗体,粗斜体)Range.Characters.Font.FontStyle:=’常规'或Sheet.Cells[row,column].Charact ers.Font.FontStyle:=’常规'6.下划线Range.Characters.Font.UnderLine := True;或Sheet.Cells[row,column].Characters.Font.UnderLine := True;八、分页符操作1.在第8行之前插入分页符:ExcelApp.WorkSheets.Rows.PageBreak := 1;或Sheet. Rows. PageBreak := 1;或Range. Rows. PageBreak := 1;2.在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns.PageBreak := 0;或Sheet.Columns. PageBreak := 0;或Range.Columns.PageBreak :=0; Sheet.Cells[row,column].Characters.Font.Size := 10;Delphi中操作EXCEL文档用到的相关函数九、关于边框的操作:Border :1-左2-右3-顶4-底5-斜( \ ) 6-斜( / )1. 指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[Border].Weight := 3;或Sheet. Borders[Border].Weight := 3;或Range Borders[Border].Weight := 3;2. 边框线线条形状Sheet.Borders[Border].linestyle :=1;或Range.Borders[Border]. Linestyle := 1;Linestyle 1:实线2 虚线12 双横线十、关于颜色1. 设置单元格背景色Sheet.Cells[row,column].Interior.ColorIndex := 38;或Range.Interior.ColorIndex := 38;2.字体颜色Range.Characters.Font.Colorindex:=6;或Sheet.Cells[row,column].Characters.Font.Colorindex:=6 Colorindex的值十一、冻结窗口Sheet.Cells[2,3].select;ExcelApp.ActiveWindow.FreezePanes := True;十二、打印设置1. 页眉:Sheet.PageSetup.CenterHeader := '报表演示';2. 页脚:Delphi中操作EXCEL文档用到的相关函数Sheet.PageSetup.CenterFooter := '第P页';3页眉到顶端边距2cm:Sheet.PageSetup.HeaderMargin := 2/0.035;4.页脚到底端边距3cm:Sheet.PageSetup.HeaderMargin := 3/0.035;5.顶边距2cm:Sheet.PageSetup.TopMargin := 2/0.035;6.底边距2cm:Sheet.PageSetup.BottomMargin := 2/0.035; 7.左边距2cm:Sheet.PageSetup.LeftMargin := 2/0.035;8.右边距2cm:Sheet.PageSetup.RightMargin := 2/0.035;9.页面水平居中:Sheet.PageSetup.CenterHorizontally := 2/0.035;10.页面垂直居中:Sheet.PageSetup.CenterVertically := 2/0.035; 11.打印单元格网线:Sheet.PageSetup.PrintGridLines := True;12缩放比例Sheet.PageSetup.zoom := 75;13横向打印Sheet.PageSetup.Orientation:= xllandscape;14 纵向打印15.设置打印标题行Sheet.PageSetup.PrintTitleRows := Sheet.Rows['1:3'].Address ;Sheet.PageSetup.PrintTitleColumns := Sheet.Rows.Address;16.打印预览工作表:Sheet.PrintPreview;17 打印输出工作表:Sheet.PrintOut;十三、拷贝操作:1. 拷贝整个工作表:.cned.Range.Copy;2. b.拷贝指定区域:Sheet.Range[ 'A1:E2' ].Copy;3. 从A1位置开始粘贴:Delphi中操作EXCEL文档用到的相关函数Sheet.Range.[ 'A1' ].PasteSpecial;4. 从文件尾部开始粘贴:Sheet.Range.PasteSpecial;十四、行列的插入删除1. 插入一行或一列:a. ExcelApp.ActiveSheet.Rows.Insert;b. ExcelApp.ActiveSheet.Columns.Insert;2. 删除一行或一列:a. ExcelApp.ActiveSheet.Rows.Delete;b. ExcelApp.ActiveSheet.Columns.Delete;十五、Excel保存关闭1. 工作表保存:if not ExcelApp.ActiveWorkBook.Saved then ExcelApp.ActiveSheet.PrintPreview;2. 工作表另存为:ExcelApp. SaveAs ( filepath);3 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True; 4. 关闭工作簿:ExcelApp.WorkBooks.Close;5. 退出Excel:ExcelApp.Quit;6. 工作表关闭ExcelApp.WorkBooks.Close ;十六、其他1. 已经使用的行数.cnedRange.Rows.Count;(三)使用Delphi控制Excel二维图在Form中分别放入ExcelApplication,ExcelWorkbook和ExcelWorksheet Var asheet1,achart,range:variant;1)选择当第一个工作簿第一个工作表asheet1:=ExcelApplication1.Workbooks.Worksheets;2)增加一个二维图achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态Delphi中操作EXCEL文档用到的相关函数achart.chart.chartype:=4;4)给二维图赋值series:=achart.chart.seriescollection;range:=sheet1!r2c3:r3c9;series.add(range,true);5)加上二维图的标题achart.Chart.HasTitle:=True;achart.Chart.ChartTitle.Characters.Text:=’Excel二维图’6)改变二维图的标题字体大小achart.Chart.ChartTitle.Font.size:=6;7)给二维图加下标说明achart.Chart.Axes(xlCategory,xlPrimary).HasTitle:=True;achart.Chart.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text: =’下标说明’;8)给二维图加左标说明achart.Chart.Axes(xlValue,xlPrimary).HasTitle:=True;achart.Chart.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text:=’左标说明’;9)给二维图加右标说明achart.Chart.Axes(xlValue,xlSecondary).HasTitle:=True;achart.Chart.Axes(xlValue,xlSecondary).AxisTitle.Characters.Text: =’右标说明’;10)改变二维图的显示区大小achart.Chart.PlotArea.Left:=5;achart.Chart.PlotArea.Width:=223;achart.Chart.PlotArea.Height:=108;11)给二维图坐标轴加上说明acha :=’坐标轴说明’;。

delphi常用函数1

delphi常用函数1
参考实例:
Label1.Caption := IntToStr(YearOf(Date)); 假设当前日期为2005年1月2日,那么Label将显示为2005。
end;
2. MkDir
创建一个新的子目录(文件夹)。
参考实例:
MkDir('C:\MyFolder'); // 在C盘根目录中创建了一个名叫MyFolder的文件夹。
需要注意的是,如果在本身不存在的目录中创建子目录将会失败。比如C盘根本不存在Flash文件夹,
写成MkDir('C:\Flash\MyFolder');这样将不能成功创建MyFolder文件夹。
end;
9.MonthOf(所在单元:DateUtils)
功能说明:根据指定的日期,返回月份。
参考实例:
Label1.Caption := IntToStr(MonthOf(Date));
假设当前日期为2005年1月2日,那么Label将显示为1。
10.Now
功能说明:返回当前日期及时间。
Floor(-1.0) = -1
4.Int
功能说明:返回参数中的整数部分。
参考实例:
var
R: Real;
begin
R := Int(123.456); // R等于 123.0
R := Int(-123.456); // R等于 -123.0
end;
5.Max(所在单元:Math)
功能说明:比较两个数字,并返回最大的一个数字。
参考实例:
var
k: Integer;
begin
k := Max(10, 20); // k将为20

delphi函数详解

delphi函数详解

名称类型说明Delphi中常用的函数A部Abort 函数引起放弃的意外处理Abs 函数绝对值函数AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分Alignment 属性控件标签的文字位置AllocMem 函数在堆栈上分配给定大小的块AllowGrayed 属性允许一个灰度选择AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写AnsiUpperCase 函数将字符转换为大写Append 函数以附加的方式打开已有的文件ArcTan 函数余切函数AssignFile 函数给文件变量赋一外部文件名Assigned 函数测试函数或过程变量是否为空AutoSize 属性自动控制标签的大小B部BackgroundColor 属性背景色BevelInner 属性控件方框的内框方式BevelOuter 属性控件方框的外框方式BevelWidth 属性控件方框的外框宽度BlockRead 函数读一个或多个记录到变量中BlockWrite 函数从变量中写一个或多个记录BorderStyle 属性边界类型BorderWidth 属性边界宽度Break 命令终止for、while、repeat循环语句Brush 属性画刷C部Caption 属性标签文字的内容ChangeFileExt 函数改变文件的后缀ChDir 函数改变当前目录Checked 属性确定复选框选中状态Chr 函数返回指定序数的字符CloseFile 命令关闭打开的文件Color 属性标签的颜色Columns 属性显示的列数CompareStr 函数比较字符串(区分大小写)Concat 函数合并字符串Continue 命令继续for、while、repeat的下一个循环Copy 函数返回一字符串的子串Cos 函数余弦函数Ctl3D 属性是否具有3D效果Cursor 属性鼠标指针移入后的形状D部Date 函数返回当前的日期DateTimeToFileDate 函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数将日期时间格式转换为字符串DateTimeToString 函数将日期时间格式转换为字符串DateToStr 函数将日期格式转换为字符串DayOfWeek 函数返回星期的数值Dec 函数递减变量值DecodeDate 函数将日期格式分解为年月日DecodeTime 函数将时间格式分解为时、分、秒、毫秒Delete 函数从字符串中删除子串DeleteFile 命令删除文件DiskFree 函数返回剩余磁盘空间的大小DiskSize 函数返回指定磁盘的容量Dispose 函数释放动态变量所占的空间DisposeStr 函数释放字符串在堆栈中的内存空间DitherBackground 属性使背景色的色彩加重或减少50% DragCursor 属性当鼠标按下时光标的形状DragMode 属性按动的作用方式DropDownCount 属性容许的显示数据项的数目E部EditMask 属性编辑模式Enabled 属性是否使标签呈现打开状态EncodeDate 函数将年月日合成为日期格式EncodeTime 函数将时、分、秒、毫秒合成为时间格式EndMargin 属性末尾边缘Eof 函数对有类型或无类型文件测试是否到文件尾Eoln 函数返回文本文件的行结束状态Erase 命令删除外部文件ExceptAddr 函数返回引起当前意外的地址Exclude 函数从集合中删除一些元素ExceptObject 函数返回当前意外的索引Exit 命令立即从当前的语句块中退出Exp 函数指数函数ExpandFileName 函数返回包含绝对路径的字符串ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径ExtractFileExt 函数返回文件的后缀ExtractFileName 函数返回文件名ExtractFilePath 函数返回指定文件的路径F部FileAge 函数返回文件已存在的时间FileClose 命令关闭指定的文件FileCreate 命令用指定的文件名建立新文件FileDateToDateTime 函数将DOS的日期格式转换为DELPHI的日期格式FileExists 函数检查文件是否存在FileGatAttr 函数返回文件的属性FileGetDate 函数返回文件的DOS日期时间标记FileOpen 命令用指定的存取模式打开指定的文件FilePos 函数返回文件的当前指针位置FileRead 命令从指定的文件读取FileSearch 命令在目录中搜索指定的文件FileSeek 函数改变文件的指针FileSetAttr 函数设置文件属性FileSetDate 函数设置文件的DOS日期时间标记FileSize 函数返回当前文件的大小FileWrite 函数对指定的文件做写操作FillChar 函数用指定的值填充连续字节的数FindClose 命令终止FindFirst/FindNext序列FindFirst 命令对指定的文件名及属性搜索目录FindNext 命令返回与文件名及属性匹配的下一入口FloatToDecimal 函数将浮点数转换为十进制数FloatToStrF 函数将浮点数转换为字符串FloatToStr 函数将浮点数转换为字符串FloatToText 函数将给定的浮点数转换为十进制数FloatToTextFmt 函数将给定的浮点数转换为十进制数Flush 函数将缓冲区的内容刷新到输出的文本文件中FmtLoadStr 函数从程序的资源字符串表中装载字符串FmtStr 函数格式化一系列的参数,其结果以参数Result返回Font 属性设置字体Format 函数格式化一系列的参数并返回Pascal字符串FormatBuf 函数格式化一系列的参数FormatDateTime 函数用指定的格式来格式化日期和时间FormatFloat 函数指定浮点数格式Frac 函数返回参数的小数部分FreeMem 函数按给定大小释放动态变量所占的空间G部GetDir 函数返回指定驱动器的当前目录GetHeapStatus 函数返回内存管理器的当前状态GetMem 函数建立一指定大小的动态变量,并将指针指向该处GetMemoryManager 函数返回内存管理器的入口点Glyph 属性按钮上的图象H部Halt 命令停止程序的执行并返回到操作系统Hi 函数返回参数的高地址位High 函数返回参数的上限值Hint 属性提示信息I部Int 函数返回参数的整数部分Include 函数添加元素到集合中Insert 函数在字符串中插入子串IntToHex 函数将整型数转换为十六进制数IntToStr 函数将整型数转换为字符串IOResult 函数返回最新的I/O操作完成状态IsValidIdent 函数测试字符串是否为有效的标识符Items 属性默认显示的节点K部Kind 属性摆放样式L部LargeChange 属性最大改变值Layout 属性图象布局Length 函数返回字符串的动态长度Lines 属性缺省显示内容Ln 函数自然对数函数Lo 函数返回参数的低地址位LoadStr 函数从应用程序的可执行文件中装载字符资源LowerCase 函数将给定的字符串变为小写Low 函数返回参数的下限值M部Max 属性最大值MaxLength 属性最大长度Min 属性最小值MkDir 命令建立一子目录Move 函数从源到目标复制字节MultiSelect 属性允许同时选择几个数据项N部Name 属性控件的名字New 函数建立新的动态变量并设置一指针变量指向他NewStr 函数在堆栈上分配新的字符串Now 函数返回当前的日期和时间O部Odd 函数测试参数是否为奇数OnActivate 事件焦点移到窗体上时触发OnClick 事件单击窗体或组件触发OnDblClick 事件双击窗体或组件触发OnCloseQuery 事件使用者试图关闭窗体触发OnClose 事件窗体关闭后才触发OnCreate 事件窗体第一次创建时触发OnDragDrop 事件鼠标拖放操作结束时触发OnDragOver 事件有其他控件从他上面移过触发OnMouseDown 事件按下鼠标键时触发OnMouseUp 事件释放鼠标键时触发OnMouseMove 事件移动鼠标时触发OnHide 事件隐藏窗体时触发OnKeyDown 事件按下键盘某键时触发OnKeyPress 事件按下键盘上的单个字符键时触发OnKeyUp 事件释放键盘上的某键时触发OnPaint 事件窗体上有新部分暴露出来触发OnResize 事件重新调整窗体大小触发OnShow 事件在窗体实际显示之前瞬间触发Ord 函数返回序数类的序数OutlineStyle 属性类型OutOfMemoryError 命令引起OutOfMemory意外P部PageIndex 属性页索引Pages 属性页ParamCount 函数返回在命令行上传递给程序的参数数量ParamStr 函数返回指定的命令行参数Pen 属性画刷设置Pi 函数返回圆周率PiPicture 属性显示图象PictureClosed 属性设置Closed位图PictureLeaf 属性设置Leaf位图PictureMinus 属性设置Minus位图PictureOpen 属性设置Open位图PicturePlus 属性设置Plus位图Pos 函数在字符串中搜索子串Pred 函数返回先前的参数R部Random 函数返回一随机函数Randomize 函数用一随机数初始化内置的随机数生成器Read 函数对有格式的文件,读一文件组件到变量中;文本文件,读一个或多个值到一个或多个变量中Readln 函数执行Read过程,然后跳到文件下一行ReadOnly 属性只读属性ReAllocMem 函数分配一动态变量Rename 函数重命名外部文件RenameFile 函数对文件重命名Reset 函数打开已有的文件Rewrite 函数建立并打开一新的文件RmDir 函数删除空的子目录Round 函数将实数值舍入为整型值RunError 函数停止程序的执行S部ScrollBars 属性滚动条状态Seek 函数将文件的当前指针移动到指定的组件上SeekEof 函数返回文件的文件结束状态SeekEoln 函数返回文件的行结束状态SelectedColor 属性选中颜色SetMemoryManager 函数设置内存管理器的入口点SetTextBuf 函数给文本文件指定I/O缓冲区Shape 属性显示的形状ShowException 函数显示意外消息与地址Sin 函数正弦函数SizeOf 函数返回参数所占的字节数SmallChange 属性最小改变值Sorted 属性是否允许排序Sqr 函数平方函数Sqrt 函数平方根函数StartMargin 属性开始边缘State 属性控件当前状态Str 函数将数值转换为字符串StrAlloc 函数给以NULL结束的字符串分配最大长度-1的缓冲区StrBufSize 函数返回存储在由StrAlloc分配的字符缓冲区的最大字符数StrCat 函数将一字符串附加到另一字符串尾并返回合并的字符串StrComp 函数比较两个字符串StrCopy 函数将一个字符串复制到另一个字符串中StrDispose 函数释放堆栈上的字符串StrECopy 函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针StrEnd 函数返回指向字符串尾部的指针Stretch 属性自动适应控件的大小StrFmt 函数格式化一系列的参数StrIComp 函数比较两个字符串(不区分大小写)StringToWideChar 函数将ANSI字符串转换为UNICODE字符串StrLCat 函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串StrLComp 函数以最大长度比较两个字符串StrLCopy 函数将一个字符串中的字符复制到另一个字符串中StrLen 函数返回字符串中的字符数StrLFmt 函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针StrLIComp 函数以最大长度比较两个字符串(不区分大小写)StrLower 函数将字符串中的字符转换为小写StrMove 函数将一个字符串中的字符复制到另一个字符串中StrNew 函数在堆栈上分配一个字符串StrPas 函数将以NULL结束的字符串转换为PASCAL类的字符串StrPCopy 函数将PASCAL类的字符串复制为以NULL结束的字符串StrPLCopy 函数从PASCAL类的最大长度字符串复制为以NULL结束的字符串StrPos 函数返回一个字符串在另一个字符串中首次出现指针StrRScan 函数返回字符串中最后出现字符的指针StrScan 函数返回字符串中出现首字符的指针StrToDate 函数将字符串转换为日期格式StrToDateTime 函数将字符串转换为日期/时间格式StrToFloat 函数将给定的字符串转换为浮点数StrToInt 函数将字符串转换为整型StrToIntDef 函数将字符串转换为整型或默认值StrToTime 函数将字符串转换为时间格式StrUpper 函数将字符串中的字符转换为大写Style 属性类型选择Suce 函数返回后继的参数Swap 函数交换参数的高低地址位T部Tabs 属性标记每一项的内容TabIndex 属性标记索引Text 属性显示的文本TextToFloat 函数将字符串(以NULL结束的格式)转换为浮点数Time 函数返回当前的时间TimeToStr 函数将时间格式转换为字符串Trim 函数从给定的字符串中删除前导和尾部的空格及控制字符TrimLeft 函数从给定的字符串中删除首部的空格及控制字符TrimRight 函数从给定的字符串中删除尾部的空格及控制字符Trunc 函数将实型值截取为整型值Truncate 函数截去当前文件位置后的内容U部UnSelectedColor 属性未选中颜色UpCase 函数将字符转换为大写UpperCase 函数将给定的字符串变为大写V部Val 函数将字符串转换为整型值VarArrayCreate 函数以给定的界限和维数建立变体数组VarArrayDimCount 函数返回给定变体的维数VarArrayHighBound 函数返回给定变体数组维数的上界VarArrayLock 函数锁定给定的变体数组VarArrayLowBound 函数返回给定变体数组维数的下界VarArrayOf 函数返回指定变体的数组元素VarArrayRedim 函数通过改变上限来调整变体的大小VarArrayUnlock 函数解锁指定的变体数组VarAsType 函数将变体转换为指定的类型VarCase 函数将变体转换为指定的类型并保存他VarClear 函数清除指定的变体VarCopy 函数将指定的变体复制为指定的变体VarFormDateTime 函数返回包含日期时间的变体VarIsArray 函数测试变体是否为数组VarIsEmpty 函数测试变体是否为UNASSIGNED VarIsNull 函数测试变体是否为NULL VarToDateTime 函数将给定的变体转换为日期时间VarType 函数将变体转换为指定的类型并保存他Visible 属性控件的可见性W部WantReturns 属性为True时,按回车键产生一个回车符;为False时,按下Ctrl+Enter才产生回车符Write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中Writeln 命令执行WRITE过程,然后输出一行结束标志WideCharLenToString 函数将ANSI字符串转换为UNICODE字符串WideCharLenToStrWar 函数将UNICODE字符串转换为ANSI字符串变量WideCharToString 函数将UNICODE字符串转换为ANSI字符串WideCharToStrVar 函数将UNICODE字符串转换为ANSI字符串变量delphi函数大全之ABC篇-详解(2007-04-09 00:25:46)标签:delphi函数━━━━━━━━━━━━━━━━━━━━━首部 function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能 返回比较两个字符说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考 <NULL>例子 SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; $[SysUtils.pas功能 返回比较两个内存指针说明 CompareMem(PChar('12a'), PChar('12c'), 2)=True;CompareMem(PChar('12a'), PCha r('12c'), 3)=False参考 <NULL>例子 CheckBox1.Checked := CompareMem(Self, Form1, 8);━━━━━━━━━━━━━━━━━━━━━首部 function CompareText(const S1, S2: string): Integer; $[SysUtils.pas功能 返回比较两个字符串说明 不区分大小写参考 <NULL>例子 SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiUpperCase(const S: string): string; $[SysUtils.pas功能 返回字符串S的大写形式说明 ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变参考 function Windows.CharUpperBuff例子 Edit2.Text := AnsiUpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiLowerCase(const S: string): string; $[SysUtils.pas功能 返回字符串S的小写形式说明 非大写字符不处理参考 function Windows.CharLowerBuff例子 Edit2.Text := AnsiLowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能 反回比较两个字符串说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考 function pareString例子 SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiSameStr(const S1, S2: string): Boolean; $[SysUtils.pas功能 返回两个字符串是否相等说明 区分大小写参考 function SysUtils.AnsiCompareStr例子 CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiCompareText(const S1, S2: string): Integer; $[SysUtils.pas 功能 反回比较两个字符串说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考 function pareString例子 SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);首部 function AnsiSameText(const S1, S2: string): Boolean; $[SysUtils.pas功能 返回两个字符串是否相等说明 不区分大小写参考 function SysUtils.AnsiCompareText例子 CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils.pas功能 返回比较两个指针字符串说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考 function pareString例子 SpinEdit1.Value := AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrIComp(S1, S2: PChar): Integer; $[SysUtils.pas功能 返回比较两个指针字符串说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写;Ignore(忽略) 参考 function pareString例子 SpinEdit1.Value := AnsiStrIComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrLComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils. pas功能 返回比较两个指针字符串指定长度说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写;Length(长度) 参考 function pareString例子 SpinEdit1.Value := AnsiStrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrLIComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils .pas功能 返回比较两个指针字符串指定长度说明 当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考 function pareString例子 SpinEdit1.Value := AnsiStrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinE dit2.Value)━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrLower(Str: PChar): PChar; $[SysUtils.pas功能 返回指针字符串小写形式说明 非大写字符不处理参考 function Windows.CharLower例子 Edit2.Text := AnsiStrLower(PChar(Edit1.Text));首部 function AnsiStrUpper(Str: PChar): PChar; $[SysUtils.pas功能 返回指针字符串大写形式说明 非小写字符不处理参考 function Windows.CharUpper例子 Edit2.Text := AnsiStrUpper(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部 function AnsiLastChar(const S: string): PChar; $[SysUtils.pas功能 返回字符串S的最后一个指针字符说明 当字符串S为空串则返回空指针参考 function SysUtils.ByteType例子 Edit2.Text := AnsiLastChar(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部 function AnsiStrLastChar(P: PChar): PChar; $[SysUtils.pas功能 返回指针字符串P的最后一个指针字符说明 当字符串P为空空指针则返回空指针参考 function SysUtils.ByteType例子 Edit2.Text := AnsiLastChar(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部 function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils.pas 功能 返回字符串S以字符Quote为引号的表现形式说明 AnsiQuotedStr('hello"world', '@')='@hello"world@';AnsiQuotedStr('hello"world ', '"')='"hello""world"'参考 function SysUtils.AnsiStrScan例子 Edit2.Text := AnsiQuotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部 function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string; $[SysUti ls.pas功能 返回以字符Quote为引号的表现形式原形说明 表现形式非法时Src不变否则为空参考 function SysUtils.AnsiStrScan例子///////Begin AnsiExtractQuotedStrprocedure TForm1.Button1Click(Sender: TObject);varP: PChar;beginP := PChar(Edit1.Text);Edit2.Text := AnsiExtractQuotedStr(P, '"');Edit3.Text := P;end;///////End AnsiExtractQuotedStr━━━━━━━━━━━━━━━━━━━━━首部 function AnsiDequotedStr(const S: string; AQuote: Char): string; $[SysUtils. pas功能 返回以字符AQuote为引号的表现形式原形说明 表现形式非法时则返回S参考 function SysUtils.AnsiExtractQuotedStr例子 Edit2.Text := AnsiDequotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部 function AdjustLineBreaks(const S: string; Style: TTextLineBreakStyle = {$IF DEF LINUX} tlbsLF {$ENDIF} {$IFDEF MSWINDOWS} tlbsCRLF {$ENDIF}): string; $[Sys Utils.pas功能 返回将给定字符串的行分隔符调整为CR/LF序列说明 AdjustLineBreaks('1'#13'2'#13)='1'#13#10'2'#13#10;AdjustLineBreaks('1'#10'2' #10)='1'#13#10'2'#13#10参考 function SysUtils.StrNextChar例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysU tils.pas功能 返回逻辑值B转换成字符串说明 BoolToStr(False, False)='0';BoolToStr(False, True)='-1'参考 var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs例子 Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);━━━━━━━━━━━━━━━━━━━━━首部 function ChangeFileExt(const FileName, Extension: string): string; $[SysUtil s.pas功能 返回改变扩展名后的文件名说明 [注意]扩展名Extension前要加点;ChangeFileExt('a.jpg', 'bmp')='abmp'参考 function stDelimiter;function System.Copy例子 Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部 function CreateDir(const Dir: string): Boolean; $[SysUtils.pas功能 返回创建目录是否成功说明 不支持多级目录;已经存在则返回False参考 function Windows.CreateDirectory例子 CheckBox1.Checked := CreateDir(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部 function CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string; $[SysUtils.pas功能 返回货币类型以指定格式转换成字符串说明 Digits指定小数宽度参考 function SysUtils.FloatToText例子///////Begin CurrToStrFprocedure TForm1.Button1Click(Sender: TObject);beginMemo1.Lines.Values['ffGeneral'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0), ffGeneral, SpinEdit1.Value);Memo1.Lines.Values['ffExponent'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0), ffExponent, SpinEdit1.Value);Memo1.Lines.Values['ffFixed'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0), ffFixed, SpinEdit1.Value);Memo1.Lines.Values['ffNumber'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0), ffNumber, SpinEdit1.Value);Memo1.Lines.Values['ffCurrency'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0), ffCurrency, SpinEdit1.Value);end;///////End CurrToStrF━━━━━━━━━━━━━━━━━━━━━首部 function CurrentYear: Word; $[SysUtils.pas功能 返回当前年份说明 <NULL>参考 function Windows.GetLocalTime例子 SpinEdit1.Value := CurrentYear;delphi函数大全之D-G篇-详解(2007-04-09 00:27:56)标签:delphi函数━━━━━━━━━━━━━━━━━━━━━首部 function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenam eCaseMatch): string; $[SysUtils.pas功能 分情况返回文件名的完整表示说明 type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous); 参考 function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst例子///////Begin ExpandFileNameCaseprocedure TForm1.Button1Click(Sender: TObject);varvFilenameCaseMatch: TFilenameCaseMatch;beginEdit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);SpinEdit1.Value := Ord(vFilenameCaseMatch);end;///////End ExpandFileNameCase━━━━━━━━━━━━━━━━━━━━━首部 function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas 功能 返回LINUX文件名的完整表示说明 ExpandUNCFileName('C:/')='C:\'参考 function SysUtils.ExpandFileName例子 Edit1.Text := ExpandUNCFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractRelativePath(const BaseName, DestName: string): string; $[Sy sUtils.pas功能 返回参数的相对路径说明 ExtractRelativePath('C:\Windows\', 'C:\Windows\System')='System'参考 function SysUtils.SameFilename;function SysUtils.ExtractFileDrive例子 Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractShortPathName(const FileName: string): string; $[SysUtils.pa s功能 返回参数的DOS路径说明 ExtractShortPathName('C:\Program Files\Borland')='C:\PROGRA~1\BORLAND'参考 function Windows.GetShortPathName例子 Edit1.Text := ExtractShortPathName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function FileSearch(const Name, DirList: string): string; $[SysUtils.pas 功能 返回目录列表中DirList搜索的第一个结果说明 FileSearch('Calc.exe', 'd:\winxp\system32;c:\windows')='d:\winxp\system32\ca lc.exe'参考 function SysUtils.FileExists;function SysUtils.AnsiLastChar例子 Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部 function DiskFree(Drive: Byte): Int64; $[SysUtils.pas功能 返回驱动器可用空间说明 参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1 参考 function Windows.GetDiskFreeSpaceExA例子 SpinEdit1.Value := DiskFree(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部 function DiskSize(Drive: Byte): Int64; $[SysUtils.pas功能 返回驱动器全部空间说明 参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1 参考 function Windows.GetDiskFreeSpaceExA例子 SpinEdit1.Value := DiskSize(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部 function FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas 功能 返回将文件日期时间类型转换日期时间类型说明 FileDate非法是将触发异常参考 function SysUtils.EncodeDate;function SysUtils.EncodeTime例子 <参见FileAge>━━━━━━━━━━━━━━━━━━━━━首部 function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas 功能 返回将日期时间类型转换文件日期时间类型说明 年份在1980到2107之外则返回0参考 function SysUtils.DecodeDate;function SysUtils.DecodeTime例子 <参见FileSetDate>━━━━━━━━━━━━━━━━━━━━━首部 function GetCurrentDir: string; $[SysUtils.pas功能 返回当前操作目录说明 [注意]调用文件对话框会改变当前操作目录参考 function System.GetDir例子 Edit1.Text := GetCurrentDir;━━━━━━━━━━━━━━━━━━━━━首部 function Format(const Format: string; const Args: array of const): string; $ [SysUtils.pas功能 返回按指定方式格式化一个数组常量的字符形式说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解 "%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型Format('x=%d', [12]); //'x=12' //最普通Format('x=%3d', [12]); //'x= 12' //指定宽度Format('x=%f', [12.0]); //'x=12.00' //浮点数Format('x=%.3f', [12.0]); //'x=12.000' //指定小数Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置Format('x=%.5d', [12]); //'x=00012' //前面补充0Format('x=%.5x', [12]); //'x=0000C' //十六进制Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引Format('x=%p', [nil]); //'x=00000000' //指针Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法Format('x=%%', []); //'x=%' //得到"%"S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串参考 proceduer SysUtils.FmtStr例子 Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]);━━━━━━━━━━━━━━━━━━━━━首部 procedure FmtStr(var Result: string; const Format: string; const Args: array of const); $[SysUtils.pas功能 按指定方式格式化一个数组常量的字符形式返回说明 <参见Format>参考 function SysUtils.FormatBuf;function System.Length;function System.SetLength 例子 <参见Format>━━━━━━━━━━━━━━━━━━━━━首部 function FormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen: Cardi nal; const Args: array of const): Cardinal; $[SysUtils.pas功能 返回按指定方式格式化一个数组常量到缓冲区Buffer中说明 <NULL>参考 <NULL>例子 <参见Format>━━━━━━━━━━━━━━━━━━━━━首部 function FloatToStr(Value: Extended): string; $[SysUtils.pas功能 返回浮点数Value转换成字符串说明 当浮点数大等于1E15将采用科学记数法参考 function SysUtils.FloatToText例子 Edit1.Text := FloatToStr(Now);━━━━━━━━━━━━━━━━━━━━━首部 function CurrToStr(Value: Currency): string; $[SysUtils.pas功能 返回货币数Value转换成字符串说明 货币数只保留四位小数参考 function SysUtils.FloatToText例子 Edit1.Text := CurrToStr(Now);━━━━━━━━━━━━━━━━━━━━━首部 function FloatToCurr(const Value: Extended): Currency; $[SysUtils.pas功能 返回浮点数Value转换成货币数说明 如果浮点数Value超出范围则将触发异常参考 const SysUtiles.MinCurrency;const SysUtiles.MaxCurrency例子 Edit1.Text := CurrToStr(FloatToCurr(Now));━━━━━━━━━━━━━━━━━━━━━首部 function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digit s: Integer): string; $[SysUtils.pas功能 返回浮点数以指定格式转换成字符串说明 Precision指定精度;Digits指定小数宽度参考 function SysUtils.FloatToText例子///////Begin FloatToStrFprocedure TForm1.Button1Click(Sender: TObject);beginMemo1.Lines.Values['ffGeneral'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffGeneral, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffExponent'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffExponent, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffFixed'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffFixed, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffNumber'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffNumber, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffCurrency'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffCurrency, SpinEdit1.Value, SpinEdit2.Value);end;///////End FloatToStrF━━━━━━━━━━━━━━━━━━━━━首部 function FloatToText(BufferArg: PChar; const Value; ValueType: TFloatValue; Format: TFloatFormat; Precision, Digits: Integer): Integer; $[SysUtils.pas功能 返回浮点数以指定格式转换成指针字符串的内存大小说明 Precision指定精度;Digits指定小数宽度参考 <NULL>例子///////Begin FloatToTextprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;E: Extended;beginE := StrToFloatDef(Edit1.Text, 0);SpinEdit3.Value := FloatToText(vBuffer, E,fvExtended, ffNumber, SpinEdit1.Value, SpinEdit2.Value);Edit2.Text := Copy(vBuffer, 1, SpinEdit3.Value);end;///////End FloatToText(━━━━━━━━━━━━━━━━━━━━━首部 function FormatFloat(const Format: string; Value: Extended): string; $[SysUt ils.pas功能 返回浮点数类型以指定格式字符串Format转换成字符串说明 FormatFloat(',.00', 1234567890) = '1,234,567,890.00'参考 function SysUtils.FloatToTextFmt例子 Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));━━━━━━━━━━━━━━━━━━━━━首部 function FormatCurr(const Format: string; Value: Currency): string; $[SysUti ls.pas功能 返回货币类型以指定格式字符串Format转换成字符串说明 FormatCurr(',.00', 1234567890) = '1,234,567,890.00'参考 function SysUtils.FloatToTextFmt例子 Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));━━━━━━━━━━━━━━━━━━━━━首部 function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; For mat: PChar): Integer; $[SysUtils.pas功能 返回浮点数以指定格式字符串Format转换成指针字符串的内存大小说明 ValueType指定无类型参数Value的类型参考 <NULL>例子///////Begin FloatToTextFmtprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;E: Extended;beginE := StrToFloatDef(Edit1.Text, 0);SpinEdit1.Value := FloatToTextFmt(vBuffer, E,fvExtended, PChar(Edit2.Text));Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value);end;///////End FloatToTextFmt━━━━━━━━━━━━━━━━━━━━━首部 procedure FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFlo atValue; Precision, Decimals: Integer); $[SysUtils.pas功能 将浮点数转换成浮点结构类型并返回到Result说明 ValueType指定类型;Precision指定精度;Decimals指定小数参考 type SysUtils.TFloatRec例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; $[SysUtils.pa s功能 返回日期时间类型转换成时间结构类型说明 <NULL>参考 type SysUtils.TTimeStamp例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 function EncodeDate(Year, Month, Day: Word): TDateTime; $[SysUtils.pas功能 返回合并年、月、日得到的日期说明 当出现非法组合时将触发异常参考 function SysUtils.TryEncodeDate例子 Edit1.Text := DateToStr(EncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdi t3.Value));━━━━━━━━━━━━━━━━━━━━━首部 function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; $[SysUtils.pas 功能 返回合并时、分、秒、微秒得到的时间说明 当出现非法组合时将触发异常参考 function SysUtils.TryEncodeTime例子 Edit1.Text := TimeToStr(EncodeTime(SpinEdit1.Value, SpinEdit2.Value, SpinEdi t3.Value, SpinEdit4.Value));━━━━━━━━━━━━━━━━━━━━━首部 procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); $[SysUtils.pas功能 分解日期为年、月、日说明 <NULL>参考 function SysUtils.DecodeDateFully例子///////Begin DecodeDateprocedure TForm1.Button1Click(Sender: TObject);varYear, Month, Day: Word;beginDecodeDate(Date, Year, Month, Day);SpinEdit1.Value := Year;SpinEdit2.Value := Month;SpinEdit3.Value := Day;end;///////End DecodeDate━━━━━━━━━━━━━━━━━━━━━首部 function DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DO W: Word): Boolean; $[SysUtils.pas功能 分解日期为年、月、日、星期说明 [DOW:Day Of Week]参考 function SysUtils.DateTimeToTimeStamp例子///////Begin DecodeDateFullyprocedure TForm1.Button1Click(Sender: TObject);varYear, Month, Day, DOW: Word;beginDecodeDateFully(Date, Year, Month, Day, DOW);SpinEdit1.Value := Year;SpinEdit2.Value := Month;SpinEdit3.Value := Day;SpinEdit4.Value := DOW;end;///////End DecodeDateFully━━━━━━━━━━━━━━━━━━━━━首部 function InternalDecodeDate(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas功能 <NULL>说明 Kylix函数参考 function SysUtils.DecodeDateFully例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Wo rd); $[SysUtils.pas功能 分解时间为时、分、秒、微妙说明 <NULL>参考 function SysUtils.DateTimeToTimeStamp例子///////Begin DecodeTimeprocedure TForm1.Button1Click(Sender: TObject);varHour, Min, Sec, MSec: Word;beginDecodeTime(Time, Hour, Min, Sec, MSec);SpinEdit1.Value := Hour;SpinEdit2.Value := Min;SpinEdit3.Value := Sec;SpinEdit4.Value := MSec;end;///////End DecodeTime━━━━━━━━━━━━━━━━━━━━━首部 procedure DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime); $[SysUtils.pas功能 返回日期时间类型转换成系统时间类型说明 <NULL>参考 function SysUtils.DecodeDateFully;function SysUtils.DecodeTime例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime; $[S ysUtils.pas功能 返回系统时间类型转换成日期时间类型说明 <NULL>参考 function SysUtils.EncodeDate;function SysUtils.EncodeTime例子 <NULL>━━━━━━━━━━━━━━━━━━━━━首部 function DayOfWeek(const DateTime: TDateTime): Word; $[SysUtils.pas功能 返回日期时间DateTime所在的星期说明 1(星期天),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)参考 function SysUtils.DateTimeToTimeStamp例子///////Begin DayOfWeekprocedure TForm1.Button1Click(Sender: TObject);constcWeekCn: array[1..7] of string =('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');beginEdit1.Text := cWeekCn[DayOfWeek(Now)];end;///////End DayOfWeek━━━━━━━━━━━━━━━━━━━━━首部 function Date: TDateTime; $[SysUtils.pas功能 返回当前日期说明 Date - Int(Date)=0;参考 function SysUtils.DateTimeToString例子 Edit1.Text := DateToStr(Date);━━━━━━━━━━━━━━━━━━━━━delphi函数大全之D-G篇-详解2(2007-04-09 00:29:38)标签:delphi函数━━━━━━━━━━━━━━━━━━━━━首部 function FileExists(const FileName: string): Boolean; $[SysUtils.pas功能 返回文件名FileName是否有实体存在说明 包括隐藏文件参考 function SysUtils.FileAge例子 CheckBox1.Checked := FileExists(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━。

delphi 数据类型数据操作.

delphi 数据类型数据操作.

算术运算符算术运算符接受实数或整数作为操作数。

算术运算符包括+, -, *, /, div, mod。

运算符操作操作数结果类型范例+加整数,实数整数,实数X + Y-减整数,实数整数,实数Result - 1*乘整数,实数整数,实数P * InterestRate /实数除整数,实数实数X / 2div整数除整数整数Total div UnitSize mod取模整数整数Y mod 6运算符操作操作数结果类型范例+(一元符号等同整数,实数整数,实数+7-(一元符号相反整数,实数整数,实数-X下列规则对算术运算符试用:·表达式 x/y 的值始终是Extended类型,而不管 x 和 y 是何类型。

对于其他算术运算符,只要至少其中一个操作数是实数,其运算结果就是Extended类型;否则,其中一个操作数是Int64类型,其运算结果是Int64类型;否则运算结果是Integer类型。

如果一个操作数的类型是整数类型的子界,那么它将被视为整数类型。

·表达式 x div y 的值是表达式 x/y 的值向零取整(即从该值到零方向的第一个整数。

· mod 运算符返回操作数整除的余数。

也就是说,x mod y = x - (x div y * y。

·对于表达式x/y、x div y、x mod y,当 y 为零时将发生运行时错误。

布尔运算符布尔运算符not、and、or、xor操作任何布尔类型的操作数并返回Boolean类型的值。

运算符操作操作数类型结果类型范例否定布尔型Boolean not (C in MySetand与布尔型BooleanDone and (Total > 0or或布尔型BooleanA or Bxor异或布尔型BooleanA xor B这些运算符遵循标准的布尔逻辑。

例如表达式 x and y 为真(True当且仅当 x 和y 均为真(True。

如何在DELPHI中操作EXCEL电子表格

如何在DELPHI中操作EXCEL电子表格

如何在DELPHI中操作EXCEL电子表格如何在DELPHI中操作EXCEL电子表格EXCEL电子表格作为办公软件OFFICE中的重要组成部份,是日常办公系统的主要助手,因此许多日常所需的业务方面的数据通常是通过电子表格存取。

有时我们需要从日常工作中创建的EXCEL中取得数据进行操作、打印、查询,统计等工作。

在这里我将介绍如何利用delphi完成EXCEL电子表格中数据的操作。

一、新建一项目,从控件栏servers中分别选取控件:excelapplication、excelworkbook1、excelworksheet,放到主窗体from1中,并加入stringgrid、三个按钮、五个显示字段内容的EDIT、二个操作显示记录的label、一个用于打开EXCEL电子表格的控件opendialog等,如下图所示:二、选择excel表'按钮,用于打开EXCEL文件,其代码如下:procedure TForm1.Button1Click(Sender: TObject);var i,j:integer;beginopendialog1.InitialDir:=ExtractFileDir(paramstr(0));//文件的打存放初始路径opendialog1.Execute;TryExcelApplication1.Connect;//EXCEL应用程序ExceptMessageDlg('Excel may not be installed',mtError, [mbOk], 0);Abort;End;ExcelApplication1.Visible[0]:=True;ExcelApplication1.Caption:='Excel Application';tryexcelapplication1.Workbooks.Open(opendialog1.FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件exceptbeginExcelApplication1.Disconnect;//出现异常情况时关闭ExcelApplication1.Quit;showmessage('请选择EXCEL电子表格!');exit;end;end;ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1与Eexcelapplication1建立连接ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接//开始从EXCEL中取数,放到stringgrid1中,取完数后关闭EXCELfor i:=1 to 1000 do//最大取值1000for j:=1 to 6 dobeginif trim(excelworksheet1.cells.item[i+1,1])<>'' thenbeginstringgrid1.rowCount:=i+1;stringgrid1.Cells[j,i]:=ExcelWorksheet1.Cells.Item[i+1,j];endelsebeginlabel3.caption:=inttostr(i-1);ExcelApplication1.Disconnect;ExcelApplication1.Quit;//将第一条数据赋给编辑框edit2.text:=stringgrid1.Cells[1,1];edit1.text:=stringgrid1.Cells[2,1];edit3.text:=stringgrid1.Cells[3,1];edit4.text:=stringgrid1.Cells[4,1];edit5.text:=stringgrid1.Cells[5,1];exit;end;end;end;三、'下一条记录'按钮,完成记录向下移动,代码如下: procedure TForm1.Button2Click(Sender: TObject); var x:integer;beginx:=stringgrid1.row+1;if x<> stringgrid1.RowCount thenbeginstringgrid1.row:=stringgrid1.row+1;label1.caption:=inttostr(x);edit2.text:=stringgrid1.Cells[1,x];edit1.text:=stringgrid1.Cells[2,x];edit3.text:=stringgrid1.Cells[3,x];edit4.text:=stringgrid1.Cells[4,x];edit5.text:=stringgrid1.Cells[5,x];exit;endelseshowmessage('已到第一条记录!');end;四、'上一条记录',完成记录上移,代码如下:var x:integer;beginx:=stringgrid1.row-1;if x<>0 thenbeginstringgrid1.row:=stringgrid1.row-1;label1.caption:=inttostr(x);edit2.text:=stringgrid1.Cells[1,x];edit1.text:=stringgrid1.Cells[2,x];edit3.text:=stringgrid1.Cells[3,x];edit4.text:=stringgrid1.Cells[4,x];edit5.text:=stringgrid1.Cells[5,x];exit;endelseshowmessage('已到最后一条记录!');end;五、stringgrid中上下移动时代码:procedure TForm1.StringGrid1Click(Sender: TObject);var i:integer;begini:=stringgrid1.Row;label1.caption:=inttostr(i);edit1.text:=stringgrid1.Cells[2,i];edit2.text:=stringgrid1.Cells[1,i];edit3.text:=stringgrid1.Cells[3,i];edit4.text:=stringgrid1.Cells[4,i];edit5.text:=stringgrid1.Cells[5,i];end;六、运行程序,点击按钮1打开excel表格。

(转载)delphi常用函数(数学)

(转载)delphi常用函数(数学)

(转载)delphi常⽤函数(数学)delphi 常⽤函数(数学)Delphi中怎么将实数取整?floor 和 ceil 是 math unit ⾥的函数,使⽤前要先 Uses Math。

trunc 和 round 是 system unit ⾥的函数,缺省就可以⽤。

floor 直接往⼩的取,⽐如 floor(-123.55)=-124,floor(123.55)=123trunc 直接切下整数,⽐如 trunc(-123.55)=-123, floor(123.55)=123ceil 直接往⼤的取,⽐如 ceil(-123.55)=-123, ceil(123.55)=124round 计算四舍五⼊,⽐如 round(-123.55)=-124,round(123.55)=124delphi中怎么将实数取余?function Frac(X: Extended): Extended; 是取得⼩数部分的函数abs(x) 绝对值arctan(x) 反正切cos(x) 传回馀弦函数值exp(x) e的x次幂frac(x) 取⼩数部分int(x) 取整ln(x) ⾃然对数sin(x) 传回正弦函数值sqr(x) x*xsqrt(x) 平⽅根其它pred(x) pred('D')='C', pred(true)=1;succ(x) succ('Y')='Z', succ(pred(x))=xord(x) 求x在字符集中的序号,如ord('A')=65chr(x) chr(65)='A'round(x) 四舍五⼊trunc(x) trunc(4.8)=4,trunc('-3.6')=-3upcase(x) upcase('a')='A'hi(I) hi(2A30)=2Alo(I) lo(2A30)=30random(n) 产⽣[0,n)间的随机整数sizeof(name) 求出某类型或变量在内存中占⽤的字节数swap(num) swap(3621)=2136。

delphi函数

delphi函数
标准函数和过程 ( 1 ) Date() : 函 数 返 回 系 统 当 前 日 期 , 无 参 数 , 返 回 数 据 是 TDateTime型。 ( 2 ) Time() : 函 数 返 回 系 统 当 前 时 间 , 无 参 数 , 返 回 数 据 是 TDateTime型。 (3)Now():函数返回系统当前日期和时间,无参数,返回数据是 TDateTime型。 (4)StrToDate('日期字符串') :字符串转换为日期时间函数,返回 数据是TDateTime型; StrToTime('时间字符串'):参数为时间串,返回数据是TDateTime型; StrToDateTime('日期时间型串'):参数为日期时间串,返回数据是 TDateTime型。如: StrToDate('10/1/2004'); StrToTime('12:50:24'); StrToDateTime('10/1/2004 12:00:00');
(5)日期时间转换为字符串的函数,返回值为字 符串,பைடு நூலகம்: TimeToStr(参数):将时间数据转换为字符串返回; DateToStr(参数):将日期数据转换为字符串返回; DateTimeTostr(参数) :将日期时间数据转换为 字符 串返回。 此外,还有Hourof、Minuteof、Secondof、 FormatDateTime等。
(1)合并字符串函数,Concat(s1,s2[,s3,s4,….])。 (2)取子串函数,Copy(字符串,开始位置,长度)。 (3)取左子串,LeftStr(字符串, 长度)。 (4)取右子串,RightStr(字符串, 长度)。 (5)判断一个子串在一个字符串中的起始位置,Pos(字 符串A,字符串B), 如:Pos(‘abc’, ‘axabcdef’)的值为3。 (6)去除字符串的左空格,TrimLeft(字符串) 。 (7)去除字符串的右空格,TrimRight(字符串) 。 (8)去除字符串的左、右空格,Trim(字符串) 。 (9)取的字符串的长度,Length(字符串)。 (10)字符串转为大写的函数,UpperCase(字符串)。

自己写的Delphi数据表操作函数(1)

自己写的Delphi数据表操作函数(1)

自己写的Delphi数据表操作函数(1)//=====判断一个字段类型是否为数值型=======================function RKDBIfNumberType(FieldType: TFieldType):Boolean;beginResult:=(FieldType=ftSmallint) or(FieldType=ftWord) or(FieldType=ftInteger) or(FieldType=ftFloat) or(FieldType=ftCurrency) or(FieldType=ftLargeint);end;//=====找出两个表中同名的字段(不考虑顺序一致)=======================//两个表都必须已经定义了物理字段或者打开// TypeOk 为 True 时,检测类型匹配// TypeOk 为 False 时,不检测类型匹配//函数返回找到的字段列表,类型为TStrings//要用到自定义函数RKDBIfNumberTypefunction RKDBGetSameFields(SourceDataSet: TBDEDataSet;TargetDataSet: TBDEDataSet;TypeOk:Boolean):TStrings;varns,nt:Integer;fName:String;fType:TFieldType;sTypeOk:Boolean;sNames:TStrings;beginsNames:=TStringList.Create;for ns:=0 to SourceDataSet.FieldDefs.Count-1 do beginfName:=SourceDataSet.FieldDefs[ns].Name;nt:=-1;if TargetDataSet.Fields.FindField(fName)<>nil thennt:=TargetDataSet.FieldDefs.IndexOf(fName);if (nt>-1) thenif not TypeOk thensNames.Add(fName)else beginfType:=SourceDataSet.FieldDefs[ns].DataType;if fType=TargetDataSet.FieldDefs[nt].DataTypethen sNames.Add(fName)else beginsTypeOk:=RKDBIfNumberType(fType);fType:=TargetDataSet.FieldDefs[ns].DataType;sTypeOk:=sTypeOk and RKDBIfNumberType(fType);if sTypeOk then sNames.Add(fName);end;end;end;Result:=sNames;end;//=====从另一个表中追加记录到指定表的尾部=============================//如果T oTable不存在且没有字义物理字段,则将FromTable完整复制到ToTable//如果ToTable不存在但字义了物理字段,则执行追加//如果ToTable已经存在,则追加同名字段的内容//函数返回成功追加的记录个数//要用到自定义函数RKDBGetSameFieldsfunction RKDBAppendRecord(FromDataSet: TBDEDataSet; ToTable: TTable;TheFilter:String=''):LongInt;varZhuiJia:TBatchMove;ToTableActive:Boolean;FromDataSetActive:Boolean;OldFilter:String;OldFiltered:Boolean;beginZhuiJia:=TBatchMove.Create(Application.MainForm); ZhuiJia.Source:=FromDataSet;ZhuiJia.Destination:=ToTable;ToTableActive:=ToT able.Active; FromDataSetActive:=FromDataSet.Active;//如果ToTable不存在,但有字段定义,则先生成表if (not T oTable.Exists) and(ToTable.FieldDefs.Count>0) then ToT able.CreateTable;if ToTable.Exists then beginif ToTableActive thenToTable.DisableControls //如果T oTable已经打开,则关闭控制elseToTable.Open; //否则打开if TheFilter<>'' then beginOldFilter:=FromDataSet.Filter;OldFiltered:=FromDataSet.Filtered;FromDataSet.Filter:=TheFilter;FromDataSet.Filtered:=True;end;if FromDataSetActive then beginFromDataSet.DisableControls; //如果FromTable已经打开,则关闭控制FromDataSet.First;endelseFromDataSet.Open; //否则打开ZhuiJia.Mappings:=RKDBGetSameFields(FromDataSet,ToTab le);if ZhuiJia.Mappings.Count>0 then beginZhuiJia.Mode:=batAppend;ZhuiJia.Execute;end;if ToTableActive then ToTable.EnableControls else ToTable.Close;if TheFilter<>'' then beginFromDataSet.Filtered:=OldFiltered;FromDataSet.Filter:=OldFilter;end;FromDataSet.First;if FromDataSetActive then FromDataSet.EnableControls else FromDataSet.Close;endelse beginif FromDataSetActive then FromDataSet.DisableControls; //关闭控制ZhuiJia.Mode:=batCopy;ZhuiJia.Execute;if FromDataSetActive then FromDataSet.EnableControls; //打开控制end;Result:=ZhuiJia.MovedCount;ZhuiJia.Free;end;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
end;
Result:=ZhuiJia.MovedCount;
ZhuiJia.Free;
end;
(FieldType=ftInteger) or
(FieldType=ftFloat) or
(FieldType=ftCurrency) or
(FieldType=ftLargeint);
end;
//=====找出两个表中同名的字段(不考虑顺序一致)=======================
ZhuiJia.Source:=FromDataSet;
ZhuiJia.Destination:=ToTable;
ToTableActive:=ToTable.Active;
FromDataSetActive:=FromDataSet.Active;
//如果ToTable不存在,但有字段定义,则先生成表
end;
//=====从另一个表中追加记录到指定表的尾部=============================
//如果ToTable不存在且没有字义物理字段,则将FromTable完整复制到ToTable
//如果ToTable不存在但字义了物理字段,则执行追加
//如果ToTable已经存在,则追加同名字段的内容
//两个表都必须已经定义了物理字段或者打开
// TypeOk 为 True 时,检测类型匹配
// TypeOk 为 False 时,不检测类型匹配
//函数返回找到的字段列表,类型为TStrings
//要用到自定义函数RKDBIfNumberType
function RKDBGetSameFields(SourceDataSet: TBDEDataSet;
ZhuiJia.Mode:=batAppend;
ZhuiJia.Execute;
end;
if ToTableActive then ToTable.EnableControls else ToTable.Close;
if TheFilter<>'' then begin
//=====判断一个字段类型是否为数值型=======================
function RKDBIfNumberType(FieldType: TFieldType):Boolean;
begin
Result:=(FieldType=ftSmallint) or
(FieldType=ftWord) or
nt:=-1;
if TargetDataSet.Fields.FindField(fName)<>nil then
nt:=TargetDataSet.FieldDefs.IndexOf(fName);
if (nt>-1) then
if not TypeOk then
//函数返回成功追加的记录个数
//要用到自定义函数RKDBGetSameFields
function RKDBAppendRecord(FromDataSet: TBDEDataSet;
ToTable: TTable;
TheFilter:String=''):LongInt;
FromDataSet.Filtered:=OldFiltered;
FromDataSet.Filter:=OldFilter;
end;
FromDataSet.First;
if FromDataSetActive then FromDataSet.EnableControls else FromDataSet.Close;
var
ZhuiJia:TBatchMove;
ToTableActive:Boolean;
FromDataSetActive:Boolean;
OldFilter:String;
OldFiltered:Boolean;
begin
ZhuiJia:=TBatchMove.Create(Application.MainForm);
if (not ToTable.Exists) and
(ToTable.FieldDefs.Count>0) then ToTable.CreateTable;
if ToTable.Exists then begin
if ToTableActive then
ToTable.DisableControls //如果ToTable已经打开,则关闭控制
else
ToTable.Open; //否则打开
if TheFilter<>'' then begin
OldFilter:=FromDataSet.Filter;
OldFiltered:=FromDataSet.Filtered;
end
else begin
if FromDataSetActive then FromDataSet.DisableControls; //关闭控制
ZhuiJia.Mode:=batCopy;
ZhuiJia.Execute;
if FromDataSetActive then FromDataSet.EnableControls; //打开控制
TargetDataSet: TBDEDataSet;
TypeOk:Boolean):TStrings;
var
ns,nt:Integer;
fName:String;
fType:TFieldType;
sTypeOk:=sTypeOk and RKDBIfNumberType(fType);
if sTypeOk then sNames.Add(fName);
end;
end;
end;
Result:=sNames;
then sNames.Add(fName)
fNumberType(fType);
fType:=TargetDataSet.FieldDefs[ns].DataType;
FromDataSet.First;
end
else
FromDataSet.Open; //否则打开
ZhuiJia.Mappings:=RKDBGetSameFields(FromDataSet,ToTable);
if ZhuiJia.Mappings.Count>0 then begin
FromDataSet.Filter:=TheFilter;
FromDataSet.Filtered:=True;
end;
if FromDataSetActive then begin
FromDataSet.DisableControls; //如果FromTable已经打开,则关闭控制
sNames.Add(fName)
else begin
fType:=SourceDataSet.FieldDefs[ns].DataType;
if fType=TargetDataSet.FieldDefs[nt].DataType
sTypeOk:Boolean;
sNames:TStrings;
begin
sNames:=TStringList.Create;
for ns:=0 to SourceDataSet.FieldDefs.Count-1 do begin
fName:=SourceDataSet.FieldDefs[ns].Name;
相关文档
最新文档