|
| trække fil navnet ud af en URL Fra : PA |
Dato : 07-04-02 21:26 |
|
Nu har jeg levet med denne funktion i et godt stykke tid, men kan
det gøres nemmere? Jeg tænker på Trim funktionen, men har aldrig fået det
til at virke.
var
S,S1:string;
P:Integer;
begin
repeat
S:=edit1.text;
P:=pos('/',s);
S1:=copy(s,p+1,length(s));
Edit1.text:=s1;
until
Pos('/',edit1.text) = 0
end;
--
Peter
| |
David A. D. Konrad (07-04-2002)
| Kommentar Fra : David A. D. Konrad |
Dato : 07-04-02 22:18 |
|
"PA" <P.A@mail.dk> skrev i en meddelelse
news:3cb0aada$0$11943$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg levet med denne funktion i et godt stykke tid, men kan
> det gøres nemmere? Jeg tænker på Trim funktionen, men har aldrig fået det
> til at virke.
Egentlig samme løsning, måske lidt mere kompakt. Desværre erindrer jeg ikke,
om der skulle findes en tilsvarende rutine i win-API'et eller i nogle af
delphi's funktioner. Men antageligvis gør der...
function extractFileFromURL(URL:string):string;
var p:integer;
begin
p:=pos('/',URL);
while p<>0 do
begin
delete(URL,1,succ(p));
p:=pos('/',URL);
end;
result:=URL;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.text:=extractFileFromURL(edit1.text);
end;
| |
David A. D. Konrad (07-04-2002)
| Kommentar Fra : David A. D. Konrad |
Dato : 07-04-02 22:23 |
|
"PA" <P.A@mail.dk> skrev i en meddelelse
news:3cb0aada$0$11943$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg levet med denne funktion i et godt stykke tid, men kan
> det gøres nemmere? Jeg tænker på Trim funktionen, men har aldrig fået det
> til at virke.
Grunden til at jeg lavede en anden function var i øvrigt, at dit
repeat-until og dermed resultatet kan komme slemt galt afsted, ifald det
faktisk ikke er en valid URL der leveres som parameter
| |
PA (07-04-2002)
| Kommentar Fra : PA |
Dato : 07-04-02 22:55 |
|
"David A. D. Konrad" <david_konrad@hotmail.dk> skrev i en meddelelse
news:3cb0b709$0$68741$edfadb0f@dspool01.news.tele.dk...
> Grunden til at jeg lavede en anden function var i øvrigt, at dit
> repeat-until og dermed resultatet kan komme slemt galt afsted, ifald det
> faktisk ikke er en valid URL der leveres som parameter
Nu er jeg ikke nogen haj i invalide URL'er. Kan du komme med et eksempel
hvor min metode ikke dur ?
--
Peter
| |
David A. D. Konrad (07-04-2002)
| Kommentar Fra : David A. D. Konrad |
Dato : 07-04-02 23:11 |
|
"PA" <P.A@mail.dk> skrev i en meddelelse
news:3cb0bfd1$0$5270$edfadb0f@dspool01.news.tele.dk...
> Nu er jeg ikke nogen haj i invalide URL'er. Kan du komme med et eksempel
> hvor min metode ikke dur ?
Jeg var for hurtig. Jeg så det som at den ville brage ned hvis du gav en
'' - undskyld!
| |
Uffe Kousgaard (07-04-2002)
| Kommentar Fra : Uffe Kousgaard |
Dato : 07-04-02 22:56 |
|
prøv med extractfilename funktionen. Den ser ud til også at virke med en
URL.
"PA" <P.A@mail.dk> wrote in message
news:3cb0aada$0$11943$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg levet med denne funktion i et godt stykke tid, men kan
> det gøres nemmere? Jeg tænker på Trim funktionen, men har aldrig fået
det
> til at virke.
> var
> S,S1:string;
> P:Integer;
> begin
> repeat
> S:=edit1.text;
> P:=pos('/',s);
> S1:=copy(s,p+1,length(s));
> Edit1.text:=s1;
> until
> Pos('/',edit1.text) = 0
> end;
> --
> Peter
>
>
| |
David A. D. Konrad (07-04-2002)
| Kommentar Fra : David A. D. Konrad |
Dato : 07-04-02 23:13 |
|
"Uffe Kousgaard" <uffe@routeware.dk> skrev i en meddelelse
news:3cb0c06b$0$5286$edfadb0f@dspool01.news.tele.dk...
> prøv med extractfilename funktionen. Den ser ud til også at virke med en
> URL.
Det var også mit første forsøg. Men den cutter kun http: ftp: etc af... -
jeg tolkede PA's indlæg som at han ville have "URL-toppen", dvs det sidste
element, der angiver filnavnet...
| |
PA (07-04-2002)
| Kommentar Fra : PA |
Dato : 07-04-02 23:25 |
|
"Uffe Kousgaard" <uffe@routeware.dk> skrev i en meddelelse
news:3cb0c06b$0$5286$edfadb0f@dspool01.news.tele.dk...
> prøv med extractfilename funktionen. Den ser ud til også at virke med en
> URL.
Mener jeg har prøvet den, men prøvede lige igen.
Extractfilename kan ikke lide et omvendt backslash og det kan jeg da godt
huske nu
--
Peter
| |
Ingolf (10-04-2002)
| Kommentar Fra : Ingolf |
Dato : 10-04-02 01:03 |
|
Der er mange muligheder... :
function ExtractFilename(st : string) : string;
var
loc : word;
begin
loc:=length(st);
while (loc>1) and (st[loc]<>'\') and (st[loc]<>'/') do dec(loc);
if loc>1 then st:=copy(st,loc+1,length(st));
ExtractFilename:=st;
end;
Denne vil virke på alle URL.. om de så er med backslash(\), elller
skråstreg(/).
"PA" <P.A@mail.dk> wrote in message
news:3cb0aada$0$11943$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg levet med denne funktion i et godt stykke tid, men kan
> det gøres nemmere? Jeg tænker på Trim funktionen, men har aldrig fået det
> til at virke.
> var
> S,S1:string;
> P:Integer;
> begin
> repeat
> S:=edit1.text;
> P:=pos('/',s);
> S1:=copy(s,p+1,length(s));
> Edit1.text:=s1;
> until
> Pos('/',edit1.text) = 0
> end;
> --
> Peter
>
>
| |
|
|