koala написав:2. Щось на кшталт TResourceStream.
Пане koala підкажіть будь-ласка що не правильно роблю. Як дістати текст з ресурсу?
З того що я накопав в інтернеті я зрозумів:
1) Я маю змінній (наприклад s) присвоїти тип TResourceStream
2) Наскільки я розумію, далі для динамічних даних визивається конструктор, і ось тут напевно я щось не правильно пишу!
Тому що програма в мене компілюється та при кліку по кнопці вона виводить повідомлення про помилку: GeometryText.res не знайдено!
s := TResourceStream.Create(HInstance, 'GeometryText.res', RT_RCDATA);
3) Далі я думав що рядок коду приведений в низу присвоює змінній s текст з файлу під номером 5 який знаходиться в ресурсі
GeometryText.res. Та там тільки вибиває помилку пов'язаною з адресою в пам'яті.
s := TResourceStream.CreateFromID(HInstance, 5, RT_RCDATA);
4) І останнє. Цю змінну потрібно вивести в RichEdit1.
try
RichEdit1.Lines.LoadFromStream(S);
finally
S.Free;
end;
Ось повний код процедурки починаючи з implementation:
implementation
{$R *.dfm}
{$R GeometryText.res}
procedure TForm1.Button1Click(Sender: TObject);
var
s: TResourceStream;
begin
s := TResourceStream.Create(HInstance, 'GeometryText.res', RT_RCDATA);
s := TResourceStream.CreateFromID(HInstance, 5, RT_RCDATA);
try
RichEdit1.Lines.LoadFromStream(s);
finally
s.Free;
end;
end;