Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   String mit Dateipfad umstellen (https://www.delphipraxis.net/182861-string-mit-dateipfad-umstellen.html)

MondoShiva 22. Nov 2014 15:10

Delphi-Version: XE2

String mit Dateipfad umstellen
 
Hallo zusammen,

danke schonmal fürs annehmen meines Problems :) und helfen.

Mein Problem stellt sich wie folgt dar.

Ich lese einen String aus dem TOpenDialog aus, welchen ich anschließend verändern möchte um Ihn dann in eine txt datei zu schreiben ohne den Inhalt derer zu verlieren.

Lesen Schreiben und hinzufügen ist kein Problem aber ich kriege den String nicht umgestellt.

Folgendes lese ich:
C:\Users\Admin\Documents\Embarcadero\Studio\Projek te\Win32\Debug\Project1.exe

und folgendes muss ich daraus machen:
Project1|Project1.exe|C:\Users\Admin\Documents\Emb arcadero\Studio\Projekte\Win32\Debug

Habe schon versucht "\" als Delimiter zu nutzen und an die letzte stelle zu navigieren, jedoch ist meine Erfahung hier nicht wirklich groß. Aber ich bin willens zu lernen :)

Sicherlich eine kleinigkeit für jemanden mit mehr Erfahrung.

DeddyH 22. Nov 2014 15:30

AW: String mit Dateipfad umstellen
 
Aus der hohlen Hand, daher ungetestet:
Delphi-Quellcode:
Exename := ExtractFileName(Pfad); //Project1.exe
WithoutExtension := ChangeFileExt(Exename, ''); //Project1
DirName := ExtractFileDir(Pfad); //C:\Users\Admin\Documents\Embarcadero\Studio\Projekte\Win32\Debug

MondoShiva 22. Nov 2014 16:06

AW: String mit Dateipfad umstellen
 
Ohne Worte war ich aufm Holz weg.

Großes Danke :thumb:

Uwe Raabe 22. Nov 2014 16:50

AW: String mit Dateipfad umstellen
 
Und nun noch für die mit neuerem Delphi:

Delphi-Quellcode:
uses
  System.IOUtils;

...

  Pfad := 'C:\Users\Admin\Documents\Embarcadero\Studio\Projekte\Win32\Debug\Project1.exe';

  ExeName := TPath.GetFileName(Pfad);
  PrjName := TPath.GetFileNameWithoutExtension(Pfad);
  DirName := TPath.GetDirectoryName(Pfad);

  output := string.Join('|', [PrjName, ExeName, DirName]);


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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