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

Вниз

Выбираем только то, что нужно   Найти похожие ветки 

 
InfMag ©   (2004-11-07 19:50) [0]

Как допустим из полученного текста c:\folder\file.exe оставить только c:\folder\?


 
begin...end ©   (2004-11-07 19:53) [1]

ExtractFilePath("c:\folder\file.exe") + "?" :-)))

P.S. А чем не устроил мой ответ в соседней ветке?


 
KilkennyCat ©   (2004-11-07 19:53) [2]

ExtractFilePath(application.exename);


 
KilkennyCat ©   (2004-11-07 19:54) [3]

и я бы еще проверил на наличие последнего слэша... не помню, остается он или нет под некоторыми виндами?


 
InfMag ©   (2004-11-07 19:56) [4]

Блин... А вдруг у меня не exe файл, а например dat какой-нибудь?


 
begin...end ©   (2004-11-07 19:59) [5]


> [3] KilkennyCat ©   (07.11.04 19:54)

Ну если в Application.Exename слэш был, то после ExtractFilePath() он останется. Это от версии винды не зависит. Не остаётся он после ExtractFileDir(), вроде бы.

> [4] InfMag ©   (07.11.04 19:56)

Тогда беда... :-)


 
Zeqfreed ©   (2004-11-07 20:01) [6]

ExtractFilePath(application.datname); ;)

А если по нормальному:

ExtractFilePath(filename);


 
InfMag ©   (2004-11-07 20:04) [7]

Спасибо, испробую...


 
KilkennyCat ©   (2004-11-07 20:05) [8]


> begin...end ©   (07.11.04 19:59) [5]


точно! я дир в основном юзал, уже не помню почему...
а проблема была такая: на разных машинах то был слэш, то не был. Из чего и сделал вывод, что под разными виндами, возможно по-разному обрабатывалось.


 
KilkennyCat ©   (2004-11-07 20:07) [9]

есть еще вариант, что я одновременно и дир, и патч использовал в почти одинаковых местах... поэтому и парился... Вообщем, нельзя в спешке лепить проги.


 
begin...end ©   (2004-11-07 20:09) [10]


> KilkennyCat

Скорее второе, т.к. ExtractFileDir() убирает слэш тоже вроде бы независимо от версии... :-)


 
GuAV ©   (2004-11-07 20:13) [11]

begin...end ©   (07.11.04 20:09) [10]

Но в зависимости от того корневая ли папка :)


 
KilkennyCat ©   (2004-11-07 20:18) [12]

ну вы меня просто опят запутали :)
ладно, специально потом посмотрю, где и как он убирается или оставляется... Но от комплекса проверять его наличие, похоже, уже не избавлюсь.


 
Defunct ©   (2004-11-07 20:22) [13]

KilkennyCat ©   (07.11.04 20:18) [12]

Да бросьте, и проверять ничего не надо. Просто включите логику.

ExtractFileDir - после выполнения этой функции должна работать команда CD (ChDir), соответственно там слеша быть не должно, а значит его там и нет.

ExtractFilePath - после выполнения этой функции, как правило, к результату прибавляется имя файла, соответственно слеш там быть обязан.


 
Step[B.M.]   (2004-11-07 20:24) [14]

Запихнуть путь в строку.
Определить местоположение последнего слэша и выбросить все что за ним находится.


 
Wish ©   (2004-11-07 20:27) [15]

function GetExePath:string;
var s:string;
begin
s:=ExtractFilePath(paramstr(0));
if s[length(s)]="\" then Delete(s,length(s),1);
Result:=s;
end;


 
Defunct ©   (2004-11-07 20:30) [16]

да что тут еще что-то думать вот код функций, все здесь однозначно видно:

function ExtractFilePath(const FileName: string): string;
var
 I: Integer;
begin
 I := LastDelimiter(PathDelim + DriveDelim, FileName);
 Result := Copy(FileName, 1, I);
end;

function ExtractFileDir(const FileName: string): string;
var
 I: Integer;
begin
 I := LastDelimiter(PathDelim + DriveDelim, Filename);
 if (I > 1) and (FileName[I] = PathDelim) and
   (not IsDelimiter( PathDelim + DriveDelim, FileName, I-1)) then Dec(I);
 Result := Copy(FileName, 1, I);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1099707837
Fktrc
2004-11-06 05:23
2004.11.21
Консольные утилиты


14-1099171977
Yegorchic
2004-10-31 01:32
2004.11.21
Генератор алгоритма


3-1098349942
Blacksun
2004-10-21 13:12
2004.11.21
Помогите!!! Timeout expired при вызове StoredProc


14-1099642305
anton2v
2004-11-05 11:11
2004.11.21
что такое reset ?


3-1098549975
Серг
2004-10-23 20:46
2004.11.21
Накопление памяти при параметрическом запроосе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский