Главная страница
    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.041 c
15-1200274708
KilkennyCat
2008-01-14 04:38
2008.02.24
Книги, Электронные. Когда их очень много...


2-1201887760
Igora
2008-02-01 20:42
2008.02.24
Помогите кто знает, как сделать


2-1201801123
Res
2008-01-31 20:38
2008.02.24
WinApi


11-1181383929
rvi
2007-06-09 14:12
2008.02.24
Благодарность


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





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