AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi MoveFile ? RenameFile ? dwMoveDirFile ?
Thema durchsuchen
Ansicht
Themen-Optionen

MoveFile ? RenameFile ? dwMoveDirFile ?

Ein Thema von spacewolf · begonnen am 28. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

MoveFile ? RenameFile ? dwMoveDirFile ?

  Alt 28. Sep 2005, 06:48
MoveFile ? RenameFile ?

Was ist der Unterschied ?

RenameFile scheint nur zu funktionieren, wenn die Datei im selben Verzeichnis liegt.
MoveFile scheint wirklich die Datei von A nach B zu kopieren und die alte zu löschen.

Ich würde aber lieber, das der wie "früher" einfach nur in der Partitionstabelle, den Ort der Datei ändert.
Oder macht der das bei MoveFile ?

Genauso für dwMoveDirFile (DelphiWorks) - da dauert das verschieben eines Verzeichnisses das viele Dateien beinhaltet so lange wie bei Windows... also zu lange...

habt ihr da irgendwelche Informationen oder Ideen ?



euer Andreas <><
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: MoveFile ? RenameFile ? dwMoveDirFile ?

  Alt 28. Sep 2005, 07:42
es kommt immer darauf an von wo nach wo verschoben wird. Wenn das verschieben innerhalb einer Partition geschieht sollte es durch ändern der Partitionstabelle geschehen ansonsten geht eben nur kopieren und danach löschen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#3

Re: MoveFile ? RenameFile ? dwMoveDirFile ?

  Alt 28. Sep 2005, 13:26
d.h. statt renamefile könnte ich einfach generell movefile nehmen ?

Bei den Funktionen von DelphiWorks dauert es trotzdem recht lang wenn ich ein Verzeichnis verschiebe, obwohl es auf der selben Partition habe. Wenn ich das selbe übern Explorer mache gehts denke ich schneller...
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: MoveFile ? RenameFile ? dwMoveDirFile ?

  Alt 28. Sep 2005, 13:31
Der Explorer verschiebt ja wirklich (wenn möglich) nur den "Zeiger" auf die Verzeichnisdaten.

Eventuell macht deses MoveFile ja net ('s heißt ja auch MoveFile und net MoveDir ^^).
Kann ja sein, daß dort immer ein neues Verzeichnis erstellt und dann jede Datei einzeln übertragen wird.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: MoveFile ? RenameFile ? dwMoveDirFile ?

  Alt 28. Sep 2005, 18:46
Also SysUtils.RenameFile sieht so aus:

Delphi-Quellcode:
function RenameFile(const OldName, NewName: string): Boolean;
begin
{$IFDEF MSWINDOWS}
  Result := MoveFile(PChar(OldName), PChar(NewName));
{$ENDIF}
{$IFDEF LINUX}
  Result := __rename(PChar(OldName), PChar(NewName)) = 0;
{$ENDIF}
end;
... und für die API-Funktion MoveFile gilt:

Zitat von MSDN:
The MoveFile function will move (rename) either a file or a directory (including its children) either in the same directory or across directories. The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume.

If a file is moved across volumes, MoveFile does not move the security descriptor with the file. The file will be assigned the default security descriptor in the destination directory.

The MoveFile function coordinates its operation with the link tracking service, so link sources can be tracked as they are moved.
Sollte also ziemlich schnell gehen wenn Quelle und Ziel auf derselben Partition liegen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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