Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Problem beim Umbenennen von Dateien


Fussel9 - Fr 04.06.10 16:53
Titel: Problem beim Umbenennen von Dateien
Hi ich hab nen Pogramm geschrieben das eine Grußkarte simuliert, das Programm hat einen Editor, bei diesem soll dann z.B. die Datei backgr.jpg in Orgbackgr.jpg üumbenannt werden dazu verwende ich den Befehl RenameFile('backgr.jpg','Orgbackgr.jpg');
das klappt aber nicht, genauso wenig wie einige andere Befehle wie

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
    if CopyFile(PAnsiChar(hintergrund),PAnsiChar(ExtractFileName(hintergrund)),False) then
      begin
        DeleteFile('backgr.jpg');
        RenameFile(ExtractFileName(hintergrund),'backgr.jpg');
      end
    else
      begin
        MessageDlg('Überschreiben des Hintergrundes backgr.jpg durch '
                    +ExtractFileName(hintergrund)+' schlug fehl',mtError,[mbCancel],0);
      end;

löst immer den Else-Handler aus... im Anhang ist der Editor... kann mir bitte jemand helfen???

MfG
der Fussel

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


jaenicke - Fr 04.06.10 16:59

Ich sehe keine Pfadangaben, woher soll Windows denn wissen wo die Dateien liegen? :roll:

http://www.delphi-library.de/viewtopic.php?p=499701


Georg08 - Fr 04.06.10 17:03

Außerdem Ist die Jpeg Unit nicht eingebunden, daher gibts nen error wenn du ein Bilde auswählen willst, da du nur Jpegs zulässt...


jaenicke - Fr 04.06.10 17:09

Ach, das ist ja schön, da gibts sogar nen OpenDialog, dann passt mein Beispiel aus dem Link ja exakt.

Was passiert:

Delphi-Quelltext
1:
2:
3:
if OpenPicDlg.Execute then
  begin
    AbschlussBild := OpenPicDlg.FileName;
Der Dialog wird aufgerufen, die Datei inkl. Pfadangabe haben wir jetzt.
Zum Beispiel: c:\Test\xy.jpg

Delphi-Quelltext
1:
if not RenameFile('ending.jpg','Orgending.jpg'then                    
Und jetzt soll die Datei c:\Test\ending.jpg in c:\Test\Orgending.jpg umbenannt werden. Woher willst du aber wissen, dass es die in dem ausgewählten Verzeichnis des Benutzers gibt?!?