Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-24926
LVG
2002-12-26 10:05
2003.01.09
Icon в TreeView


3-24761
Bocman
2002-12-15 14:25
2003.01.09
LookUpComboBox


4-25124
delphi5.01
2002-11-15 14:09
2003.01.09
Kak otlovit klavishi


3-24797
Cobalt
2002-12-11 22:57
2003.01.09
Через что работает 1С?


14-25072
ИгорьК
2002-12-19 12:06
2003.01.09
Средства контроля версий - какие!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский