delphi基础语法问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:27:36
1.用函数getsystemtime显示时间时,要先声明变量如var mytime:Tsystemtime;
然后再在begin下getsystemtime(mytime);这里的mytime与getsystemtime是什么关系,它的意思是不是说把获取的系统时间给了变量mytime?

2.用函数getlocaltime也要先声明变量如var mytime:systemtime;然后再在begin下getlocaltime(mytime)。这里声明变量时为什么可以不要前边那个T(象用第一个函数时那样)?而用datetimestr(now)这个函数干脆无须声明变量。它们这些区别的原因是什么?
鄙人业余爱好delphi,牵扯到类什么的总如罩一层雾,问这些“小儿科”问题,烦请高人解惑。

1.mytime是一个systemtime类型的变量,用来做为getsystemtime的参数来返回此函数得到的时间值。

2.tsystemtime和systemtime其实都是一样的,都代表
_SYSTEMTIME = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;

这个类型

而dattimetostr(now);其中的now不需要声明类型的原因在于它根本就是一个函数,它定义在sysutils单元里面,原型如下:
function Now: TDateTime;
{$IFDEF MSWINDOWS}
var
SystemTime: TSystemTime;
begin
GetLocalTime(SystemTime);
with SystemTime do
Result := EncodeDate(wYear, wMonth, wDay) +
EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;

这些都可以在Delphi的代码中找得到。