Strings - Länge definieren

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Strings - Länge definieren

    Hallo

    Kann ich mit Basic die Länge der Strings(arrays) beim ReDim auf eine bestimte Länge begrenzen? Ich frage deshalb weil ich sehr große Dateien sortieren möchte was immer sehr lange dauert. Ich nehme an (!) daß Basic jedesmal beim tauschen von 2 Strings die gesamten "vorausgehenden" und "nachfolgenden" Strings herumschiebt um alle im Speicher wieder "passgenau" aneinanderzureihen. Wenn alle Strings eine festgelegte Länge hätten dann würden halt nur die beiden Strings getauscht und gut.
    Ob das beim ReDim auch geht, weiß ich nicht, aber beim Dim geht es so:

    Visual Basic-Quellcode

    1. Dim str As String * 10 ' 10 Zeichen langer String
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Die Strings enthalten übrigens Long& Zahlen, da reicht hoffentlich eine Länge von 10.
    Dein Hinweis:

    Visual Basic-Quellcode

    1. Redim strSort(50000) as String *10

    war schon mal gut. nur kann ich jetzt leider diesen Array nicht mehr global machen:

    Visual Basic-Quellcode

    1. Public strSort()


    Es kommt der Hinweis: doppelte Deklation nicht möglich.

    Zu dem zweiten Hinweis: könntes du mir sagen was der Unterschied zwischen Dim und Redim ist? Was bedeutet Preserve?
    "Dim" deklariert eine Variable, "ReDim" ändern die Dimensionen der Variable (die Größe des Arrays) im Nachhinein (für dynamische Arrays) und das Preserve sagt einfach, dass die im Array enthaltenen Werte bei der Größenänderung nicht gelöscht werden sollen.

    Versuch es mal so:

    Public strSort() As String *10

    Redim strSort(50000)
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum