bernardg15
Messages postés1Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention24 janvier 2005 24 janv. 2005 à 03:59
je telecharge plusieur winzip mest ca marche pas
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 23 janv. 2005 à 16:54
Salut,
J'ai moi aussi quelques remarques constructives a te transmettre car je suis aussi d'accord avec GrandVizir pour le tri simple.
1) Que viennent faire "dialogs" "messages" "graphics" et stdctrls dans le unités déclarées ??
2) je ne suis pas sur que cela soit du ressort de ton composant de s'occuper de ça :
if curseur then screen.cursor := crHourGlass;
mais plutot a l'application elle meme, enfin c'est mon avis. et puis je pense que l'unité "forms" pourra sauter =)
3) dans la description tu dis "Pour lancer le tri, appelez la procédure Executer" dommage que cette procedure n'existe pas ! elle s'apelle "tri", mais "executer" est nettement mieux comme nom.
pour info tu dois la déclarer en public et non published (meme si ça marche aussi en published).
4) le type des fichiers devrait être "TFileName" au lieu d'une simple String (limitée à 255c).
5) et puis comme d'hab, ceux qui me connaissent le savent : j'ai testé la rapidité d'execution de ton code avec celui de grandvizir (c'est a dire celui que lui, moi et delphiprog utilisons) et voila le resultat sur un fichier de 2300 lignes :
http://diabloporc.free.fr/delphi/demos/gbevsgvz.jpg GBE (auteur) : 83 millisecondes
GVZ (nous) : 21 millisecondes
dois presque 4 fois plus rapide rien que pour 2300 lignes.
6) Ton tri n'est pas bon !!!! les " _ " apparaissent APRES les "z" !!!! alors qu'ils doivent etre dans les premiers !
7) je viens de supprimer "forms" ainsi que tout ce qui touche au curseur, je passe bizzarement à 55 millisecondes... je l'avais dit =)
8) allez une derniere pour la route, je te conseille de déclarer tes variables persos avec un "f" dans un composant, exemple (d'une pierre 2 coups voila le TFileName) :
fNomFic1, fNomFic2 : TFileName;
c'est pas obligatoire mais c un peux comme le "T" =)
ma note orale 3/10
mets a jour ce compo si tu veux/peux, essaie de faire que le trie fonctionne, vire le curseur =) etc et puis le composant sera peut etre un jour utile.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 23 janv. 2005 à 15:13
"Ce code n'est pas commenté car j'ai juste repris l'exemple de tri fourni par Delphi". Dans ce cas, tout le monde là et il n'a rien à faire sur ce site.
Tout à fait d'accord avec GrandVizir : un TStringList suffit amplement pour trier une liste de chaînes.
Il est donc inutile de réinventer ce qui existe déjà.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 23 janv. 2005 à 14:38
Pour ne pas s'embêter, voici un programme Console:
program Test;
uses Classes;
var STL : TStringList;
begin
STL:=TStringList.Create;
STL.Clear;
try
STL.LoadFromFile(FICHIER);
STL.Sort;
STL.SaveToFile(NewFICHIER);
finally
STL.Free;
end;
end.
24 janv. 2005 à 03:59
23 janv. 2005 à 16:54
J'ai moi aussi quelques remarques constructives a te transmettre car je suis aussi d'accord avec GrandVizir pour le tri simple.
1) Que viennent faire "dialogs" "messages" "graphics" et stdctrls dans le unités déclarées ??
2) je ne suis pas sur que cela soit du ressort de ton composant de s'occuper de ça :
if curseur then screen.cursor := crHourGlass;
mais plutot a l'application elle meme, enfin c'est mon avis. et puis je pense que l'unité "forms" pourra sauter =)
3) dans la description tu dis "Pour lancer le tri, appelez la procédure Executer" dommage que cette procedure n'existe pas ! elle s'apelle "tri", mais "executer" est nettement mieux comme nom.
pour info tu dois la déclarer en public et non published (meme si ça marche aussi en published).
4) le type des fichiers devrait être "TFileName" au lieu d'une simple String (limitée à 255c).
5) et puis comme d'hab, ceux qui me connaissent le savent : j'ai testé la rapidité d'execution de ton code avec celui de grandvizir (c'est a dire celui que lui, moi et delphiprog utilisons) et voila le resultat sur un fichier de 2300 lignes :
http://diabloporc.free.fr/delphi/demos/gbevsgvz.jpg
GBE (auteur) : 83 millisecondes
GVZ (nous) : 21 millisecondes
dois presque 4 fois plus rapide rien que pour 2300 lignes.
6) Ton tri n'est pas bon !!!! les " _ " apparaissent APRES les "z" !!!! alors qu'ils doivent etre dans les premiers !
7) je viens de supprimer "forms" ainsi que tout ce qui touche au curseur, je passe bizzarement à 55 millisecondes... je l'avais dit =)
8) allez une derniere pour la route, je te conseille de déclarer tes variables persos avec un "f" dans un composant, exemple (d'une pierre 2 coups voila le TFileName) :
fNomFic1, fNomFic2 : TFileName;
c'est pas obligatoire mais c un peux comme le "T" =)
ma note orale 3/10
mets a jour ce compo si tu veux/peux, essaie de faire que le trie fonctionne, vire le curseur =) etc et puis le composant sera peut etre un jour utile.
23 janv. 2005 à 15:13
Tout à fait d'accord avec GrandVizir : un TStringList suffit amplement pour trier une liste de chaînes.
Il est donc inutile de réinventer ce qui existe déjà.
23 janv. 2005 à 14:38
program Test;
uses Classes;
var STL : TStringList;
begin
STL:=TStringList.Create;
STL.Clear;
try
STL.LoadFromFile(FICHIER);
STL.Sort;
STL.SaveToFile(NewFICHIER);
finally
STL.Free;
end;
end.
Le tri est alphabétique.