Autor Beitrag
Michi
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 22.10.02 17:26 
Hi,
wie lasse ich mein Programm eine bestimmte Exe Datei in irgend einen beliebigen Orden verschieben? :?: :nixweiss:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.10.02 17:32 
Mit CopyFile kopieren und mit DeleteFile die Datei am Ursprungsort löschen.
Oder SHFileOperation nutzen.
Snippy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mi 23.10.02 12:33 
Und so sieht das in der Praxis aus:

ausblenden Quelltext
1:
2:
3:
CopyFile('C:/test.exe','c:/test_copy.exe',True); 
MoveFile('C:/test.exe','d:/test.exe'); 
DeleteFile('C:/test.exe');

_________________
Carpe Diem!
Schattengeist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29



BeitragVerfasst: Sa 26.10.02 11:44 
Moin!
oder Movefile:
ausblenden Quelltext
1:
2:
if MoveFile( PChar('C:/test.exe') , PChar('c:/test_copy.exe') ) then
   showmessage('OK');

MFG,cu,LLAP Schattengeist
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 26.10.02 11:47 
@Schattengeist: :? Mach mal ´n Licht an, dann schau mal auf das Posting deines Vorgängers - mittlere Codezeile. :wink:
Schattengeist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29



BeitragVerfasst: Sa 26.10.02 12:20 
Moin!
MathiasSimmack hat folgendes geschrieben:
@Schattengeist: :? Mach mal ´n Licht an, dann schau mal auf das Posting deines Vorgängers - mittlere Codezeile. :wink:

Hmmm. OK.... ja.... Wenn man denkt, das man denkt,.... :oops:
Ehrlich gesagt: bringt mich das jetzt durcheinander:
a) PChar vergessen,
b) 'doppelt gemoppelt hält länger', oder 'wie verwirre ich die verfolger' :roll:
IMHO sollte die mittlere Zeile alternativ darstehen. So macht das keinen Sinn - oder?
MFG,cu,LLAP Schattengeist
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 26.10.02 12:54 
*hi hi*

Ich habe nicht gesagt, dass das Posting von Snippy besonders logisch ist. Natürlich wäre eine andere Aufteilung nützlicher gewesen, so dass man auf den ersten Blick sieht:
Aha! "CopyFile" + "DeleteFile" = "MoveFile"

Das mit dem
Zitat:
PChar vergessen

würde ich nicht unbedingt als Fehler ansehen. Als Ergänzung vielleicht noch die, von Luckie schon erwähnte "SHFileOperation". Ist vielleicht ganz nützlich bei sehr großen Dateien oder auch generell, weil man damit auch die Kopieranimation des Explorers nutzen kann und nicht selbst programmieren muss:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
uses
  ShellAPI;
var
  fileop : TSHFileOpStruct;

{ ... }

fillchar(fileop,sizeof(TSHFileOpStruct),0);
fileop.Wnd    := WINDOW-HANDLE
fileop.wFunc  := FO_MOVE;
fileop.pFrom  := pchar('c:\test.exe' + #0#0);
fileop.pTo    := pchar('d:\' + #0#0);
// evtl. weitere Flags

if(SHFileOperation(fileop) = 0) then { do something };

Ein Blick in die Hilfe, bzw. ins MSDN/PSDK (s. Luckies Beitrag) ist immer gut, weil diese Funktion "nebenbei" auch kopieren, umbenennen und löschen kann ... :)