Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Как создать ресурс с помощю brcc32.exe? 


Delphimun   (2001-12-15 13:11) [0]

Мне нужно создать ресурс с wav-ом например с помощю brcc32.exe, а как не знаю



vasco   (2001-12-15 15:12) [1]

Нарисуй .rc файл со строчкой:
WAVRES BINARY myfile.wav
и подключи его к проекту (Add to Project...)
Потом обращаешься к нему с помощью функций FindResource, SizeofResource, LoadResource, на выходе получаешь указатель на массив байт в памяти.
С ним можешь делать, что хочешь.



vasco   (2001-12-15 16:41) [2]

А вот еще нащел в kuliba1000.chm:

Я пытаюсь проиграть wave-файл при щелчке на кнопке моего Delphi-приложения. Я установил звуковой файл и воспользовался вызовом API функции PlaySound(), но мне хотелось бы поместить его в ресурс приложения, т.е. "вложить" его в EXE-файл и проигрывать его оттуда.
Во первых, вам необходимо скомпилировать необходимый ресурс (например, с помощью Resource Workshop) и включить туда ваш WAVE-файл. Затем для его вызова и проигрывания используйте следующий код:


--------------------------------------------------------------------------------
var FindHandle, ResHandle: THandle;

ResPtr: Pointer;
begin

FindHandle:=FindResource(HInstance, "<Имя вашего ресурса>", "WAVE");
if FindHandle<>0 then begin
ResHandle:=LoadResource(HInstance, FindHandle);
if ResHandle<>0 then begin
ResPtr:=LockResource(ResHandle);
if ResPtr<>Nil then
SndPlaySound(PChar(ResPtr), snd_ASync or snd_Memory);
UnlockResource(ResHandle);
end;
FreeResource(FindHandle);
end;
end;

Спустя некоторое время я нашел лучшее решение (в Delphi 3):



--------------------------------------------------------------------------------
PlaySound("S1", HInstance, SND_RESOURCE or SND_ASYNC);

где S1 - ID (идентификатор) звука.

Эта единственная строчка кода сама ищет, загружает, блокирует, разблокирует и освобождает ресурс.



vasco   (2001-12-15 16:44) [3]

Sorry, в первом варианте строчка в .rc файле, видимо, должна выглядеть так:
WAVRES RCDATA myfile.wav
а можно попробовать так:
WAVRES WAVE myfile.wav
Попробуй, поэкспериментируй...



MARcoDEN   (2001-12-15 17:31) [4]

Создай файл nn.rc содержащий строчку

CHECK WAV "340.avi"

Затем компилируй с помощью brcc32.exe в ресурс (RES):
brcc32.exe c:\nn.rc
и подключай в программе {$R nn.res}




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
14-22383          Vadim                 2001-11-08 11:01  2002.01.08  
Форумы программистов


1-22032           Socol                 2001-12-18 10:01  2002.01.08  
Монипуляция чисел.


14-22336          Иван Шихалев          2001-11-02 23:31  2002.01.08  
Золотой банан


1-22051           kay                   2001-12-18 22:22  2002.01.08  
RichEdit


6-22304           sedoy                 2001-10-11 14:09  2002.01.08  
клиент-сервер в Интернет через прокси