![]() |
Schönheitsfrage zum Programmierstil
Hallo,
nachdem endlich - mit Eurer Hilfe - meine Buttonkomponente fertig ist und ich sowieso ein neues Projekt plane, möchte ich wissen, wie Ihr über folgende Frage denkt: Mein Button (zum Beispiel) erfordert ja Bilddateien, evtl werden im Projekt noch andere Bilddateien eingebunden. Findet Ihr es unprofessionell, wenn diese Bilddateien zugänglich in einem Ordner liegen würden. Habe mal gesehen, dass es andere Programmierer von renomierten Programmen zum Teil auch machen, aber ich weiß nicht, ob das so "schön" ist. Andererseits könnte das Programm auf diese Art und Weise schön und leicht geskinned werden. Oder sind diese Überlegungen unberechtigt? |
Re: Schönheitsfrage zum Programmierstil
Warum sollte das unprofessionell sein?
|
Re: Schönheitsfrage zum Programmierstil
Nicht nur schön, sondern auch wichtig ist es, dass Du eine festverdrahtete Fallback-Lösung hast, die greift, wenn ein User die externen Bitmaps mal weglöscht.
Prinzipiell ist es nicht dramatisch, Ressourcen extern auszulagern. Es besteht dann für den Anwender die Möglichkeit, diese Dateien zu verändern. Du als Entwickler musst Dir nur vorher überlegen, ob Du das zulassen magst bzw. wie Du darauf reagieren möchtest, wenn die Bilder zum Beispiel gar nicht oder nicht in der erwarteten Größe vorliegen. |
Re: Schönheitsfrage zum Programmierstil
@Daniel: Ok das stimmt. Du hast angesprochen, ob ich das denn überhaupt mag. Angenommen nicht, wie kann ich das denn verhindern? Gibt es auch eine RessourcenDatei für eine exe? Sag mal ein paar Stichworte ;-)
|
Re: Schönheitsfrage zum Programmierstil
Zitat:
Zitat:
|
Re: Schönheitsfrage zum Programmierstil
Also ich mach sowas entweder in einem eigenen Format oder gleich mit Ressourcen.
|
Re: Schönheitsfrage zum Programmierstil
:shock:
Wie jetzt? Ich soll konstruktiv ... ? Bitmaps lassen sich prinzipiell als Ressourcen einkompilieren. Stichworte hierfür könnten Ressourcen-Datei, Ressourcen-Compiler sein. Man könnte auch nach den API-Funktionen suchen, um an diese Bilder wieder ran zu kommen, zum Beispiel "LoadFromResource". Mit einem geeigneten Editor lassen sich diese Elemente aber trotzdem noch austauschen. Du könntest auch eine Art "Mittelweg" beschreiten und Deine Dateien zum Beispiel digital signieren. Dann kannst Du sie im Dateisystem belassen, würdest Du es jedoch mitbekommen, wenn sie verändert wurden. Oder - ein wenig plump, aber ähnlich effektiv - Du merkst Dir die Checksummen der Dateien, zum Beispiel MD5(), und stellst so fest, ob sie verändert wurden. Dieses Prinzip kannst Du natürlich auch bei einkompilierten Ressourcen anwenden. |
Re: Schönheitsfrage zum Programmierstil
Kannst du mir bitte mal ein paar Tuts oder Infos zu den beiden Varianten posten? Eigenes Format hört sich schon cool an...
|
Re: Schönheitsfrage zum Programmierstil
Am einfachsten packst du den Imageliste auf deine Form und lädst die Bilder da rein, dann werden diese teile der Ressource->Exe.
|
Re: Schönheitsfrage zum Programmierstil
Die Imagelist dürfte in der Tat am einfachsten sein.
Bei viel Zeit & Langeweile würde ich auf ein eigenes Format zurückgreifen, ansonsten würde ich auf bestehende Lösungen zurückgreifen (Imagelist). Du könntest Dir auch überlegen, eine Ressourcen-DLL zu basteln. Dann lägen die Bitmaps nicht in Deiner Anwendung, sondern in einer DLL, die Du dann nach belieben austauschen könntest. Und auch hier würden Späße wie digitale Signaturen funktionieren, wenn Du es wirklich "sicher" ("sicher" ist natürlich immer nur relativ, aber ich denke, Du weißt, wie ich das meine) haben willst. |
Re: Schönheitsfrage zum Programmierstil
Wird dann (bei vielen Bildern) nicht die Exe richtig groß? Viel besser wäre es, wenn man eine externe Ressourcendatei hätte.
Eine Ressourcen-DLL hört sich verdammt gut an... Ist das viel Arbeit? |
Re: Schönheitsfrage zum Programmierstil
ich hätte sie draussen gelassen *super mario war* z.b. machts so und es macht spass dem programm immer neue skis zu geben
|
Re: Schönheitsfrage zum Programmierstil
Eine Ressourcen-DLL? Nein, ich glaube nicht so viel Arbeit... Musst mal nach DLL-Tuts suchen.
|
Re: Schönheitsfrage zum Programmierstil
Hm.. Hat jemand ein Tut zum Schreiben eines eigenen Formats - das würde mich interessieren. Ich finde es trotzdem irgendwie unprofessionell, die Grafik-Daten frei zugänglich zu lassen. Das mit der ImageList ist eingentlich ganz gut, aber die Exe bläht halt so auf...
DLL-Experte... noch nicht angesehen |
Re: Schönheitsfrage zum Programmierstil
Mit "eigenem Format" meinte ich eher was anderes:
Ich speichere immer einen Integer mit der Länge der darauffolgenden Daten und dann die Bilddaten. Evtl. noch am Anfang die Gesamtzahl der Bilder. So speichere ich normalerweise meine Bilder ab. Ein komplett eigenes Format zu schreiben wäre recht sinnlos, da es sehr aufwendig wäre und keinen wirklichen Nutzen hätte. Wer unbedingt die Bilder verändern will, schafft es auch, und das soll er doch auch, wenns ihm Spaß macht. |
Re: Schönheitsfrage zum Programmierstil
Ja ist schon klar. Jeder, der sich das Ziel setzt, diese Daten zu ändern, wird es schaffen. Ist auch nicht schlimm. Im Prinzip ist es ja sein Problem - und wenn es ihn glücklich macht..
Es geht mir nur darum, dass die Bilder nicht einfach so in einem Verzeichnis liegen. |
Re: Schönheitsfrage zum Programmierstil
Die wahrscheinlich einfachste/dümmste Lösung um zu verhindern, dass ein User die Grafiken anfasst, ist es, ihnen einfach eine andere Dateiendung zu verpassen, z.B. "dat".
Für dich praktisch kein Aufwand, für den nichtsahnenden User aber schon ein Hindernis. Es gibt viele, die nicht mal auf die Idee kommen würden, die Dateien umzubenennen. Und dann gibt es ja noch diese tolle Warnmeldung von Windows:
Code:
Wer will da schon [Ja] sagen :mrgreen:
[Window Title]
Umbenennen [Content] Wenn Sie die Dateinamenerweiterung ändern, wird die Datei möglicherweise unbrauchbar. Möchten Sie sie trotzdem ändern? [Ja] [Nein] |
Re: Schönheitsfrage zum Programmierstil
Ich pers. finde die Idee mit einer
![]() Man erspart sich das rumärgern wenn die Bilder fehlen oder in der falschen Grösse vorliegen. |
Re: Schönheitsfrage zum Programmierstil
Hallo,
der Beitrag ist über 3 Jahre alt. Ich denke das DJ-SPM mittlerweile eine Lösung hat. Bis bald Chemiker |
Re: Schönheitsfrage zum Programmierstil
Zitat:
Naja, Entschuldigung fürs ausgraben. |
Re: Schönheitsfrage zum Programmierstil
na, da der Thread ja eh ausgegraben ist, kann man noch ergänzen, daß Magix das schon lange bei seinen Programmen macht.
Die Firma Maxon (Cinema4D) auch. Ich glaube, da kommt keiner auf die Idee, die Icons und Grafiken in seinen eigenen Programmen (Shareware und auch namentlich öfftl. Freeware) zu verwenden. Der Vorteil ist natürlich die schnelle Möglichkeit der Anpassung. Und da Speicherplatz ja nichts mehr kostet ... Festplatte 1 GB = 67 Cent - macht für 40 MB ausgelagerte Grafiken gerade mal 0,0268 Euro. Ich persönlich finde das natürlich jedes Mal eine Sauerei, weil die Platte dadurch schneller fragmentiert :D Aber es gibt tausende Nutzer, denen wo das so voll egal ist, was sie sich auf die Platte knallen (Filme, mp3's, aufgeblähte Office-Programme, und Betriebssysteme ... mittlerweile 2,5 GB für Win7 ) und die auch zu doof sind, Programme, die nicht auf dem Desktop verankert oder im Startmenü zu finden sin, manuell zu starten. Klar, Windows erklärt ihnen ja auch, daß das Betreten von Bereichen außerhalb von "*\Eigene Dateien\" zu Datenverlusten führen könnte ... |
Re: Schönheitsfrage zum Programmierstil
Zitat:
MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz