Вниз
Скачать: CL | DM;

подскажите функцию добавления косой черты к пути   Найти похожие ветки 

← →
Wolf ©   (2008-01-30 13:04) [0]

Есть путь, например c:\my

Какой функцией можно обработать String чтобы в случае отсутствия в конце косой черты она прибавлялась ?

Чтобы в итоге получилось c:\my\


← →
Eraser ©   (2008-01-30 13:06) [1]

IncludeTrailingPathDelimiter


← →
Palladin ©   (2008-01-30 13:06) [2]

Function Dumb0002(Const s:String):String;
Begin
If s="" Then Result:="" Else
If s[Length(s)] in ["\",":"] Then Result:=s Else Result:=Result+"\";
End;


← →
Palladin ©   (2008-01-30 13:07) [3]


> Result:=Result+"\";

фу млин Result:=s+"\";


← →
{RASkov} ©   (2008-01-30 13:15) [4]

> фу млин Result:=s+"\";

Result:=IncludeTrailingPathDelimiter(S);

:)


← →
Wolf ©   (2008-01-30 13:16) [5]

спасибо большое


← →
Palladin ©   (2008-01-30 13:23) [6]


> [4] {RASkov} ©   (30.01.08 13:15)

это не функция, это монстр


← →
{RASkov} ©   (2008-01-30 13:25) [7]

> [6] Palladin ©   (30.01.08 13:23)
> это не функция, это монстр

Какая [2] или [1]? :)
И собственно чем они отличаются?)


← →
{RASkov} ©   (2008-01-30 13:26) [8]

...или [4] т.е.
Function Dumb0002(Const s:String):String;
Begin
If s="" Then Result:="" Else
If s[Length(s)] in ["\",":"] Then Result:=s Else Result:=IncludeTrailingPathDelimiter(S);
End;
:)
Тады да, монстр :)


← →
Palladin ©   (2008-01-30 13:32) [9]

монстр в плане кучи не нужных вызовов, ты видел ее в SysUtils? ужос... а написана для совместимости с Kylix, мир праху его...


← →
ketmar ©   (2008-01-30 13:34) [10]

>[9] Palladin ©(30.01.08 13:32)
ну, там куча кода для MBCS. но всё равно SysUtils прилинкован, так что не страшно. и вряд ли именно в этой задаче скорость настолько важна.


← →
{RASkov} ©   (2008-01-30 13:34) [11]

> [9] Palladin ©   (30.01.08 13:32)

function IsPathDelimiter(const S: string; Index: Integer): Boolean;
begin
 Result := (Index > 0) and (Index <= Length(S)) and (S[Index] = PathDelim)
   and (ByteType(S, Index) = mbSingleByte);
end;

function IncludeTrailingPathDelimiter(const S: string): string;
begin
 Result := S;
 if not IsPathDelimiter(Result, Length(Result)) then
   Result := Result + PathDelim;
end;

D7
И что же здесь навороченного?)


← →
clickmaker ©   (2008-01-30 13:37) [12]

для ФТП, кстати, может использоваться и /


← →
ANB ©   (2008-01-30 13:39) [13]


> это не функция, это монстр

Монстр - это самопальные извращения. Хотя, каюсь, пока не увидел (случайно !) в справке штатную функцию - тоже клеил слеш в конце :)


← →
Palladin ©   (2008-01-30 13:40) [14]

лана, уломали... прелестненькая функция...


← →
Anatoly Podgoretsky ©   (2008-01-30 14:52) [15]

> Palladin  (30.01.2008 13:40:14)  [14]

Вообще то грамотно написано, а скорость, у него чтоли милионы добавление в цикле



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

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



Память: 0.48 MB
Время: 0.021 c
15-1201101765
Галинка
2008-01-23 18:22
2008.02.24
где скачать


2-1201595817
vegarulez
2008-01-29 11:36
2008.02.24
Вопрос про БД (Access). Как "сжать и восстановить" БД из под Д?


15-1201140506
O.O
2008-01-24 05:08
2008.02.24
Перевод числа в строку на разных языках


2-1201546095
noi
2008-01-28 21:48
2008.02.24
перевести данные из pChar в array of Byte


6-1180793367
Denis_Zhulanov
2007-06-02 18:09
2008.02.24
TICQClient и DLL




   Наверх