Unterstützung für Ressourcendateien
Nach oben zu Ressourcen und Bilder
Ressourcendateien werden nur für Desktop-Plattformen unterstützt. Das Laden von Ressourcendateien wird auf mobilen Plattformen vom Betriebssystem nicht unterstützt. Verwenden Sie zum Laden von Dateien auf ein mobiles Gerät eine andere Methode, indem Sie die Dateien z. B. extern laden.
Desktop-Plattformen
In diesem Beispiel wird gezeigt, wie der Text aus einer TXT-Datei mithilfe einer Ressourcendatei geladen wird.
Um dieses Beispiel zu erzeugen und zu testen:
- Erstellen Sie eine Geräteübergreifende Anwendung
- Fügen dem Formular die folgenden Steuerelemente hinzu:
- Fügen Sie die TXT-Datei dem Ordner des Projekts hinzu.
- Wählen Sie Projekt > Ressourcen und Bilder..., und fügen Sie die TXT-Datei hinzu.
- Erzeugen Sie das Projekt, um die RC-Datei zu generieren, die die Referenz auf die TXT-Datei enthält.
- Öffnen Sie die Datei <Projektname>_<Ressourcen>.rc, in der der Name der Ressource, deren Typ und der Name der Datei enthalten ist.
Resource_1 RCDATA "<file_name>.txt"
- Hinweis: Im Fenster Ressourcen und Bilder... werden diese Informationen angezeigt.
C++Builder
void __fastcall TForm1::Button1Click(TObject *Sender) {
TResourceStream *Stream = new TResourceStream((int)HInstance, "<Ressourcenbezeichner>", RT_RCDATA); //RT_RCDATA ist der Ressourcentyp.
__try {
TStringList *List = new TStringList;
__try {
List->LoadFromStream(Stream);
Label1->Text = List->Text;
}
__finally {
List->DisposeOf();
}
}
__finally {
Stream->DisposeOf();
}
}
Delphi
procedure TForm1.Button1Click(Sender: TObject);
var
List: TStringList;
Stream: TResourceStream;
begin
Stream := TResourceStream.Create(HInstance, '<Ressourcenbezeichner>', RT_RCDATA);
try
List := TStringList.Create;
try
List.LoadFromStream(Stream);
Label1.Text := List.Text;
finally
List.Free;
end;
finally
Stream.Free;
end;
end;
Sie können dieses Beispiel auf mobilen Plattformen ausführen, aber Sie erhalten beim Versuch, die Ressourcen zu laden, die folgende Exception: class EResNotFound mit der Meldung "Ressource <Ressourcenname> nicht gefunden".
Mobile Plattformen
In diesem Beispiel wird gezeigt, wie der Text aus einer TXT-Datei ohne eine Ressourcendatei geladen wird.
Um dieses Beispiel zu erzeugen und zu testen, erstellen Sie eine mobile FireMonkey-Anwendung, und fügen dem Formular die folgenden Steuerelemente hinzu:
- Kopieren Sie die TXT-Datei in den Ordner des Projekts.
- Verschieben Sie im Bereitstellungs-Manager diese Dateien in den Ordner
assets\internal
(intern) oderassets
(extern). - Beziehen Sie die Unit System.IOUtils in Ihr Projekt ein, damit GetDocumentsPath verwendet werden kann.
In C++Builder
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *List=new TStringList;
__try {
List->LoadFromFile(System::Ioutils::TPath::GetDocumentsPath + PathDelim + "example.txt"); // #include <System.IOUtils.hpp>
Label1->Text = List->Text;
}
__finally {
List->DisposeOf();
}
In Delphi
procedure TForm6.Button1Click(Sender: TObject);
var
List: TStringList;
begin
List := TStringList.Create;
try
List.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'example.txt');
Label1.Text := List.Text;
finally
List.Free;
end;
end;