Главная страница
    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
15-1201188802
Sergei
2008-01-24 18:33
2008.02.24
Версия BIOS


2-1201352975
tarasoff
2008-01-26 16:09
2008.02.24
dbf + delphi


4-1183713037
Dib@zol
2007-07-06 13:10
2008.02.24
TrackBar+API


15-1201103474
Галинка
2008-01-23 18:51
2008.02.24
доступ к сетевому принтеру из "гостевой" системы


2-1201717781
вадик
2008-01-30 21:29
2008.02.24
Интерфейсы





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