cs_badjinmb
Messages postés6Date d'inscriptiondimanche 23 avril 2006StatutMembreDernière intervention 5 mai 2006
-
4 mai 2006 à 23:10
cs_jfs59
Messages postés178Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention 2 février 2010
-
11 mai 2006 à 21:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_jfs59
Messages postés178Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention 2 février 2010 11 mai 2006 à 21:02
Vivi c'est pas mal .. juste un reproche car je ne veux pas juger du code .. j'ai lu les commentaires et il y en a c'est bien .. mais c'est pourri de fautes .. même si le Français n'était pas ta langue maternelle c'est a soigner presque autant que le code .. on fait tous de fautes moi aussi ! d'ailleur dans ce texte je suis sur qu'il y en a .. mais la WOUARF ...
kam_2006
Messages postés49Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention29 novembre 2010 6 mai 2006 à 12:07
bonjour
la source marche très bien mais il ya pas mal de else inutiles
cs_badjinmb
Messages postés6Date d'inscriptiondimanche 23 avril 2006StatutMembreDernière intervention 5 mai 2006 5 mai 2006 à 14:29
merci emandhal; je reconais que je suis trop brouillon et que je mait du innutile c'est a cause d'un problème que j'avais rencontré
il a été résolue et ne figure pas dans la source ;
pour le
Je metterai simplement :
begin
inc(compteur);
if compteur=2 then exit;
montre(cnode);
end;
//ici on effectue 2fois montre(cnode)
//alor que dans mon code compteur compte
// les erreures et si le nombre d'erreures est=2 alor on
//abandone ,ce code n'a pas lieu d'etre c'est juste encore une sécurité de plus...
sinon merci pour tes conseilles j'en prendrais compte a+...N*M*B
Emandhal
Messages postés194Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention10 octobre 20063 4 mai 2006 à 23:13
Salut, un petit truc en passant...
Pour ta variable 'optimize' de "procedure Tform1.cherche_D(cnode:TTreeNode;D_cible:string);", si tu veux vraiment optimizer, un petit changement de code s'impose ^^ C'est pas obligatoire, dans ton cas tu ne gagneras pas grand chose...
if optimize=10 then //pour pacer la main au systeme 1 fois sur 10
begin
application.ProcessMessages;
optimize:=0;
end
else inc(optimize);
Je ferais comme ca :
If (optimize and 15{ou $F})=0 Then Application.ProcessMessages; // Ici Application.ProcessMessage se fait tous les 16
Inc(optimize);
Ici le but n'est pas d'augmenter le nombre de cas où il ne fait pas 'Application.ProcessMessage' mais plutot de réduire le code généré et donc de passer moins de temps.
Tu mets pas mal de 'else' qui sont pas utiles. Par exemple (ligne 156) :
begin
inc(compteur);
if compteur=2 then exit else montre(cnode); // ici si compteur=2 il sort donc il n'effectuera jamais "montre(cnode)"
end;
Je metterai simplement :
begin
inc(compteur);
if compteur=2 then exit;
montre(cnode);
end;
De meme (Ligne 415) :
begin
cnode2:=cnode;
if cnode.HasChildren then
begin
if cnode.Expanded=false then cnode.Expand(false);
cnode:=cnode.getFirstChild;
break;
end
else break; // Ce else est pas utile puisque qu'il y ai un children ou pas tu fais un Break
end
Donc au final ca donne ca :
begin
cnode2:=cnode;
if cnode.HasChildren then
begin
if cnode.Expanded=false then cnode.Expand(false);
cnode:=cnode.getFirstChild;
end
break;
end
Et m... de faire que des optimizations à longueur de journée, ca m'a traumatisé lol
Sinon le code est interessant ^^ Il montre pas mal de chose sur les TreeView.
cs_badjinmb
Messages postés6Date d'inscriptiondimanche 23 avril 2006StatutMembreDernière intervention 5 mai 2006 4 mai 2006 à 23:10
des commentaires S.V.P je Suit débutant alor si il ya des fonctions plus simples du code utille dites le moi
11 mai 2006 à 21:02
6 mai 2006 à 12:07
la source marche très bien mais il ya pas mal de else inutiles
5 mai 2006 à 14:29
il a été résolue et ne figure pas dans la source ;
pour le
Je metterai simplement :
begin
inc(compteur);
if compteur=2 then exit;
montre(cnode);
end;
//ici on effectue 2fois montre(cnode)
//alor que dans mon code compteur compte
// les erreures et si le nombre d'erreures est=2 alor on
//abandone ,ce code n'a pas lieu d'etre c'est juste encore une sécurité de plus...
sinon merci pour tes conseilles j'en prendrais compte a+...N*M*B
4 mai 2006 à 23:13
Pour ta variable 'optimize' de "procedure Tform1.cherche_D(cnode:TTreeNode;D_cible:string);", si tu veux vraiment optimizer, un petit changement de code s'impose ^^ C'est pas obligatoire, dans ton cas tu ne gagneras pas grand chose...
if optimize=10 then //pour pacer la main au systeme 1 fois sur 10
begin
application.ProcessMessages;
optimize:=0;
end
else inc(optimize);
Je ferais comme ca :
If (optimize and 15{ou $F})=0 Then Application.ProcessMessages; // Ici Application.ProcessMessage se fait tous les 16
Inc(optimize);
Ici le but n'est pas d'augmenter le nombre de cas où il ne fait pas 'Application.ProcessMessage' mais plutot de réduire le code généré et donc de passer moins de temps.
Tu mets pas mal de 'else' qui sont pas utiles. Par exemple (ligne 156) :
begin
inc(compteur);
if compteur=2 then exit else montre(cnode); // ici si compteur=2 il sort donc il n'effectuera jamais "montre(cnode)"
end;
Je metterai simplement :
begin
inc(compteur);
if compteur=2 then exit;
montre(cnode);
end;
De meme (Ligne 415) :
begin
cnode2:=cnode;
if cnode.HasChildren then
begin
if cnode.Expanded=false then cnode.Expand(false);
cnode:=cnode.getFirstChild;
break;
end
else break; // Ce else est pas utile puisque qu'il y ai un children ou pas tu fais un Break
end
Donc au final ca donne ca :
begin
cnode2:=cnode;
if cnode.HasChildren then
begin
if cnode.Expanded=false then cnode.Expand(false);
cnode:=cnode.getFirstChild;
end
break;
end
Et m... de faire que des optimizations à longueur de journée, ca m'a traumatisé lol
Sinon le code est interessant ^^ Il montre pas mal de chose sur les TreeView.
4 mai 2006 à 23:10