utiliser inttostr

utiliser inttostr - Delphi/Pascal - Programmation

Marsh Posté le 06-10-2007 à 17:53:55    

Bonjour, mon problème est simple, je dois afficher le résultat d'une opération dans un edit, et je ne comprend pas comment utiliser inttostr.
 
Voilà le code :
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
nombre: integer;
begin
   nombre := 0;
   milliseconde.caption :=  nombre + 1;
end;
 
end.
 
En gros je veux qu'a chaque milliseconde le timer ajoute 1 a un nompbre 0 affiché dans un edit, puis quand ce nombre atteint 999 j'ajoute 1 dans un edit seconde, puis minutes.  
Donc je voudrai savoir simplement où placer mon inttostr et sous quelle forme et syntaxe le mettre ^^
 
Merci de vos réponses ^^


---------------
Mon btag : ganon551#2549
Reply

Marsh Posté le 06-10-2007 à 17:53:55   

Reply

Marsh Posté le 06-10-2007 à 18:36:12    

Bon, j'ai réussi a m'arranger avec le inttostr, mais maintenant je rencontre un problème avec le timer, si quelqu'un pouvait m'expliquer comment il fonctionne...
J'ai mis dans ma procédure de click, quand je clique, timer.enabled:=true, puis aprés il est sensé ajouter 1 dans une variable toute les 1000ms, mais quand je lance le programme j'appuie sur le boutton, il affiche 0, puis je reclicke il affiche 1, puis aprés a chaque fois que je clique ça reste sur 1...
Je comprend plus rien...Merci de vos réponses.


---------------
Mon btag : ganon551#2549
Reply

Marsh Posté le 08-10-2007 à 23:22:40    


 
Le problème est qu' a chaque fois tu fais nombre  = 0 et tu affiche nombre + 1 , donc ca peu pas afficher autre chose que 1 ,  dans ton histoire  nombre c'est une variable mais ca valeur ne varie jamais .
 
Ajoute au moins inc(nombre)  


---------------

Reply

Marsh Posté le 12-10-2007 à 06:30:07    

Un caption est du type string (chaîne de caractères)
 
IntToStr "transforme" un entier en string (mais pas en caleçon), et il peut alors être affiché dans un caption.
 
Pour afficher le résultat d'un calcul, tu peux aussi utiliser la fonction Format.
 
exemple : si x et y sont des entier :  
 
millisecondes.caption := format('Le nombre de millisecondes est : %D !!! ',[nombre]);
 
affiche par exemple : Le nombre de millisecondes est : 521 !!!

Reply

Marsh Posté le 12-10-2007 à 06:33:07    

Ta procédure ne fonctionnera pas, elle renvoie toujours 1 !
Solution : déclare ta variable nombre en global (au début du code, après Var Form1 : Tform....)
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   nombre := nombre +1; // ou inc(nombre) !!!
   milliseconde.caption :=  inttostr(nombre);
end;

Reply

Marsh Posté le 13-10-2007 à 18:07:06    

et puis quoi encore  ?
faut qu'il la déclare en privée dans sa classe (et pas dans son unité)

Reply

Marsh Posté le 14-10-2007 à 03:10:40    

lol ! A ce niveau je crois que ce n'est pas grave si ce n'est pas déclaré en private pour faire de la programmation objet !

Reply

Marsh Posté le 14-10-2007 à 10:38:35    

euh... si justement ...
ca evite de faire des conneries

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed