Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.037 c
3-1098764960
YurikGL
2004-10-26 08:29
2004.11.21
IB Размер файла


4-1097596116
F1
2004-10-12 19:48
2004.11.21
Как рисовать прямо на экране?


3-1098175901
Aleksandr.
2004-10-19 12:51
2004.11.21
Можно по мышке как-то получить значение поля в RxDBGrid е?


14-1099649424
Nous Mellon
2004-11-05 13:10
2004.11.21
Йододефицит и слухи..


1-1099859328
Serginio
2004-11-07 23:28
2004.11.21
Как исходник превратить в программу




   Наверх