Array über Schleife in verschiedene Textfelder ausgeben

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Array über Schleife in verschiedene Textfelder ausgeben

    Hallo,
    ich habe hier den Fall, dass Strings in einem Array gespeicher werden. Dieses Array wird in einer Schleife verarbeitet, nun hätte ich gerne, dass die Ausgabe in Textboxen und Labels erfolgt.

    so in etwa:

    Quellcode

    1. For each String in Array
    2. Textfeld_für diesen_String=Funktion(String)
    3. next

    nun soll aber nicht alles in das selbe textfeld geschrieben werden, sondern Array(0) gehört z.B. zu dem Textfeld0, Array(1) zu Tgextfeld1 ...
    geht das, dass man so mit einer Schleife ein Array durchläuft und die Ausgabe, ohne dass ich die TextfeldNamen in einem Zusätzlichen Array speichere, richtig erfolgt?

    Ich hoffe, ich konnte es einigermasen verständlich erklären.

    Vielen Dank!
    Irgendwie und irgendwo musst Du schon eine Zuordnung von Text und Control durchführen.
    Sonst generierst Du nur Chaos mit Deinem Programm.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    das tut niemandem weh, die TextFelder eben auch in ein Array zu tun (Array-Operationen sind mit das schnellste was gibt)

    VB.NET-Quellcode

    1. Dim controls As Control() = New Control() {Textfeld0, Textfeld1, Textfeld2}
    2. For i = 0 To Controls.length - 1
    3. Controls(i).Text = Array(i)
    4. Next
    Schlimmer ist, dass weder das Array noch die Textfelder vernünftig benannt sind, sodass man k.A. hat, was der Code soll.

    Zb. ein solches Stück Code wäre ganz ohne ZusatzAufwand viel verständlicher:

    VB.NET-Quellcode

    1. Dim textboxes = {txtVorname, txtNachname, txtAddresse}
    2. For i = 0 To textboxes.Length - 1
    3. textboxes(i).Text = personData(i)
    4. Next
    Das war die Frage, ob man das irgendwie Automatisieren kann, z.b. der Inhalt von Array(1) soll in Textfeld1.text, so könnte man mit einer Schleife das Array durchlaufen, und den Zähler auch gleichzeitig zur Ausgabe im richtigen Textfeld verwenden.
    Noch besser wäre es, wenn die ausgabe komplett dynamisch erfolgen würde, also, wenn für jedes Array-Element ein benötigtes Ausgabeelement erzeugt werden würde.

    Nachtrag:

    Ich habs anderst gelösst:
    Es gibt die Textfelder nur 1x, und in einer LListbox wird der gewünschte Eintrag selectiert und darüber werden die textfelder gefüllt, so spare ich gleich noch platz.