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

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

Удаление параметров a.k.a. вытаскивание имени файла [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


melifaro ©   (2003-02-01 22:37:00) 

Столкнулся с проблеммой. Скорее не могу найти решение.
Как можно получить полное имя файла (например C:\Program Files\Far\Far.exe) из строки где написано "C:\Program Files\Far\Far.exe -r" (т.е. присутствует параметр).
Нужна не просто процедура которая удалит из этой строки "-r", а такая которая сможет удалить любые параметры из имени файла.


JibSkeart   (2003-02-02 12:56:00) [1]

А может это можно сделать так ??

for i:=Length(String_Of_FilePath) downto 4
begin
s := String_Of_FilePath[i]+String_Of_FilePath[i-1]String_Of_FilePath[i-2]+String_Of_FilePath[i-3]
if (s = ".exe")or (s=".EXE") then // или делай UpCase -ом s
begin
k = i;
end ;
end;

где String_Of_FilePath перемменная куды пихаем путь
и обрезаем строку длинною "к"

но енто для частного случая
думаю намек понятен


Anatoly Podgoretsky   (2003-02-02 11:31:00) [2]

Или еще вариант ты не точно поставил вопрос.
Если же речиь идет о разборе абстрактной строки, но задача не имеет полного решения, только частичное.
Поэтому уточни свой вопрос еще раз.


Anatoly Podgoretsky   (2003-02-02 11:02:00) [3]

Видимо ответ пока выше твоего уровня знаний


melifaro   (2003-02-02 04:08:00) [4]

2Anatoly Podgoretsky
Видимо вопрос остался не понятым? Или писАлось с бухты-барахты...?

2wal
а если это не exe, или вообще файл без разшерения?
Ведь это более чем возможно.

2all
Дело в том, что я не прошу привести идеи как организовать функцию по разделению параметров и имени файла.
Так как Windows умеет это делать, то видимо где-то в нём сужествует вполне документированная функция. Но к сожалению я её не могу найти, и потому прошу тех кто знает - помочь.


wal   (2003-02-01 23:04:00) [5]

В догонку - [SPACE] тоже удаляй.


wal   (2003-02-01 23:03:00) [6]

Удаляй все, что находиться после ".exe[SPACE]".
Только сначала проверь, что строка не заканчивается на ".exe", то есть без параметров.


Anatoly Podgoretsky   (2003-02-01 23:00:00) [7]

Application.ExeName


Наверх

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