INT2STR

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 24 nov. 2004 à 11:26
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 27 janv. 2005 à 22:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27780-int2str

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
27 janv. 2005 à 22:08
<mdr>
il faut un ActiveX spécial ?
un OCX ?
as-t-on besoin de regsrv32.exe ?
je n'ai pas trojan.dll ça marche quand meme ?
</mdr>
non ça ne serait pas plus simple :|
kurayamino Messages postés 3 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 18 décembre 2005
27 janv. 2005 à 22:04
Ca serait pas plus simple avec les pointeurs?
Kit3kl4t Messages postés 4 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 1 décembre 2004
2 déc. 2004 à 17:22
Je comprends pas trop non plus en fait :/ a quoi sert cette fonction ? elle remplace exactement inttostr .. nan ? (les noob n'ont pas le besoin de se passer de
Sysutils.pas si ?)
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
24 nov. 2004 à 21:59
A quoi ça sert ? Je vois pas vraiment... (sauf dans le cas énoncé par ironaxia)
La fonction IntToStr de delphi ne te suffit pas ?
ironaxia Messages postés 8 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 26 septembre 2006
24 nov. 2004 à 18:04
Salut !

Il existe une autre alternative :

function Int2Str(Num : Integer) : String;
begin
Str(Num, result);
end;

Facile non ?

C'est utile si on doit se passer de Sysutils.pas, on réduit alors la taille de l' executable d'au moins 100Ko.
Par exemple si on programme une démo ou souvent la taille finale est importante (genre limité a 64Ko).

Mais autrement pourquoi reinventé la roue ???
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
24 nov. 2004 à 13:32
ta fonction ne fonctionne pas, si je fais :
for i:=0 to 4 do
memo.Lines.Add(int2str(2));

il ne me donne pas :
"
2
2
2
2
2
"
mais
"
2
22
222
2222
22222
"

il faut modifier ça :
result:=char((number mod 10)+integer('0'))+result;
en ça :
result:=char((number mod 10)+integer('0'));
je ne vois pas pourquoi tu ajoutes a la fin +result !

de plus ta fonction n'est ni plus lente, ni plusq rapide que le IntToStr() de delphi, la tienne utilise des variables etc, alors que celle de delphi est faite en assembleur.

le fond est bon, la forme non :) je ne vais pas ajouter cette fonction dans mes projets puisque je le fais deja avec Sysutils.pas

mais pour le fond, je mets 7/10
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
24 nov. 2004 à 11:26
Voilà comment faire à l' envers:

function Str2Int(Str: String): Integer;
var i, Multiplicateur: Integer;
begin
Multiplicateur := 1;
RESULT := 0;

for i :=length(str) downto 1 do
begin
case Str[i] Of
'1': RESULT := RESULT + 1 * Multiplicateur;
'2': RESULT := RESULT + 2 * Multiplicateur;
'3': RESULT := RESULT + 3 * Multiplicateur;
'4': RESULT := RESULT + 4 * Multiplicateur;
'5': RESULT := RESULT + 5 * Multiplicateur;
'6': RESULT := RESULT + 6 * Multiplicateur;
'7': RESULT := RESULT + 7 * Multiplicateur;
'8': RESULT := RESULT + 8 * Multiplicateur;
'9': RESULT := RESULT + 9 * Multiplicateur;
'-': RESULT := RESULT * (-1);
end;

Multiplicateur := Multiplicateur * 10;
end;
end;

C' est vraiment n' importe quoi, mais bon, pourquoi refuse tu d' utiliser les fonctions IntToStr et StrToInt ??????????????????????????????????????????
Rejoignez-nous