Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Res-Datei (https://www.delphipraxis.net/17760-res-datei.html)

LoW_FloW 9. Mär 2004 14:08


Res-Datei
 
Ich will meine Images aus einer externen Datei laden und nicht alles in die Exe reinpacken. Damit mit andere die Bilder nicht stehlen oder ansehen können, hab ich mir gedacht ne *.res Datei zu machen. Oder gibt es da einfachere und effizientere Verfahren :?: . Nun habe ich folgenden Source gefunden:
Delphi-Quellcode:
implementation
.....
{$R newres.res}

procedure TForm1.FormCreate(Sender: TObject);
var
  MyBmp: TBitmap;
begin
  MyBmp := TBitmap.Create;
  try
    MyBmp.LoadFromResourceName(HInstance, 'MY_BMP_RES');
  finally
    MyBmp.Free;
  end;
end;
Nun weiß ich aber nicht, wie das ganze auf eine Image geht? Wenn ich für Mymbp ne TImage einsetzt geht das nicht :gruebel: . Ich habe aber auch noch nicht richtig Erfahrung in dem Gebiet :angle2:

Markus K. 9. Mär 2004 14:25

Re: Res-Datei
 
Hallo LoW_FloW,
du kannst nun eigentlich das Bitmap ins Image zeichnen oder?
Delphi-Quellcode:
Image1.Picture.Bitmap:=MyBmp;
Tschüß Markus

citybreaker 9. Mär 2004 14:27

Re: Res-Datei
 
Hier eine anleitung von Sakura.

http://www.delphipraxis.net/internal...source+dateien

LoW_FloW 9. Mär 2004 15:00

Re: Res-Datei
 
Zitat:

Zitat von Markus K.
Hallo LoW_FloW,
du kannst nun eigentlich das Bitmap ins Image zeichnen oder?
Delphi-Quellcode:
Image1.Picture.Bitmap:=MyBmp;
Tschüß Markus

thx, funtzt...
Das Tut von citybreaker hab ich nicht kapiert... :wall: :lol:

geht auch einfach so, wenn man das von Markus einsetzt:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'MY_BMP_RES');
end;
Aber noch eine Frage: Wie geht das bei JPG-Dateien :?: :!:

FloW

citybreaker 9. Mär 2004 15:11

Re: Res-Datei
 
Zitat:

Zitat von LoW_FloW
Ich will meine Images aus einer externen Datei laden und nicht alles in die Exe reinpacken. Damit mit andere die Bilder nicht stehlen oder ansehen können, hab ich mir gedacht ne *.res Datei zu machen. Oder gibt es da einfachere und effizientere Verfahren :?: . Nun habe ich folgenden Source gefunden:
Delphi-Quellcode:
implementation
.....
{$R newres.res}

procedure TForm1.FormCreate(Sender: TObject);
var
  MyBmp: TBitmap;
begin
  MyBmp := TBitmap.Create;
  try
    MyBmp.LoadFromResourceName(HInstance, 'MY_BMP_RES');
  finally
    MyBmp.Free;
  end;
end;
Nun weiß ich aber nicht, wie das ganze auf eine Image geht? Wenn ich für Mymbp ne TImage einsetzt geht das nicht :gruebel: . Ich habe aber auch noch nicht richtig Erfahrung in dem Gebiet :angle2:

Wie erstellt man eigentlich *.res dateien? Indem Tutorial was ich hier verlinkt hab ist ja nur von *.rc Dateien die rede.

Luckie 9. Mär 2004 17:49

Re: Res-Datei
 
Zitat:

Zitat von LoW_FloW
Damit mit andere die Bilder nicht stehlen oder ansehen können, hab ich mir gedacht ne *.res Datei zu machen.

Und dann öffne ich deine Exe oder DLL, je nach dem wo sie drinstecken, mit dem Bei Google suchenResHacker und kann sie mir alle ansehen und abspeichern, wenn ich will. Unbd auch wenn du es schafst dies zu verhindern, anzeigen musst du sie ja doch irgendwann und spätestens dann mache icheinen Screenshot und gut is'. ;)

LoW_FloW 9. Mär 2004 18:31

Re: Res-Datei
 
Wenn die Dateien rumliegen, können die Leutz auch die Dateien verändern und das prog spinnt dann vl. Das habsch dann net so gern :wink:

himitsu 9. Mär 2004 18:36

Re: Res-Datei
 
Ich mach gkeich mal hier mit.

Und zwar brauch ich auch sowas (z.B. LoadFromResourceName, LoadFromResourceID) für Icon's.

Hab mir ein kleines Icon (16x16) für die Titelleiste und vor allem für's TNA-Icon in der in den Resourcen abgelegt. Wie kann ich das aber in TIcon laden, dort gibt es ja sowas nicht?

Markus K. 9. Mär 2004 19:05

Re: Res-Datei
 
Hallo himitsu,
du kannst dir mal folgenden Code angucken, vielleicht hilft er dir ja ein wenig.
Delphi-Quellcode:
var Icon:TIcon;
begin
Icon:=TIcon.Create;
Icon.Handle:=LoadIcon(HInstance, '...');
end;
Tschüß Markus

Luckie 9. Mär 2004 19:06

Re: Res-Datei
 
Versuch mal mit LoadIcon oder LoadImage.

himitsu 9. Mär 2004 19:20

Re: Res-Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das gibt es ja nicht.

Luckie 9. Mär 2004 19:29

Re: Res-Datei
 
Was gibt es nicht? Wenn TIcon die Methode LoadFromStream kennt, dann kannst du doch einen Ressourcen Stream nehmen.

Markus K. 9. Mär 2004 19:31

Re: Res-Datei
 
LoadIcon gibt es doch :zwinker:

HICON LoadIcon(
HINSTANCE hInstance, // handle of application instance
LPCTSTR lpIconName // icon-name string or icon resource identifier
);

Tschüß Markus

Luckie 9. Mär 2004 19:33

Re: Res-Datei
 
Ach so.

@himitsu: Es hat niemand behauptet, dass LoadIcon eine Methode von TIcon wäre. ;)

himitsu 9. Mär 2004 19:51

Re: Res-Datei
 
Hab rausgefunden, dass es unter CLX LoadFromResourceName für TIcon gibt, aber unter VCL nicht.


Hab es jetzt so versucht, aber es wird kein Icon geladen. (Icon-Handle bleibt 0)

Delphi-Quellcode:
Var TNA_Icon: HIcon;
TNA_Icon := LoadIcon(Application.Handle, 'MAINICON_K');

Var TNA_Icon: HIcon;
TNA_Icon := LoadIcon(Handle, 'MAINICON_K');

Var TNA_Icon: TIcon;
TNA_Icon := TIcon.Create;
TNA_Icon.Handle := LoadIcon(Handle, 'MAINICON_K');

Luckie 9. Mär 2004 20:03

Re: Res-Datei
 
Welche ID oder wie hast du das Icon in der rc-Datzei genannt?

himitsu 9. Mär 2004 20:10

Re: Res-Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Name ist schon richtig -.-

Luckie 9. Mär 2004 20:13

Re: Res-Datei
 
Mach mal:
MAKEINTRESOURCE('MAINICON_K')

Luckie 9. Mär 2004 20:17

Re: Res-Datei
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Icon: TIcon;
begin
  Icon := TIcon.Create;
  Icon.Handle := LoadIcon(hInstance, MAKEINTRESOURCE('MAINICON'));
  Canvas.Draw(0, 0, Icon);
end;
So geht es. ;)

himitsu 9. Mär 2004 20:23

Re: Res-Datei
 
Bei mir geht's jetzt.

hatte das falsche Handle verwendet :oops:

Code:
LoadIcon([b]hInstance[/b], ...


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