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.83 MB
Time: 0.05 c
6-22294
s
2001-10-10 13:50
2002.01.08
SOAP examples


1-22103
ProfiUgl
2001-12-19 17:15
2002.01.08
Event form


3-21992
dlK
2001-12-06 15:21
2002.01.08
How not to give a program


14-22380
Bartender
2001-11-09 10:37
2002.01.08
Muscovites, has anyone seen the Win API reference guide on sale?


1-22045
Socol
2001-12-15 17:14
2002.01.08
Write to file.





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 spanish 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