Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   datei von einem ordner in anderen ordner kopieren (https://www.delphipraxis.net/157678-datei-von-einem-ordner-anderen-ordner-kopieren.html)

HofiderKill 20. Jan 2011 15:47

Delphi-Version: 5

datei von einem ordner in anderen ordner kopieren
 
Hallo
ich bins schon wieder!
hab noch immer probleme mit meinem programm
ich habe 2 listboxen
in der ersten steht der komplette pfad der datei drinnen (es sind mehrere dateien)
in der zweiten listbox steht eine liste von interpreten , welche ich mir aus dem pfad ausgelesen habe!
ich möchte nun die erste datei aus der ersten ListBox in meinen ordner pfad+ListBox2.items[0](ist der erste interpret bei mir in der liste) kopieren
sprich ich habe als erste datei in der listbox1 stehen::
Code:
C:\Users\xyz\Desktop\test\Interpret1 - Titel1.mp3
und als erstes element in der listbox2:
Interpret1
stehen

nun möchte ich die Datei Interpret1 - Titel1.mp3 (wo mir der pfad bekannt ist) in den zuvor erstellten ordner Interpret1 der den Pfad hat
Code:
C:\Users\xyz\Desktop\testen\
kopieren
nebenbei habe ich die pfade mit inputboxen eingeben lassen, sprich sie sind als variable abgespeichert.
ich habe schon mit movefile herum experimentiert nur das funktioniert nicht!
ich hoffe ihr könnt mir helfen!!

mfg Florian

DeddyH 20. Jan 2011 15:56

AW: datei von einem ordner in anderen ordner kopieren
 
MSDN-Library durchsuchenCopyFile

HofiderKill 20. Jan 2011 16:31

AW: datei von einem ordner in anderen ordner kopieren
 
also ich hab das jetzt mal mit meinem projekt versucht
Code:
von, nach: string;
begin

    von := LBmusiktitel.Items[0];


    nach := 'C:\Users\Florian\Desktop\testen\';

Copyfile(PChar(von),PChar(nach), true);
jetzt sollte er doch die datei die in da listbox an erster stelle steht in den ordner testen kopieren oder??
aber bei mir passiert nichts, keine meldung gar nichts

shmia 20. Jan 2011 16:47

AW: datei von einem ordner in anderen ordner kopieren
 
Für eine Fehlermeldung musst du selbst sorgen:
Delphi-Quellcode:
von, nach: string;
begin
  von := LBmusiktitel.Items[0];
  nach := 'C:\Users\Florian\Desktop\testen\';

  if not Copyfile(PChar(von),PChar(nach), true) then
  begin
    raise EWin32Error.Create(SysErrorMessage(GetLastError)+#13#10+von+' --> '+nach);
  end;

HofiderKill 20. Jan 2011 16:49

AW: datei von einem ordner in anderen ordner kopieren
 
ja ok danke aber ich versteh nicht warum er mir die datei nicht kopiert!! kann mir jemand dabei helfen??
das wär echt net!!

shmia 20. Jan 2011 16:52

AW: datei von einem ordner in anderen ordner kopieren
 
Zitat:

Zitat von HofiderKill (Beitrag 1076183)
ja ok danke aber ich versteh nicht warum er mir die datei nicht kopiert!!

Dann rate mal, wozu das SysErrorMessage(GetLastError) dasteht!
Vielleicht sagt Dir das Betriebssystem weshalb es nicht Kopieren mag....

DeddyH 20. Jan 2011 16:53

AW: datei von einem ordner in anderen ordner kopieren
 
Man sollte auch einen Dateinamen für die Zieldatei angeben.

HofiderKill 20. Jan 2011 16:56

AW: datei von einem ordner in anderen ordner kopieren
 
danke!! das war der fehler!!!
wuhuu ihr seits echt die besten! dankeschön

p80286 20. Jan 2011 16:58

AW: datei von einem ordner in anderen ordner kopieren
 
Wenn Du eine Datei kopieren willst,
dann solltest Du den voll qualifizierten Namen der Quelldatei
und
den vollqualifizierten Namen der Zieldatei angeben.

Dann gibt es auch keine Ausreden warum etwas nicht gemacht wurde.
(Es sei denn das Ziellaufwerk\Zielverzeichnis existiert nicht, die Rechte passen nicht ....)

Gruß
K-H

**** zu spät

HofiderKill 20. Jan 2011 18:52

AW: datei von einem ordner in anderen ordner kopieren
 
ok ja klar!
danke
habs eh noch gelesen! danke!

HofiderKill 20. Jan 2011 19:33

AW: datei von einem ordner in anderen ordner kopieren
 
so ich hoffe das ließt noch wer!! Bitte

also es funktioniert wenn ich die datei von der variable von die mein ausgangspfad is in einer showmessage erhalte ich das C:\Users\Florian\Desktop\test\Avril Lavigne - Take me away.mp3 (meine Datei die ich kopieren möchte) nach C:\Users\Florian\Desktop\testen\Avril Lavigne - Take me away.mp3 (der pfad ist als nach abgespeichert) kopiere!
das funktioniert! dann hab ich die datei in dem ordner testen
nur ich will jetzt wie in dem code unten das die datei aber in den passenden ordner Avril Lavigne noch kopiert wird, also nicht nur nach testen sondern C:\Users\Florian\Desktop\testen\Avril Lavigne\Avril Lavigne - Take me away.mp3

Code:
i:integer;
von, nach,m: string;
begin
i:=0;
m:=ListBox1.Items[0];


    von := LBmusiktitel.Items[i];


    nach :=p+ListBox1.Items[i]+'\'+LBSongs.items[i] ;
     showmessage(von);
     showmessage(nach);
copyfile(PChar(von),PChar(nach), true);
nur es funktioniert weder wenn ich es so mach
Code:
nach :=p+ListBox1.Items[i]+'\'+LBSongs.items[i] ;
aber auch nicht wenn ichs so mach
Code:
nach :=p+m+'\'+LBSongs.items[i] ;
sollte ja eigentlich das gleich sein
wenn ich mir das nach in einer message ausgeben lasse erhalte ich folgenden pfad:
C:\Users\Florian\Desktop\testen\Avril Lavigne\Avril Lavigne - Take me away.mp3
jedoch ist dann in diesem ordner keine datei....

weiß jemand wieso?

P.S.: mir ist schon klar das das i unnötig ist! will es aber dann in eine schleife einbauen, deswegen jetzt schon i

rollstuhlfahrer 20. Jan 2011 19:54

AW: datei von einem ordner in anderen ordner kopieren
 
wie schon gesagt: Für die Fehlermeldung bist du selbst verantwortlich: Heißt, zuerst den Rückgabewert von CopyFile auf Erfolg prüfen. Dann bei Nicht-Erfolg den Wert von GetLastError in die Funktion zum Übersetzen schicken und davon das Ergebnis anzeigen lassen. Schon hast du deine Fehlermeldung.

Bernhard

Berni68 20. Jan 2011 20:01

AW: datei von einem ordner in anderen ordner kopieren
 
such mal nach ForceDirectories
Mit dieser Funktion können alle benötigten Unterverzeichnisse erzeugt werden.

HofiderKill 20. Jan 2011 20:15

AW: datei von einem ordner in anderen ordner kopieren
 
naja ich hab davor mit einem button schon die ordner mit den namen aus der listbox erstellt, und somit müsst ich doch die datei dann in den ordner mit dem namen aus der ersten zeile der Listbox kopieren können... oder?


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