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

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.056 c
2-1201664984
mrFreeman2007
2008-01-30 06:49
2008.02.24
Отлов нажатия клавиши


2-1201522928
BBCHa
2008-01-28 15:22
2008.02.24
Иконка и сервис


2-1201680662
Venkin
2008-01-30 11:11
2008.02.24
URL выделенной картинки в TWebbrowser


15-1201094235
Dennis I. Komarov
2008-01-23 16:17
2008.02.24
Mail Server


9-1165141128
DRUGOI ilya
2006-12-03 13:18
2008.02.24
человек и ODE





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