Текущий архив: 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