Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   EXE inkl. aller Bilder (https://www.delphipraxis.net/177441-exe-inkl-aller-bilder.html)

DieFliege 6. Nov 2013 18:44

EXE inkl. aller Bilder
 
Hallo DP-Gemeinde,

ich habe schon viel Hilfe erhalten und hoffe nun noch einmal auf Eure Unterstützung.

Normal kann man ja eine Anwendung mit diversen Grafiken übergeben, indem man ein Verzeichnis mit allen Dateien und Ordnern weiter gibt.

Wie ist es machbar, dass ich nur die EXE mit allen Grafiken übergebe? Ist bestimmt total banal, aber ich hänge hier gerade und es wäre schön, wenn ihr mir hier noch mal helfen könntet.

LG DieFliege :-)

jaenicke 6. Nov 2013 18:51

AW: EXE inkl. aller Bilder
 
Ob es Sinn macht, steht auf einem anderen Blatt, aber prinzipiell gibt es zwei Möglichkeiten:
Entweder als Ressource einbinden oder eine TImageList benutzen.

DieFliege 6. Nov 2013 19:46

AW: EXE inkl. aller Bilder
 
Hallo Sebastian,

vielen Dank für Deine Info. Ich werde mich diesbezüglich informieren.

Du kannst Dir sicher sein, ich habe mir über den Sinn Gedanken gemacht. Gerne bin ich bereit über Alternativen mehr zu erfahren. Leider gibt Dein Posting dazu keine Informationen preis.

Als "Hobby-Programmierer" stehe ich hier weiß Gott nicht als Mister Microsoft Himselft da, daher bin ich sehr dankbar, wenn ich Hilfe erhalte. Die Hilfe, die mich in meiner Entwicklung bisher weiter gebracht hat, wurde mir bisher auch freundlich entgegen gebracht, dafür bin ich sehr dankbar - Aber, ich habe mich auch nicht umsonst in diesem Forum angemeldet. Wenn ich alles wüsste, müsste ich nicht fragen.

Ich wünsche Dir dennoch einen angenehmen Abend.

LG DieFliege :-)

Union 6. Nov 2013 20:00

AW: EXE inkl. aller Bilder
 
Um Resourcen in eine EXE einzubinden, brauchst Du eine .res Datei. Diese wird vom Resourcencompiler aus einer .rc Datei erstellt. Zur Laufzeit mußt Du die Resourcen dann aus der Instanz der Anwendung laden und entsprechend umwandeln.

In Deiner .dpr steht dann zum Beispiel:
Delphi-Quellcode:
{$R 'allebilder.res' 'allebilder.rc'}
Die .rc Quelldatei kann dann so aussehen:
Code:
splashlogo jpg "Pictures\Logo.jpg"
headerlogo jpg "Pictures\Header.jpg"
assistent jpg "Pictures\Assistent.jpg"
Folgender Code liest dann eine solche Resource in ein TImage ein:
Delphi-Quellcode:
//------------------------------------------------------------------------
procedure LoadJpegResource(const ResourceName : string; Image : TImage);
//------------------------------------------------------------------------
var
   jpg : TJpegImage;
   ResStream : TResourceStream;
begin
   ResStream := TResourceStream.Create(HINSTANCE, PChar(ResourceName), 'JPG');
   try
      jpg := TJPegImage.Create;
      try
         jpg.LoadFromStream(ResStream);
         Image.Picture.Bitmap.Assign(jpg);
      finally
         jpg.Free
      end;
   finally
      ResStream.Free;
   end;
end;
Der Aufruf kann dann erfolgen wie folgt:
Delphi-Quellcode:
LoadJPegResource('LOGO', Image1);
Weitere Informationen findest Du hier und im restlichen Internet über die Suche nach TResourceStream.

DieFliege 7. Nov 2013 08:56

AW: EXE inkl. aller Bilder
 
Hallo Union,

vielen Dank für Deine Ausführliche Erklärung. Gerne werde ich mich nun einmal damit befassen.

LG Micha :-)

DeddyH 7. Nov 2013 11:01

AW: EXE inkl. aller Bilder
 
http://delphi.about.com/od/objectpas..._resources.htm
Es gibt auch reichlich deutsche Beispiele, aber ich war zu faul zum Suchen :mrgreen:

Uwe Raabe 7. Nov 2013 12:38

AW: EXE inkl. aller Bilder
 
Zitat:

Zitat von Union (Beitrag 1234765)
Um Resourcen in eine EXE einzubinden, brauchst Du eine .res Datei.

Mit XE4 geht das auch noch einfacher. Da gibt es im Menü unter Projekt - Resourcen und Bilder eine bequeme Möglichkeit, ein paar Bildchen in die Exe zu integrieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 Uhr.

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