begin process at 2010 02 10 07:05:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Fichier / Disque

 > 

Récupérer les dernieres lignes d'un fichier texte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer les dernieres lignes d'un fichier texte

mercredi 8 février 2006 à 08:58:29 | Récupérer les dernieres lignes d'un fichier texte

gg79

Bonjour tout le monde, je travaille sous delphi 6 ent (en novice). je dois travailler sur un fichier csv et récuperer les 20 dernieres lignes de ce fichier. En ce moment, j'utilise une liste chainees (pointeurs) pour stockés les infos du fichiers car je dois parcourir tout le fichiers (Tant que pas fin de fichiers), Y aurait-il une solution pour partir de la fin du fichier et ainsi reduire mon traitement. (Le fichier a 5000 lignes!!!).
Je vous en remercie d'avance et désolé pour le dérangement.
Viva Delphi
mercredi 8 février 2006 à 09:29:06 | Re : Récupérer les dernieres lignes d'un fichier texte

jlen100

Membre Club
salut utilises plutot une une Tstringlist. qui est plus simple à gérer qu'une liste chainée

declares une variable Tstring
var  TempList: TStrings;  { déclarer la liste }
dans le form create (par exemple ou quand tu as besoin de la liste) tu creés la liste

  TempList := TStringList.Create;  { construire l'objet liste }


dans ta procédure de lecture du fichier tu charges ta liste

  tempList.LoadFromFile( 'Nom du fichier')


ensuite tu utilises ta liste  pour cela tu as la propriété count qui te donnes la longueur de la liste  il suffit de donner l'indice pour accéder à une chaine insi pour récupérer les 20 dernières lignes:
var buffer:string;
for i:=Templist.count-21 to TempList.count-1 do
begin
    buffer:=TempList[i];
//    la tu mets ton traitement
end;

dans le onclose de la form (par exemple ou avant  quand tu n'as plus besoin de la liste)
    TempList.Free;  { détruire l'objet liste }


@+
jlen

mercredi 8 février 2006 à 09:40:43 | Re : Récupérer les dernieres lignes d'un fichier texte

gg79

A je ne connaissais pas la Tstringlist, je pourrais l'utiliser mais g plusieurs colonnes ds mon fichiers.
Est-ce possible avec la tsringlist?
Si oui comment faire?
Merci d'avance mais cest une piste a suivre!
Viva Delphi
mercredi 8 février 2006 à 10:00:50 | Re : Récupérer les dernieres lignes d'un fichier texte

jlen100

Membre Club
Réponse acceptée !
tu as plusieurs solution soit utiliser la méthode addobject;
soit utiliser une TList que est une liste de pointeurs ce qui dans ton cas n'est pas une difficulté puisque tu utilise une liste chainé je te donne l'exemple delphi
type
  PMyList = ^AList;
  AList = record
   champ1: string;
    champ2: string;
  end;

var

  MyList: TList;
  ARecord: PMyList;
  B: Byte;
  Y: Word;
 comme pour le Tstringlist :  MyList := TList.Create;
while not EOF(F) do
begin
    New(ARecord);
//la tu charges l'enregistrement  à partir du fichier
    MyList.Add(ARecord); {Ajoute l'enregistrement à la liste}
end;
 ensuite tu peux l'utiliser comme précédemment
var buffer:string;
for i:=Mylist.count-21 to Mylist.count-1 do
begin
    Arecord:=Mylist.items[i];
    buffer:=Arecord^.champ1; par exemple
//    la tu mets ton traitement
end;
pour libérer la liste:
   for B := 0 to (MyList.Count - 1) do

   begin
     ARecord := MyList.Items[B];
     Dispose(ARecord);
   end;
   MyList.Free;

comme tu peux le constater c'est une version évoluée des listes chainées

@+
jlen




mercredi 8 février 2006 à 10:29:37 | Re : Récupérer les dernieres lignes d'un fichier texte

gg79

Nikel Merci C'est 2 fois plus tranquille,
Pile poil pour mon appli, maintenant elle en jete
Je te remercierais jamais assez
Merci encore jlen100
@+
mercredi 8 février 2006 à 10:31:40 | Re : Récupérer les dernieres lignes d'un fichier texte

jlen100

Membre Club
si la réponse te convient n'oublie pas de cliquer sur réponse accepter (cela facilite les recherches pour ceux qui auraient le même problème)

@+
jlen

mercredi 8 février 2006 à 10:43:07 | Re : Récupérer les dernieres lignes d'un fichier texte

gg79

Ok merci


Cette discussion est classée dans : fichier, récupérer, lignes, fichiers, dernieres


Répondre à ce message

Sujets en rapport avec ce message

Fichier (si possible) BDD ? [ par flo160fr ] Bonjours, je voudrai des conseils, car j'ai besoin d'enregistrer du texte (avec mise en forme, et sur plusieur lignes) dans un fichier (si possible), Fichiers .cfg [ par oliq ] Bonjour tout le monde,dans mon projet d'info, l'utilisateur doit pouvoir sauvegarder l'état d'une application. J'ai pensé à utiliser TRegister, mais e récupérer la sélection d'une liste [ par moonalex ] Bonjour,j'aimerais pourvoir récupérer la sélection effectuée dans une Listbox et écrire dans un fichier texte.Pour sélectionner j'ai utilisé ce bout d Rassemblement de fichier et sécurité [ par Don0Choa ] Bonjour, je suis en train de faire un programme qui rassemble tous les fuchiers et dossiers que l'on veut en un seul. Ce fichier (Source.alb) contient suppressionde repertoire et fichier [ par drakaon ] salutje cherche à réaliser une fenêtre qui sur un click bouton supprime le repertoire selectionner par un TDirectoryListBox et les fichiers présent da Convertir un fichier qrp en pdf [ par delphiSteph ] Bonjours a tous,J'aimerai savoir comment on fait pour convertir un fichier qrp déja existant en un fichier pdf.J'ai essaillé ceci met ça ne fonctionne Aide sur la manipulation des fichiers!! [ par sim4444 ] Bonjour à tous,j'aimerais créer une application qui lit des fichiers qui contiennent des commandes et que l'application exécute les commandes qu'il fa récupérer le nom d'un fichier pour l'afficher [ par hysteria74 ] bonjour,j'aimerais récupérer le nom d'un fichier qui se trouve sous mon C:\ puis l'afficher ensuite dans un TEdit sur ma Form.merci d'avance pour vos Fichiers Midi - Bug avec la longueur des chemins ? [ par Udun ] J'ai rencontré une erreur bizarre dans Delphi. En effet, avec le composantMediaPlayer, je lisais des fichiers midi et j'ai rencontré l'erreur 'Fichier


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,577 sec (3)

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