mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 10:48:30 +02:00
56 lines
1.1 KiB
ObjectPascal
56 lines
1.1 KiB
ObjectPascal
{ %FAIL }
|
|
|
|
program tw35866;
|
|
{$mode delphi}{$warn 5079 off} // turn warning experimental off
|
|
uses
|
|
sysutils, dateutils, typinfo, rtti, classes;
|
|
|
|
type
|
|
{$M+}
|
|
TDateTimeAttribute = class(TCustomAttribute)
|
|
private
|
|
FArg:TDateTime;
|
|
public
|
|
constructor Create(aArg: String);overload;
|
|
constructor Create(aArg: TDateTime);overload;
|
|
constructor Create(aArg: int64);overload;
|
|
property DateTime:TDateTime read Farg;
|
|
end;
|
|
|
|
//[TDateTimeAttribute]
|
|
TMyDateTimeClass = class
|
|
private
|
|
FDateTime:TDateTime;
|
|
published
|
|
[TDateTimeAttribute(Now)]
|
|
property DateTime:TDateTime read FDateTime;
|
|
end;
|
|
|
|
constructor TDateTimeAttribute.Create(aArg: String);
|
|
begin
|
|
inherited create;
|
|
FArg := StrToDateTime(aArg);
|
|
end;
|
|
|
|
constructor TDateTimeAttribute.Create(aArg: TDateTime);
|
|
begin
|
|
FArg := aArg;
|
|
end;
|
|
|
|
constructor TDateTimeAttribute.Create(aArg: int64);
|
|
begin
|
|
//FArg := UnixToDateTime(aArg);
|
|
end;
|
|
|
|
|
|
var
|
|
Test:TMyDateTimeClass;
|
|
begin
|
|
Test := TMyDateTimeClass.Create;
|
|
try
|
|
writeln(DateTimeToStr(Test.DateTime));
|
|
finally
|
|
test.free;
|
|
end;
|
|
end.
|