![]() |
Listenindex überschritten bei Count
Hallo,
Ich habe folgendes vor: Ich erstelle eine Datei, welche sich die Strings aus einer anderen Datei holt. Da ich aber nur die erste und letzte Zeile brauche, wollte ich den Rest einfach wieder löschen. Nun hab ich aber folgenden Feher:
Delphi-Quellcode:
Was ist hier verkehrt?
procedure TMomFiles.DreiSekDateiFuellen(const Filename: string);
var F: TStringList; LogDatei, DatName : String; i : integer; begin DatName := extractfilepath(application.exename)+'Mom3sek_'+Kennung+'.txt'; F := TStringList.Create; try LogDatei := extractfilepath(application.exename)+'mom'+Kennung+'.log'; F.LoadFromFile(Logdatei); for i := 2 to F.Count-1 do [b]// Fehler: ListenIndex überschreitet das Maximum[5][/b] begin F.Delete(i); end; F.SaveToFile(DatName); finally F.Free; end; end; |
Re: Listenindex überschritten bei Count
Guten Morgen,
indizierte Listen immer rückwärts löschen. Grüße Klaus |
Re: Listenindex überschritten bei Count
Probier es mal damit:
Delphi-Quellcode:
procedure TMomFiles.DreiSekDateiFuellen(const Filename: string);
var F: TStringList; LogDatei, DatName : String; i : integer; begin DatName := extractfilepath(application.exename)+'Mom3sek_'+Kennung+'.txt'; F := TStringList.Create; try LogDatei := extractfilepath(application.exename)+'mom'+Kennung+'.log'; F.LoadFromFile(Logdatei); for i := F.Count-1 downto 2 do begin F.Delete(i); end; F.SaveToFile(DatName); finally F.Free; end; end; |
Re: Listenindex überschritten bei Count
Zitat:
|
Re: Listenindex überschritten bei Count
Vielen Dank, es geht. Das muss man natürlich wissen... Aber woher.. ?
Gibt es sonst noch eine andere (bessere) Möglichkeit aus einer Datei die erstel und letzte Zeile zu lesen? |
Re: Listenindex überschritten bei Count
Zitat:
Zitat:
|
Re: Listenindex überschritten bei Count
Hallo,
Zitat:
mit StringList ist es am einfachsten. Statt alles ausser der 1. und letzten Zeile zu löschen, mache doch folgendes: SL_1: TStringList; // alle Zeilen SL_2: TStringList; // nur die 1. und letzte Zeile SL_1.LoadFromFile usw. SL_2.Add(SL_1[0]; SL_2.Add(SL_1[SL_1.Count-1]; jetzt noch abfangen, wenn SL_1 nur eine Zeile enthält und das wars. Heiko |
Re: Listenindex überschritten bei Count
Zitat:
Delphi-Quellcode:
nicht getan?
F.LoadFromFile(Logdatei);
|
Re: Listenindex überschritten bei Count
Doch hast du. Ich wollte deine Frage nur erschöpfend beantworten und habe mich dabei wohl wiederholt.
|
Re: Listenindex überschritten bei Count
:-D Trotzdem Danke
Heiko, deine Idee hab ich umgesetzt, ist für das weitere Programm sinvoller... Danke. Bis demnächst |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz