简单的指针问题:

256m 2002-05-06 11:13:58
type
pDTime = ^SYSTEMTIME;
var
pTime: pDTime;
LocalTime: pDTime;
sYear,sMonth,sDay,sHour,sMinute,sSecond: string;
begin
New(pTime);
pTime := @LocalTime;
GetSystemTime(pTime^);
sYear := IntToStr(pTime^.wYear);
sMonth := IntToStr(pTime^.wMonth);
sDay := IntToStr(pTime^.wDay);
sHour := IntToStr(pTime^.wHour);
sMinute := IntToStr(pTime^.wMinute);
sSecond := IntToStr(pTime^.wSecond);
LabelTime.Caption := sYear + '年' + sMonth + '月' + sDay + '日' +
sHour + '时' + sMinute + '分' + sSecond + '秒';

为什么这样写也可以?
sYear := IntToStr(pTime.wYear);
sMonth := IntToStr(pTime.wMonth);
sDay := IntToStr(pTime.wDay);
sHour := IntToStr(pTime.wHour);
sMinute := IntToStr(pTime.wMinute);
sSecond := IntToStr(pTime.wSecond);
还有就是为什么现在的时间是23:10了,可返回的还是15点10,也就是说,只有小时是错误的?
...全文
21 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chechy 2002-05-07
  • 打赏
  • 举报
回复
标准的Pascal语法应该是pTime^.wYear,相当于C中的(*pTime).wYear
256m 2002-05-07
  • 打赏
  • 举报
回复
有道理,pTime.wYear 与 pTime^.wYear是一样的吗?
chechy 2002-05-06
  • 打赏
  • 举报
回复
我们是在东8区(+8),看来这个函数返回的是格林尼治标准时间。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧