Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPOSANT PERMETTANT DE TRIER LE CONTENU D'UN FICHIER TEXTE


Information sur la source

Description

Ce composant non visuel vous permet de trier le contenu d'un fichier texte dans l'ordre croissant ou décroissant. L'algo de tri est celui contenu dans une des démos fournies avec Delphi. J'ai juste repris ce code dans un composant afin de simplifier son utilisation.

Pour l'utiliser, vous devez renseigner le chemin et le nom du fichier à trier dans la propriété ficEntree et le nom du fichier en sortie dans ficSortie (si le fichier de sortie existe déjà, il sera écrasé). Pour lancer le tri, appelez la procédure Executer. Vous pouvez également choisir l'ordre du tri dans la propriété Ordre.

Ce code n'est pas commenté car j'ai juste repris l'exemple de tri fourni par Delphi, par contre il peut vous servir à apprendre à faire un composant.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de grandvizir le 23/01/2005 14:38:59

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.

Le tri est alphabétique.

signaler à un administrateur
Commentaire de Delphiprog le 23/01/2005 15:13:34 administrateur CS

"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à.

signaler à un administrateur
Commentaire de JulioDelphi le 23/01/2005 16:54:26 administrateur CS

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.

signaler à un administrateur
Commentaire de bernardg15 le 24/01/2005 03:59:23

je telecharge plusieur winzip mest ca marche pas

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.