Главная страница
    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.049 c
2-1201488646
snake-as
2008-01-28 05:50
2008.02.24
Помогите разобраться с DBComboBox


2-1201890528
Urvin
2008-02-01 21:28
2008.02.24
Изменение свойства Visible для компонетов


15-1200970939
Slider007
2008-01-22 06:02
2008.02.24
С днем рождения ! 22 января 2008 вторник


2-1201602215
Winxp
2008-01-29 13:23
2008.02.24
XPManifest


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