Форум: "Основная";
Поиск по всему сайту: 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.036 c
4-22461           ShaH                  2001-10-29 11:08  2002.01.08  
проблема с LogonUser (ERROR_PRIVILEGE_NOT_HELD)


1-22109           avr555                2001-12-19 17:17  2002.01.08  
ComboBox в Grid


1-22198           T2                    2001-12-16 07:23  2002.01.08  
Одна обработка для кучи кнопок


1-22039           Yuri Btr              2001-12-18 10:46  2002.01.08  
Форма


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