-         

Ergebnis 1 bis 2 von 2

Thema: Array positionen verschieben

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.02.2008
    Beiträge
    17

    Array positionen verschieben

    Anzeige

    Hallo was muss ich tun damit dieser Code in Basom funktioniert bin nicht sehr gut in Programmierung wäre für jede Hilfe dankbar auch andere Vorschläge die es mir ermöglichen Positionen in Arrays zu verschieben und die anderen aufrücken zu lassen

    Danke schonmal

    Public Function MoveInList(vList As Variant, _
    ByVal nElement As Long, _
    ByVal nMove As Long)

    Dim i As Long
    Dim vTemp As Variant
    Dim nSize As Long
    Dim nMode As Integer

    ' Dimensionsgröße
    nSize = UBound(vList)

    ' Plausibilitätsprüfungen
    If nElement + nMove < 0 Then
    nMove = nMove - (nMove + nElement)
    End If

    If nElement + nMove > nSize Then
    nMove = nSize - nElement
    End If

    ' Mode: nach hinten oder nach vorne verschieben?
    ' (Vorzeichen ermitteln)
    nMode = Sgn(nMove)

    ' Gültiger Wert?
    If nMode <> 0 Then
    ' zu verschiebendes Element "merken"
    vTemp = vList(nElement)

    ' Jetzt die einzelne Elemente verschieben
    For i = nElement + nMode To nElement + nMove Step nMode
    vList(i - nMode) = vList(i)
    Next i

    ' Element an die gewünschte Position setzen
    vList(nElement + nMove) = vTemp
    End If
    End Function

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Zwar schon altes Thema, aber falls es noch nicht geht: Berechne die Indizes in den Klammern schon mal im Voraus.
    Bin mir nicht sicher ob Bascom hier ( vList(nElement + nMove) = vTemp
    ) checkt, dass es in der Klammer rechnen muss.
    #ifndef MfG
    #define MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •