Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2015, 09:02   #1
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию Плеер звуков windows

Не могу понять как решить эту ошибку: E2085 Invalid pointer addition.
Код:
TForm1 *Form1;
char *SoundPath;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
char *wd;
	wd = (char*)AllocMem(MAX_PATH);
	GetWindowsDirectoryA(wd,MAX_PATH);
	SoundPath = wd;

	SoundPath = SoundPath +"\\Media\\";//E2085
	TSearchRec sr;
	if (FindFirst (SoundPath + "*.wav", faAnyFile, sr) == 0)//E2085
...
Можете подсказать как решить вопрос? (Пример из книги).
Dima-91 вне форума Ответить с цитированием
Старый 06.11.2015, 09:31   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Заменить указатель на класс стринг.
Если хотите с указателями, то ознакомьтесь с функциями типа http://www.cplusplus.com/reference/cstring/strcat/
p51x вне форума Ответить с цитированием
Старый 06.11.2015, 09:45   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как решить эту ошибку
На какой строке?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2015, 10:23   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
На какой строке?
Очевидно же на
Код:
SoundPath = SoundPath +"\\Media\\";//E2085
p51x вне форума Ответить с цитированием
Старый 06.11.2015, 12:32   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а ну да. Я не заметил что эта переменка выше описана.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2015, 18:25   #6
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

не пойму почему прописал string wd, а у меня типа стринг нету...
Dima-91 вне форума Ответить с цитированием
Старый 06.11.2015, 18:39   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а вы хедер подключили? в инклуды то? стд указали?
p51x вне форума Ответить с цитированием
Старый 06.11.2015, 18:41   #8
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Код:
TForm1 *Form1;
AnsiString SoundPath;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
char *wd;
	wd = (char*)AllocMem(MAX_PATH);
	GetWindowsDirectoryA(wd,MAX_PATH);
	SoundPath = wd;

	SoundPath = SoundPath + "\\Media\\";
	TSearchRec sr;
	if (FindFirst (SoundPath + "*.wav", faAnyFile, sr) == 0)
	{
		ListBox1->Items->Add(sr.Name);
	while (FindNext(sr) == 0 )
			ListBox1->Items->Add(sr.Name);
	}
	if (FindFirst (SoundPath + ".mid", faAnyFile, sr) == 0)
	{
		ListBox1->Items->Add(sr.Name);
	while (FindNext(sr) == 0)
			ListBox1->Items->Add(sr.Name);
	}
	if (FindFirst (SoundPath +".rmi", faAnyFile,sr) == 0)
	{
		ListBox1->Items->Add(sr.Name);
	while (FindNext(sr) == 0)
			ListBox1->Items->Add(sr.Name);
	}
	if (ListBox1->Items->Count != 0)
	{
		Label2->Caption = ListBox1->Items->Strings[1];
		ListBox1->ItemIndex = 0;

		MediaPlayer1->FileName = SoundPath + ListBox1->Items->Strings[1];
		MediaPlayer1->Open();
		MediaPlayer1->Play();
	}
}
получилось скомпилирвать, нашло музыку, только кнопка непрерывно не работает... Пока что попробую проверить код.

Последний раз редактировалось Dima-91; 06.11.2015 в 18:45.
Dima-91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распознавание звуков WebbMan Общие вопросы C/C++ 0 14.11.2014 14:11
как запретить воспроизведения звуков Windows в своей программе? beegl Общие вопросы Delphi 6 02.10.2014 16:07
Сравнение звуков MakarovAlv Помощь студентам 1 26.06.2009 16:13
Склеивание звуков varvara16 Мультимедиа в Delphi 24 14.11.2008 18:24
Диаграммы звуков Kor Мультимедиа в Delphi 1 30.09.2008 22:43