Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115

Работа со строками, содержащими кавычки

04.01.2012, 16:13. Показов 6196. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в общем проблема следующая.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
 
'Кнопка
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call mciExecute("open ""C:\Music\Sound\Alarm.mp3""")
        Call mciExecute("play ""C:\Music\Sound\Alarm.mp3""")
    End Sub
 
'Звук открывается и проигрывается нормально.
'Далее если задать строковой переменной strFileAlarm значение ""C:\Music\Sound\Alarm.mp3"" и вставить переменную в код.
 
Dim strFileAlarm as String = ""C:\Music\Sound\Alarm.mp3""
 
'Кнопка
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call mciExecute("open " & strFileAlarm)
        Call mciExecute("play " & strFileAlarm)
    End Sub
То программа выдаст ошибку
Лишние символы после текстовой строки, заключенной в кавычки, не допускаются.

Как мне проиграть звуковой файл, указав путь при помощью переменной?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2012, 16:13
Ответы с готовыми решениями:

Перед строками матрицы, содержащими хотя бы один элемент, кратный Y, вставить строку X
Перед строками, содержащими хотя бы одни элемент, кратный Y , вставить строку X. #include<iostream> #include<time.h> ...

Заменить пустые строки, состоящие из одних пробелов, строками, содержащими минимальное количество табуляций
Напишите программу, которая бы заменяла пустые строки, состоящие из одних пробелов, строками, содержащими минимальное количество табуляций...

Заменить пустые строки, состоящие из одних пробелов, строками, содержащими минимальное количество табуляций
Задача 1.21. Напишите программу entab, которая бы заменял пустые строки, состоящие из одних пробелов, строками, содержащими минимальное...

17
8 / 8 / 2
Регистрация: 05.12.2010
Сообщений: 32
04.01.2012, 18:04
А вот так
VB.NET
1
2
3
4
5
6
7
    Dim strFileAlarm As String = "C:\Alarm.mp3"
 
    'Кнопка
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Call mciExecute("open " & strFileAlarm)
        Call mciExecute("play " & strFileAlarm)
    End Sub
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
04.01.2012, 18:38  [ТС]
strFileAlarm
Указанное устройство не открыто или не опознается интерфейсом MCI.

Не работает. Программа думает что strFileAlarm это путь, а нужно чтобы она распознавала его как переменную.

Добавлено через 1 минуту
*Двойные кавычки нужно для того, чтобы можно было указывать путь с пробелами.

Добавлено через 9 минут
Программа понимает этот код так
Вместо strFileAlarm она должна видеть ""C:\Music\Sound\Alarm.mp3""
А она видит strFileAlarm
То есть она не видит C:\Music.... она видит strFile...
0
8 / 8 / 2
Регистрация: 05.12.2010
Сообщений: 32
04.01.2012, 18:48
А в какой студии пишешь, у меня 2010 и все работает
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
04.01.2012, 19:10  [ТС]
VB.NET 2003 v 7.1.3088
0
8 / 8 / 2
Регистрация: 05.12.2010
Сообщений: 32
04.01.2012, 19:15
смени версию и будет тебе счастье...
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
04.01.2012, 19:40  [ТС]

Я пишу на старой 2003 версии. А если я перейду на новую мне придётся переписывать всё программу полностью, потому как некоторые функции работать не будут.

Добавлено через 3 минуты
Может я ошибся. Как мне проиграть звуковой файл, указав путь с помощью переменной?

VB.NET
1
2
3
4
5
'Кнопка
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call mciExecute("open ""C:\Music\Sound\Alarm.mp3""")
        Call mciExecute("play ""C:\Music\Sound\Alarm.mp3""")
    End Sub
0
 Аватар для Юпатов Дмитрий
1721 / 1208 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
04.01.2012, 19:50
Оно?
VB.NET
1
2
3
4
5
6
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
    Dim strFileAlarm As String = """D:\Музыка\Rammstein\2009 Liebe Ist Fur Alle Da\Pussy.mp3"""
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call mciExecute("open " & strFileAlarm)
        Call mciExecute("play " & strFileAlarm)
    End Sub
VB.NET
1
Dim strFileAlarm As String = """D:\Музыка\Rammstein\2009 Liebe Ist Fur Alle Da\Pussy.mp3"""
- обеспечивает в начале и конце строки кавычки: "D:\Музыка\Rammstein\2009 Liebe Ist Fur Alle Da\Pussy.mp3". думаю, двойные тебе и ни к чему, т.к. использование одинарных обеспечит возможность передачи в пути пробелов.
Цитата Сообщение от vbSerGanT Посмотреть сообщение
смени версию и будет тебе счастье...
Не в версии дело. Много ли ты используешь наворотов 4го фреймворка ( 2010я версия с ним работает)?
Как показывает опыт, если не пользовать WPF, а обходиться WinForms и консолями, то больше 2й версии фрейма и не нужно.
Цитата Сообщение от Mad_Marine Посмотреть сообщение
если я перейду на новую мне придётся переписывать всё программу полностью, потому как некоторые функции работать не будут.
вообще, 2003-я версия тоже .net. Так что переход будет довольно гладким и переписывать не придется.
1
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
04.01.2012, 20:38  [ТС]
Всё спасибо хлопцы, я разобрался.

В общем проблема вот в чём. Если присваивать в коде строковой переменной адрес аудио файла, с пробелами в пути, то нужно указывать через тройные кавычки, например вот так:

VB.NET
1
Dim strFileAlarm As String = """D:\Музыка\Rammstein\2009 Liebe Ist Fur Alle Da\Pussy.mp3"""
если указать через двойные кавычки, то возникает синтаксическая ошибка в коде.
Если указать через одинарные кавычки, то можно указывать только путь без пробелов, например

VB.NET
1
Dim strFileAlarm as String = "C:\Music\Sound\Alarm.mp3"
Если читать данные с файла txt, которые лежит в каталоге с программой, то там в блокноте нужно указывать в первой строчке следующее:

"E:\Music\Slipknot\05 Iowa (2001)\04 My plague.mp3"

после этого программа, например, при запуске прочитает первую строчку в блокноте в директории с программой, и присвоит строковой переменной strFileAlarm значение первой строчки.
Потом можно использовать эту переменную в следующем коде.

VB.NET
1
2
3
4
5
'Кнопка
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call mciExecute("open " & strFileAlarm)
        Call mciExecute("play " & strFileAlarm)
    End Sub


Всё, конец. :dance3:
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
04.01.2012, 22:12
Цитата Сообщение от Mad_Marine Посмотреть сообщение
VB.NET 2003 v 7.1.3088
Не фига себе раритет
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
05.01.2012, 01:15  [ТС]
А не подскажите на какой версии vb.net лучше программировать? И ссылку если можно дайте пожалуйста.
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.01.2012, 01:30
Цитата Сообщение от Mad_Marine Посмотреть сообщение
А не подскажите на какой версии vb.net лучше программировать? И ссылку если можно дайте пожалуйста.
 Комментарий модератора 
П.п 3.7 Правил: Запрещено публиковать ссылки на другие форумы
1
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
05.01.2012, 02:23  [ТС]
Эдвард, спасибо, за VS 2010.
P.S. Я успел скачать торрент файл
0
 Аватар для eJ_Studio
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
05.01.2012, 20:04
Давным давно один мой хороший приятель по интернету(знатоку по вб6) присылал мне код игры - где как раз была музыка с помощью MCI, с ней то и были у меня проблемы примерно такие же как и в этом посте. У него в коде кроме
VB.NET
1
Declare Function mciExecute Lib "winmm.dll"
еще была парочка АПИ функций для обрезания(или как это назвать незнаю) пробелов и т.д. для проигрывания музыки с помощью MCI, и кода не так уж мало, и не так просто спроектирован сам код - вот так вот..К сожалению сам проект куда то задевался, и не могу привести пример.
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
06.01.2012, 03:31  [ТС]
По поводу музыки, я могу проигрывать mp3 звуки на vb.net а как проиграть ogg звуки? Я никак не смог этого сделать. Дело в том что мне нужны несколько десятком мелких ogg звуков, а пока я в mp3 всё делаю, очень не удобно, много места занимает =(
0
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
06.01.2012, 10:57
Mad_Marine, есть библиотека wmp, есть в directx проигрыватель, есть встроенный проигрыватель, эксперимент - залог успеха.
Цитата Сообщение от Mad_Marine Посмотреть сообщение
По поводу музыки, я могу проигрывать mp3 звуки на vb.net а как проиграть ogg звуки? Я никак не смог этого сделать. Дело в том что мне нужны несколько десятком мелких ogg звуков, а пока я в mp3 всё делаю, очень не удобно, много места занимает =(
0
 Аватар для Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
09.01.2012, 04:33  [ТС]
Ребята я вас люблю!!! Я поставил себе VS 2010 Professional. Это настолько удобная вещь вы себе не представляете!!! :dance3: Спасибо всем! Теперь буду на нём писать.

P.S. До этого работал на VB.NET 2003
0
 Аватар для Andrei72
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 60
20.05.2012, 10:52
Подскажите пожайлуста. Есть некоторый код в котором происходит считывание директории и передача ее в переменную. Вопрос в том как в итоге передать (сохранить) этот путь в файл, чтобы путь был в кавычках.

VB.NET
1
2
3
put = IO.Path.GetFullPath(Application.ExecutablePath) ' считывание директории
 
My.Computer.FileSystem.WriteAllText("Path.txt", put, True) ' запись в txt
в результате в файле только путь, а надо чтобы был в кавычках
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2012, 10:52
Помогаю со студенческими работами здесь

Работа со строками, заполнить компоненты строками из файла
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

Работа со строками(операции над строками)
Пусть дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами...

Работа со строками. Функции работы со строками
Дана строка символов. В заданном тексте определить позицию первой точки ‘ . ‘.

Структуры. Работа с файлами, содержащими структуры
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...

Дана строка, содержащая кавычки. Выдать сообщение правильно ли расставлены кавычки
Дана строка, содержащая кавычки. Выдать сообщение правильно ли расставлены кавычки (количество открывающихся соответствует количеству...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru