JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 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és3Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention18 décembre 2005 27 janv. 2005 à 22:04
Ca serait pas plus simple avec les pointeurs?
Kit3kl4t
Messages postés4Date d'inscriptionmercredi 22 septembre 2004StatutMembreDerniè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és1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 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és8Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention26 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és2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 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és2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 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 ??????????????????????????????????????????
27 janv. 2005 à 22:08
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 :|
27 janv. 2005 à 22:04
2 déc. 2004 à 17:22
Sysutils.pas si ?)
24 nov. 2004 à 21:59
La fonction IntToStr de delphi ne te suffit pas ?
24 nov. 2004 à 18:04
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 ???
24 nov. 2004 à 13:32
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
24 nov. 2004 à 11:26
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 ??????????????????????????????????????????