Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 23.08.2013
Сообщений: 85

как корректно произвести конкатенацию?

25.05.2014, 01:32. Показов 900. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой файлменеджер (рекомендую) - Q-dir
Чтобы вызвать его по javascript-ссылке на веб странице, причем так чтобы он (находится - D:\programs\Q-Dir\Q-Dir.exe) открыл при этом определенную папку (у меня - D:\test) я применяю такой скрипт:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
<title>Execute from Web</title>
<script language="JScript">
function runQdir() {
  var Myshell = new ActiveXObject("WScript.Shell");
  var myApp = "D:\\programs\\Q-Dir\\Q-Dir.exe [B]D:\\test[/B]"
  Myshell.Run(myApp);
}
</script>
</head>
<body>
<input type="button" value="Q-dir" onclick="runQdir()" />
</body>
</html>
Однако хотелось бы сделать функцию runQdir() функцией с параметром runQdir(path) так чтобы path принимал значение равное требуемой папке, типа такого
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
<title>Execute from Web</title>
<script language="JScript">
function runQdir([B]path[/B]) {
  var Myshell = new ActiveXObject("WScript.Shell");
  var myApp = "D:\\programs\\Q-Dir\\Q-Dir.exe [B]path[/B]"
  Myshell.Run(myApp);
}
</script>
</head>
<body>
<input type="button" value="Q-dir" onclick="runQdir([B]path[/B])" />
</body>
</html>
Однако такой скрипт не работает. Как мне его поправить. По-видимому через конкатенацию, но я не силен теме.
Прошу помощи
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2014, 01:32
Ответы с готовыми решениями:

Как выполнить конкатенацию строк в JS?
Задача собстно вот в чем. Я динамически создаю блок с помощью JQ: var html = '&lt;div...

Как корректно произвести арифметические операции
Здравствуйте. Нужно задать на масме формулу (a+1)/(a-1) + c*d. Деление я допустим сделал. Для целых значений больше 0 работает. mov...

Нужно произвести считывание пути к файлу с клавиатуры. Причём сделать это в конструкторе. Всё остальное корректно работает.
Заранее благодарен всем кто поможет. Здравстуйте, была полностью рабочая программа которая считывает данные с файла, потом сортирует...

6
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.05.2014, 01:37
JavaScript
1
var myApp = "D:\\programs\\Q-Dir\\Q-Dir.exe" + path;
0
3 / 3 / 0
Регистрация: 23.08.2013
Сообщений: 85
25.05.2014, 02:16  [ТС]
так не получается, path в такой ситуации помещается вне кавычек
Тут нужно как-то очень хитро разрезать строку, экранируя кавычки - я видел аналогичный пример с другим приложением но перенести его на мой случай не могу
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.05.2014, 02:47
ruslaw, запустите в браузере и посмотрите:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<title>Execute from Web</title>
<script>
function runQdir (path)
{
var Myshell = new ActiveXObject ('WScript.Shell');
var myApp = 'D:\\programs\\Q-Dir\\Q-Dir.exe ' + path;
Myshell.Run (myApp);
}
</script>
</head>
<body>
<input type="button" value="Q-dir" onclick="runQdir ('D:\\test')" />
</body>
</html>
0
3 / 3 / 0
Регистрация: 23.08.2013
Сообщений: 85
25.05.2014, 16:31  [ТС]
Получилось!
Огромное спасибо!!!

Добавлено через 13 часов 24 минуты
А что делать если папка имеет название с пробелом, например 'D:\\test plus'
???
Для функции без аргумента у меня в таком случае работает строка кода:
var myApp = 'D:\\programs\\Q-Dir\\Q-Dir.exe "D:\\test plus"'
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.05.2014, 16:40
-- либо вместо пробела в инпуте самому "воткнуть" %20
<input type="button" value="Q-dir" onclick="runQdir ('D:\\test%20plus')" />

-- либо в функции воспользоваться методом
var myApp = 'D:\\programs\\Q-Dir\\Q-Dir.exe ' + encodeURIComponent (path);

-- либо в функции применить кавычки
var myApp = 'D:\\programs\\Q-Dir\\Q-Dir.exe "' + path + '"';

-- либо в инпуте применить так понравившиеся вам заэкранированные кавычки
<input type="button" value="Q-dir" onclick="runQdir ('\"D:\\test plus\"')" />
0
3 / 3 / 0
Регистрация: 23.08.2013
Сообщений: 85
25.05.2014, 17:09  [ТС]
Спасибо болшущее! Помог третий метод, он же и самый удобный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2014, 17:09
Помогаю со студенческими работами здесь

как получить конкатенацию времени?
как системное время получить в с++(не билдер) и преобразовать в int т.е. время 12:41:37 в int должно записаться 124137

Как приметить конкатенацию в данном примере
Уважаемые форумчяне и модераторы, а также гуру Возникла очередная проблема Необходимо отправить информацию на Form6.Label X .Text ...

Как сделать конкатенацию двух строк
Объясните пожалуйста как сделать конкатенацию 2-х строк. И если можете приведите примеры, заранее спасибо

Как сделать конкатенацию с определенным количеством символов
Здравствуйте, подскажите, пожалуйста, как сделать канкатенацию с определенным кол-ом символов. Приведу пример, в базе есть таблица с...

Как сделать конкатенацию двух строк, введенных с клавиатуры?
или хотя б как узнать реальную длину строки после ввода? enter там будет? можна узнать длину если искать циклично в строке enter?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru