German Array dynamisch

RauchG

Active Member
Licensed User
Longtime User
Hallo zusammen,

ist es möglich ein Array As String dynamisch zu erstellen. Je nachdem wieviel Datensätze die Tbl "drp_promotionarten" hat, sollte das StringArray automatisch erstellt werden.

B4X:
Sub SpinnerPromoart
   
    Dim dbCursor As Cursor
   
    SQL1.Initialize(File.DirDefaultExternal, "baustein.db3", True)    'ignore

    dbCursor = SQL1.ExecQuery("SELECT * FROM drp_promotionarten")

    For i = 0 To dbCursor.RowCount - 1        'dbCursor.RowCount = 5

        dbCursor.Position = i

        mPromoartString(i) = dbCursor.GetString("NAME")
        'Log(mPromoartString(i))   
        ms1.SpinnerData = Array As String(mPromoartString(0), mPromoartString(1), mPromoartString(2), mPromoartString(3), mPromoartString(4))

    Next
    dbCursor.Close
   
End Sub

Gruß
RauchG
 

RauchG

Active Member
Licensed User
Longtime User
Hi MaFu,

elegante Lösung, aber das löst mein Problem nicht.

Was halt jetzt dynamisch ist, ist nur
Dim mPromoartString(x) As String

B4X:
Sub SpinnerPromoart
   
    Dim dbCursor As Cursor

    SQL1.Initialize(File.DirDefaultExternal, "baustein.db3", True)    'ignore

    dbCursor = SQL1.ExecQuery("SELECT * FROM drp_promotionarten")

    For i = 0 To dbCursor.RowCount - 1        'dbCursor.RowCount = 5
        Dim mPromoartString(dbCursor.RowCount) As String

        dbCursor.Position = i

        mPromoartString(i) = dbCursor.GetString("NAME")
        'Log(mPromoartString(i))   
       
        'Wenn die Tbl 5 Datensätze hat, soll es so aussehen
        ms1.SpinnerData = Array As String(mPromoartString(0), mPromoartString(1), mPromoartString(2), mPromoartString(3), mPromoartString(4))
       
        'Wenn die Tbl 2 Datensäzte hat, soll es so aussehen
        ms1.SpinnerData = Array As String(mPromoartString(0), mPromoartString(1))
       
       
    Next
    dbCursor.Close
   
End Sub
 

RauchG

Active Member
Licensed User
Longtime User
Der Inhalt meines Arrays sieht nach durchlaufen der Schleife so aus: wenn die Tbl 5 Datensätze hat.
Array As String(mPromoartString(4))

Da muss doch irgenwas mit verketten oder so rein.
 

DonManfred

Expert
Licensed User
Longtime User
Vermutlich in etwa so

B4X:
Sub SpinnerPromoart
 
    Dim dbCursor As Cursor

    SQL1.Initialize(File.DirDefaultExternal, "baustein.db3", True)    'ignore

    dbCursor = SQL1.ExecQuery("SELECT * FROM drp_promotionarten")
    Dim mPromoartString(dbCursor.RowCount) As String
    For i = 0 To dbCursor.RowCount - 1        'dbCursor.RowCount = 5
        dbCursor.Position = i
        mPromoartString(i) = dbCursor.GetString("NAME")
    Next
    ms1.SpinnerData = mPromoartString
    dbCursor.Close
End Sub
 

RauchG

Active Member
Licensed User
Longtime User
Hallo DonManfred,

wow. Klasse. So geht es.

Danke und Gruß
RauchG
 
Top