Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateien kopieren (https://www.delphipraxis.net/95262-dateien-kopieren.html)

smart 4. Jul 2007 08:16


Dateien kopieren
 
Guten Morgen!

Wie kopiert man mit Delphi Dateien. Irgend wie klappt das bei mir nicht. Ich habe es so versucht.
Delphi-Quellcode:
function DateiKopieren(const Quelle, Ziel: string; Ueberschreiben: Boolean = true): Boolean;
begin
  Result := CopyFile(PChar(Quelle),PChar(Ziel),not Ueberschreiben);
end;
Klappt aber nicht.

Gruß
Heike

mkinzler 4. Jul 2007 08:20

Re: Dateien kopieren
 
CopyFile()

Bernhard Geyer 4. Jul 2007 08:20

Re: Dateien kopieren
 
Zitat:

Zitat von smart
Wie kopiert man mit Delphi Dateien.

Z.b. mit der CopyFile-Funktion aus der Windows-API (Windows.pas)

Zitat:

Zitat von smart
Irgend wie klappt das bei mir nicht.

Also bei fast 1000 Beiträgen hatte ich schon etwas genauere Beschreibung erwartet. Du weist ja - Glaskugel :-)

smart 4. Jul 2007 08:30

Re: Dateien kopieren
 
Zitat:

Zitat von Bernhard Geyer
Also bei fast 1000 Beiträgen hatte ich schon etwas genauere Beschreibung erwartet. Du weist ja - Glaskugel :-)

Hi Bernhard!

Da kann ich nicht viel schreiben. Kopiert einfach nicht. Kommt auch keine Fehlermeldung.

Gruß
Heike

DeddyH 4. Jul 2007 08:31

Re: Dateien kopieren
 
Was sagt denn GetLastError?

TeronG 4. Jul 2007 08:37

Re: Dateien kopieren
 
Die üblichen verdächtigen haste bestimmt schon ausgeschlossen oder?

Quelle existiert? bzw in Quelle "steht was drinnen"?
Quelle & Ziel vertauscht?
Die variabeln Quelle & Ziel sind einmalig?
Letzter Fehler?
Schreibrechte sind vorhanden?
Rechner neugestartet ^^

...

smart 4. Jul 2007 08:41

Re: Dateien kopieren
 
Hi.

Ich möchte einfach eine Datei von C:\datei.txt nach D:\ kopieren. Dafür habe ich mir die obige Funktion geschrieben. Wenn ich diese ausführe wird sie Fehlerfrei abgearbeitet. (Keinerlei Fehler). Wenn ich dann nachschaue ist die Datei nicht kopiert worden. Die gleiche Datei lässt sich aber mit dem Explorer kopieren.

Gruß
Heike

TeronG 4. Jul 2007 08:45

Re: Dateien kopieren
 
Steht bei dir bei Ziel der Dateiname auch dabei? oder nur der Ort?

Also 'd:\test.txt' oder 'd:\'

smart 4. Jul 2007 08:46

Re: Dateien kopieren
 
Zitat:

Zitat von TeronG
Die üblichen verdächtigen haste bestimmt schon ausgeschlossen oder?...

Jau, habe ich.
Zitat:

Zitat von TeronG
"steht was drinnen"?

Hmm, muss das was drinnen stehen? Kann man keine Lehrdatei kopieren?

Gruß
Heike

TeronG 4. Jul 2007 08:48

Re: Dateien kopieren
 
Zitat:

Zitat von smart
Zitat:

Zitat von TeronG
"steht was drinnen"?

Hmm, muss das was drinnen stehen? Kann man keine Lehrdatei kopieren?

Sorry .. ich meinte in der Variabel und nicht in der Datei. :roll: (zu schnell/ungeneu getippt)


EDIT: Ich tippe ja stark darauf, daß im Ziel der Dateiname fehlt! (das gibt keine fehlermeldung kopiert wird aber auch nix)
nochn EDIT: GetLastError währe dann 3 ... (nur so btw)
EDIT3: (liest das noch einer?) MyFehlerstring := SysErrorMessage(GetLastError);

DeddyH 4. Jul 2007 08:49

Re: Dateien kopieren
 
Zeig doch mal den Aufruf.

Hawkeye219 4. Jul 2007 08:52

Re: Dateien kopieren
 
Hallo Heike,

du solltest als Ziel einen Dateinamen angeben.

Gruß Hawkeye

//Edit: Sorry, TeronG hatte es schon geschrieben...

smart 4. Jul 2007 09:28

Re: Dateien kopieren
 
Hallo.

Zielname habe ich angegeben. GetLastError ist 0. Das muss Irgendwie an Vista liegen. Ich habe jetzt mal das Ganze auf einen anderen Rechner mit XP laufen lassen. Da klappt es einwandfrei. Komische Sache !?

Gruß
Heike

Bernhard Geyer 4. Jul 2007 09:37

Re: Dateien kopieren
 
Zitat:

Zitat von smart
Zielname habe ich angegeben. GetLastError ist 0. Das muss Irgendwie an Vista liegen. Ich habe jetzt mal das Ganze auf einen anderen Rechner mit XP laufen lassen. Da klappt es einwandfrei. Komische Sache !?

Kannst du mit dem Explorer die Kopieraktion durchführen? (Bitte auch mit F5 kontrollieren ob der Windows Explorer hier dich nicht veräppelt). Evtl. mit Alternativdateiexplorer durchführen. Evtl. mit Console und Copy-Befehl nochmals probieren.
Und eine evtl. vorhandene Zieldatei (im Code) per DeleteFile vorsorglich löschen.

Luckie 4. Jul 2007 10:04

Re: Dateien kopieren
 
Von wo nach wo willst du denn kopieren und mit welchen Benutzerrechten? Eventuell wird das ganze ja von Vista virtualisiert.

smart 4. Jul 2007 10:18

Re: Dateien kopieren
 
Zitat:

Zitat von Luckie
Von wo nach wo willst du denn kopieren und mit welchen Benutzerrechten? Eventuell wird das ganze ja von Vista virtualisiert.

Hi Michael.

Ich wollte von C:\Test.txt nach D:\Test.txt mit normalen User- Rechten kopieren. Das geht aber nicht! Die obige Routine wird zwar Fehlerfrei abgearbeitet aber nicht wirklich kopiert. Auch mit Adminrechten nicht. Wenn ich das Ganze unter XP laufen lasse, klappt es einwandfrei.

Gruß
Heike

TeronG 4. Jul 2007 10:24

Re: Dateien kopieren
 
Zitat:

Zitat von smart
GetLastError ist 0. Das muss Irgendwie an Vista liegen.

Kein LastError bei Vista!? Wie Uncool!

Bei Vista kannich leider nimmer weiterhelfen :?
Währe ja zu schön gewesen, wenn es nur so n einfacher Fehler gewesen währe.

Gruß
Steve

DeddyH 4. Jul 2007 10:40

Re: Dateien kopieren
 
Zitat:

Zitat von TeronG
Kein LastError bei Vista!? Wie Uncool!

Sehe ich genauso. Eigentlich hatte ich mit 5 gerechnet.

hoika 4. Jul 2007 11:03

Re: Dateien kopieren
 
Hallo,

probiere mal, die Datei über die Kommando-Console (cmd) zu kopieren,
also Start-Ausführen CMD

copy c:\datei.txt d:\


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz