Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

Как из ссылки(URL), выделить имя файла?   Найти похожие ветки 

 
Stepper   (2008-04-02 12:25) [0]

Всем привет!

Есть Едит в него введена ссылка: http://mysite.ru/software/myproga.exe

Как из данной строки - получить (пропарсив) имя файла myproga.exe ?


 
Ega23 ©   (2008-04-02 12:27) [1]

Pos, copy + F1


 
Kolan ©   (2008-04-02 12:28) [2]

Лучьше используй рег. выражения. В Delphi для них умные люди написали модуль RegExpr.


 
Stepper   (2008-04-02 12:29) [3]


> Kolan ©   (02.04.08 12:28) [2]


Окей!


> Ega23 ©   (02.04.08 12:27) [1]


Спс!


 
Stepper   (2008-04-02 14:05) [4]

Вот что нашел:

...
 if Pos("http://", URL) > 0 then Delete(Url, 1, 7);
 Result := Copy(Url, 1, Pos("/", Url) - 1);
 if Result = "" then Result := URL + #0;
...


Из строки http://mysite.ru/software/myproga.exe получаем mysite.ru

Кто поможет оптимизировать под мой сабж? Заранее благодарен!


 
Kolan ©   (2008-04-02 14:09) [5]

Можно для такой строки вообще с конца в ч\цикле пройти до первой "/".


 
Reindeer Moss Eater ©   (2008-04-02 14:09) [6]

для начала поиск последнего слэша с помошью StrRScan


 
Семеныч   (2008-04-02 14:10) [7]

> Stepper   (02.04.08 14:05) [4]

Попробуйте:
ExtractFileName(StringReplace(URL, "/", PathDelimiter, [rfReplaceAll]))


 
easy ©   (2008-04-02 14:13) [8]

 while pos("/", s)<>0 do
   delete(s,1,pos("/", s));
 showmessage(s);


 
palva ©   (2008-04-02 14:38) [9]

Надо читать доки.
URL может включать себя: 1) :номер порта 2) #якорь 3) ?параметры&произвольного&вида
Кроме того в URL может отсутствовать имя файла
Так что, вообще говоря, функция должна быть сложной.
Если автору нужен функция для частного случая, тогда он должен написать полную спецификацию этого случая.


 
Stepper   (2008-04-02 21:26) [10]

Реализация:

function DelUrlStr(Url: string): string;
var
 Pos: Integer;
begin
 Pos := Length(Url);
 while Url[Pos] <> "/" do
   Dec(Pos);
  Result := Copy(Url, Pos + 1, Length(Url) - Pos + 1);
end;


Функция корректно возвращает имя файла myproga.exe

А как для сего реализовать?
> palva ©   (02.04.08 14:38) [9]
>
> URL может включать себя: 1) :номер порта 2) #якорь 3) ?параметры&произвольного&вида


 
palva ©   (2008-04-02 22:11) [11]

> А как для сего реализовать?
Как-нибудь так:
Поискать символ # а потом отбросить этот символ и все, что после него следует.
Поискать символ ? а потом отбросить этот символ и все, что после него следует.



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

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
2-1207094959
snake-as
2008-04-02 04:09
2008.04.27
Не меняется курсор на форме


15-1205501602
sds
2008-03-14 16:33
2008.04.27
TADOTable


2-1207234217
XP_Style
2008-04-03 18:50
2008.04.27
Как узнать, что у Windows XP включены стили XP?


9-1169494153
@!!ex
2007-01-22 22:29
2008.04.27
плагин для макса


2-1207032743
asdf2
2008-04-01 10:52
2008.04.27
Как в InterBase6.5 сделать select Length(MyField) from MyTable?