فهرست منبع

* Added generic IfThen, as proposed by Thaddy de Koning, bug id #34012

git-svn-id: trunk@39521 -
michael 7 سال پیش
والد
کامیت
1e3f44965f
2فایلهای تغییر یافته به همراه13 افزوده شده و 0 حذف شده
  1. 2 0
      rtl/objpas/sysutils/sysutilh.inc
  2. 11 0
      rtl/objpas/sysutils/sysutils.inc

+ 2 - 0
rtl/objpas/sysutils/sysutilh.inc

@@ -266,6 +266,8 @@ type
   procedure AddTerminateProc(TermProc: TTerminateProc);
   function CallTerminateProcs: Boolean;
 
+generic function IfThen<T>(val:boolean;const iftrue:T; const iffalse:T) :T; inline; overload;
+
 
 Var
    OnShowException : Procedure (Msg : ShortString);

+ 11 - 0
rtl/objpas/sysutils/sysutils.inc

@@ -801,3 +801,14 @@ begin
   result:=ExecuteProcess(ToSingleByteFileSystemEncodedFileName(Path),ComLineA);
 end;
 {$endif}
+
+
+// generic ifthen..
+
+generic function IfThen<T>(val:boolean;const iftrue:T; const iffalse:T) :T; inline; overload;
+begin
+  if val then 
+    Result := ifTrue
+  else
+    Result:=ifFalse;  
+end;