~matlox postete warum benutzt du nicht die befehle aus SysUtils? da sind doch alle befehle drin! ChDir z.B. oder GetCurrentDir ..... um einen ordner hoeher zu springen kannst du dann ja den pfad aufspliten und einfach den teil extrahieren, der nicht mehr im pfad vertreten sein soll.
zu der frage warumich nicht die befehle aus SysUtils benutze?: Weil ich SysUtils jetzt zu ersten mal höhre
zu um einen ordner hoeher zu springen kannst du dann ja den pfad aufspliten und einfach den teil extrahieren, der nicht mehr im pfad vertreten sein soll.
na den pfad meinetwegen in einem ansistring ablegen, da gibt es naemlich auch prima funktionen um zeichen zu finden, etc. dann denn string aufsplitten(immer da wo ein \ ist). die einzelnen teile in ein array und dann kannst du nach belieben hoch und runter. zaehlt dir sogar die verzeichnisse mit. du suchst also in dem string das letzte \ (von hinten string durchsuchen mit LastDelimiter z.b. dann hast du die position) substring extrahiert dir dann den teil bis zum ende (position is der startpunkt und ansistring.length dann das ende). hoffe das hilft ....
ay, GetCurrentDir gibt dir den aktuellen pfad: cwindows\ also:
AnsiString pfad; pfad = GetCurrentDir;
in dem pfad kannst du dann wie oben beschrieben das letzte "\" finden und dann den teil rausnehmen, immer weiter bis du eben nur noch c: hast. diese teilstuecke speicherst du in einem array. so hast du alle ordner in einem array. wenn du bock hast kannst du natuerlich auch eine verknüpfte liste machen. ist sogar besser, dann kann man auch immer noch die anderen unterverzeichnisse die im gleichen verzeichnis liegen mit pointern einbinden.