您好,欢迎来到刀刀网。
搜索
您的当前位置:首页DELPHI 内存 数学 日期 函数

DELPHI 内存 数学 日期 函数

来源:刀刀网
四、内存、指针操作函数

在编程中,动态数组为我们处理数据带来了很大的方便。Windows API函数也为增强程序的功能提供了强有力的保障。当我们在使用这些动态数组及API函数时,常常需要动态分配内存空间,这样动态数组才能被我们使用,API函数才能正确的返回结果。因此,这些函数是必不可少的。. 1.AllocMem

功能说明:分配内存空间并自动初始化为零。如果不需要初始化为零,可以使用GetMem代替AllocMem。. 参考实例:. var.

Buffer: PChar;. begin.

Buffer := AllocMem(256); // 分配大小为256个字节的内存空间. end;. 2.Dispose

功能说明:释放为指针分配的内存空间。. 参考实例:. var.

P: Pinteger; // 声明一个Integer(整型)指针. begin. New(P);. P^ := 100;.

Dispose(P) // 释放内存. end;. 3.FreeMem

功能说明:释放分配的内存空间。. 参考实例:. var.

Buffer: Pchar;. begin.

GetMem(Buffer, 256); // 分配大小为256个字节的内存空间。. FreeMem(Buffer); // 释放内存空间. end;. 4.GetMem

功能说明:分配内存空间。. 参考实例:. var.

Buffer: PChar;. begin.

GetMem(Buffer, 256); // 分配大小为256个字节的内存空间。. end;. 5.New

功能说明:为指针分配内存空间。. 参考实例:. var.

P: PInteger; // 声明一个Integer(整型)指针. begin.

New(P); // 分配内存. P^ := 100; // 赋值.

end;.

五、数算函数

我们在编写跟数学紧密相关的程序时,数算函数将大有用处。比如图像处理软件,就会大量用到这些数算函数。.

默认情况下,Delphi新建的工程里,没有包含大多数的数行函数,因此需要在Uses中加入Math单元。. 1.Abs

功能说明:求绝对值。. 参考实例:. var.

r: Single;. i: Integer;. begin.

r := Abs(-2.8); // r等于 2.8 . i := Abs(-156); // I 等于 156. end;. 2.Exp

功能说明:Exp返回e的X次幂的值,其中e是一个自然对数基底。. 参考实例:.

e := Exp(1.0); // e为real型变量. end;. 3.Floor

功能说明:取得小于等于X的最大的整数。. 参考实例:.

Floor(-2.8) = -3. Floor(2.8) = 2. 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. end;.

6.Min(所在单元:Math)

功能说明:比较两个数字,并返回最小的一个数字。. 参考实例:. var.

k: Integer;. begin.

k := Min(10, 20); // k将为10. end;. 7.PI

功能说明:精确计算返回圆周率。. 参考实例:. var.

x Extended;. begin.

x := PI; // x等于3.14159265357932385. end;. 8.Round

功能说明:对一个实数进行四舍五入。. 参考实例:. var.

I, j: Integer;. begin.

i := Round(1.25); // i等于1. j := Round(1.62); // j等于2 . end;. 9.Sqr

功能说明:取给定值的平方。. 参考实例:.

var.

i: Integer;. begin.

i := Sqr(3); // i等于9. end;. 六、日期函数

对日期的处理,一般在有日期的共享、商业软件中经常使用到。如果你打算编写一款有日期的软件,熟悉使用下面的函数即可以实现。. 1.Date

功能说明:返回当前的日期。. 参考实例:.

procedure TForm1.Button1Click(Sender: TObject);. begin.

Label1.Caption := ''今天是:'' + DateToStr(Date);. end;.

Label显示为:今天是2005年1月1日。. 2.DateToStr

功能说明:将日期型转换为字符型。. 参考实例:. var.

S: String;. begin.

S := DateToStr(Date);. end;.

3.DateTimeToStr

功能说明:将DateTime型转换为字符型。. 参考实例:. var.

S: String;. begin.

S := DateTimeToStr(Now);. end;.

4.DayOfTheMonth(所在单元:DateUtils) 功能说明:获取指定日期的日。. 参考实例:.

Label1.Caption := IntToStr(DayOfTheMonth(Now));. 假设当前日期为2005年1月2日,那么Label将显示为2。. 5.DayOfTheWeek(所在单元:DateUtils) 功能说明:根据指定日期,获取星期几。. 参考实例:.

Label1.Caption := IntToStr(DayOfTheMonth(Now));.

假设当前日期为2005年1月2日,那么Label将显示为7。根据返回的值来判断是周几。7表示星期天,1为星期一,依类类推。. 6.DayOfTheYear(所在单元:DateUtils) 功能说明:根据指定日期,获取天数。. 参考实例:.

Label1.Caption := IntToStr(DayOfTheYear(Now));.

假设当前日期为2005年1月2日,那么Label将显示为2。表示是2005年的第2天。.

7.DayOf(所在单元:DateUtils) 功能说明:根据指定的日期,返回日。. 参考实例:.

Label1.Caption := IntToStr(DayOf(Date));.

假设当前日期为2005年1月2日,那么Label将显示为2。. 8.IsLeapYear

功能说明:根据指定的年,判断是否为闰年。可使用YearOf函数获取年。. 参考实例:.

procedure TForm1.Button1Click(Sender: TObject);. begin.

if IsLeapYear(YearOf(Date)) then ShowMessage(''是闰年''). else ShowMessage(''不是闰年'');. end;.

9.MonthOf(所在单元:DateUtils) 功能说明:根据指定的日期,返回月份。. 参考实例:.

Label1.Caption := IntToStr(MonthOf(Date));.

假设当前日期为2005年1月2日,那么Label将显示为1。. 10.Now

功能说明:返回当前日期及时间。. 参考实例:.

procedure TForm1.Button1Click(Sender: TObject);.

begin.

Label1.Caption := ''现在是:'' + DateTimeToStr(Now);. end;.

11.YearOf(所在单元:DateUtils) 功能说明:根据指定的日期,返回年。. 参考实例:.

Label1.Caption := IntToStr(YearOf(Date));.

假设当前日期为2005年1月2日,那么Label将显示为2005。.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务