Index aus Array auslesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Index aus Array auslesen

Beitrag von turtle47 »

Hallo OOo-Freaks,

zum ersten mal beschäftige ich mit Arrays.

Ich möchte den Index eines Buchstaben aus einen Array auslesen.
Mit folgendem Code bleibt die MsgBox leider leer :( .
Ich hatte dort eine 2 erwartet.

Code: Alles auswählen

Sub IndexAuslesen
sList = array (A,B,C,D,F,G)
sSuche= (C)
     MaxIndex = Ubound(sList())     
     For i = 0 To MaxIndex-1
     
     If sSuche = sList(i) Then
     GetItemPosFromArray() = z
     End If
     Next i
     msgbox z
End Sub
Wer kann bitte helfen?

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hallo,

Du übergibst die Daten falsch an das Array. Und was GetItemPosFromArray an der Stelle macht ist mir auch nicht klar.
Versuchs mal mit:

Code: Alles auswählen

Sub IndexAuslesen
sList = array ("A","B","C","D","F","G")
sSuche= "C"
     MaxIndex = Ubound(sList())     
     For i = 0 To MaxIndex-1
      If sSuche = sList(i) Then
       m = i
     End If
     Next i
     msgbox m
End Sub
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Beitrag von turtle47 »

Hallo Michael,
Du übergibst die Daten falsch an das Array
jou, hab da nicht richtig ins Buch von Thomas geschaut.:oops:
Wer lesen kann ist klar im Vorteil.
Und was GetItemPosFromArray an der Stelle macht ist mir auch nicht klar.
Ich hatte das einfach so übersetzt wie es da steht.
GetItemPosFromArray

Man lernt aber immer noch was dazu.

Auf jeden Fall funktioniert Dein Code wie gewünscht.:)
Danke für die kompetente Hilfe.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Karolus
********
Beiträge: 7517
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Jürgen

Wieso bildest du die Schleife über:

For i = 0 To MaxIndex-1

Damit schliesst du den letzten Listeneintrag aus, möchtest du nicht die '-1' weglassen ?

Gruß Karo
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Beitrag von turtle47 »

Hallo Karolus,

freut mich von Dir zu hören.

Der Ursprungscode war eine Function,

Code: Alles auswählen

Function GetItemPosFromArray(sList() as string, sItem as String) as integer
Dim ItemList()
Dim MaxIndex as Integer
Dim i as Integer
     MaxIndex = Ubound(sList())     
     For i = 0 To MaxIndex-1
          If sItem = sList(i) Then
               GetItemPosFromArray() = i
               Exit Function
          End If
     Next i
End Function
die ich mir geliehen habe :).
Hab die -1 jetzt rausgenommen.

Danke für den Hinweis.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Antworten