Bildpfad von Guictrlcreatepic() auslesen

  • Hallo,

    ich habe ein Bild erstellt und möchte nun im verlaufe des Scriptes per ID des Bildes dessen Pfad, oder besser dessen Namen ( also "Bild.bmp" auslesen, ich habe es mit

    [autoit]

    GuiCtrlRead($ID)

    [/autoit]


    versucht, ging aber nicht.
    Google und die Suche hier konnten mir leider auch nicht weiterhelfen.

    mfg
    Hauke

  • Wüsste nicht wie man den Pfad im nachinein noch auslesen können sollte. Macht auch überhaupt keinen Sinn. Du hast die ganzen Bildpfade ja wohl schon bei der Controlerstellung verwendet, somit müssen die auch bekannt sein. Speicher dir die Pfade eben ab und verwende Variablen.

    [autoit]


    $bild1 = "c:\bild1.jpg"
    $bild2 = "c:\bild2.jpg"
    $bild3 = "c:\bild3.jpg"
    $bild4 = "c:\bild4.jpg"

    [/autoit][autoit][/autoit][autoit]

    $idBild1 = guictrlcreatepic($bild1,....)
    $idBild2 = guictrlcreatepic($bild2,....)
    ; usw.

    [/autoit]

    Je nach Fall wäre ein 2D Array hier vielleicht sogar am sinnvollsten in dem du immer Bildpfad und zugehörige ID speicherst.

  • Wenn du doch das Pic Control erstellst, solltest du doch wissen, welches Bild du genommen hast! Ich verstehe deine Frage nicht richtig!

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • tjaaa, bei mir ist das ein wenig komplizierter:

    Spoiler anzeigen
    [autoit]

    For $i = 1 To 6
    $Bild_Pfad[$i] = IniRead(...)
    Next
    ;...
    For $i = 1 To 2
    For $ii = 1 To 3
    For $iii = 1 To 2
    $pic = GUICtrlCreatePic(...)
    ;...
    Next
    ;...
    Next
    ;...
    Next
    ;...

    [/autoit]


    Und der Wert in der IniDatei wird immer geändert und zwar nach Belieben des Benutzers, das heißt zufällig. Von daher ist es kein fester Wert und die drei For schleifen deshalb, weil ich eine art Tabelle anlege und daher X und Y Koordinaten am Ende jeder Schleife geändert werden. Die Tabelle ist eine 2x3 Bilder Tabelle ( 2 Breit, 3 Hoch ) und mir ist noch keine Lösung eingefallen, wie man das statt

    [autoit]

    For $i = 1 To 2
    For $ii = 1 To 3

    [/autoit]


    mit

    [autoit]

    For $i = 1 To 6

    [/autoit]


    machen kann um auch die Form bei zu behalten.

    mfg
    Hauke

  • Verstehe dein Probelm noch immer nicht. Du hast die Pfade in der ini und speicherst diese in ein Array. Also sind die auch noch alle zugänglich, sofern du nicht so ungeschickt bist und dir die Pfade permanent mit anderen überschreibst. Wenn das so ist musst du da eben ansetzen und deinen komplizierten Code mal entkomplizieren. Wie du das besser machen kannst kann man anhand deines Codeschnipsels aber nicht sagen, da solltest du vielleicht besser mal ein komplettes Script inklusive eine zip Datei mit einer Hand voll Testbildern hier zur Verfügung stellen. Deine Schleifen Konstruktion schaut jedenfalls ulkig aus. :P

  • ist auch kompliziert, ich habe zudem noch mehr gegoogelt und herausgefunden, dass das ganze unmöglich ist, aber ich habe mein Problem gelöst. Ich habe einafch unter jedes Bild ein Label gemacht, wo der Name des Bildes drinsteht und DAS lasse ich dann auslesen, folglich habe ich den Namen des Bildes. Fertig.
    Trotzdem danke für eure Bemühungen :)

    mfg
    Hauke

    ---> CLOSED <---