begin process at 2010 02 10 05:51:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > COMPOSANT PERMETTANT DE TRIER LE CONTENU D'UN FICHIER TEXTE

COMPOSANT PERMETTANT DE TRIER LE CONTENU D'UN FICHIER TEXTE


 Information sur la source

Note :
Aucune note
Catégorie :Composants Niveau :Débutant Date de création :23/01/2005 Vu / téléchargé :3 763 / 392

Auteur : gbegreg

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture METTRE DES CELLULES EN COULEURS DANS UN TLISTVIEW (STYLE= VS...
CONVERTIR UN FICHIER TEXTE UNIX EN FICHIER TEXTE WINDOWS ET ...

 Sources de la même categorie

Source avec Zip Source avec une capture TQGRID UN STRINGGRID AMÉLIORER. par yanb
Source avec Zip DYNAMIC LIBRARY LOADER CLASS: GAGNEZ DU TEMPS POUR CHARGER L... par f0xi
Source avec Zip Source avec une capture COMPOSANTS NDSOFT par diglas
Source avec Zip Source avec une capture GESTION DES "CRASHS D'APPLICATION" par Bacterius
Source avec Zip COMPOSANT TTHRESCOLLECTION par ThWilliam

Commentaires et avis

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.

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

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.

Commentaire de bernardg15 le 24/01/2005 03:59:23

je telecharge plusieur winzip mest ca marche pas

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales