![]() |
Probleme mit StringList und for schleifen
guten abend leute...
hab mal wieder ne nachschicht vor mir, hoffentlich sind heute nacht genug online ;) ! nun zu meinem problem: also ich habe 2 stringlist global definiert
Delphi-Quellcode:
ich bekomme ne fehlermeldung, dass ich nen maximum wert überschritten habe ?
var
sl: TStringList; sl2: TStringList; tform1.formcreate; begin sl:=TStringList.Create; sl2:=TStringList.Create; //file 1 von 49 sl.Add(ExtractFilePath(ParamStr(0)) + 'dir\file1.txt'); sl2.Add('ini.ReadString(''File1'', ''KEY'','''')'); //file 2 von 49 sl.Add(ExtractFilePath(ParamStr(0)) + 'dir\file2.txt'); sl2.Add('ini.ReadString(''File1'', ''KEY'','''')'); end; tform.button1click; var i:integer; begin try for i := 0 to sl.count -1 do begin sl.LoadFromFile(sl.Strings[i])); edit1.text := sl.count; sl.clear; end; end; aber wieso ? habe schon sehr viel ausprobiert ....ca 8 stunden ....erbitte hilfe ! [edit=Sharky]Code-Tags durch Delphi-Tags ersetzt. Mfg, Sharky[/edit] |
Re: Probleme mit StringList und for schleifen
Zitat:
Durch das sl.LoadFromFile ändert sich ja die Anzahl der "Zeilen" in der StringListe! |
Re: Probleme mit StringList und for schleifen
also erstelle ich für diese procedure einen neue stringliste ?
Code:
macht leider auch fehler !
tform.button1click;
var i:integer; sl3: TStringList; begin sl3.create; try for i := 0 to sl.count -1 do begin sl3.LoadFromFile(sl.Strings[i])); edit1.text := sl.count; sl.clear; end; end; |
Re: Probleme mit StringList und for schleifen
Delphi-Quellcode:
Hier fällt mir außerdem auf, dass am Ende jedes Schleifendurchlauf die StringListe geleert wird, wodurch beim nächsten Aufurf nicht mehr von sl.Strings[i] gelesen werden kann. Logischerweise ;)
for i := 0 to sl.count -1 do
begin sl.LoadFromFile(sl.Strings[i])); edit1.text := sl.count; sl.clear; end; Nachtrag: Warum speicherst du nicht Sl.Count - 1 in einer Variableß //edit: Edit1.Text := sl.Count funktioniert auch nicht, da du ja einen Integerwert in einen String schreiben willst. Wenn du das machen willst, musst du zuvor mit ![]() |
Re: Probleme mit StringList und for schleifen
Zitat:
|
Re: Probleme mit StringList und for schleifen
hi,
also ich stimme erstens mal Sharky zu. aber noch was: Zitat:
richtig wäre es so:
Delphi-Quellcode:
erklär mal dein vorhaben etwas genauer...
edit1.text := inttostr(sl.count);
P.S. eventuell musst du eine dritte stringlist verwenden, um die dateinamen zu speichern. |
Re: Probleme mit StringList und for schleifen
mit einer dritten stringlist müsste das etwa so aussehen:
Delphi-Quellcode:
s3.strings := s1.strings;
for i := 0 to s3.count -1 do begin sl.LoadFromFile(s3.Strings[i])); edit1.text := sl.count; sl.clear; end; |
Re: Probleme mit StringList und for schleifen
genau wartet mal ich behebe die dummen fehler !
|
Re: Probleme mit StringList und for schleifen
Zitat:
Da wird doch nur unnötig Speicher verbraucht, weil eine Stringliste komplett kopiert wird. Man könnte ja gleich die Daten aus s1 in s3 speichern. So, wie es agm65 auch im Beispiel gepostet hat. PS: Doppelposts sind ja nicht nötig, oder? Du kannst auch deine Beiträge editieren ;) |
Re: Probleme mit StringList und for schleifen
Code:
das macht auch fehler, exception zugriffs verletzung
tform.button1click;
var i:integer; sl3: TStringList; begin sl3.create; try for i := 0 to sl.count -1 do begin sl3.LoadFromFile(sl.Strings[i])); edit1.text := inttostr(sl3.count); sl3.clear; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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