Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windsdialog zur Ersetzung eines Ordners austauschen (https://www.delphipraxis.net/101020-windsdialog-zur-ersetzung-eines-ordners-austauschen.html)

Nils_13 7. Okt 2007 09:25


Windsdialog zur Ersetzung eines Ordners austauschen
 
Hi,

ich habe in meinem Programm eine Routine, die einen Dialog öffnet, wenn man einen Ordner in ein Verzeichnis kopieren will, aber dieser gleichnamig schon vorhanden ist. Beispiel: Angenommen es liegt in E:\bla ein Ordner namens asd. Der Ordner, welchen ich nach E:\bla kopieren will heißt auch asd. Dann kommt ein Dialog ob man ihn ersetzen möchte.

Wenn man bei der Nachfrage auf "Ja" klickt (=Ersetzen), dann bekomme ich beim Kopiervorgang den folgenden Windowsdialog zu sehen:
Zitat:

Ersetzen von Ordner bestätigen
-----------------------------------------
Dieser Ordner enthält einen Ordner "asd".

...
-----------------------------------------
Ja Ja alle Nein Abbrechen
(warum hat Strg+C nicht geklappt, ich musste ihn tatsächlich abtippen....)

Diese Meldung wird von
Delphi-Quellcode:
CopyDir(PChar(fCopy), PChar(Pfad));
aufgerufen. fCopy ist in dem Fall E:\asd und Pfad ist E:\bla (in E:\bla gibt es das Unterverzeichnis "asd", siehe oben). Wie könnte man diese Meldung umgehen ? Bei Dateien gibt es bei der Kopierfunktion einen Parameter, der sagt, ob bei bestehen der Datei weitergemacht werden soll oder nicht, hier gibt es diesen Parameter nicht (CopyFile(PChar(fCopyB), PChar(PfadB+ExtractFileName(fCopyB)), False)).

SirThornberry 7. Okt 2007 10:26

Re: Windsdialog zur Ersetzung eines Ordners austauschen
 
du könntest dir selbst eine routine schreiben welche jede Datei einzeln kopiert und die Ordner anlegt (so würde ich es machen wenn mir die Windowsfunktion nicht zusagt)

Nils_13 7. Okt 2007 15:54

Re: Windsdialog zur Ersetzung eines Ordners austauschen
 
Daran dachte ich auch schon, aber ich wollte es eigentlich vermeiden, da es von Windows aus irgendwo schneller und außerdem schöner zu programmieren ist. Nun gut, wenn es nicht anders geht bleibt mir keine Wahl. Danke.

Rastaman 7. Okt 2007 20:02

Re: Windsdialog zur Ersetzung eines Ordners austauschen
 
Prüf doch einfach vorher ob der ORdner schon da ist. Wenn ja lösch ihn (oder vorher eigene Abfrage?) und benutze dann CopyDir.


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