AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Länge eines Array of array ermitteln

Ein Thema von Ykcim · begonnen am 3. Dez 2009 · letzter Beitrag vom 7. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#1

Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:30
Hallo Zusammen,

vielleicht stelle ich hier jetzt eine doofe Frage, aber ich habe nichts passendes gefunden.

Ich habe eine Repeat oder auch (wahlweise) eine While Schleife, in der ein Counter hochgezählt wird.
Da es in den Schleifen um die Überprüfung und Verarbeitung von Datensätzen aus einem Array geht, muss ich ja einen Schutz einbauen, damit ich nicht über die Länge des Arrays hinauslaufe.

bei einer For-Schleife ist das angenehm über Length(Array) zu lösen. Die kommt hier aber nicht in Frage.

Leider funktioniert es nicht, wenn ich Length(Array) mit einem Integer vergleichen möchte - wie zum Beispiel

repeat
xxx
xxx
xxx
until k=Length(Array)

Ich könnte jetzt im Vorfeld einen separaten Counter mit einer For-Schleife auf den Wert der Länge des Arrays bringen, was natürlich extrem unschön ist.

Habt Ihr eine Idee, wie ich die Länge eines Arrays mit einem Integer-Wert vergleichen kann?

Vielen Dank im Voraus
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:36
"funktioniert nicht" ist keine Fehlerbeschreibung!

Denn es funktioniert und man kann Length mit einem Integer vergleichen, denn Length liefert selber einen Integer zurück.

Was geht nicht, also wass passiert und was willst du stattdessen erreichen?

PS: um die Länge eines "Subarrays" zu erhalten, solltest du dieses auch angeben

Length(arr) = Länge der ersten Ebene
Length(arr[3]) ? Länge des Subarrays von Index 3
$2B or not $2B
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:39
Zitat von Ykcim:
Leider funktioniert es nicht, wenn ich Length(Array) mit einem Integer vergleichen möchte
Ich will NIE NIE NIE irgendwo im Support arbeiten müssen wenn solche "Fehlerbeschreibungen" - und in der Häufigkeit wie hier - die Norm sind. Ich würde nur noch tötend durch die Gegen Amoken

Das, und alles andere hat himi schon gesagt, aber der musste einfach nochmal raus *hutrandkau*
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:46
Hallo himitsu,

ja, die Fehlerbeschreibung fehlt! SORRY!!!

Wenn ich einen Haltepunkt einfüge, kann ich mir nicht den Wert von Length(Arry[0]) anzeigen lassen.

Der Wert beträgt aber z.B. 100 Datensätze (Ich würde mir also wünschen, dass ich den Wert "100" ausgewiesen bekomme)

Warum?
Und wenn ich einen Counter habe, der schön hochgezählt wird, dann hat er irgendwann (wenn nicht vorher eine IF-Anweisung oder ein anderes Kriterium greift) den Wert "100" erreicht und die Schleife soll verlassen werden (statt einen Fehler zu erzeugen, weil in der If-Anweisung ein Wert, wie z.B. Array[0,Counter], nicht mehr vorhanden ist.

Ich hoffe, dass das verständlich ist.

Vielen Dank
Ykcim

P.S.: Danke für die schnelle Antwort zuvor!
Patrick
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#5

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:51
Delphi-Quellcode:
{...}
until k=Length(Array);
wird/ist "k" gesetzt?

lass dir alternativ mal nach jedem reapeat in einem memo den status ausgeben.

d.h.
Delphi-Quellcode:
i := 0;repeat
inc(i);
Memo1.Lines.Add(IntToStr(k) + ' / ' + IntToStr(Length(Array[i])));
until k=Length(Array);
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:52
Length ist 'ne Funktion und da funktioniert sowas halt nicht (immer).

trage Length(Array) in die "Liste der überwachten Ausdrücke" ein
und aktiviere dafür das "Funktionsaufrufe gestatten"
$2B or not $2B
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 18:58
aktiviere dafür das "Funktionsaufrufe gestatten"

Wo und wie mache ich das?
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 19:02
indem du den überwachten ausdruck bearbeitest?
(Strg+E oder über's Kontextmenü oder den Ausdruck doppelklicken)
$2B or not $2B
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 19:05
Das wusste ich nicht - DANKE!

AAber wie würdet Ihr denn mein Problem lösen? Ich bin ja sicher nicht der einzige, der mit Hilfe einer Repeat oder while Schleife versucht, ein Array zu be- verarbeiten...

Danke
Ykcim
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

Re: Länge eines Array of array ermitteln

  Alt 3. Dez 2009, 19:21
Zitat von Medium:
Zitat von Ykcim:
Leider funktioniert es nicht, wenn ich Length(Array) mit einem Integer vergleichen möchte
Ich will NIE NIE NIE irgendwo im Support arbeiten müssen wenn solche "Fehlerbeschreibungen" - und in der Häufigkeit wie hier - die Norm sind. Ich würde nur noch tötend durch die Gegen Amoken

Das, und alles andere hat himi schon gesagt, aber der musste einfach nochmal raus *hutrandkau*
Solche Beschreibungen sind die Norm, glaub mir. Auch immer wieder gerne genommen ist der Satz "Ich hab nichts gemacht". Über sowas könnte ich Bücher schreiben, aber das erspar ich Euch und mir lieber.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:18 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