Bonjour,

En prenant exemple sur le code de Paul Toth, je me suis dis qu'il serait pas mal de faire un code dans ce style en passant des fonctions en paramètres d'une autres afin qu'elle me retourne le temps mis pas celle ci.

Ci-dessous un début d'idée sur le fonctionnement que je voudrais réaliser.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
TProcess : function : integer of Object;
 
TMainClass = Class(TObject)
  public
    // Diverses fonction du style function (Nombre de param variable) : Integer;
 
    function CalcTime(AProcessName : String;AProcess : TProcess; Logs : TStringList) : Integer;
end;
 
function TMainClass.CalcTime(AProcessName : String;AProcess : TProcess; Logs : TStringList) : Integer
var
var
  Begintime, endtime,TickPerSec : int64;
  iTmp : Int64;
 
begin
  QueryPerformanceCounter(BeginTime);
 
  Result := Process;
 
  QueryPerformanceCounter(EndTime);
  QueryPerformanceFrequency(TickPerSec);
  iTmp := Round((EndTime - BeginTime) / TickPerSec * 1000);
  Logs.Add(Format(AProcessName + ' %d',[iTmp]));
end;
Je pense que cela ne sera pas fonctionnel en l'état au vu que les fonctions n'ont pas un même nombre de paramètres.

Mes questions :

- Est ce réalisable ?
- Si oui, que manque-t-il à ce code ? Doit on écrire d'une autre manière ?

Merci