emkka
Messages postés26Date d'inscriptionvendredi 7 avril 2006StatutMembreDernière intervention 1 juin 2008
-
12 mai 2006 à 20:38
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
13 mai 2006 à 02:40
bonjour,
je dispose de deux unit dans la premiere j'ai declaré une variable globale a:byte apres je lui affecte un nombre (ex: 5) maintenant je passe à la deuxieme unit et je cree un edit et je lui affect la variable "a" en utilisant biensur inttostr(a). Le probleme c'est que je trouve un '0' dans edit. Comment faire ?merci
emkka
Messages postés26Date d'inscriptionvendredi 7 avril 2006StatutMembreDernière intervention 1 juin 2008 12 mai 2006 à 22:27
au fait j'ai trouver l'erreur, j'ai toucher au public et autre choses mais j'ai vu qu'il suffit juste d'ajouter uses unit1; dans implementation et c'est tout.
Fais attention avec ce genre de chose : on doit faire du transpytage normalement. La ca va ca passe mais tu risques de rencontrer des soucis a faire cela
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 13 mai 2006 à 02:40
non francky ... pas besoin de transtyper les entiers ...
IntToStr accepte aussi bien un byte, qu'un smallint, qu'un word ect... et meme le cardinal et le int64 ...
donc aucun probleme ...
le probleme vient plutot des float qui selon leurs precision ont des decimales erronées aprés cette precision... et aussi il ne se gere pas pareils au niveau des registre CPU ... meme si on ne fait pas de l'assembleur le programme lui reste compilé en assembleur ... donc ...
au mieux, ce que je prefere par dessus tout ... la fonction Format qui accepte tout les types et est aussi performantes que les fonction inttostr, floattostr ect...
edit1.caption := format('%d',[A]);
avantage on peu meme ajouter des 0 devant la valeur