Pfad des geladenen Bildes bei TJPEGImage herausfinden



  • halloei schrieb:

    [...]
    Was z.B. gerade nicht funktioniert ist, dass das Programm das NoUser-Bild nicht übernimmt, wenn man auf den Button klickt. ...

    Ok, das ist jetzt also das Einzige Problem? Wenn du auf "kein Bild anzeigen" drückst wird auf Form1 das richtige Bild zugewiesen, aber: Wenn man dann auf Ok klickt um das Form2 zu schliessen, wird ja wieder das Bild geladen und zu Form1->TImage1 zugewiesen welches zuletzt mit dem OpenPictureDialog1 geöffnet wurde...

    Sieht aus wie ein Logikproblem was du da hast... am Besten du malst dir mal einen kleinen Ablaufplan - bildlich sieht man oft besser, wo man etwas besser gestalten könnte.

    Zweckmäßig wäre hier vielleicht auch so ein "Übernehmen" Button, wie man ihn von vielen Programmen kennt. Dann hast du einen Knopf mehr und kannst die Aufgaben besser trennen.

    So, ich mach jetzt Feierabend.

    MfG



  • Einen Übernehmen-Button habe ich drin, nur ist ja außer das "Close();" derselbe Code wie der OK-Button..
    Alles klar, ich mach mich dann nochmal ran.
    Danke für die Antworten und einen schönen Abend noch!
    Grüße



  • Guten Morgen,

    hallloei schrieb:

    Einen Übernehmen-Button habe ich drin, nur ist ja außer das "Close();" derselbe Code wie der OK-Button..

    Das meine ich mit Logikproblem - wenn 2 Buttons (fast) dasselbe machen, läuft was schief beim Programmieren. 😉

    MfG



  • @hallloei
    Wie wärs, wenn du die Bilder nach dem laden in eine Liste packst und dann daraus lädst. Da musst du das nicht immer neu machen und du brauchst dir nur die Indizes zu merken.



  • @Braunstein: Wenn ich mich mal kurz einmischen darf: Falls ich Alles richtig verstanden habe, geht es darum 1 Bild (Benutzerbild in einem Messenger) auszuwählen und zu laden. Warum sollte man da eine Liste anlegen?



  • Wenn ich das richtig verstanden habe, will er das Bild dem entsprechneden User zuordnen. Bei mehreren Usern würde sich eine Liste schon anbieten. Wenn er nur ein Bild hätte müsste er ja nicht umschalten. 🙂



  • Hallo

    beim Start der Anwendung wird Bild1 geladen -> in dem Moment musst du den Pfad kennen. Der User ändert nun das Bild und lädt Bild2 ins Image. Den Pfad von Bild1 hast du dir natürlich vorher (direkt nach dem Laden) gespeichert. Klickt der Benutzer nun auf "Cancel" lädt sich Bild1 - dessen Pfad du ja kennst - wieder ins Image.
    Andernfalls eben nicht! Und damit später auf alle Bilder zugegriffen werden kann solltest du die Pfade aller Bilder irgendwo ablegen. Bei einem Messenger-System wird das sicherlich eine Datenbank sein.

    Alternativ kannst du auch direkt die Bilder in die DB laden und Usern zuordnen. So kann sich der lokale Pfad ändern, oder der Nutzer sogar das Bild vom PC löschen und es ist trotzdem noch da.

    mfg, Micha!



  • Hallo!
    Danke für die Antworten. Mit Datenbanken bin ich leider noch nicht soweit..
    Hab das Problem jetzt gelöst; vielleicht nicht ganz so professionell, aber es funktioniert 😃

    Mit der Liste der Bilder.. Ist es möglich ein Fenster aufzurufen, wo man wie in einer ListBox eine Liste der bereits geladenen Bilder hat, die man von da aus wieder laden kann? Ist aber doch sicher etwas schwierig..
    Grüße!

    //Edit: Hab mich jetzt auch mal angemeldet 😉



  • Hallo,

    sicher ist das möglich. Du musst jedesmal wenn ein neues Bild geladen wird den Pfad irgendwo speichern (Textdatei // Ini (TIniFile) // Registry (TRegistry) // Datenbank) und dann entsprechend wieder auslesen...

    mfg, Micha!



  • //Vielen dank, erledigt!



  • Ganz einfach. Alles erst in die Stringliste laden und dann alles was dazu soll untendran hängen und wieder speichern.


Anmelden zum Antworten