Bonjour ! Y aurait-il un moyen de mesurer le temps d'exécution d'une procédure ?
Je sais qu'on peut obtenir l'heure à la milliseconde près, mais étant donné les conditions dans lesquelles s'exécute une animation Flash, on ne peut pas lancer des tâches trop longues. Donc comment feriez-vous, si vous aviez besoin de savoir laquelle de deux procédures est la plus rapide ?
Voici un cas sur lequel je me suis posé la question.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 (* Flash-Pascal 2 v13.11.10 *) program EnleveAccents1; uses Flash8; {$FRAME_WIDTH 320} {$FRAME_HEIGHT 200} {$BACKGROUND 0} //////////////////////////////////////////////////////////////////////////////// const LARGEUR = 320; HAUTEUR = 200; VERSION = 'Compilateur FlashPascal 2 v13.11.10'#13; var t: TextField; f: TextFormat; s: string; //////////////////////////////////////////////////////////////////////////////// const AvecAccents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"; SansAccents = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'; function EnleveAccents(aChaine: string): string; var i, j: Integer; begin Result := ''; for i := 1 to Length(aChaine) do begin j := Pos(aChaine[i], AvecAccents); if j > 0 then Result := Result + SansAccents[j] else Result := Result + aChaine[i]; end; end; begin //////////////////////////////////////////////////////////////////////////////// f := TextFormat.Create('Tahoma', 16); f.color := clWhite; f.leftMargin := 5; t := TextField.Create(_root, 't', 0, 0, 0, LARGEUR, HAUTEUR); t.SetNewTextFormat(f); //////////////////////////////////////////////////////////////////////////////// s := EnleveAccents("aàeéè"); //////////////////////////////////////////////////////////////////////////////// t.text := VERSION + s; f.size := 12; f.color := clLime; t.SetTextFormat(0, Length(VERSION)-1, f); //////////////////////////////////////////////////////////////////////////////// end.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 (* Flash-Pascal 2 v13.11.10 *) program EnleveAccents2; uses Flash8; {$FRAME_WIDTH 320} {$FRAME_HEIGHT 200} {$BACKGROUND 0} //////////////////////////////////////////////////////////////////////////////// const LARGEUR = 320; HAUTEUR = 200; VERSION = 'Compilateur FlashPascal 2 v13.11.10'#13; var t: TextField; f: TextFormat; s: string; //////////////////////////////////////////////////////////////////////////////// const AvecAccents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"; SansAccents = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'; function EnleveAccents(aChaine: string): string; var i, j: Integer; begin Result := aChaine; for i := 1 to Length(aChaine) do begin j := Pos(aChaine[i], AvecAccents); if j > 0 then Result[i] := SansAccents[j]; end; end; begin //////////////////////////////////////////////////////////////////////////////// f := TextFormat.Create('Tahoma', 16); f.color := clWhite; f.leftMargin := 5; t := TextField.Create(_root, 't', 0, 0, 0, LARGEUR, HAUTEUR); t.SetNewTextFormat(f); //////////////////////////////////////////////////////////////////////////////// s := EnleveAccents("aàeéè"); //////////////////////////////////////////////////////////////////////////////// t.text := VERSION + s; f.size := 12; f.color := clLime; t.SetTextFormat(0, Length(VERSION)-1, f); //////////////////////////////////////////////////////////////////////////////// end.
Partager