فهرست منبع

Поддержка DateTime<->Double

Yuri Tolsky 1 هفته پیش
والد
کامیت
efd07ef8b4
1فایلهای تغییر یافته به همراه10 افزوده شده و 5 حذف شده
  1. 10 5
      MyLog.pas

+ 10 - 5
MyLog.pas

@@ -8,6 +8,7 @@ Uses
   System.SyncObjs,
   System.Diagnostics,
   System.Classes,
+  System.StrUtils,
   System.TypInfo;
 
 
@@ -106,12 +107,13 @@ Procedure WriteMyLog(const aArgs :array of const; const aHeader :String = ''); o
 var
   vArgument :Boolean;
   vStr      :String;
-
+  vDateTimeMode :Boolean;
   procedure locIncStr(const aAddStr :String);
   begin
-    if vArgument then
-      AddStr(vStr, aAddStr)
-    else
+    if vArgument then begin
+      AddStr(vStr, aAddStr);
+      vDateTimeMode := AnsiContainsText(aAddStr,'date') or AnsiContainsText(aAddStr,'time');
+    end else
       AddStr(vStr, '=' + aAddStr + LogElementsSeparator);
   end;
 
@@ -148,7 +150,10 @@ begin
 
           vtInteger       : locIncStr(IntToStr(VInteger));
           vtInt64         : locIncStr(IntToStr(VInt64^));
-          vtExtended      : locIncStr(FloatToStr(VExtended^, fFS));
+          vtExtended      : if (not vArgument) and vDateTimeMode then
+                              locIncStr(DateTimeToStr(VExtended^, fFS))
+                            else
+                              locIncStr(FloatToStr(VExtended^, fFS));
           vtBoolean       : locIncStr(BoolToStr(VBoolean, true));
           vtCurrency      : locIncStr(CurrToStr(VCurrency^, fFS));
           vtObject        : locIncStr(locObjectToStr(VObject));