Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bilder in Dateien einpacken und zur Laufzeit listen/anzeigen (https://www.delphipraxis.net/88323-bilder-dateien-einpacken-und-zur-laufzeit-listen-anzeigen.html)

torud 13. Mär 2007 18:27


Bilder in Dateien einpacken und zur Laufzeit listen/anzeigen
 
Hallo Wissende,

ich habe folgendes vor, bzw. stehe vor folgender Problematik.

Ich habe ein Tool erstellt, mit dem diverse Pläne erstellt werden können. Nun möchte bzw. muss ich aber meine Bilder schützen und nicht einfach so wie bisher auf der Festplatte in Verzeichnissen ablegen, die ich dann einfach einlese, weil da auch Bilder von verschiedenen Sportverbänden inkludiert sind.

Ich möchte also meine Bilder in einer Datei ablegen und zur Laufzeit "auspacken", anzeigen und auf Wunsch in den Plan einbinden.

Wie folgt gehe ich bisher vor.

Ein Ordner mit diversen Logos. Es werden alle Bildnamen des Ordners eingelesen, in eine Listbox geschrieben und bei anklicken in einer TImage angezeigt.

Zum anderen habe ich Verzeichnisse in einem Verzeichnis. Zum Beispiel:

Oberordner: Sportarten
und darin dann weitere Ordner: Fussball, Handball, Basketball usw...
dann in den Ordnern die jeweiligen dazugehörenden Bilder...die wie oben dann in einer Listbox gelistet werden und bei Klick angezeigt und eingebunden werden können.

Nun frage ich mich, was am günstigsten ist und am einfachsten zu händeln diese Strukturen so aus einer oder mehreren Datei/en DYNAMISCH einzulesen, ohne zu wissen, was drin ist. Könnte ich das mit einer DLL lösen? Oder wäre eine ZipDatei besser? Jedoch könnte ja jeder die ZipDatei einfach entpacken...

Ich bitte um Tipps und Hinweise...bevorzuge eine Lösung mit DLL, wenn es sinnvoll ist...

marabu 13. Mär 2007 18:58

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Hallo Tom,

auch wenn hier im Forum immer wieder Möglichkeiten des technischen Zugriffsschutzes diskutiert werden, so ist das im professionellen Bereich wohl eher kein Thema. In deinem Fall mit den Logos würde ich diese einfach als Resourcen beipacken - DLL oder EXE, egal.

Aufgabe der Rechteinhaber ist es autorisierte Resourcen bereit zu stellen und diese gegebenenfalls intern (digital watermark) oder extern (hash) zu signieren, damit eigene Rechte später auch durchgesetzt werden können.

Für deine Verzeichnisstrukturen kannst du sicher eine Zuordnung von Strings und Images über deren ResourceID entwickeln - die Baumtiefe scheint mir begrenzt zu sein.

Freundliche Grüße

torud 13. Mär 2007 19:45

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Hallo Marabu,

vielen Dank für Deine Hinweise. DLL wollte ich lesen, denn ich will die Dateien nicht mit in die Exe packen, da ich so nur die DLL updaten muss und die Exe selbst so bleiben kann. Ich dachte mir schon, dass ich dann in die DLL eine InfoDatei mit reinpacke, wo drinsteht, wie die Struktur sein muss, was die Dynamik ermöglicht.

Darf ich noch fragen, wie ich das Erstellen einer solchen DLL realisieren kann? Ich habe noch keine DLL erstellt, und aus einer solchen gelesen...

torud 13. Mär 2007 19:59

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Ich werds mal hiermit http://www.delphipraxis.net/internal...ect.php?t=4232 versuchen

torud 14. Mär 2007 18:57

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also da das Thema und die Problematik immer noch die Gleiche ist, werde ich hier auch weiter posten. Ich habe mal versucht das kleine DLL-Tutorial durchzuarbeiten. Naja bei 3 Schritten auch kein Problem. Leider blieb der Erfolg aus. Im Anhang habe ich mal eine Zip-Datei, in der ich ein Projekt für das Erstellen der DLL habe und ein Projekt in der eigentlich das Bild laut Tutorial angezeigt werden sollten. Leider wird nichts angezeigt. Was habe ich da falsch gemacht.

Pfoto 14. Mär 2007 19:56

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo torud,

ich habe mal eine Library heruntergeladen,
mit der man Bilder zur Laufzeit aus einer Zip lesen kann,
also ohne sie entpacken zu müssen.

So kämst du im das DLL-Thema herum und kanns zudem
die Bilder extrem schnell für dein Programm vorbereiten.


Da ich nicht mehr die Original-Quelle weiß, ist im
Anhang die entsprechende Datei aus meinem Download.


Gruß
Pfoto

torud 15. Mär 2007 06:20

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Also das funktioniert schon mal sehr sehr gut! Ich muss nun nur noch eine sinnvolle Routine schaffen, in der ich zum Beispiel die Sportarten verwalte, wie Fussball, Handball, Basketball und wenn man diese anklickt, sollen dann die verschiedenen Ligen gelistet werden, wie zum Beispiel 1.Liga, 2.Liga usw. und wenn man dann in der Combobox die Liga ausgewählt hat, sollen alle Bitmaps der Liga gelistet werden, ebenso wie in Deinem Beispieltool.

Pfoto 15. Mär 2007 07:47

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Hallo nochmal!

ich weiß nicht mehr genau, ob die oben vorgestellten ZIP-Routinen auch Verzeichnisse
unterstützen. Wenn nicht könntest du auch mal unter dem Begriff "Virtuelle Verzeichnisse"
schauen (z.B. bei www.torry.net)

Auf Anhieb weiß ich, dass bei url=http://www.aidaim.com/_lang/de/products/sfs/sfs_spec.php]http://www.aidaim.com/_lang/de/products/sfs/sfs_spec.php[/url] solche virtuellen Verzeichnisse im Sortiment sind. Hat nur einen deftigen Preis :-(

Gruß
Pfoto

Mavarik 15. Mär 2007 08:11

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Zitat:

Zitat von torud
Nun möchte bzw. muss ich aber meine Bilder schützen und nicht einfach so wie bisher auf der Festplatte in Verzeichnissen ablegen, die ich dann einfach einlese, weil da auch Bilder von verschiedenen Sportverbänden inkludiert sind.

Schützen?

1. Also aus einer Resource, kann ich die Bilder auch wieder rausholen. Also wenn dann in einem eingenen Format abspeichern.

2. Du wirst Du die Bilder auf dem Monitor darstellen, oder? Da kann ich Sie mir ja dann auch so holen...

Also wofür den Aufwand?

Frank :coder:

torud 15. Mär 2007 11:28

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze
 
Hallo,

ich danke Euch für die Antworten.

@Mavarik

Natürlich hast Du Recht, wenn Du sagst, dass man die Bilder auch aus einer Ressouce rausholen kann, egal ob man es mit einer DLL oder mit einem Zip-File macht. Aber dazu gehört dann schon eine gewisse und ich hoffe ich übertreibe damit nicht, kriminelle Energie. Auch wäre es möglich die Logo per Screenshot zu erhalten und einfach auszuschneiden. Alles kein Problem. Wir wollen nicht den absoluten Schutz, aber wir haben die Logos diverser Ligen erhalten und die wollen natürlich nicht, dass diese Logos von jedem X-beliebigen einfach so weitergenutzt werden. Sie sollen eben Toolgebunden benutzt werden.

Eigenes Format? Wie meinst Du das? Alle Bilder, die ich nutze, sind png´s. Wie soll ich die in einem eigenen Format speichern???


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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