Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:14 Der er 9 kommentarer og
2 løsninger

Et lille problem...

Hej eksperter,
Jeg vil høre om det er muligt at få en bestemt del af en sti. Fx:

  D:\Inetpub\Wwwroot\dc\default.asp
  Til:
  dc\default.asp

Det skal også virke hvis der er flere mapper - undermapper.
Men (Drevet):\Inetpub\Wwwroot\ skal bare "slettes"... Hvordan?

//Mr.Meincke
Avatar billede Slettet bruger
26. februar 2003 - 16:14 #1
bedre overskrift ville være rart
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:18 #2
kk
Avatar billede nop Nybegynder
26. februar 2003 - 16:21 #3
function ExtractFileName(const FileName: string): string;
i unit sysUtils.
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:25 #4
den tager hele stigen...
Avatar billede nop Nybegynder
26. februar 2003 - 16:26 #5
..har læst indad nu:

result:='dc\'+ExtractFileName('D:\Inetpub\Wwwroot\dc\default.asp');

du kan ikke undgå at få slettet 'dc' på den her måde.

Ellers er dit problem jo ret simplet:

result:=copy(str,19,length(str)-19); //hvor str er fuldt filnavn

men så virker det kun på netop denne sti.
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:36 #6
OK... Det sidste eksempel ('http://localhost' + copy(fEditor.fFileName,19,length(fEditor.fFileName)-18)) virkede... Men er det muligt at "vende" slashene fra "\" til "/" ?
Avatar billede dkn Nybegynder
26. februar 2003 - 16:36 #7
skulle give dig en ide om hvad man kan gøre:

function ToTilbage(folder: string): string;
var
  st: string;
begin
  if Copy(folder, Length(folder), 1) = '\' then
    folder := Copy(folder, 1, Length(folder) - 1);
  st := copy(folder, 1, lastdelimiter('\', folder) - 1);
  st := copy(st, 1, lastdelimiter('\', st));
  st := copy(folder, length(st) + 1, length(folder));
  result := st;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(ToTilbage(application.ExeName));
end;
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:36 #8
så får du 30 points xtra
Avatar billede dkn Nybegynder
26. februar 2003 - 16:46 #9
ændret lidt i extractfilename funktion:

function ExtractURLFileName(const URL: string): string;
var
  I: Integer;
Const
  PathDelim  = '/';
  DriveDelim = '//';
begin
  I := LastDelimiter(PathDelim + DriveDelim, URL);
  Result := Copy(URL, I + 1, MaxInt);
end;

det kan du vel bruge til dit andet q
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:49 #10
Fandt selv ud af det ;) Lavede en løkke eller hvad de hedder...
Avatar billede mr.meincke Nybegynder
26. februar 2003 - 16:49 #11
Tak for hjælpe!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester