copyfile erzeugt nur 0-Byte-Dateien

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

copyfile erzeugt nur 0-Byte-Dateien

Beitrag von niederrheiner »

Hallo an Alle,

mit dem folgenden Code möchte ich Dateien von einer Speicherkarte (Bilder) auf die Festplatte in ein Verzeichnis kopieren.

Code: Alles auswählen

if FindFirst (ext_search,faAnyFile,Info) = 0 then
       begin
         repeat
  	   inc(Count);
           CopyFile(quelle,ziel+'/'+Info.Name);
         until FindNext(Info) <> 0;
         findclose(info);
         Showmessage ('FERTIG')
       end;
Die Dateien werden namensmässig richtig kopiert, nur die Länge der Dateien ist 0-Byte.

Wo liegt mein (Denk-)Fehler?
Könnt Ihr mir helfen?

MfG
Günter

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von theo »

Schwer zu sagen mit den Variablen Was ist denn "quelle" und "ext_search" ?

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von niederrheiner »

ext_search beinhaltet das Suchmuster (*.NEF) und Quelle beinhaltet den Quellpfad unter dem die Dateien zu finden sind. Ziel beinhaltet den Zielpfad unter dem die Datein gespeichert werden sollen. Im Zielpfad werden auch die entsprechenden Dateien angelegt, bis hierhin ist alles OK. Aber die angelegten Dateien haben eine Länge von 0.

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von theo »

Aber deine Quelle bleibt ja scheint's konstant in dem Loop. Wo kriegt die denn den jew. Dateinamen her?

Nicht eher so?
CopyFile(quelle+'/'+Info.Name,ziel+'/'+Info.Name);

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von DiBo33 »

Vielleicht solltest du bei Quelle auch den Dateinamen mit angeben.

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von shokwave »

CopyFile() will soweit ich weis PChar. Probier mal

Code: Alles auswählen

CopyFile(PChar(Quelle+'\'+Info.Name),PChar(Ziel+'\'+Info.Name))
Jetzt wo ich's mir noch mal angucke: Hast du einfach nur den Dateinamen der Quelle vergessen?

[Edit] Mist, wieder Letzter. :(
mfg Ingo

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von niederrheiner »

Die Dateien sind auf einer Speicherkarte im Verzeichnis /media/NIKON D80/DCIM/100NCD80/*.NEF abgespeichert. Die Dateien sollen im Verzeichnis /home/guenter/Bilder/Zollverein/*.NEF abgespeichert werden.

Im Quelverzeichnis steht folgendes

/media/NIKON D80/DCIM/100NCD80/DSC_0001.NEF 9.8 MB Nikon-NEF-Rohbild


Im Zielverzeichnis steht folgendes

/home/guenter/Bilder/Zollverein/DSC_0001.NEF 0 Bytes Nikon-NEF-Rohbild

Offensichtlich hat er alles richtig erkannt, nur, der Inhalt der Datei wurde nicht kopiert, sondern nur ihr Name

MfG
Günter

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von DiBo33 »

Was soll denn hierbei herauskommen?

Code: Alles auswählen

CopyFile('/media/NIKON D80/DCIM/100NCD80/', '/media/NIKON D80/DCIM/100NCD80/DSC_0001.NEF');
Zum 4. mal, dir fehlt der Dateiname In Quelle
Zuletzt geändert von DiBo33 am Fr 16. Apr 2010, 23:09, insgesamt 1-mal geändert.

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: copyfile erzeugt nur 0-Byte-Dateien

Beitrag von niederrheiner »

hatte irgendwie Tomaten auf den Augen, jetzt klappt es auch mit dem Nachbarn :D

Danke an alle die mir geantwortet haben
MfG
Günter

Antworten