Главная страница
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.012 c
2-1206810353
206196131
2008-03-29 20:05
2008.04.27
Програмное закрытие формы из Dll


2-1207057125
FIL-23
2008-04-01 17:38
2008.04.27
как из TJPEGImage в TPicture конвертнануть


2-1207056885
Res
2008-04-01 17:34
2008.04.27
Послать


3-1196328581
ari_9
2007-11-29 12:29
2008.04.27
хранение пользовательских настроек программы в БД. идеология


8-1179127828
Provodnick
2007-05-14 11:30
2008.04.27
Как воспроизвести видео из потока (TStream)?