Variable anlegen mit For Schleife

Von: , Frage gestellt am Fr, 29. Aug 2008

Das ist zu wenig Code um einen Fehler zu machen.... aber es geht nicht !!

Warum ?

Dim Zähler As Integer
For Zähler = 1 To 10
Dim Zielpfad(Zähler) As String
Next Zähler


mfg jonny

14 Antworten zu dieser Frage

  1. Antwort von nach 23 Minuten 1 hilfreich
    Re: Variable anlegen mit For Schleife

    Hallo jonny Das ist zu wenig Code um einen Fehler zu machen....
    Das ist - offensichtlich - ein Irrtum :-) aber es geht nicht !!
    Warum ?
    Dim Zähler As Integer
    For Zähler = 1 To 10
    Dim Zielpfad(Zähler) As String
    Next Zähler
    Ich versteh nicht, was Du machen möchtest, denn das, was Dein Code macht, lässt sich mit einer einzigen Zeile realisieren:

    Dim Zielpfad(10) As String


    Es werden ja keine Variablen "angelegt", wie Du in Deinem Titel schreibst, sondern lediglich die Dimension eines Arrays neu festgelegt.
    Trotz der für mich sinnlosen Schleife, hier eine funktionsfähige Umsetzung:

    Dim Zähler As Integer
    Dim Zielpfad() As String
    
    For Zähler = 1 To 10
       ReDim Zielpfad(Zähler) As String
    Next Zähler
    



    Gruss
    Peter

    • Antwort von nach 4 Stunden 0 hilfreich
      Re^2: Variable anlegen mit For Schleife

      Ahh, Besten Dank.

      Kurz nochmal für mich zum Verständnis

      Dim Zielpfad(10) As String

      Erstellt eine String VAriable für 10 Zeichen ? oder ?

      Bei Folgendem Code werden "10 Variablen" angelegt, da bin ich mir sicher und genau das habe ich auch gesucht. Bzw ich habe 10 plätze in dem Array ?

      Zielpfad(1) bis Zielpfad(10)
      Dim Zähler As Integer
      Dim Zielpfad() As String
      
      For Zähler = 1 To 10
         ReDim Zielpfad(Zähler) As String
      Next Zähler
      

      • Antwort von nach 4 Stunden 0 hilfreich
        Re^3: Variable anlegen mit For Schleife

        Hi Joe,

        Dim Zielpfad(10) As String

        Erstellt eine String VAriable für 10 Zeichen ? oder ?
        oder. Der Befehl erstellt ein Array aus 11 (Null bis Zehn) beliebig lange Stringvariablen. Ich glaube, Alex und ich haben Dir bisher zu viel fertigen Code geliefert. Bei Folgendem Code werden "10 Variablen" angelegt, da bin ich
        mir sicher und genau das habe ich auch gesucht. Bzw ich habe
        10 plätze in dem Array ?
        Ja, hast Du, aber es wird jedes mal das Array neu angelegt, die Variable Zeilpfad(0) und Zielpfad(1) werden 10 mal angelegt und 9 mal vorher wieder gelöscht. Zielpfad(1) bis Zielpfad(10)
        Dim Zähler As Integer
        Dim Zielpfad() As String
        
        For Zähler = 1 To 10
           ReDim Zielpfad(Zähler) As String
        Next Zähler
        

        Gruß Rainer

        • Antwort von nach 15 Stunden 0 hilfreich
          Re^4: Variable anlegen mit For Schleife

          Moin,
          Zuviel fertigen Code gibt es nicht !!:P


          Wenn ich 20 Variablen eines Typs gebraucht habe, habe ich das so gemacht: ( NICHT LACHEN !!! )

          Public CheckV0 As Integer, CheckV1 As Integer, CheckV2 As Integer, CheckV3 As Integer, CheckV4 As Integer, CheckV5 As Integer, CheckV6 As Integer, CheckV7 As Integer, CheckV8 As Integer, CheckV9 As Integer, CheckV10 As Integer, CheckV11 As Integer, CheckV12 As Integer, CheckV13 As Integer, CheckV14 As Integer, CheckV15 As Integer, CheckV16 As Integer, CheckV17 As Integer, CheckV18 As Integer, CheckV19 As Integer
          


          Aber ab heute werde ich danke Euch einfach
          Dim CheckV(10) As String

          So kann ich die Dinger auch einfach dem dazu gehörigen COntrol Array zuweisen.

          Ich sollte mir einen 2ten Account für das Forum anlegen, falls ich nochmal ein paar elementare fragen haben sollte :P

          DANKE,
          mfg joe

          • Antwort von nach 18 Stunden 0 hilfreich
            Re^5: Variable anlegen mit For Schleife

            Hi Joe, Zuviel fertigen Code gibt es nicht !!:P
            doch. Wenn das Projekt läuft und Du nicht verstehst warum.
            Schon vor über einem Jahr habe ich in der ersten version für Dein Sync-Tool Arrays verwendet, versucht, Dir zu erklären wie und warum.

            Weil Du aber fertigen Code bekommen hast, hast Du nur das ergebnis betrachtet und die nicht für den Code interessiert. Wenn ich 20 Variablen eines Typs gebraucht habe, habe ich das
            so gemacht: ( NICHT LACHEN !!! )

            Public CheckV0 As Integer, CheckV1 As Integer, CheckV2 As
            Integer, CheckV3 As Integer, CheckV4 As Integer, CheckV5 As
            Integer, CheckV6 As Integer, CheckV7 As Integer, CheckV8 As
            Integer, CheckV9 As Integer, CheckV10 As Integer, CheckV11 As
            Integer, CheckV12 As Integer, CheckV13 As Integer, CheckV14 As
            Integer, CheckV15 As Integer, CheckV16 As Integer, CheckV17 As
            Integer, CheckV18 As Integer, CheckV19 As Integer
            


            Aber ab heute werde ich danke Euch einfach
            Dim CheckV(10) As String
            Das hätte 19 heißen sollen? OK. So kann ich die Dinger auch einfach dem dazu gehörigen COntrol
            Array zuweisen.
            ahhh, Steuerelementefeld hast Du verstanden. OK, schön. Ich sollte mir einen 2ten Account für das Forum anlegen, falls
            ich nochmal ein paar elementare fragen haben sollte :P
            *gg* nein. Du siehst doch, daß Du auch so Antworten bekommst.

            Gruß Rainer

            • Antwort von nach einem Tag 0 hilfreich
              Re^6: Variable anlegen mit For Schleife

              Irgendwie haut mein I Explorer 6 immer ne Menge Leerzeilen in manche Artikel dich ich hier lese.

              Da ich im moment oder eigentlich schon immer 3 Projekte am laufen haben, für den fall das ich bei einem nicht weiter komme oder einfach keine Lust mehr drauf habe konnte ich heute den Code überall um mindestens 1/3 Optimieren. Es hat einfach klick gemacht

              Danke, nochmal. Solltest du/Ihr mal in die Versuchung kommen mit VB6 ein attribut aus einem XML file lesen zu wollen :P schau mal in mein XML Thema :)

              Danke Euch !!

              mfg Jonny

            • Antwort von nach einem Tag 0 hilfreich
              Re^7: Variable anlegen mit For Schleife

              Hi Joe, Solltest du/Ihr mal in die Versuchung kommen
              mit VB6 ein attribut aus einem XML file lesen zu wollen :P
              schau mal in mein XML Thema :)
              über XML weiß ich nichts, ich habe auch nicht im Ansatz verstanden, was Du da möchtest. Kann man das unabhängig von XML betrachten? Geht es Dir einfach nur um die Stringmanipulation? Das wäre dann doch zu einfach, oder?

              Gruß Rainer

            • Antwort von nach einem Tag 0 hilfreich
              Re^8: Variable anlegen mit For Schleife

              Moin, Geht es Dir einfach nur um die
              Stringmanipulation? Das wäre dann doch zu einfach, oder?
              Auf keinen Fall :P Ich werde dort nochmal ein paar Zeilen dazu schreiben. Ich kann Sachen einfach schlecht erklären.

              mfg jonny
              Gruß Rainer

      • Antwort von nach 15 Stunden 0 hilfreich
        Re^3: Variable anlegen mit For Schleife

        Moin, Joe,

        Dim Zielpfad(10) As String

        Erstellt eine String VAriable für 10 Zeichen ? oder ?
        teilt dem VBA lediglich mit, dass ein Array namens Zielpfad 11 Strings aufnehmen können wird. Schreibst Du im Code Zielpfad(11), erntest Du einen Laufzeitfehler 9. Bei Folgendem Code werden "10 Variablen" angelegt…
        Sie sind durch

            Dim Zielpfad(10) As String


        bereits angelegt. Genauer: VBA kennt jetzt die 11 Variablen Zielpfad(0) … Zielpfad(10), alle mit der Länge 0.

        Gruß Ralf



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!