AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Object-Pascal / Delphi-Language Delphi Wie arbeite ich mit Resource Dateien?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie arbeite ich mit Resource Dateien?

Ein Thema von sakura · begonnen am 26. Jun 2002
Antwort Antwort
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#1

Wie arbeite ich mit Resource Dateien?

  Alt 26. Jun 2002, 11:00
Hi DP-ler,

es ist mal wieder soweit, dass ich ein neues FAQ erstellt habe. Dieses Mal geht es darum, neue Resourcen einer Delphi Anwendung hinzuzufügen. Eigentlich recht einfach, meistens jedoch nicht dokumentiert und dadurch etwas schwerer.

Also, am besten mal eine neue Anwedung in Delphi erstellen und probehalber mitmachen.

Folgende Komponenten auf im Designer auf das Form packen (Standardnamen beibehalten!) und das Form unter dem Namen uSampleForm speichern!
  • TMemo
  • TImage
.

Anschließend wählt Ihr im Menü unter Datei|Neu den Typ TEXT DATEI aus und speichert die Datei unter dem Namen SampleRes.rc. RC Dateien sind unkompilierte Resourcedateien (RES). Fügt jetzt die RC Datei dem Projekt hinzu ([SHIFT]+[F11]). Dazu müsst ihr im "Hinzufügen Dialog" die Dateitypenbeschränkung aufheben (Alle Dateien|*.*).

Jetzt fehlt uns nur noch der Code für die RC Datei
Code:
SourceCode RCDATA "uSampleForm.pas"
CALogo BITMAP "CALogo.bmp"
Jede Zeile ist dabei in drei Abschnitte aufgeteilt
  • Name der Resource (gleiche Bestimmung wir für Pascal Bezeichner)
  • Resource Typ (CURSOR, BITMAP, ICON, MENU, DIALOG, STRING, FONTDIR, FONT, ACCELERATOR, RCDATA, MESSAGETABLE). Weitere sind frei wählbar, werden unter Umständen aber durch andere Programme nicht erkannt
  • Datei welche als Resource genutzt wird. Relativer Pfad von der DPR Datei aus betrachtet, in doppelten Anführungszeichen.
RCDATA ist der flexibelste aller Resourcedatentypen und hier genutzt für eine Textdatei.
BITMAP nutze ich hier, um ein Bild als Resource einzubinden.

Hinweis: Delphi überprüft beim Kompilieren nicht, ob sich die Resourcen geändert haben. Wenn die RC Datei nicht geändert wurde, wird diese nur bei "Projekt neu erzeugen" kompiliert.

Das einbinden der Resourcen ist recht einfach. Für die Textdatei habe ich eine einfache Routine erstellt, welcher der Name (case-insensitiv) der Resource übergeben wird. Die Funktion liefert den Inhalt zurück.
Delphi-Quellcode:
function GetStringFromResource(Name: String): String;
begin
  with TResourceStream.Create(HInstance, Name, RT_RCDATA) do
  try
    SetLength(Result, Size);
    Read(Result[1], Size);
  finally
    Free;
  end;
end;
Bei erstellen des Forms habe ich jetzt lediglich zwei Zeilen Code, um den Text in das Memo und das BMP ins Image zu laden.
Delphi-Quellcode:
  Memo1.Text := GetStringFromResource('SourceCode');
  Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'calogo');
Das wars.

Hier noch ein Beispiel zum Downloaden
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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