Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8498
∙ повысить рейтинг »
Micren
Статус: Профессор
Рейтинг: 1972
∙ повысить рейтинг »
Andrew Kovalchuk
Статус: Профессионал
Рейтинг: 626
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Microsoft .NET : C#

Номер выпуска:216
Дата выхода:23.09.2011, 18:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:152 / 61
Вопросов / ответов:1 / 1

Консультация # 184050: Здравствуйте! Прошу помощи в следующем вопросе: Хочу к проекту на C# добавить два файла ресурсов. Первый wav файл его хочу добавить так, чтобы он оказался внутри исполняемого файла программы без возможности его менять сторонними программами (звук издаётся при неправильном вводе пользователем данных). Второй txt должен лежать рядом с...


Консультация # 184050:

Здравствуйте! Прошу помощи в следующем вопросе:
Хочу к проекту на C# добавить два файла ресурсов.
Первый wav файл его хочу добавить так, чтобы он оказался внутри исполняемого файла программы
без возможности его менять сторонними программами (звук издаётся при неправильном вводе пользователем данных).
Второй txt должен лежать рядом с файлом моей программы (в той же папке).
Текстовой файл будет редактироваться время от времени блокнотом.
Собственно вопрос: как добавить эти файлы так, чтобы при переносе программы и текстового файла в другую папку (на другой компьютер) не переписывать строки типа:
string[] lines = System.IO.File.ReadAllLines(@"c/moyfile.txt", Encoding.Default);
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(@"file.wav");
Вызывать при запуске OpenFileDialog при каждом запуске мне не подходит.
Спасибо.

Дата отправки: 18.09.2011, 17:54
Вопрос задал: MIXAIL (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Evgenijm (10-й класс):

Здравствуйте, MIXAIL!

1) Как проиграть файл из ресурсов:
Открываете свойства проекта, на вкладке Resources "добавить имеющийся файл". Там же можно подправить его имя, под которым он будет виден программе. Я добавил стандартный звук ding.wav и в ресурсах он появился как ding. Компилируете проект, теперь он точно виден для редактора студии как поле класса Resources. Эти 2 строчки открывают его и проигрывают.

System.Media.SoundPlayer SP = new System.Media.SoundPlayer(Properties.Resources.ding);
SP.Play();

2) Как открыть файл из каталога программы:
String Dir = Path.GetDirectoryName(Application.ExecutablePath);
String File = Path.Combine(Dir, "ding.wav");
new System.Media.SoundPlayer(File).Play();

Как читать текстовый файл, Вы уже знаете.
В консольных приложениях лучше использовать System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName вместо Application.ExecutablePath, чтобы не подгружать громоз дкую оконную библиотеку.

3) О звуках:
Если требуется просто проиграть звук ошибки, то лучше использовать соответствующий инструмент:
System.Media.SystemSounds.Exclamation.Play();
Вместо Exclamation выбираете подходящее по смыслу поле и этот объект сам грузит соответствующий системный звук и проигрывает его. Кроме того, если пользователь отключил этот звук, то ничего и не проиграется. Правило хорошего тона любой программы: не отсвечивать, когда не просят. Особенно это касается звуков. Свои звуки уместны только в игрушках и развлекательных программах, которые и так со звуком активно работают. А вот системные звуки допустимы и в серьезных приложениях.

Консультировал: Evgenijm (10-й класс)
Дата отправки: 19.09.2011, 02:05

5
Спасибо. Попробую.
-----
Дата оценки: 19.09.2011, 09:12

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное