/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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
>
>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste