/ 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
Hvordan får jeg delt denne string???
Fra : Hans Nikolajsen


Dato : 13-11-02 20:51

Ja dav!

tekst := 'F:\test\jpg\test\foto.jpg'

Den skal dele op i: drev, dir, fil og type.

det skal ende med strings:

Drev = F:
dir = \test\jpg\test\
fil= Foto
type= jpg

Hvordan gør jeg det ???

--
M.v.h.
Hans Nikolajsen
E-mail: hn2test@stofanet.dk
Homepage: http://home1.stofanet.dk/jadav/
Fjern test fra min E-mail for at skrive til mig!



 
 
Peter Vrist (13-11-2002)
Kommentar
Fra : Peter Vrist


Dato : 13-11-02 21:59

Hvis du laver det i Delphi gøres det således:

Drev := ExtractFileDriveName('F:\test\jpg\test\foto.jpg');
Dir := ExtractFilePath('F:\test\jpg\test\foto.jpg');
Fil := Copy(ExtractFileName('F:\test\jpg\test\foto.jpg'), 1, Pos('.',
ExtractFileName('F:\test\jpg\test\foto.jpg')) - 1);
FilType := ExtractFileExt('F:\test\jpg\test\foto.jpg');

Husk at inkludere SysUtils i projektet.

Hvis du vil lave det i Pascal, kræver det lidt mere arbejde.

Hilsen

Peter Vrist


"Hans Nikolajsen" <hn2@stofanet.dk> skrev i en meddelelse
news:3dd2ad18$0$11422$ba624c82@nntp02.dk.telia.net...
> Ja dav!
>
> tekst := 'F:\test\jpg\test\foto.jpg'
>
> Den skal dele op i: drev, dir, fil og type.
>
> det skal ende med strings:
>
> Drev = F:
> dir = \test\jpg\test\
> fil= Foto
> type= jpg
>
> Hvordan gør jeg det ???
>
> --
> M.v.h.
> Hans Nikolajsen
> E-mail: hn2test@stofanet.dk
> Homepage: http://home1.stofanet.dk/jadav/
> Fjern test fra min E-mail for at skrive til mig!
>
>



Uffe Kousgaard (13-11-2002)
Kommentar
Fra : Uffe Kousgaard


Dato : 13-11-02 22:30

"Peter Vrist" <peter.vrist@mail.dk> wrote in message
news:3dd2c112$0$35950$edfadb0f@dread13.news.tele.dk...
> Hvis du laver det i Delphi gøres det således:
>
> Fil := Copy(ExtractFileName('F:\test\jpg\test\foto.jpg'), 1, Pos('.',
> ExtractFileName('F:\test\jpg\test\foto.jpg')) - 1);

Virker kun, hvis der er netop 1 punktum i navnet OG det er i forbindelse
med filtypen.



Simon Hiort-Lorenzen (14-11-2002)
Kommentar
Fra : Simon Hiort-Lorenzen


Dato : 14-11-02 00:30


"Uffe Kousgaard" <uffe@routeware.dk> wrote in message
news:3dd2c460$0$12466$edfadb0f@dread11.news.tele.dk...
> "Peter Vrist" <peter.vrist@mail.dk> wrote in message
> news:3dd2c112$0$35950$edfadb0f@dread13.news.tele.dk...
> > Hvis du laver det i Delphi gøres det således:
> >
> > Fil := Copy(ExtractFileName('F:\test\jpg\test\foto.jpg'), 1, Pos('.',
> > ExtractFileName('F:\test\jpg\test\foto.jpg')) - 1);
>
> Virker kun, hvis der er netop 1 punktum i navnet OG det er i forbindelse
> med filtypen.

Ja, så skal man vel lede efter punktummet bagfra i strengen. Basic har en
'bagvendt' Pos funktion, men den findes vist ikke i Delphi(?).

Ellers må man kunne gøre sådan her (ikke testet):


for i := length(ExtractFileName('F:\test\jpg\test\foto.jpg')) downto 1 do
begin
if copy(ExtractFileName('F:\test\jpg\test\foto.jpg'), i, 1) = '.' then
DotPos := i;
end;

Fil := Copy(ExtractFileName('F:\test\jpg\test\foto.jpg'), 1, DotPos - 1);



Simon



Uffe Kousgaard (14-11-2002)
Kommentar
Fra : Uffe Kousgaard


Dato : 14-11-02 00:41

"Simon Hiort-Lorenzen" <bulk@NOSPAMhilo.dk> wrote in message
news:aqun9b$24h3$1@news.cybercity.dk...
>
> > Virker kun, hvis der er netop 1 punktum i navnet OG det er i
forbindelse
> > med filtypen.
>
> Ja, så skal man vel lede efter punktummet bagfra i strengen. Basic har
en
> 'bagvendt' Pos funktion, men den findes vist ikke i Delphi(?).

Den hedder StrRScan, men som sagt er det slet ikke sikkert der er et
punktum i filnavnet. Kig i VCL koden for ExtractFileName og lignende
funktioner og bliv inspireret.


Simon Hiort-Lorenzen (14-11-2002)
Kommentar
Fra : Simon Hiort-Lorenzen


Dato : 14-11-02 00:57


"Uffe Kousgaard" <uffe@routeware.dk> wrote in message
news:3dd2e316$0$12499$edfadb0f@dread11.news.tele.dk...
> "Simon Hiort-Lorenzen" <bulk@NOSPAMhilo.dk> wrote in message
> news:aqun9b$24h3$1@news.cybercity.dk...
> >
> > > Virker kun, hvis der er netop 1 punktum i navnet OG det er i
> forbindelse
> > > med filtypen.
> >
> > Ja, så skal man vel lede efter punktummet bagfra i strengen. Basic har
> en
> > 'bagvendt' Pos funktion, men den findes vist ikke i Delphi(?).
>
> Den hedder StrRScan, men som sagt er det slet ikke sikkert der er et
> punktum i filnavnet. Kig i VCL koden for ExtractFileName og lignende
> funktioner og bliv inspireret.

Ok.

Jeg fandt lige funktionen ChangeFileExt. Det må være det nemmeste:

Fil := ChangeFileExt(ExtractFileName('F:\test\jpg\test\foto.jpg'), '')

Simon



Uffe Kousgaard (14-11-2002)
Kommentar
Fra : Uffe Kousgaard


Dato : 14-11-02 10:47

"Simon Hiort-Lorenzen" <bulk@NOSPAMhilo.dk> wrote in message
news:aquot5$265e$1@news.cybercity.dk...
>
>
> Jeg fandt lige funktionen ChangeFileExt. Det må være det nemmeste:
>
> Fil := ChangeFileExt(ExtractFileName('F:\test\jpg\test\foto.jpg'), '')

I dit sidste indlæg skrev du "ikke testet". Det glemte du at skrive
her - en fin hentydning om, at din kode ikke virker. Husk at målet er,
at få ordet "foto" ud som resultat.


Simon Hiort-Lorenzen (14-11-2002)
Kommentar
Fra : Simon Hiort-Lorenzen


Dato : 14-11-02 14:21


"Uffe Kousgaard" <uffe@routeware.dk> wrote in message
news:3dd370fe$0$2487$edfadb0f@dread12.news.tele.dk...
> "Simon Hiort-Lorenzen" <bulk@NOSPAMhilo.dk> wrote in message
> news:aquot5$265e$1@news.cybercity.dk...
> >
> >
> > Jeg fandt lige funktionen ChangeFileExt. Det må være det nemmeste:
> >
> > Fil := ChangeFileExt(ExtractFileName('F:\test\jpg\test\foto.jpg'), '')
>
> I dit sidste indlæg skrev du "ikke testet". Det glemte du at skrive
> her - en fin hentydning om, at din kode ikke virker. Husk at målet er,
> at få ordet "foto" ud som resultat.

Det skrev jeg ikke fordi jeg havde testet det. Det mangler selvfølgelig et
semikolon, men ellers giver det da præcis det ønskede resultat : 'foto'.

Simon



Uffe Kousgaard (14-11-2002)
Kommentar
Fra : Uffe Kousgaard


Dato : 14-11-02 14:39

"Simon Hiort-Lorenzen" <bulk@NOSPAMhilo.dk> wrote in message
news:ar07uu$64n$1@news.cybercity.dk...
> Det skrev jeg ikke fordi jeg havde testet det. Det mangler
selvfølgelig et
> semikolon, men ellers giver det da præcis det ønskede resultat :
'foto'.

Du har ret. Jeg har husket forkert i.f.t. hvad ExtractFileName
returnerer.


Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste