在DELPHI下读取与设置系统时钟
很多朋友都想在自己的程序中显示系统时间
这在DELPHI中十分容易
利用DateToStr(Date)及TimeToStr(Time)函数即可实现。

二者的函数原型如下:
function DateToStr(Date:TDateTime):string;

function TimeToStr(Time:TDateTime):string;

其返回值均为String型。

在程序中我们可以这样使用:

Label1.Caption:=DateToStr(Date);

Lable2.Caption:=TimeToStr(Time);

二者分别调用了Delphi函数Date和Time读取系统日期和时间来实现的

但只能读系统时钟

而不能设置系统时钟。那么如何处理这一问题呢?这正是本文所要讨论的问题。

既然Delphi没有提供如此功能

但Delphi提供了调用WindowsAPI的接口。所以我们可以调用WindowsAPI函数来实现这一功能。具体方法如下:

procedure TForm1.Button1Click(Sender:TObject);

begin

Edit1.Text:='97/10/30 10:09:59'; //注意:控制面板内时间格式要为YY/MM/DD

end;

procedure TForm1.Button2Click(Sender:TObject);

var  systemtime:Tsystemtime;

DateTime:TDateTime;

begin

DateTime:=StrToDateTime(Edit1.text); //获得时间(TDateTime格式)

DateTimeToSystemTime(DateTime

systemtime); //把Delphi的TDateTime格式转化为API的TSystemTime格式

SetLocalTime(SystemTime); //设置系统时间

GetLocalTime(SystemTime); //读取系统时间

DateTime:=SystemTimeToDateTime(SystemTime); //把API的TSystemTime格式 转化为 Delphi的TDateTime格式

Edit2.Text:=DateTimeToStr(DateTime); //显示当前系统的时间

end;

另外

还有好多其它的Delphi函数和API函数供我们使用

如: StrToDate、StrToTime、DateTimeToStr、StrToDateTime、DateTimeToSystemTime、SystemTimeToDateTime、DateTimeToTimeStamp、TimeStampToDateTimeCompareFileTime、DosDateTimeToFileTime、FileTimeToDosDateTime、FileTimeToLocalFileTime、FileTimeToSystemTime、GetFileTime、SetFileTime、GetSystemTime(格林威治时间)、SetSystemTime.GetSystemTimeAdjustment

SetSystemTimdAdjustment。

//TSystemTime的格式

PSystemTime = ^TSystemTime;

TSystemTime = record

wYear: Word;

wMonth: Word;

wDayOfWeek: Word; //当前的系统时间是星期几

wDay: Word;

wHour: Word;

wMinute: Word;

wSecond: Word;

wMilliseconds: Word;

end;

//TDateTime的格式

TDateTime = type Double

DELPHI下读取与设置系统时钟的更多相关文章

  1. QT在linux环境下读取和设置系统时间(通过system来直接调用Linux命令,注意权限问题)

    QT在Linux环境下读取和设置系统时间 本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明. 环境: 主机:Fedora12 开发软件:QT 读取系统时间 ...

  2. STM32学习笔记:系统时钟和SysTick定时器

    原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1.     STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...

  3. STM32(4)——系统时钟和SysTick

    1.STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HSE.LSI.LSE.PLL HSI是高速内部时钟,RC振荡器,频率为8MHz: HSE是高速外部时钟,可接石英/陶瓷谐振器 ...

  4. Huawei设备配置系统时钟

    系统时钟是设备上的系统时间戳.由于地域的不同,用户可以根据当地规定设置系统时钟.用户必须正确设置系统时钟以确保其与其他设备保持同步.华为设备出厂时默认采用了协调世界时(UTC),但是没有配置时区所有在 ...

  5. 基于Systick系统时钟延时的LED闪烁灯

    1.回顾我们的51 单片机编程,当我们需要做系统延迟的时候,最常采用的一种方式就是使用for 循环的空语句等待来实现. 当然,在STM32 里面也可以这么实现.但是在STM32 的Cortex 内核里 ...

  6. LCD实验学习笔记(四):系统时钟

    一般CPU频率(FCLK)高于内存.网卡等设备频率(HCLK),而串口.USB.I2C等设备频率(PCLK)更低. 系统时钟: 系统时钟源为晶振,初始频率12MHz. 通过设置MPLLCON寄存器的M ...

  7. 单片机成长之路(51基础篇) - 023 N76e003 系统时钟切换到外部时钟

    N76e003切换到外部时钟的资料很少(因为N76e003的片子是不支持无源晶振的,有源晶振的成本又很高,所以网上很少有对N76e003的介绍).有图有真相: 代码如下: main.c #includ ...

  8. STM32入门系列-STM32时钟系统,自定义系统时钟

    在时钟树的讲解中我们知道,通过修改PLLMUL中的倍系数值(2-16)可以改变系统的时钟频率.在库函数中也有对时钟倍频因子配置的函数,如下: void RCC_PLLConfig(uint32_t R ...

  9. 痞子衡嵌入式:系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败问题. 我们知道,i.MXRT1xxx家族早期型号(RT1050/ ...

随机推荐

  1. Android 多进程编程 15问15答!

    ps:阅读本文 需要对android 多进程编程有一定了解. 1.Android中总共有几种方式进行IPC? 答:一共有两种,一种是binder 还有一种是socket.Binder 大家用的比较多. ...

  2. 格式化输出星期几 C#

    string Today = DateTime.Now.ToString("yyyy-MM-dd dddd",new System.Globalization.CultureInf ...

  3. Fidder 监控WCF

    Client端配置 <?xml version="1.0" encoding="utf-8" ?> <configuration> &l ...

  4. Oracle数据库备份手册

    1         故障类型 l  实例故障 由ORACLE内部异常.操作系统故障或其它相关软件引起,导致ORACLE实例中的进程或内存区出现故障或数据库无法正常关闭,这种故障称为实例故障.实例故障没 ...

  5. myeclipse 打开xml jsp页面慢 有时候会自动退出

    Myeclipse默认打开文件的方式是 jsp design,每次双击或者使用Ctrl+Shift+R打开 就会用这个打开 ,太慢了而且多次导致Myeclipse挂掉.可以通过以下的方式转化成你想要的 ...

  6. Fragment监听返回键

    首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPressed(),所有BackHandledFragment的子类在onBackPressed方法中处理各自对 ...

  7. Selenium2Library系列 keywords 之 _SelectElementKeywords 之 select_from_list(self, locator, *items)

    def select_from_list(self, locator, *items): """Selects `*items` from list identified ...

  8. IA32系统级架构总览(一) 实模式和保护模式

    应用程序的编写大部分的时候是不必关心系统级架构的,最多学习一下平台所给的API即可,也就是我们通常说的黑箱子.但是在学习操作系统的时候,系统级架构是要关心的. 系统级架构很难学习,其中一个很大的原因是 ...

  9. 如何配置仿真器DM8127+SEED-XDS560v2PLUS和连接不上的问题的解决

    1 根据配置焊接JTAG电路转接板.我用的是14pin的. 2 安装仿真器驱动.安装完如下图 我安装的时候没有自动装上,第一次显示问号,后来手动的. 3 设置ccs工程 4 最后调试是这个样子 5 查 ...

  10. (转载)高速ADC的关键指标:量化误差、offset/gain error、DNL、INL、ENOB、分辨率、RMS、SFDR、THD、SINAD、dBFS、TWO-TONE IMD

    (一)一个基本概念 分贝(dB):按照对数定义的一个幅度单位.对于电压值,dB以20log(VA/VB)给出:对于功率值,以10log(PA/PB)给出.dBc是相对于一个载波信号的dB值:dBm是相 ...