Autor Thema: ArrayGetIndex bei einem mehrdimensionellen Array  (Gelesen 1723 mal)

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
ArrayGetIndex bei einem mehrdimensionellen Array
« am: 13.10.05 - 09:13:01 »
Guten Morgen zusammen,

steh mal wieder auf dem Schlauch.
Ich habe ein mehrdimensionelles Array zb.: Array(1,x).

In Array(0,x) schreibe ich Werte, die ich später suchen möchte, um in Array(1,x) einen Wert zu addieren.
Wenn ich mit ArrayGetIndex(Array, Wert) danach suche, bekomme ich aber einen höheren Wert zurück als es Elemente im Array gibt.
Daraus folglich einen "Subscript out of range".

Hat jemand sowas schon mal gemacht oder eine Ahnung wie man dort die Abfrage gestaltet?

Danke und Gruss
Andreas
« Letzte Änderung: 13.10.05 - 10:16:14 von Gruenkohl »

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: ArrayGetIndex bei einem mehrdimensionellen Array
« Antwort #1 am: 13.10.05 - 09:21:25 »
der Index wird durchnummerriert zurückgegeben
(0, 1, 2, 3, 4)
(5, 6, 7, 8, 9)
(10,11,12,13,14)
usw.

Gruß
Dirk
Gruß
Dirk

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: ArrayGetIndex bei einem mehrdimensionellen Array
« Antwort #2 am: 13.10.05 - 09:25:54 »
@Dirk:

Danke für schnelle Antwort.

Werde dann mal schauen, wie ich auf den richtigen Index komme.
Eine Funktion gibt es dafür also nicht, oder?

Gruss
Andreas

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: ArrayGetIndex bei einem mehrdimensionellen Array
« Antwort #3 am: 13.10.05 - 09:28:38 »
mit Ubound(Array, 2) bekommt man die Weite der 2. Dimension heraus.
Gruß
Dirk

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: ArrayGetIndex bei einem mehrdimensionellen Array
« Antwort #4 am: 13.10.05 - 10:15:58 »
@Dirk:
Danke, das hatte ich schon. Da ich nur ein zwei-dimensionales Array habe, mache ich es wie folgt:

Code
IndexResult = ArrayGetIndex(Array, Suchwert)
    If IndexResult > Ubound(Array,2) then
IndexResult = IndexResult - Ubound(Array,2)
End If

Danke und Gruss
Andreas

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: ArrayGetIndex bei einem mehrdimensionellen Array
« Antwort #5 am: 13.10.05 - 11:47:56 »
Mein vorheriger Lösungsansatz war falsch.
Richtig müsste es so aussehen:

Code
IndexResult = ArrayGetIndex(Array, Suchwert)
If IndexResult <> 0 then
     IndexResult = IndexResult / 2
End if

Wenn ich mich nicht vertue, ist der Divisor die Dimension des Arrays.
Sollte ich falsch liegen, bitte berichtigen.

Gruss
Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz