ЗАпуск файлов с параметрами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vovchikxxx
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 22.01.2003 (Ср) 19:32
Откуда: Сергиев Посад

ЗАпуск файлов с параметрами

Сообщение vovchikxxx » 15.04.2003 (Вт) 17:49

Вводиться текст.... подразумевается это путь к файлу и дальше за ним следуют параметры запуска

Надо как то отделить само имя файла от параметров.

Например

C:\games\hl\hl.exe -game cstrike - console

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 15.04.2003 (Вт) 17:55

Что значит отделить? Может просто:



filename = mid(st,1,instr(1,st," ",vbtextcompare))

parameters = mid(st,len(filename)+1)
Последний раз редактировалось RayShade 15.04.2003 (Вт) 18:02, всего редактировалось 1 раз.

vovchikxxx
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 22.01.2003 (Ср) 19:32
Откуда: Сергиев Посад

Сообщение vovchikxxx » 15.04.2003 (Вт) 18:00

Смысл в том что заранее не известно какой будет файл и какие параметры и будут ли они ваще

из такой строки:
C:\games\hl\hl.exe -game cstrike - console
нужно сделать две
C:\games\hl\hl.exe

-game cstrike - console

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 15.04.2003 (Вт) 18:01

Ну так значит мой код вполне пойдет.

vovchikxxx
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 22.01.2003 (Ср) 19:32
Откуда: Сергиев Посад

Сообщение vovchikxxx » 15.04.2003 (Вт) 18:59

А если папка будет на пример с именем
C:\games Files\hl\hl.exe -game cstrike - console

Пробелы в папках еще никто не отменял я не говорю про файлы

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 16.04.2003 (Ср) 1:00

Код: Выделить всё
pos= InStr(str, " ")
if pos>0 then
    param=right(str,len(str)-pos)
end if


В случае, если в строке есть директории с пробелом в имени, то ищеш еще последний \ и сравниваешь позиции.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2003 (Ср) 8:34

Damage, ты конечно абсолютно прав, но:
1. Если имя файла является LFN (Long File Name) и, в частности, содержит пробелы, то его положено заключать в кавычки "".
2. Отсюда, если первый символ -- кавычки, то путь и имя файла лежат между ними (т.е. определяется InStr(2,cmd,Chr$(34))). Если НЕ кавычки -- то путь и имя файла до первого пробела.
3. Слова конечно надо подкреплять примерами, но склероз :) Но есть API-функция, которая парсит строки, выделяя букву диска, путь, имя файла и параметры.
Lasciate ogni speranza, voi ch'entrate.

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 16.04.2003 (Ср) 9:05

Можно еще строку по слэшам засплитить.

ЗЫ. Если всегда присутствует расширение и оно exe, то вообще нефиг париться. :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2003 (Ср) 9:51

А что делать с такой строкой?
C:\My Works\Progs.EXE\Banners\main.exe -start -C:\ARCHIV\rar.exe
Lasciate ogni speranza, voi ch'entrate.

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 16.04.2003 (Ср) 19:54

тогда это невозможно! если примерный вид параметров неизвестен, то никак не отделишь!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.04.2003 (Чт) 8:51

Почему невозможно?
Я уже писал. Если используется длинное имя файла, тогда обязательны кавычки и путь и имя заключены в кавычках. Если нет, то путь и имя файла идут до первого пробела. Все остальное -- параметры.
Lasciate ogni speranza, voi ch'entrate.

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 17.04.2003 (Чт) 10:21

Стопудов! Алибек прав!!!

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 17.04.2003 (Чт) 11:44

угу... я даже и не знал...
спасибо, alibek!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

    TopList