AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Argument außerhalb des Bereichs

Ein Thema von EdAdvokat · begonnen am 6. Dez 2020 · letzter Beitrag vom 6. Dez 2020
Antwort Antwort
Seite 1 von 2  1 2   
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
308 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 18:41
Delphi-Version: 10.2 Tokyo
Ich experimentiere ein wenig mit TList und habe dazu eine kurze Routine geschrieben, die zwar aufgerufen wird und die Werte auch in einer Listbox ausgibt, jedoch die Fehlermeldung
"Argument außerhalb des Bereichs" ausgibt. Ich komme einfach nicht auf die Ursache für diesen Fehler.
Delphi-Quellcode:
procedure TForm29.btn5Click(Sender: TObject);
var List: TList<Integer>;
i: int32;
begin
  List := TList<Integer>.Create; { Create List }
try
  List.Add(100); { Add Items }
  List.Add(200);
  List.Add(300);
  List.Add(400);

  for i := 0 to High(List.Items[i]) do

  Lst1.Items.Add(inttostr(List.items[i]));
 
finally
  List.Free;
end;
end;
Norbert
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.519 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 18:56
Geh doch im Debugger einfach mal mit rein und setze dir mal einen Haltepunkt auf die Zeile Lst1.Items.Add(inttostr(List.items[i])); .

Dann siehst du es bestimmt 😉
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
308 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:18
leider sehe ich das nicht, denn das habe ich bereits mehrfach versucht und auch versuchtsweise ...items[i-1] eingegeben doch ich sehe es einfach nicht.
Was muß ich verfolgen? I wird bis 4 hoch gezählt. Daraufhin habe ich versucht for i := 0 to High(List.Items[i-1]) do zu verwenden, aber auch das hilft nichts.
Ich finde einfach nicht die Ursache.
Norbert
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
722 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:24
Delphi-Referenz durchsuchenSystem.High ist nur für Arrays das, was du denkst.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
308 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:32
Gebe ich for i := 0 to 3 do für den konkreten Fall ein, funktioniert es, doch ich wollte die ganze Sache dynamisch gestalten und nicht jedesmal den
Höchstwert der Items direkt eingeben. Gibt es dafür nicht eine bessere Lösung?
Norbert
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
84 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:38
Code:
  for i := 0 to High(List.Items) do
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
308 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:42
 for i := 0 to High(List.Items) do das habe ich auch bereits mehrfach versucht und es get nicht, denn er will eine [] haben...
Norbert
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
109 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:43
halllo,
eventuell so

List.Count Gruß
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
308 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:48
list.count klappt auch nicht.
Norbert
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
109 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Argument außerhalb des Bereichs

  Alt 6. Dez 2020, 19:51
ich hab's so gemacht und es kommt keine Fehlermeldung

Delphi-Quellcode:
var List: TList<Integer>;
i: int32;
begin
  List := TList<Integer>.Create; { Create List }
try
  List.Add(100); { Add Items }
  List.Add(200);
  List.Add(300);
  List.Add(400);
   List.Add(4200);

for i := 0 to List.Count-1 do

  Lst1.Items.Add(inttostr(List.items[i]));

finally
  List.Free;
end;

Gru0
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf