AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi richtige Syntax in zusammengesetzter Schleife
Thema durchsuchen
Ansicht
Themen-Optionen

richtige Syntax in zusammengesetzter Schleife

Ein Thema von Cruentus · begonnen am 1. Aug 2010 · letzter Beitrag vom 1. Aug 2010
Antwort Antwort
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#1

richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 16:58
Delphi-Version: 2007
Hallo allerseits!

Erstmal bitte ich um Entschuldigung für den mögl. ungenauen Titel, bin mit der Fachterminologie nicht sooo vertraut...

ich muss recht viele Einträge aus recht vielen Listboxen in eine Stringliste reinschreiben und wollte mir ein bisschen Schreibkram ersparen.

Um nun allgemein auf die Einträge der Listboxen zugreifen zu können, wollte ich daher eine Schleife basteln im sinne von:

for x:=1 to listbox.count do nun habe ich aber ganz viele (30) Listboxen, die im Stil von Listbox_Y_Z benannt sind, wobei Y und Z von 1 bis 30 gehen (hab die Listboxen in einem Raster angeordnet, daher zwei Zahlwerte).

Nur leider mag Delphi scheinbar nicht die Schreibweise for x := 1 to 'listbox_'+y+'_'+z+.count do hab syntaxmäßig ein bisschen rumprobiert, weiß jemand, wie es richtig lauten muss?

Danke schon mal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 17:01
1. falsche Grenzen: Der erste Index ist 0:
for x:=0 to listbox.count-1 do 2. Ich würde eine Funktion Methode schreiben, der ich die Instanz übergeben würde.
2. FindComponent()
oder besser Array/Liste von Listboxen führen
Markus Kinzler
  Mit Zitat antworten Zitat
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#3

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 18:32
Ah, danke schon mal. Die Findcomponent ist ja echt praktisch. Hab mir das jetzt mal so zusammengeschustert, bis in der Programmieroberfläche nichts mehr angestrichen war und das Programm auch ausgeführt werden kann. Allerdings hält das Programm immer an folgender Stelle an und meldet eine Zugriffsverletzung:

for z := 1 to (TListbox(FindComponent('_te'+IntToStr(y)+'_tw'+IntToStr(x))).count -1) do

Also, die Listboxen heißen listbox_te1_tw1 und so weiter dann...es steht in allen Listboxen auch mindestens eine Zeile drin.
Jemand eine Idee, was ich da tun kann?

PS: @mkinzler, habe den ersten Hinweis nicht vergessen, werde bei Funktionstüchtigkeit z auch bei 0 starten lassen. Hab aber erst mal die 1 genommen, um irgendwelche Listindexe nicht zu überschreiten...warum auch immer

PPS: Hab mir ausgeben lassen, dass alle drei Variablen den Wert 1 haben (unmittelbar vor der Schleife)...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 18:40
Um dir den fehler aufzuzeigen: Am Anfang steht da also:
for z := 1 to (TListbox(FindComponent('_te1_tw1')).count -1) do .

Hast du eine Listbox die "_te1_tw1" heißt? Nein? Pech denn der Cast prüft das nicht mehr

In diesem Fall (da es ja weniger auf die Performance ankommt) besser mit as casten.

Also:for z := 1 to ((FindComponent('listbox_te'+IntToStr(y)+'_tw'+IntToStr(x)) as TListbox).count -1) do
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 18:52
Bein einem Element/Zeile wäre der Index 1 aber schon zu gross.
Markus Kinzler
  Mit Zitat antworten Zitat
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#6

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 18:58
eine Listbox _te1_tw1? Nein, beschämt musste ich erkennen, eine solche Listbox besitz ich nicht - vielen dank für den Hinweis, darüber wäre ich ja in 100 Jahren nicht gestolpert...

So, jetzt funktioniert alles, vielen Dank!
  Mit Zitat antworten Zitat
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#7

AW: richtige Syntax in zusammengesetzter Schleife

  Alt 1. Aug 2010, 18:59
Frage beantwortet...
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:55 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