Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listenindex überschreitet Maximum (https://www.delphipraxis.net/37761-listenindex-ueberschreitet-maximum.html)

unskilled 9. Jan 2005 21:49


Listenindex überschreitet Maximum
 
Delphi-Quellcode:
// DATEI SPEICHERN
procedure TForm1.Button5Click(Sender: TObject);
var List: TStrings;
var name: string;
var q:integer ;

begin
List := TStringList.Create;
name:=(edit25.Text);

try

for q := 1 to 24 do List.add((FindComponent('edit'+inttostr(q)) as TEdit).text);
//for q := 1 to 16 do List.add(tcombobox((FindComponent('combobox'+inttostr(q))).text);
//for q:= 25 to 39 do List.Add(tcombobox(findcomponent('combobox'+inttostr(q))).text);
List.SaveToFile('C:\'+name+'.txt');
finally
List.Free;

end;
end;



//DATEI LADEN
procedure TForm1.Button6Click(Sender: TObject);

var List: TStrings;
var w,q :integer;
var name: string;
begin
name:=(edit25.Text);
List := TStringList.Create;
try
List.LoadFromFile('C:\'+name+'.txt');
if List.Count>0 then
for w := 1 to 24 do (FindComponent('Edit' + IntToStr(w)) as TEdit).Text := List[w-1];
for q:= 25 to 39 do tcombobox(findcomponent('combobox'+inttostr(q))).text := List[q];
finally
List.Free;

end; end;



end.

hallo .. ich bin noch relativ großer anfänger und von daher habich auch demensprechend probleme, aber hoffe mal, dass ihr mir helfen könnt.

die proceduren da oben sollen den inhalt von Editfeldern (1 bis 24)speichern sowie den der 14 comboboxen.. .. soweit so gut .. aber wenn ich nun bei datei laden
Delphi-Quellcode:
 for q:= 25 to 39 do tcombobox(findcomponent('combobox'+inttostr(q))).text := List[q];
hinzufüge, dann bekomm ich beim laden immer den fehler: Listenindex überschreitet das Maximum (39).

ich weiß wirklich nicht was man ändern müsste, damit es funktioniert.. ohne den befehl für die comboboxen geht es einwandfrei.

mfg unskilled

PS: wenn jemand quelltext als antwort postet, bitte möglichst komplett, da ich ja noch nicht alles selbst programmieren kann ;) thx

Orbmu2k 9. Jan 2005 21:53

Re: Listenindex überschreitet Maximum
 
hier dann auch ...

Delphi-Quellcode:
for q:= 25 to 39 do tcombobox(findcomponent('combobox'+inttostr(q))).text := List[q-1];

Garfield 9. Jan 2005 22:07

Re: Listenindex überschreitet Maximum
 
Das erste was mir auffällt ist
Zitat:

Zitat von unskilled
Delphi-Quellcode:
for q := 1 to 24 do List.add((FindComponent('edit'+inttostr(q)) as TEdit).text);
//for q := 1 to 16 do List.add(tcombobox((FindComponent('combobox'+inttostr(q))).text);
//for q:= 25 to 39 do List.Add(tcombobox(findcomponent('combobox'+inttostr(q))).text);
...
for w := 1 to 24 do (FindComponent('Edit' + IntToStr(w)) as TEdit).Text := List[w-1];
for q:= 25 to 39 do tcombobox(findcomponent('combobox'+inttostr(q))).text := List[q];

Du hast 25 bis 39 auskommentiert.

unskilled 9. Jan 2005 22:10

Re: Listenindex überschreitet Maximum
 
mein lieber scholli ;)

mit hilfe hätte ich gerechnet, aber dass es nach 2 minuten schon soweit sein würde ..

dankeschön euch allen :)

war ausserdem noch nen anderer fehler drin is mir gerade aufgefallen

Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);

var List: TStrings;
var w,q :integer;
var name: string;
begin
name:=(edit25.Text);
List := TStringList.Create;
try
List.LoadFromFile('C:\'+name+'.txt');
if List.Count>0 then                                      
for w := 1 to 24 do (FindComponent('Edit' + IntToStr(w)) as TEdit).Text := List[w-1];
for q:= 1 to 16 do tcombobox(findcomponent('combobox'+inttostr(q))).text := List[q+23];
finally
List.Free;

end; end;

so gehts nun auch :)


danke!

Muetze1 9. Jan 2005 22:18

Re: Listenindex überschreitet Maximum
 
Moin!

Ich würde die lokale Variable auch sicherhaltshalber umbenennen, weil TForm eine solche Eigenschaft mit anbietet (vererbt von IMHO TComponent) und daher kann die Benutzung der Variablen Name zu Doppeldeutigkeiten führen...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz