Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разбор длинного имени файла... [D6, D7, Win2k]


Страницы:   1 2

smok_er ©   (2002-12-26 13:45:00) 

Уважаемые, есть имя файла, например
C:\Program Files\ABC\abc.exe -abc
Как разбить содержимое на непосредственно имя файла, путь и параметры?
В принципе путь и имя понятны, интересует последнее...


smok_er   (2002-12-26 16:16:00) [1]

Всем огромное спасибо!


Anatoly Podgoretsky   (2002-12-26 15:33:00) [2]

Просто записывай все варианты, пригодятся для отладки


han_malign   (2002-12-26 15:29:00) [3]

ну обрубаем по последнему разделителю (.exe тоже может опускаться)


Игорь Шевченко   (2002-12-26 15:28:00) [4]

А поглядеть, как оно, ParamStr формируется по исходникам Rtl уже не судьба ? :-)


TTCustomDelphiMaster   (2002-12-26 15:27:00) [5]

см. MSDN - command line, parsing - Parsing C Command-Line Arguments


Anatoly Podgoretsky   (2002-12-26 14:59:00) [6]

han_malign © (26.12.02 14:55)
Параметры разрешается указывать без пробела если используется стандартный разделитель!


han_malign   (2002-12-26 14:55:00) [7]

while not FileExist(s)do <обрубаем s по последнему пробелу>


Anatoly Podgoretsky   (2002-12-26 14:47:00) [8]

smok_er (26.12.02 14:18)
По последней точке, для выше указанной строки выдал .exe -abc


smok_er   (2002-12-26 14:34:00) [9]

Игорь Шевченко © (26.12.02 13:52)
ParamStr(1) однако :-)

Игорь Шевченко © (26.12.02 14:32)
ParamStr(1) однако :-)


smok_er (26.12.02 13:58)
Игорь Шевченко © (26.12.02 13:52)

Да, я бы с радостью, вот только не у моей запущенной программы это надо определить...
А просто разобрать строку.
Спросил, потому что думал о наличии стандартных борландских средств.


Игорь Шевченко   (2002-12-26 14:33:00) [10]

Форум сглючил, прошу прощения за повтор


Игорь Шевченко   (2002-12-26 14:32:00) [11]

ParamStr(1) однако :-)


smok_er   (2002-12-26 14:18:00) [12]

Кстати, интересно...
Сейчас просто нет делфи под рукой
как во всех этих случаях EctractFileName определит имя файла?

Song © (26.12.02 14:04)

Спасибо! Дело говоришь. Получить из этого бреда путь с именем файла, а затем из всей строки вырезить остаток.
Скорее всего на этом и остановлюсь


Anatoly Podgoretsky   (2002-12-26 14:12:00) [13]

smok_er (26.12.02 13:50)
Придется тебе писать свою собственную функцию и если строка именно в таком виде то и помучиться, что бы одназначно определить где кончается имя файла и где начинаются параметры, это в обзем случае, а данном частном параметр у тебя начинается с "-". Но вот расмотри такой случай

C:\Program Files\ABC\abc -abc.exe -abc.exe -abc.exe
Вводные данные это четыре равноправных и действительных варианта имени файла, сумеешь определить все четыре равнозначных варианта?


1. C:\Program Files\ABC\abc -abc.exe -abc.exe это имя файла
2. C:\Program Files\ABC\abc -abc.exe это имя файла
3. C:\Program Files\ABC\abc -abc это имя файла
4. C:\Program Files\ABC\abc это имя файла


Song   (2002-12-26 14:04:00) [14]

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


smok_er   (2002-12-26 13:58:00) [15]

Игорь Шевченко © (26.12.02 13:52)

Да, я бы с радостью, вот только не у моей запущенной программы это надо определить...
А просто разобрать строку.
Спросил, потому что думал о наличии стандартных борландских средств.

Song © (26.12.02 13:52)
Вычитанием из полного неполное.

В смысле?


Lady D   (2002-12-26 13:53:00) [16]

разобрать строку


Song   (2002-12-26 13:52:00) [17]

Вычитанием из полного неполное.


Игорь Шевченко   (2002-12-26 13:52:00) [18]

ParamStr(1) однако :-)


smok_er   (2002-12-26 13:50:00) [19]

а как получить только его?


Lady D   (2002-12-26 13:48:00) [20]

Он будет включен в Result


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо