Bonjour !

J'ai essayé de faire une petite horloge numérique. Elle a deux défauts.

Le premier, c'est que lorsqu'il y a, par exemple, 7 secondes, l'horloge affiche "7" et non pas "07" comme il le faudrait. Comment vous y prendriez-vous pour corriger cela ?

Le deuxième défaut, plus grave, c'est que l'horloge s'initialise une seule fois, à l'ouverture de la page, et ensuite reste figée. C'est le même problème que j'avais rencontré avec ma trotteuse, mais je ne vois pas comment transposer la solution à un objet de type TextField.

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
program Exemple; uses Flash8, Date;
 
{$FRAME_WIDTH    272}
{$FRAME_HEIGHT    48}
{$FRAME_RATE      32}
{$BACKGROUND $eeeeee}
 
var
  d: TDate;
  f: TextFormat;
  m: MovieClip;
  t: TextField;
 
begin
  d:=TDate.Create;
 
  f:=TextFormat.Create('Tahoma',24);
  f.color:=$555555;
  f.align:='center';
  f.bold:=True;
 
  m:=MovieClip.Create(nil,'m',0);
  m.beginFill($cccccc);
 
  m.lineStyle(1,$000000);
  m.moveTo(0,32);
  m.lineTo(0,0);
  m.lineTo(256,0);
  m.lineTo(256,32);
  m.lineTo(0,32);
 
  m._x:=8;
  m._y:=8;
 
  t:=TextField.Create(m,'t',0,0,0,256,32);
  t.setNewTextFormat(f);
 
  t.text:=IntToStr(d.getHours);
  t.text:=t.text+#32#58#32;
  t.text:=t.text+IntToStr(d.getMinutes);
  t.text:=t.text+#32#58#32;
  t.text:=t.text+IntToStr(d.getSeconds);
 
  //t.setTextFormat(f);
end.