浏览代码

[samples] updated

Exilon 5 年之前
父节点
当前提交
ba0455d63a
共有 2 个文件被更改,包括 241 次插入0 次删除
  1. 100 0
      samples/delphi/QuickDebugUtils/DebugUtils.dpr
  2. 141 0
      samples/delphi/QuickDebugUtils/DebugUtils.dproj

+ 100 - 0
samples/delphi/QuickDebugUtils/DebugUtils.dpr

@@ -0,0 +1,100 @@
+program DebugUtils;
+
+{$APPTYPE CONSOLE}
+
+{$R *.res}
+
+uses
+  System.SysUtils,
+  Quick.Commons,
+  Quick.Console,
+  Quick.Debug.Utils;
+
+type
+  TCalculator = class
+  public
+    function Sum(a, b : Int64) : Int64;
+    function Subs(a, b: Int64): Int64;
+    function Mult(a, b : Int64) : Int64;
+    function Divide(a, b: Int64): Double;
+  end;
+
+var
+  num : Int64;
+  float : Double;
+  calculator : TCalculator;
+
+{ TCalculator }
+
+function TCalculator.Sum(a, b: Int64): Int64;
+begin
+  {$IFDEF DEBUG}
+  TDebugger.TimeIt(Self,'Sum',Format('Sum %d + %d',[a,b]));
+  {$ENDIF}
+  Result := a + b;
+  //simulate working for 150ms
+  Sleep(150);
+end;
+
+function TCalculator.Subs(a, b: Int64): Int64;
+begin
+  {$IFDEF DEBUG}
+  TDebugger.Trace(Self,Format('Substract %d - %d',[a,b]));
+  {$ENDIF}
+  Result := a - b;
+  //simulate working for 200ms
+  Sleep(200);
+end;
+
+function TCalculator.Mult(a, b: Int64): Int64;
+begin
+  {$IFDEF DEBUG}
+  TDebugger.Enter(Self,'Mult').TimeIt;
+  {$ENDIF}
+  Result := a * b;
+  //simulate working for 300ms
+  Sleep(300);
+end;
+
+function TCalculator.Divide(a, b: Int64): Double;
+begin
+  {$IFDEF DEBUG}
+  var crono := TDebugger.TimeIt(Self,'Divide',Format('Divide %d / %d',[a,b]));
+  {$ENDIF}
+  Result := a / b;
+  //simulate working for 500ms
+  Sleep(500);
+  {$IFDEF DEBUG}
+  crono.BreakPoint('First point');
+  {$ENDIF}
+  //simulate working for 1 second
+  Sleep(1000);
+  {$IFDEF DEBUG}
+  crono.BreakPoint('Second point');
+  {$ENDIF}
+end;
+
+begin
+  try
+    calculator := TCalculator.Create;
+
+    num := calculator.Sum(100,50);
+    cout('Total is %d',[num],etInfo);
+
+    num := calculator.Subs(30,12);
+    cout('Total is %d',[num],etInfo);
+
+    num := calculator.Mult(20,2);
+    cout('Total is %d',[num],etInfo);
+
+    float := calculator.Divide(10,2);
+    cout('Total is %f',[float],etInfo);
+
+    cout('Press <ENTER> to Exit',ccYellow);
+    ConsoleWaitForEnterKey;
+
+  except
+    on E: Exception do
+      Writeln(E.ClassName, ': ', E.Message);
+  end;
+end.

文件差异内容过多而无法显示
+ 141 - 0
samples/delphi/QuickDebugUtils/DebugUtils.dproj


部分文件因为文件数量过多而无法显示