![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Как можно файлы (mp3, avi и т.д.) запихать в экзэшник? 
		
	
		
		
		
		
		
	
		
		
	
	
	чтоб не тоскать с ним файлы, а чтоб всё было внутри.. а также как их проигрывать...  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 По поводу екзешника незнаю, а вот в файл ресурсов помоему все это запихнуть вполне реально. После загружать по надобности. 
		
	
		
		
		
		
		
	
		
		
	
	
	Вот тут есть кое что http://www.delphisources.ru/pages/faq/file_system.html  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Блин йа слишком тупой чтоб понять ат туда чёнить)) 
		
	
		
		
		
		
		
	
		
		
	
	
	Там по ВаВ описано, я с мп3 несмагу организовать... В акзэшник роде пихается но по примеру оч трудно понять как... У кого мегамозг?    разжуйте мне пожалуста ![]()  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 http://www.delphisources.ru/pages/fa...av_in_exe.html 
		
	
		
		
		
		
		
		
			Здесь сказано как привязать файл к exe'шнику (пример там про WAV-файл, но, по большому счету, это не важно). А засада то не в этом, а в том, что в Delphi файлы mp3 может проигрывать компонент MediaPlayer только в том случае, если в системе установлен декодер. Если есть 100% уверенность, что на том компе, куда потащишь свою прогу, этот декодер установлен, то будет тебя ляпота, иначе конфуз. Без какого-либо напряга привязываются к exe'шнику и проигрываются файлы WAV, но, видно, это не твой случай. Вообще то, не шибко хорошая идея засовывать звуковые файлы в exe'шник. Нормальные пацаны этого не делают. Слишком много хлопот при необходимости что-либо изменить. Последний раз редактировалось san-46, 25.04.2008 в 12:33.  | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 b32rcc.exe запускаеца чёта в окошке командной строки милькает и закрываеца... 
		
	
		
		
		
		
		
	
		
		
	
	
	Как запихнуть файл в *.rc а затем в рес... у меня есть прога Ресурс хакер с помощью неё можносделать ресурс?  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 В файл .rc ничего запихивать не надо, кроме строки текста (или строк, если звуковых файлов больше одного: один файл - одна строка). 
		
	
		
		
		
		
		
		
			Создаешь текстовый файл (пустой), пишешь туда строку, для примера, SOUNDA RCDATA LOADONCALL shum.mp3 здесь: SOUNDA - твое, какое хочешь, наименование ресурса (заглавные латинские буквы - в дальнейшем не будет проблем); RCDATA и LOADONCALL - служебные слова для компилятора (RCDATA - тип сохраняемого ресурса: "определяемый пользователем"); shum.mp3 - имя файла, который необходимо подцепить и, который компилятор должен, естественно, найти, т.е. он должен находится там же где и файл .rc. Сохраняешь этот текстовый файл с расширением .rc (имя файла по своему усмотрению, например, snd.rc). Дальше компилируешь этот файл с помощью компилятора ресурсов через командную строку: brcc32.exe snd.rc Компилятор консольный, поэтому никаких окон не появиться. Если нужен отчет о его работе (ошибки, допустим, посмотреть), то надо в командной строке добавить создание файла отчета: brcc32.exe snd.rc > log.txt Компилятор создаст файл log.txt, в котором и можно будет посмотреть что там при трансляции приключилось. Если будет все в порядке, то сформируется файл ресурса с тем же именем, что и rc, но с расширением .res (в этом примере snd.res), куда компилятором и будет "запихнут" звуковой (видео) файл, вернее, его содержимое. Как с этим ресурсом работать - это уже другая песня. А слова у песни такие. В коде главной формы дописываешь строку: Код: 
	{$R *.dfm}
{$R snd.res} //добавленная строкаТак как этот проигрыватель умеет работать только с файлами (для mp3), то следующая задача вытащить содержимое ресурса в файл (временный, который потом можно будет удалить). Сохранить ресурс в файл можно так: Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var
  ResS : TResourceStream;
begin
  ResS := TResourceStream.Create(hInstance, 'SOUNDA', RT_RCDATA);
  try
    ResS.SaveToFile('000000.mp3'); 
    //имя файла как пример, а расширение как у оригинального файла
  finally
    ResS.Free;
  end;
end;Дальше, чтобы проиграть файл нужно подцепить его к проигрывателю, открыть его и дать команду на воспроизведение. Код: 
	MediaPlayer1.FileName := '000000.mp3'; MediaPlayer1.Open; MediaPlayer1.Play; Последний раз редактировалось san-46, 26.04.2008 в 10:02.  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Спасибо огромное!!!!!  
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  |