--- ---

These are the basic steps:

1. Create a resource file
2. Include it in your project
3. Load the file from the resource file into a TResourceStream
4. Create a TFileStream with the filename you want to write to
5. Use CopyFrom to get the data from the TResourceStream to the TFileStream.
6. Free both the streams

The file is magically written to disk, without any need to call a write procedure or anything like that. It takes a file called `test.rtf` from the resource file `TEST.RES` and saves it out to disk as `test2.rtf` in the application folder:

    procedure TfrmMain.Button1Click(Sender: TObject);
    var
      ResStream: TResourceStream
      MyFileStream: TFileStream;
    begin
      try
        MyFileStream := TFileStream.Create(
          ExtractFilePath(Application.ExeName) + 'test2.rtf ',
          fmCreate or fmShareExclusive
        );
        ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
        MyFileStream.CopyFrom(ResStream, 0);
      finally
        MyFileStream.Free;
        ResStream.Free;
      end;
    end;