![]() |
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? |
AW: Delphi .res Ressourcennamen
|
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.... |
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.
|
AW: Delphi .res Ressourcennamen
Zitat:
|
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. |
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:
So aufrufen:
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;
Delphi-Quellcode:
Resources := TStringList.Create;
try EnumResourceNames(HInstance, RT_RCDATA, @EnumResNameProc, 0); { ... } finally Resources.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 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