Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   externe Icon-Library (https://www.delphipraxis.net/202222-externe-icon-library.html)

ThomasWB 10. Okt 2019 08:01

externe Icon-Library
 
Hallo zusammen,
ich möchte in einem Programm in verschiednden Komponeten Icons aus einer TImageList. Nun soll der Anwender die Möglichkeit haben, weiter Icons zu verwenden - sprich nachzuladen. Dazu müsste ich die Icons in einer separaten Datei gespeichert haben und beim Programmstart in die TImageList zu laden. Im Prinzip könnte ich die Icons über eine Ressourcen-Datei "verwalten". Bisher waren alle Erklärungen davon ausgegangen, dass eine Ressourcedaeti beim Compilieren in die EXE-Datei eingebunden wird. Nur benötige ich im Prinzip eine exteren Ressourcendatei, die dann vom Prgramm zur Laufzeit erweitert wird. Die Icons können nicht in die XEX selber eingebunden werden, da bei einem Programm-Update die vom Anwender geladenen Icons nicht überschreiben werden dürfen.

haentschman 10. Okt 2019 08:17

AW: externe Icon-Library
 
Moin...:P
Folgende Möglichkeiten bieten sich an:

1: Bilder in Datenbank (binär) ablegen -> ImageList.Add
2: Bilder in Datenbank (Pfad) ablegen -> Bild laden -> ImageList.Add
3: Bilder in Pfad ablegen -> Bild laden -> ImageList.Add
4. externe "Ressourcen" Datei (CSV) -> Bild laden -> ImageList.Add
...und viele andere mehr. Viele Wege führen nach Rom. Aber grundsätzlich müssen die externen "Ressourcen" separat abgelegt werden.

Du siehst, die Anforderung ist nicht eindeutig. Du muß dich entscheiden. :wink:

ThomasWB 10. Okt 2019 08:28

AW: externe Icon-Library
 
Die Lösungen 2-4 gehen davon aus, dass ich die Icons "irgendwo" separat liegen habe und sie über eine "Steuerdatei" lade. Die Lösung 1 kommt meinem Ansinnen schon nahe. Nur dachte ich, dass dies ohne DB geht über EINE externe Datei, die dann alle Icons hält - ählich einer ICL-Datei

Der schöne Günther 10. Okt 2019 08:35

AW: externe Icon-Library
 
Ich würde alles so lassen wie es ist und eine zweite ImageList für "benutzerdefiniert" nehmen. Da kann der Benutzer alles reinladen wie er will. Wenn du dich drum kümmerst dass der
Delphi-Quellcode:
ImageIndex
immer der richtige ist wo etwas hingepackt wird kannst du auf deiner TActionList (oder was auch immer die ImageList verwendet) einfach mit einer Zeile Code von deiner normalen auf die "custom" ImageList umschalten und nun hat alles die benutzerdefinierten Icons.

haentschman 10. Okt 2019 08:36

AW: externe Icon-Library
 
Zitat:

dass ich die Icons "irgendwo" separat liegen habe
...was spricht dagegen? :P Der User muß die Datei eh laden. Dann eine Kopie in in einen dafür vorgesehenden Ordner speichern. Ohne DB: Du kannst auch einen Binären Stream in eine XML Datei speichern/laden.

ThomasWB 10. Okt 2019 08:40

AW: externe Icon-Library
 
zu Günther:
Wenn der Benutzer die Icons in eine zweite ImageList lädt, sind die Daten mit dem Programm verbunden. Bei einem Update des Programms würden diese Icons dann verloren gehen - oder sehe ich das falsch.

ThomasWB 10. Okt 2019 08:43

AW: externe Icon-Library
 
Hallo haentschman,
wie geht das speichern in einer XML-Datei. Ich würde die Lösung einer Datei bevorzugen anstatt hier evtl. 30 Dateien zu haben. Ist irgenwie "aufgeräumter" :).

haentschman 10. Okt 2019 09:07

AW: externe Icon-Library
 
Lesestoff:
https://www.delphipraxis.net/52533-b...speichern.html
https://www.google.de/search?source=...4dUDCAc&uact=5
Zitat:

oder sehe ich das falsch.
Ja, aber mit 2 Imagelisten bekommst du die Probleme wenn du die Originalen und die Benutzerdefinierten in einem Grid z.B. benötigst. Die meisten Controls kennen nur eine Imagelist.

Der schöne Günther 10. Okt 2019 09:08

AW: externe Icon-Library
 
Nein, deine Anwendung (.exe-Datei) wird zur Laufzeit (also während es beim Benutzer im Einsatz ist) nie verändert. Deine Anwendung kann diese Dateien sich selbst wohin kopieren. Entweder 1:1 die .ico/.png-Dateien. Oder eine Datenbank. Oder eine ZIP-Datei.

Irgendwie haben wir mehrere Fragen auf einmal. Geht es darum wie man neue Icons in eine ImageList bekommt? Oder wie du die vom Benutzer (z.B. mit ein "Datei öffnen"-Dialog) ausgewählten Dateien dir wegspeicherst um sie in Zukunft immer wieder verwenden zu können?

TigerLilly 10. Okt 2019 09:08

AW: externe Icon-Library
 
Verstehe ich richtig:
Dein Anwender stellt selber Icons zusammen + mag die in deine EXE laden. Du magst die Icons nicht einzeln haben, sondern lieber in einer Datei. Da würde ich eine Icon-Library nehmen und von dort die Icons extrahieren.

https://icofx.ro/
http://delphi.cjcsoft.net/viewthread.php?tid=44498
https://stackoverflow.com/questions/...-from-binaries


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz