String in Häppchen unterteilen?
-
Hallo
Ich habe folgendes. Ich möchte einen String in stücke unterteilen damit ich Verzeichnisse und unterverzeichnisse erstellen kann. Leider kann man mit CreateDirectory keinen kompletten pfad angeben der dann von selbst erstellt wird, falls unterverzeichnisse nicht vorhanden sind. Insofern muss ich das ganze also selbst erledigen. Okay, der String sieht inetwa so aus:
*C:\Verzeichnis1\Verzeichnis2\Verzeichnis3\Verzeichnis4\Verzeichnis5*
(doppel-backslash wird bereits berücksichtigt).
Nun muss ich also den string in 4 teile aufteilen. Mir ist die tiefe des pfades nicht bekannt, hier in diesem beispiel ist es nun 5, das kann aber varieren. Ich müsste den string nun wie folgt aufteilen:*C:\Verzeichnis1\
C:\Verzeichnis1\Verzeichnis2\
C:\Verzeichnis1\Verzeichnis2\Verzeichnis3\
C:\Verzeichnis1\Verzeichnis2\Verzeichnis3\Verzeichnis4*Bei jedem aufteilen dann abfragen ob das verzechniss vorhanden ist oder nicht und ggf. erstellen. Das ist ja dann kein problem. aber wie teile ich den string nun elegant auf? Ich kenne die methoden SubString, Pos etc. jedoch springt mir die lösung nicht isn auge. Mir ist klar das man in einer while schleife eine variable inkrementieren könnte bis jeweils ein backslash vorkommt. Aber irgendwie weis ich jetzt nicht weiter.
-
schau mal die ersten 2-3 seiten des forums durch. da gibts 2 threads bei denen es mehr oder weniger um die gleiche problematik geht (wenn auch andersrum).
-
Ertmal danke für dein posting. Habe das gefunden
http://www.c-plusplus.net/forum/viewtopic-var-t-is-127397.htmlmeintest du dass? Damit kann ich leider nichts anfangen

-
http://www.marquardtnet.info/cecke/quickies.1/1_quicky_11.html
http://www.marquardtnet.info/cecke/quickies.1/1_quicky_01.html
-
yo denk schon..direkter link eben.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-127069.htmlna is natürlich kein Musterbeispiel für genau dein Problem aber es geht auch um Zeichen nach bzw. vor Backslashes usw. Sollte dir schon weiterhelfen. Wenn es auch nur ein Hinweis auf Funktionen ist die verwendet werden.
-
danke euch beiden

-
Warum nimmst du nicht einfach ForceDirectories?
Zitat aus de Hilfe:ForceDirectories erstellt ein neues Verzeichnis (bei Bedarf werden auch die übergeordneten Verzeichnisse angelegt).
Unit
SysUtils
oder FileCtrlextern PACKAGE bool __fastcall ForceDirectories(AnsiString Dir);
Beschreibung
ForceDirectories erstellt das in Dir vollständig angegebene Verzeichnis. Sind die übergeordneten Verzeichnisse nicht vorhanden, werden diese automatisch angelegt. ForceDirectories gibt den Wert true zurück, wenn alle notwendigen Verzeichnisse erfolgreich erstellt wurden. Andernfalls wird false zurückgegeben.