| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Ресурс |
| Автор: tar13 6.4.2007, 12:52 |
| В моей программе, компонент memo грузил текст из блокнота. Появилась необходимость поместить содержимое блокнота в exe файл, т.е. создать ресурс, я создал ресурс TEXT1.res, вопрос: каким образом теперь использовать этот ресурс, как его загрузить в memo. Ещё раз: есть memo есть TEXT1.RES, созданный из блокнота с текстом КАК загрузить ресурс? подскажите пожалуйста код С уважением tar P.S. шутки, высказывания прорицателей пожалуйста не присылайте, дайте дельный совет, желательно код или хотя бы ссылку с примером загрузки текста в memo из ресурса, хотя я думаю быстрее и проще сказать код. Спасибо |
| Автор: Alexeis 6.4.2007, 13:13 | ||
|
| Автор: tar13 6.4.2007, 13:25 |
| Хм, первоначально я сам использовал такой код, но выходит ошибка несоотвтствия типов: incompatible types: 'string' & 'TResourceStream' |
| Автор: Snowy 6.4.2007, 13:43 |
| Это потому что у тебя был неправильный код. А правильный - этот |
| Автор: tar13 6.4.2007, 14:27 |
| Думаю что у меня проблема с созданием ресурса, у меня Delphi7, пользуюсь WorkShop 4.5 Я создаю блокнот с любым текстом с именем memotext Создаю блокнот text.rc, в котором пишу: memotext text memotext.txt Открываю его через WorkShop и сохраняю как text.res Далее создаю проект, на форму помещаю memo, далее пишу ключ {$R text.res} Далее в событие создание формы пишу ... var res: TresourceStream Begin res:= Tresourcestream.create(hInstance, 'text', RT_RCDATA); memo.lines.loadfromstream(res); res.free; ... При попытке запуска проекта пишется error rlink32: unsupported 16-bit resource data Может проблема с WorkShop, кстати я создавал ресурс из bitmap файлов, выходила та же ошибка, но потом я открывал созданный ресурс в борландовском image editor и снова сохранял без изменений в том же формате с тем же именем Запускал проект и всё нормально работало ??? Delphi 7 английская, WorkShop 4.5 тоже английский - подскажите пожалуйста |
| Автор: aktuba 6.4.2007, 14:39 |
| Замени RT_RCDATA на 'memotext'... |
| Автор: Snowy 6.4.2007, 15:02 |
| В комплект дельфи входит brcc32 - это стандартный инструмент для создания ресурсов для своей программы. |
| Автор: Alexeis 6.4.2007, 15:55 |
| tar13, я пользовался Restoratorом |
| Автор: BLACK_KOT 15.10.2007, 23:09 | ||
подскажите, как связать текстовую переменную с текстовым файлом, находящимся в ресурсе для изалечения из него энной строки?
|
| Автор: MetalFan 15.10.2007, 23:13 |
| BLACK_KOT, а зачем такой изврат? |
| Автор: Alexeis 15.10.2007, 23:50 |
| BLACK_KOT, после извлечения из ресурса он сразу же будет блоком в памяти, который не сложно загрузить в TStringList. |
| Автор: BLACK_KOT 16.10.2007, 00:46 |
| покажи на примере, как загрузить текстовый файл из ресурса в Tstringlist и как достать к примеру 5ую строку. |
| Автор: aktuba 16.10.2007, 01:42 | ||||
Вот кусок из моей старой программы:
|
| Автор: BLACK_KOT 25.10.2007, 17:03 |
| допустим в exe файле есть ресурс с двумя, одинаковыми по размеру иконками. отображаться, разумеется будет тока одна. а как сделать чтобы при определённых условиях иконка exeшника менялась на вторую? вообще, можно ли программно сменить иконку у файла? |
| Автор: Alexeis 25.10.2007, 17:20 |
Файл файлу рознь. Для обычных типов ассоциации устанавливаются в реестре, а для экзешников берутся из ресурса самого MainIcon. Вопрос не досточно конкретизирован. |
| Автор: BLACK_KOT 25.10.2007, 20:47 |
| я создал свой ресурс. подключил к проекту. в нём 2 разные иконки, одинакового размера. главной иконкой станет первая, - она и будет отображаться на ехешнике. как програмно сменить иконку на вторую?чтобы та стала главной и отображалась?? |
| Автор: Alexeis 25.10.2007, 21:07 |
| Из программы никак. Это можно сделать если закрыть текущую программу и при помощи другой программы заменить основную иконку на другую. |
| Автор: BLACK_KOT 25.10.2007, 21:19 |
| пусть так! какие функции мне позволят сменить иконку на чужом ехешнике? как реализовать то?? |
| Автор: Alexeis 25.10.2007, 22:17 |
| http://forum.vingrad.ru/index.php?show_type=forum&showtopic=21183&st=0&hl=updateresource |