DELPHI结构体的定义和使用

在C#用Struct非常方便,但Delphi竟然没有Struct。最后发现了Record,转载此文章以备使用。


窗体设计如上面结构!

代码如下:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  type
    Tman=record
    name:string;
    id:string;
  end;

  type
    Tmarks=record
    person:Tman;
    math:real;
    english:real;
  end;


implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
  edit1.Text:='';
  edit2.Text:='';
  edit3.Text:='';
  edit4.Text:='';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  na,num:string;
  sx,yy:real;
  liuyi:Tmarks;
begin
  liuyi.person.name:='乱了营亚';
  liuyi.person.id:='20012070105';
  liuyi.math:=89.5;
  liuyi.english:=92.7;
  edit1.Text:=liuyi.person.name;
  edit2.Text:=liuyi.person.id;
  edit3.Text:=floattostr(liuyi.math);
  edit4.Text:=floattostr(liuyi.english);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  close;
end;

end.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi 中 TTimeSpec 接口用于表示时间的结构体,用于与 Linux 系统的 time.h 头文件中定义的 timespec 结构体交互。下面是一个使用 TTimeSpec 接口的示例: 首先,在程序中使用以下代码导入 Linux 的 time.h 头文件: ```delphi {$IFDEF LINUX} {$LINKLIB c} {$DEFINE _POSIX_C_SOURCE := 200112L} {$DEFINE _XOPEN_SOURCE := 600} {$INCLUDE features.h} {$INCLUDE time.h} {$ENDIF} ``` 然后,可以通过以下代码来声明一个 TTimeSpec 变量,并将其初始化为当前系统时间: ```delphi var ts: TTimeSpec; begin clock_gettime(CLOCK_REALTIME, @ts); // 在这里,ts.tv_sec 和 ts.tv_nsec 分别表示秒和纳秒 end; ``` 在上面的代码中,`CLOCK_REALTIME` 是一个常量,表示使用系统时间作为时钟源。`clock_gettime` 函数用于获取当前时间,并将其存储在 `ts` 变量中。 可以使用 `ts.tv_sec` 和 `ts.tv_nsec` 分别获取秒和纳秒部分的时间。需要注意的是,`tv_nsec` 字段的范围是 0 到 999999999,即一秒内的纳秒数。 还可以使用 `nanosleep` 函数来让程序休眠一段时间,例如: ```delphi var ts, rem: TTimeSpec; begin ts.tv_sec := 1; // 休眠 1 秒 ts.tv_nsec := 0; while True do begin if nanosleep(@ts, @rem) = 0 then break; ts := rem; // 如果休眠被中断,则使用剩余的时间继续休眠 end; end; ``` 上面的代码中,`nanosleep` 函数用于让程序休眠一段时间(这里是 1 秒)。如果休眠被中断,则使用剩余的时间继续休眠,直到休眠时间完全用完为止。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值