AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Path in seine Unter-Ordner zerlegen

Ein Thema von bernhard_LA · begonnen am 12. Apr 2012 · letzter Beitrag vom 12. Apr 2012
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 12:22
gibt es eigentlich schon Funktionen in Delphi um aus einem Pfad die einzelnen Unterorder zu extrahieren
ich dachte an eine Funktion wie ....
  1. GetSubFolderName('c:\temp\test\heute\demo', 0) ergibt dann c:
  2. GetSubFolderName('c:\temp\test\heute\demo', 1) ergibt dann c:\temp\
  3. GetSubFolderName('c:\temp\test\heute\demo', 2) ergibt dann c:\temp\test\
    ....
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 12:24
Naja, das wäre rein logisch eher falsch:
GetSubFolderName('c:\temp\test\heute\demo', 0) ergibt dann c: C: ist ja ein Laufwerk, wenn man es genau nimmt und ein Ordner.

Aber andere Frage: Wieso brauchst du sowas? Kann mir kein Fall vorstellen, bei dem ich speziell auf den dritten Unterordnername eines Pfades zugreifen will.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 12:27
Wobei der Ansatz nicht optimal ist...
Delphi-Quellcode:
Function GetPolderPart(const s:String;Index:Integer):String;
var
 sl:TStringList;
begin
  sl := TStringList.Create;
  try
    sl.Delimiter := '\';
    sl.DelimitedText := s;
    if Index < sl.Count then Result := sl[index ] else Result := '';
  finally
    sl.Free;
  end;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 12:28
Es gibt ProcessPath, der zerlegt den Pfad in Laufwerk, Verzeichnis und Dateiname. Wenn du es genauer willst, dann einfach das Verzeichnis zerlegen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:00
Wobei der Ansatz nicht optimal ist...
Delphi-Quellcode:
Function GetPolderPart(const s:String;Index:Integer):String;
var
 sl:TStringList;
begin
  sl := TStringList.Create;
  try
    sl.Delimiter := '\';
    sl.DelimitedText := s;
    if Index < sl.Count then Result := sl[index ] else Result := '';
  finally
    sl.Free;
  end;
end;
AFAIK ist auch der Slash mittlerweile ein gültiger Trenner, und Du hast StrictDelimiter vergessen, sonst kommt bei Pfaden mit Leerzeichen ein falsches Ergebnis.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (12. Apr 2012 um 13:28 Uhr) Grund: Tippfehler
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:02
die Anwendung :

habe nach einem Datencrash von Festplatte und BackupPlatte (Hingen am selben HD Controller ) und viel Aufwand für Daten recovery jetzt zwei halbe Versionen meiner Daten

baue gerade eine merger & recovery app

for each Folder in datenrettung 1
prüfe alle Files in Ordner ....
schaue mal im referenzordner in Datenrettung #2
kopiere nach besten wissen und gewissen in ein neues Target
end;


kann jemand ein fertiges Tool hierfür ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:10
Entweder rekursiv mit FindFirst/FindNext durchgehen oder SHFileOperation, das müsste recht einfach zu machen sein, wenn es um das reine Kopieren geht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:21
@DeddyH
Du hast wie immer Recht, ich traue mich bald nicht mehr etwas zu schreiben ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:29
Och, mir geht das auch öfter so in letzter Zeit
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Path in seine Unter-Ordner zerlegen

  Alt 12. Apr 2012, 13:36
C: währe eigentlich nicht richtig, da daß \ dort eigentlich noch dazugehört, denn sonst währe es ein relativer Pfad (aktuelles Arbeitsverzeichnis dieses Laufwerks)

Recursiv über ExtractFilePath/ExtractFileDir ließe sich der String vermutlich sicherer aufteilen.



Und das Tool:
Enthält mindestens eines der Verzeichnisse nur korrekte Daten? (keine defekten Dateien)
Wenn ja, dann nimm den Explorer und kopier dieses Verzeichnis in das Andere hinein.
(am Sicheresten das Verzeichnis in eine Kopie des anderen Verzeichnisses)
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:13 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