Home
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Current archive: 2002.01.08;
Download: [xml.tar.bz2];

Down

How to create a resource using brcc32.exe? Find similar branches


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}



Pages: 1 whole branch

Forum: "Main";
Current archive: 2002.01.08;
Download: [xml.tar.bz2];

Top









Memory: 0.82 MB
Time: 0.044 c
3-21910
Wladimir
2001-12-04 08:01
2002.01.08
Number of entries in the table?


1-22197
T2
2001-12-16 07:17
2002.01.08
Is it possible to programmatically disable the Windows basket?


14-22320
Alexander
2001-11-14 14:13
2002.01.08
Wow


6-22316
dmur
2001-09-24 20:58
2002.01.08
Interception of errors when connecting using sockets


1-22191
stalker_boss
2001-12-16 02:50
2002.01.08
Sound





afrikaans albanian Arabic armenian azerbaijani basque belarusian bulgarian catalan Chinese (Simplified) Chinese (Traditional) croatian Czech danish Dutch English estonian filipino finnish French
galician georgian German greek haitian Creole hebrew Hindi hungarian icelandic indonesian Irish italian japanese Korean latvian lithuanian macedonian malay maltese norwegian
persian polish portuguese Romanian russian serbian slovak Slovenian Español swahili Swedish thai turkish Ukrainian urdu vietnamese welsh yiddish bengali bosnian
cebuano Esperanto gujarati hausa hmong igbo javanese kannada khmer lao latin maori marathi mongolian nepali punjabi somali tamil telugu yoruba
zulu
English French German Italian Portuguese Russian Spanish