Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi .res Ressourcennamen (https://www.delphipraxis.net/159548-delphi-res-ressourcennamen.html)

sevenex 1. Apr 2011 15:36

Delphi .res Ressourcennamen
 
Hallo zusammen,

ich habe eine .res erzeugt. Diese beinhaltet

MEINBILD RCDATA "dateiname"
MEINBBBILDDDD RCDATA "dateiname"
MEINPIC RCDATA "dateiname"
BMPMEINPIC RCDATA "dateiname"

nun möchte ich aber die Ressourcen NAMEN auslesen. Wie bekomme ich das hin?
Es sollen nur die NAMEN sein nicht die Dateien.

bin schon wie blöd am suchen.
Wieso ich das möchte ist folgendes,.. ich möchte nicht jede einzelne Zeile schreiben um die Dateien laden zu müssen
ich möchte gleich alle Dateien laden das soll über eine schleife laufen. Wie bekomme ich das hin?

rollstuhlfahrer 1. Apr 2011 15:47

AW: Delphi .res Ressourcennamen
 
Hier gibts was dazu

Bernhard

sevenex 1. Apr 2011 16:33

AW: Delphi .res Ressourcennamen
 
Vielen dank für denn tip....aber
gibt es denn nichts kürzeres bzw. ist das ja doof wenn ich meine eigene exe auslese muss....

Luckie 1. Apr 2011 16:41

AW: Delphi .res Ressourcennamen
 
Was willst du den kürzeres? Und wenn es was kürzeres gäbe, meinst du Oli hätte das extra umständlich gemacht, um dich zu ärgern? Und wenn du die ganzen riesen Kommentare entfernst sind es nur ein paar kurze Funktionen. Pack das in eine Unit und in deinem Quelltext reduziert sich alles auf ein, zwei Funktionsaufrufe. Und die eigene Exe musst du wohl auslesen, denn da sind nun mal die Ressourcen drin enthalten.

turboPASCAL 1. Apr 2011 16:50

AW: Delphi .res Ressourcennamen
 
Zitat:

Zitat von sevenex (Beitrag 1092464)
Vielen dank für denn tip....aber
gibt es denn nichts kürzeres bzw. ist das ja doof wenn ich meine eigene exe auslese muss....

Ist ja auch eigentlich Unsinn den dann kennst du doch die Resourcennamen. Nicht oder ?

sevenex 2. Apr 2011 11:43

AW: Delphi .res Ressourcennamen
 
Das stimmt ich kenne die Namen... nur das sind 126 Bilder (png's) diese möchte ich nicht einzelt laden, sondern in einer schleife.
Die Ressourcennamen sollen allerdings so bleiben, sprich ich kann nicht aus denn namen so eine art zähler machen.

wicht 2. Apr 2011 12:03

AW: Delphi .res Ressourcennamen
 
Wenn dich das in dem Link oben verwirrt, so geht es auch. Ist zwar viel simpler aber sollte für deine Zwecke reichen. Das 'IsIntResource' habe ich da drin, weil ich meinen Resourcen nur Namen und keine Nummern gebe.

Delphi-Quellcode:
var
  Resources: TStringList;

function EnumResNameProc(hModule: HINST; lpszType: PChar; lpszName: PChar; lParam: LPARAM): BOOL; stdcall;
  function IsIntResource(lpszType: PChar): Boolean;
  begin
    Result := ((DWORD(lpszType) shr 16) = 0);
  end;
begin
  if not IsIntResource(lpszName) then
  begin
    if lpszType = RT_RCDATA then
      Resources.Add(lpszName);
  end;
  Result := True;
end;
So aufrufen:

Delphi-Quellcode:
Resources := TStringList.Create;
try
  EnumResourceNames(HInstance, RT_RCDATA, @EnumResNameProc, 0);
  { ... }
finally
  Resources.Free;
end;


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