Was stimmt as diesem code nicht???

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    Was stimmt as diesem code nicht???

    VB.NET-Quellcode

    1. For i As Integer = 1 To 31
    2. Dim pic As PictureBox
    3. pic.Name = "PictureBox" & i
    4. Dim lines() As String = IO.File.ReadAllLines(Application.StartupPath & "/link/PictureBox" & i & ".txt")
    5. pic.Image = Image.FromFile(lines(0))
    6. Next


    Fehlermeldung: Object reference not set to an instance of an object.

    danke
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(
    nein jede picturebox holt sich den pfad von ...picturebox(i).txt

    also der pfad von picturebox1 steht in picturebox1.txt

    ...... picturebox2 steht in picturebox2.txt usw...


    aber was mach ich falsch???
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(
    Du erstellst keine neue Instanz der Klasse PictureBox, sondern nur eine Variable von dem Typ.

    VB.NET-Quellcode

    1. Dim pic as [b]new [/b]PictureBox



    Ansonsten Option Strict On, daher i.toString() statt i.

    iel

    VB.NET-Quellcode

    1. pic.Name = "PictureBox" & i.toString()
    2. Dim lines() As String = IO.File.ReadAllLines(Application.StartupPath & "/link/PictureBox" & i.toString() & ".txt")


    Außerdem wird das ganze dann nicht funktionieren, weil du die PictureBox noch zu der Form hinzufügen musst.

    VB.NET-Quellcode

    1. Me.Controls.Add(pic)


    Tipp: Die Position kannst du mit

    VB.NET-Quellcode

    1. pic.Position = New Point(xkoordinate, ykoordinate)

    setzen.

    Viel Erfolg,
    Manawyrm

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    1. lies meinen Post mal komplett durch. Du hast den Pfad falsch zusammengebaut.
    2. Warum für jeden Pfad eine eigene Datei, vor allem wenn du ja eh jeden Dateiinhalt in ein Array einliest?
    3. du musst die Picturebox mit new definieren
    danke leute aber ihr habt mich nicht verstanden

    ich mochte keine neue picturebox erstellen

    ich hab auf meine form31 picturebox und moechte jede picturebox image hochladen aber in einer schleife

    image von picturebox1 steht in der datei picturebox1.txt drinnen
    image von picturebox2 steht in der datei picturebox2.txt drinnen
    image von picturebox3 steht in der datei picturebox3.txt drinnen
    image von picturebox4 steht in der datei picturebox4.txt drinnen
    .....

    wie mach ich das bitte??


    !!!!!!!!!!!!!! ERLEDIGT !!!!!!!!!!!!!

    DANKE XTTS und alle andere

    XTTS hat mich verstanden

    VB.NET-Quellcode

    1. For i As Integer = 1 To 31
    2. Dim lines() As String = IO.File.ReadAllLines(Application.StartupPath & "/link/PictureBox" & i.ToString & ".txt")
    3. CType(Me.Controls("PictureBox" & i), PictureBox).Image = Image.FromFile(lines(0))
    4. Next


    so hab ichs hingekriegt

    danke
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(
    Was wird bei diesem Test angezeigt?
    Stimmt es mit sdem überein, was Du glaubst, das es angezeigt werden soll?

    VB.NET-Quellcode

    1. Dim lines() As String = IO.File.ReadAllLines(Application.StartupPath & "/link/PictureBox" & i.ToString & ".txt")
    2. MessageBox.Show(lines(0))
    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!