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/)
-   -   Delphi Ressourcen speichern und benutzen. (https://www.delphipraxis.net/108870-ressourcen-speichern-und-benutzen.html)

BurtaN 20. Feb 2008 15:43


Ressourcen speichern und benutzen.
 
Hallo,
ich benutze zur Zeit ResEd 1.6.7 um Ressourcen für Delphi 2005 zu erstellen. Mit Grafiken klappt das auch wunderbar , aber bei Strings habe ich zunächst das Problem, dass sie maximal ~1000 Zeichen umfassen können. Liegt das am Ressourcen Editor oder an der Funktion an sich? Ich gehe mal davon aus, dass es ersteres ist. Ich habe gelesen, dass Delphi einen Ressourcen Editor mit sich bringt. Ist es damit möglich auch längere Strings zu erstellen?
Die zweite Frage bezieht sich auf die restlichen Dateitypen. Ich kann zwar Ressoucen von z.B. HTML und PDF erstellen, aber weiss nicht wie ich darauf zugreifen soll. Bislang habe ich unter Tutorials und Tipps auch nichts dazu gefunden.
Falls mir jemand weiterhelfen könnte, wäre das toll!
Danke schon einmal jetzt für jede Hilfe.

BurtaN

DeddyH 20. Feb 2008 15:48

Re: Ressourcen speichern und benutzen.
 
Ich meine, mal gelesen zu haben, dass Ressourcenstrings maximal 1024 Zeichen lang sein dürfen.

BurtaN 20. Feb 2008 15:54

Re: Ressourcen speichern und benutzen.
 
Das ist ja blöd :(. Naja weisst du denn, wie man stattdessen z.B. eine Text-File als Ressource nehmen kann und die anschließend auslesen?

DeddyH 20. Feb 2008 15:56

Re: Ressourcen speichern und benutzen.
 
TResourceStream fällt mir da spontan ein.

BurtaN 20. Feb 2008 16:08

Re: Ressourcen speichern und benutzen.
 
Ok, danke ich werds mal versuchen.

Blackheart 20. Feb 2008 16:12

Re: Ressourcen speichern und benutzen.
 
Schau mal dort http://www.delphi-fundgrube.de/

BurtaN 20. Feb 2008 17:53

Re: Ressourcen speichern und benutzen.
 
Super Tips Leute! Hier der funktionierende Quelltext für alle anderen User.
Delphi-Quellcode:
   
var mSList : TStringlist; Stream:TResourceStream;Str : String;
begin
    mSList:=TStringlist.Create;
    Stream:=TResourceStream.Create(hInstance,'ResID/Name',RT_RCDATA);
    try
      Stream.Position:=0;
      mSList.LoadFromStream(Stream);
      Str:=mSList.Text;
    finally
      Stream.Free;
    end;
end;
Danke!

himitsu 20. Feb 2008 18:02

Re: Ressourcen speichern und benutzen.
 
gut, ich weiß jetzt nicht ob's wirklich eine Maximalgrenze gibt.
(in meinem aktuellem Programm wäre vermutlich mehr möglich, aber ... siehe unten)

von der Struktur her wäre bei StringTabellen ~65.000 Zeichen möglich (WORD als Längenangabe)


aber welche Funktionen nutzt du denn zum auslesen/verarbeiten der Strings?
einige WinAPIs nutzen einen internen Puffer, welcher z.B. nur 1024 Byte klein ist :cry:
(bei meinem Programm liegt es an wvsprintf, weswegen ich eh nicht mit größeren Strings zu testen brauchte)

BurtaN 20. Feb 2008 19:59

Re: Ressourcen speichern und benutzen.
 
Naja, ich brauchte die Strings eigentlich nur für den Quelltext um HTML dateien zu generieren.

himitsu 29. Feb 2008 14:23

Re: Ressourcen speichern und benutzen.
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, hab es jetzt mal getestet.

und es passen bis zu 64KB-1B ($FFFF) in einen ResourceString.

Es kommt nur darauf an, aß man mit Funktionen ausließt, die keine Begrenzung (zu kleine Puffer) haben.


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