Announcement

Collapse
No announcement yet.

Relative Pfadangabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Relative Pfadangabe

    Hallo liebe Gemeinde!

    Ich sehe mal wieder den Wald vor lauter Bäumen nicht und bitte daher um etwas Hilfe.
    <p>
    In meine Anwendung habe ich eine Backup Funktion integriert, die es dem Benutzer erlaubt, ein Backup ein Verzeichnisses anzulegen.<br>
    In meinem Fall ist der Pfad zu diesem Verzeichnis immer gleich.<br>
    Der Nutzer kann nun in dieser Backup Funktion das zu sichernde Verzeichnis nicht angeben. Der Pfad bleibt ja immer gleich. Er gibt lediglich das Ziel an.<br>
    Nun versuche ich mittels <b>SHFileOperation</b> (wie schon oft hier besprochen) dieses Verzeichnis zu kopieren.<br>
    Mit einer relativen Pfadangabe funktioniert es aber leider nicht. Gebe ich die absolute Pfadangabe an, so ist alles kein Problem.<br>
    Wie kann ich also eine relative Pfadangabe realisieren?<br>
    Ich habe es bereits mittels <b>ExtractFilePath(Application.ExeName)</b> versucht. Doch ich müsste von diesem Pfad noch ein Verzeichnis höher.<br>
    Wie dem auch sei. Ich hoffe mir kann geholfen werden.<br>
    Besten Dank im voraus.<br>
    <p>
    mfg<br>
    <p>
    Torsten Bloth

  • #2
    Hallo Torsten,<p>
    wenn du mit <B>ExtractFilePath(Application.ExeName)</B> bereits einen Pfad zur Verfügung hast, dann ist es doch ganz einfach von diesem Pfad die unterste Ebene rauszuschneiden:<PRE>
    function TForm1.EntferneNEbenenImPfad(const Pfad: String; N: Integer): String;
    var
    I: Integer;
    BackSlashCounter: Integer;
    begin
    Result := '';
    if (Pfad <> '') and (N >= 1) then begin
    BackSlashCounter := 0;
    for I := Length(Pfad) downto 1 do begin
    if Pfad[I] = '\' then begin
    if BackSlashCounter = N then begin
    Result := Copy(Pfad, 1, I);
    Break;
    end;
    Inc(BackSlashCounter);
    end;
    end;
    end;
    end;

    Edit1.Text := EntferneNEbenenImPfad(ExtractFilePath(Application. ExeName), 1);
    </PRE>
    Gruß<p>
    Wolfgang Rolle

    Comment


    • #3
      Hallo Wolfgang,

      besten Dank für die Lösung. Funktioniert wunderbar.<br>
      Diese Variante kannte ich zwar noch nicht, doch es klappt ja auch so. Meine Lösung ist mir irgendwie abhanden gekommen.

      Gruß

      Torste

      Comment

      Working...
      X