AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein letzen Ordnernamen eines Pfades ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

letzen Ordnernamen eines Pfades ermitteln

Ein Thema von padavan · begonnen am 28. Okt 2005 · letzter Beitrag vom 28. Okt 2005
Antwort Antwort
Seite 2 von 2     12   
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#11

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 09:52
Hallo,
wie wär's damit..

Delphi-Quellcode:
function gibletztenOrdner(komplett: String): String; // es muss der ganze Pfad mit Dateiname übergeben werden
begin
  Result := ExtractFileName(ExcludeTrailingPathDelimiter(ExtractFilePath(komplett)));
end;
..da ist man auch nicht auf den Backslash festgelegt.
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#12

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 10:10
Morgen,

Kann man da nicht auch einfach die Funktion ExtractRelativePath verwenden?

fShortDirectory := ExtractRelativePath(fFullDirectory, fFullDirectory);
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#13

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 11:18
Hallo Leute,

was haltet Ihr davon (getestet unter Delphi 5):



Delphi-Quellcode:
function GetLstPathName( pn : string) : string;
begin
  pn := ExcludeTrailingBackslash(ExtractFilePath(pn));
  // es sollte eigentlich immer noch ein \ in der Zeichenkette stehen
  Result := copy(pn, LastDelimiter('\', pn)+1, length(pn));
end;

// pn muß am Ende ein Backslash haben oder einen Dateinamen

procedure TFAB.test1Click(Sender: TObject);
begin
  // Aufruf entweder nur mit Pfadname auf \ endend
  s := 'C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Testpfad\Settings\';

  // oder mit Dateiname

  s := 'C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Testpfad\Settings\test.dat';

  lblTest.Caption := GetLstPathName(s); // --> Settings
end;

@s14: ExcludeTrailingPathDelimiter gibt es unter Delphi5 noch nicht

@dahead:
fShortDirectory := ExtractRelativePath(fFullDirectory, fFullDirectory); lieferte mir nur den Dateinamen im Test

mfg
eddy
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#14

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 11:54
@eddy:

du darfst diese funktion dann auch nur mit verzeichnis-namen aufrufen.
  Mit Zitat antworten Zitat
dimo

Registriert seit: 28. Okt 2005
22 Beiträge
 
#15

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 13:18
ExtractFileName(ExcludeTrailingBackSlash(ExtractFi lePath('c:\windows\system32\a.txt')))
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#16

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 13:41
@dimo

Hast Du Beitrag #11 gelesen?
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#17

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 13:57
Kleine Anmerkung zu den ganzen Lösungen hier:

1.) Laut Delphi-Hilfe sollen neue Programme die Funktionen IncludeTrailingPathDelimiter und ExcludeTrailingPathDelimiter benutzen, nicht die alten Versionen mit "Backslash" im Namen. Natürlich nur, wenn wan eine entsprechend neue Delphi-Version hat, in der es diese Funktionen schon gibt.

2.) Kennt ihr den Unterschied zwischen ExtractFileDir und ExtractFilePath? Ersteres liefert das Verzeichnis ohne terminierenden Pathdelimiter. D.h. statt "ExcludeTrailingPathDelimiter(ExtractFilePath(...) )" kann man auch einfach "ExtractFileDir(...)" schreiben.
Einen kleinen Unterschied gibt es aber schon:
ExcludeTrailingPathDelimiter(ExtractFilePath('C:\' )) ergibt 'C:'
ExtractFileDir('C:\') ergibt 'C:\'
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#18

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 14:05
Hallo,

ab Delphi 3 und unter
Berücksichtigung von Dateien die sich im Root-Verzeichnis befinden können:
Delphi-Quellcode:
function FolderOrDrive(fileName: string): string;
var i : Integer;
begin
  Result := ExtractFileDir(fileName);
  i := LastDelimiter('\',Result);
  if i = 3 then
    Delete(Result,i,1)
    else
      Delete(Result,1,i);
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
dimo

Registriert seit: 28. Okt 2005
22 Beiträge
 
#19

Re: letzen Ordnernamen eines Pfades ermitteln

  Alt 28. Okt 2005, 14:19
Nein
Zitat von s14:
@dimo

Hast Du Beitrag #11 gelesen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz