Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

Разбор длинного имени файла...   Найти похожие ветки 

 
smok_er   (2002-12-26 13:45) [0]

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


 
Lady D ©   (2002-12-26 13:46) [1]

uses sysutils;

ExtractFileName()


 
smok_er   (2002-12-26 13:48) [2]

Lady D © (26.12.02 13:46)

А параметр -abc?


 
Lady D ©   (2002-12-26 13:48) [3]

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


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

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


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

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


 
Song ©   (2002-12-26 13:52) [6]

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


 
Lady D ©   (2002-12-26 13:53) [7]

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


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

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

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

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

В смысле?


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

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


 
Anatoly Podgoretsky ©   (2002-12-26 14:12) [10]

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 это имя файла


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

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

Song © (26.12.02 14:04)

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


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

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


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

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


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

Игорь Шевченко © (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)

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



 
Anatoly Podgoretsky ©   (2002-12-26 14:47) [15]

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


 
han_malign ©   (2002-12-26 14:55) [16]

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


 
Anatoly Podgoretsky ©   (2002-12-26 14:59) [17]

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


 
TTCustomDelphiMaster ©   (2002-12-26 15:27) [18]

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


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

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


 
han_malign ©   (2002-12-26 15:29) [20]

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


 
Anatoly Podgoretsky ©   (2002-12-26 15:33) [21]

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


 
smok_er   (2002-12-26 16:16) [22]

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



Страницы: 1 вся ветка

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.012 c
14-25055
Cr@sh
2002-12-20 12:10
2003.01.09
Меня загребают....


3-24812
alex_dorin
2002-12-17 09:29
2003.01.09
формат отображения в DBGrid


14-25094
Странный Прохожий
2002-12-19 11:09
2003.01.09
Как удалить регистрацию участника форума, чтобы освободить ник?


8-24985
Ascan_
2002-09-20 18:46
2003.01.09
array --> TJpg. Это возможно?


14-25058
Driverrr
2002-12-20 19:07
2003.01.09
HELP!