Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

Resourse File   Найти похожие ветки 

 
P.   (2002-04-05 18:48) [0]

Написано:
"Создать исходный файл ресурсов, куда можно включить и поименовать требуемые файлы с расширением BMP, к примеру:
- inout BITMAP "inout.bmp"
Сохранить этот файл с расширением RC.


Кто-нибудь может пояснить, а то я нихрена не понял(что значит "создать исходный файл ресурсов" и как сохранить ОДИН файл с расширением RC, когда рисунков штук 10).
Буду очень признателен.


 
aus ©   (2002-04-05 19:09) [1]

Меню Tools - Image Editor


 
Юрий Зотов ©   (2002-04-05 21:02) [2]

1. Обычным текстовым редактором в каталоге проекта создаем файл MyRes.rc с таким текстом:

BMP1 BITMAP "С:\Path1\File1.bmp"
BMP2 BITMAP "D:\Path2\File2.bmp"

и т.д. - хоть 10 картинок, хоть 110.

2. Из командной строки Даем команду
BRCC32 MyRes.rc
и в итоге там же появляется файл MyRes.res.

3. Подключаем его к программе:
{$R MyRes.res}

И все. Теперь все картинки будут сидеть внутри самого EXE - в его ресурсах. Доступны они по именам BMP1, BMP2 и т.д.


 
Vcoder ©   (2002-04-05 21:55) [3]

Для чтения ресурса можно применить следующую процедуру:

procedure TForm1.Button1Click(Sender: TObject);
var
MyRes : TResourceStream;
begin
MyRes:=TResourceStream.Create(HInstance,"Bmp1",PChar("RT_BITMAP"));
try
Image1.Picture.Bitmap.LoadFromStream(MyRes);
finally
MyRes.Free;
end;
end;


А теперь уже фантазируй как тебе надо считывать все твои картинки: писать для каждого свою процедуру, передавать имя ресурса как параметр, создать массив... Все зависит от конкретной задачи.

PS. Кстати. У TBitmap есть функция LoadFromResourceName. Однако Image1.Picture.Bitmap.LoadFromResourceName(HInstance,"Bmp1) вызывает ошибку "ресурс не найден". Может кто знает, в чем дело?


 
Anatoly Podgoretsky ©   (2002-04-05 22:00) [4]

BMP1


 
Vcoder ©   (2002-04-06 10:47) [5]


> Anatoly Podgoretsky © (05.04.02 22:00)


??? Не понял. Что это значит?
""Bmp1" - это конечно опечатка ЗДЕСЬ, в программе написано "bmp1".


 
Anatoly Podgoretsky ©   (2002-04-06 10:52) [6]

Попробуй написать "BMP1"


 
P.   (2002-04-06 11:51) [7]


> 2. Из командной строки Даем команду
> BRCC32 MyRes.rc

Я набрал это в командной строке, меня кинуло на сервак этого BRCC32(прямо так и назывется) и предложили найти MeRes.rc на их сайте... :( ???


 
P.   (2002-04-06 12:18) [8]


> Я набрал это в командной строке, меня кинуло на сервак этого
> BRCC32(прямо так и назывется) и предложили найти MeRes.rc
> на их сайте... :( ???

Это я сделал.
SpeedButton1.Glyph.LoadFromResourceName(HInstance,"bitmap.res");
А это действительно не работает. Пишет что ресурс не найден.


 
sunwheel ©   (2002-04-06 12:33) [9]

>P. (06.04.02 11:51)
Интересный подход к созданию res файлов. :)

Имелась ввиду коммандная строка : Пуск>Выполнить> и т.д.


 
P.   (2002-04-06 13:25) [10]

Все эти командные строки вообще здесь ни к чему, достаточно нажать на файле(*.RC) правой кнопкой, открыть с помощью... и выбрать BRCC32.

PS А
SpeedButton1.Glyph.LoadFromResourceName(HInstance,"bitmap.res");

всё равно выдаёт ошибку.


 
[MC]NuClon   (2002-04-06 14:26) [11]

А не кажется ли вам, что параметры метода
LoadFromResourceName()
1) Handle ресурса (hInstance, правильно вроде)
2) ID рисунка в ресурсе (в данном случае BMP1 или BMP2


 
Anatoly Podgoretsky ©   (2002-04-06 14:32) [12]

P. (06.04.02 11:51)
Затем тебе BRCC32, у тебя же Д6
"BITMAP.RES"


 
Anatoly Podgoretsky ©   (2002-04-06 14:33) [13]

Но мне кажется ты перепутал ресурс и именем ресурсного файла, наверно все таки "BMP1"


 
Alex_LG ©   (2002-04-06 17:53) [14]


> Anatoly Podgoretsky © (06.04.02 14:32)
> P. (06.04.02 11:51)
> Затем тебе BRCC32, у тебя же Д6
> "BITMAP.RES"

а как в D6 делается?


 
Anatoly Podgoretsky ©   (2002-04-06 18:27) [15]

Alex_LG © (06.04.02 17:53)
Подключи к проекту, не знаю как в Д6 у меня нет. А в Д5 add


 
P.   (2002-04-06 18:45) [16]

Пффф..... :) Народ, вы меня извиниет, что я такой тупой :)
Вот есть .res, есть SpeedButton, как из ресурса извлечь картинку для этого SpeedButton, .res я уже сделал и подключил...

НУ PLZ...


 
Suntechnic ©   (2002-04-06 20:46) [17]

Ну тебе ж сказали как!? см. [MC]NuClon (06.04.02 14:26) и ответы Anatoly Podgoretsky ©


 
Anatoly Podgoretsky ©   (2002-04-06 20:50) [18]

2P. если не понял, то вот хинт, я все время указываю имя ресурса БОЛЬШИМИ буквами


 
Suntechnic ©   (2002-04-06 21:06) [19]

>Anatoly Podgoretsky © (06.04.02 20:50)
Да на самом деле можно любыми буквами. Эта ф-ция case insensitivity.


 
P.   (2002-04-07 15:52) [20]

Всё понятно.
Последний вопрос.
Между
BMP1 BITMAP "С:\Path1\File1.bmp"
BMP2 BITMAP "D:\Path2\File2.bmp"
ничего не надо ставить? Запятая там или точка с запятой? А то если несколько картинок он не хочет компилировать(а с одной работает).


 
P.   (2002-04-07 15:58) [21]

Не надо:)


 
Anatoly Podgoretsky ©   (2002-04-07 16:30) [22]

Все написано правильно


 
P.   (2002-04-07 16:42) [23]

Да это я кавычку не поставил.

ЗЫ Всем спасибо.
[MC]NuClon, тебе отдельное:)



Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.015 c
1-57678
SPeller
2002-04-04 09:42
2002.04.18
Как сделать, чтобы окно отображалось в таскбаре ??


1-57797
Vcoder
2002-04-04 12:21
2002.04.18
Загрузка формы из потока


3-57611
bill133
2002-03-22 23:23
2002.04.18
Какая БД лучше


14-57871
DFG
2002-03-11 21:27
2002.04.18
Кто-то устанавливал Delphi на карманный компьютер?


1-57791
MaxSit
2002-04-04 20:45
2002.04.18
Передать из DLL большую строку