Pfad mit variablen Laufwerk und Dateiendung aus AnsiString filtern
-
könnt ihr mir bitte gaanz kurz was helfen beim bcb
? und war gibts folgenden AnsiString:
Gehe zu C:\Eigene Dateien\test\test7\test.txt!
jetzt soll daraus der pfad geliefert werden... (ohne dass das Laufwerk und Dateiendung bekannt ist - UFF)
-
String abschneiden bei AnsiPos(":") - 1.
-
häh? ich versteh garnix (:
-
Anhand des ":" stellst du fest, wo der Laufwerksbuchstabe steht, gehst noch ein Zeichen zurück (-1, um den Buchstaben selbst auch zu erfassen) und extrahierst dann zB. per SubString und der eben ermittelten Position den gewünschten Teil des Strings. Zum Schluss schneidest du per Delete() noch das letzte Zeichen ab.
PS. Vor dem nächsten "häh" sieh dir bitte die Hilfe zu AnsiString und dessen Methoden an.!
[ Dieser Beitrag wurde am 19.02.2003 um 08:51 Uhr von Jansen editiert. ]
-
Morgen jan,
ExtractFileDrive,
ExtractFileDir,
ExtractFilePath,
ExtractFileName,
ExtractFileExtaus Sysutils.hpp sind Deine Freunde...
HTH Jürgen
-
Jürgen:
Schon mal geprüft, was zB. ExtractFilePath bei dem String "Gehe zu C:\Eigene Dateien\test\test7\test.txt!" zurückgibt?
-
Hallo Jansen,
zu Deiner Frage: Ja, habe ich. Das Ergebnis ist genau das gleiche wie bei ExtractFileDir, nur das noch der abschließende Backslash mit dabei ist. Meine Angaben waren waren nur als Anregung gedacht. Mit F1 kann jan dann ja weiter lesen. Nicht mehr und nicht weniger sollte mein Posting sein.
ciao
-
Wer lesen kann ist klar im Vorteil. Asche auf mein Haupt. Ok, der String lautet: "Gehe zu C:\Eigene Dateien\test\test7\test.txt!". Dann brauchts auch die Methoden Pos und Substring von AnsiString.
und wech...
-
@Jansen: Ok, danke, damit habe ich den Anfang des Strings... im Beispiel das "C"; jetzt machst du dir es aber zu einfach *g* ... (ich bin schuld, ok, blödes beispiel!)... nach dem pfad kanne s beliebig lange weiter gehen... von daher ist es ja so problematisch für mich... ich kann nciht einfach nur das letzte zeichen per delete löschen, wenn da viele und nicht nur ein Zeichen sind... irgendwie muss ich da ne dateiendung rausfinden (die aber beliebig sein kann) ... also so leicht ist es nun doch nicht!
-
LastDelimiter();
-
Allgemein die AnsiString-Methoden.
Ohne ein wenig parsen geht's halt doch nicht
-
ok, ich habe jetzt beide positionen. (anfang und ende des pfads) wie ist es mir jetzt noch möglich, mit hilfe von anfangs und endposition aus dem ursprungsstring den pfad "herauszupflücken"
?
-
na wenn du anfang und ende hast, sollte das ja pippifax sein oder (ansistring-methoden!) ???