Autor Beitrag
ethillias
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Di 16.12.08 19:51 
Hi,

ich habe mir eine TShellListView erstellt die mir meine Ordnerinhalte anzeigt.
Nun möchte ich das in dem aktuel angezeigten Ordner ein neuer Ordner erstellt wird.

Dazu habe ich mir ein Popup auf den rechten Mausklick gelegt mit einem Neuer Ordner Button, wenn dieser geklickt wird soll hier ein neuer Ordner erstellt werden.

Ich weiß das man mit createdir(PATH); einen Ordner erstellt die frage ist nur, wie finde ich heraus in welchem Ordner ich mich gerade befinde?
ausblenden Delphi-Quelltext
1:
createdir(ListView.SelectedFolder.Pathname);					


Geht ja leider nicht da mir hier der Unterordner und nicht der Odner in dem sich dieser befindet angegeben wird, außerdem funktioniert das nicht wenn ich nichts ausgewählt habe.

Danke


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 16.12.2008 um 19:24
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Mi 17.12.08 10:55 
Die TShellTreeView-Komponente ist doch noch sehr rudimentär. D.h., sie ist gut für alltägliche Sachen, aber wenn es ans Eingemachte geht, stößt man schnell an die Grenzen.

In Deinem Falle würde ich PATHNAME auswerten und mit den Delphi-Funktionen DirectoryExists (oder so ähnlich) prüfen, ob es sich um eine gültige Pfadangabe handelt. Im Negativ-Fall darf das Popup schon gar nicht aufgehen, um einen Folder anzulegen.

Wenn Du weitere Funktionalitäten brauchst, dann kann ich den JamShellbrowser nur wärmstens empfehlen. Ist zwar kostenpflichtig, aber man kann im Grunde fast alles machen, was der Windows-Explorer auch kann.

Alternativ musst Du dich in das wirklich quälende Thema rund um IShellFolder beschäftigen.

_________________
Es gibt keine Probleme - nur Lösungen!