![]() |
kopieren und gleichzeitig umbenennen einer Datei
Ich möchte eine Datei kopieren und ihr im Zielverzeichnis einen neuen Namen geben
Delphi-Quellcode:
Aber wenn ich das so versuche, kopiert er die Datei gar nicht erst
von:= ExtractFilePath(Sourcepath)+KeyValue+'.tif';
nach:= Exportpath+'\'+ExportName+'.tif'; CopyFile(PChar(von), PChar(nach), False);
Delphi-Quellcode:
Wenn ich sie erst mit dem gleichen Namen ins Zielverzeichnis stelle, kopiert er die Datei, aber im nächsten Schritt benennt er sie nicht um?
von:= ExtractFilePath(Sourcepath)+KeyValue+'.tif';
nach:= Exportpath+'\'+KeyValue+'.tif'; nach2:= Exportpath+'\'+ExportName+'.tif'; if CopyFile(PChar(von), PChar(nach), False) then begin RenameFile(nach,nach2 ); end; |
Re: kopieren und gleichzeitig umbenennen einer Datei
Gib doch beim Kopieren gleich einen anderen Dateinamen an. Dann ist es bei der fehlersuche immer sehr Hilfreich sich mal die Inhalte der Variablen anzugucken und dann auch mal SeyErrorMessage(GetLastError) aufzurufen.
|
Re: kopieren und gleichzeitig umbenennen einer Datei
bei der ersten Variante habe ich ja gleich den neuen Namen für die Datei angegeben,aber da hat er sie noch nicht mal kopiert und in den Variablen standen die richtigen Pfade und Dateinamen drin
|
Re: kopieren und gleichzeitig umbenennen einer Datei
Schön. Und jetzt?
|
Re: kopieren und gleichzeitig umbenennen einer Datei
Was sagt denn nun GetLastError? :roll:
|
Re: kopieren und gleichzeitig umbenennen einer Datei
der zieldatei name kann Zeichen enthalten wie zb /, kann das daran liegen, dass er die Datei nicht umbenennen will. Wie kann ich ihn dazu überreden, es trotzdem zu tun?
|
Re: kopieren und gleichzeitig umbenennen einer Datei
Hi,
prüf vorher, ob der Zieldateiname "verbotene" Zeichen enthält, z.B. /*? etc. und entferne/ersetze diese. Solche Zeichen kann ein Dateiname nicht enthalten, da kannste niemals nie nicht Windows dazu überreden :zwinker: Gruß Stephan :dance: |
Re: kopieren und gleichzeitig umbenennen einer Datei
Nein. Sollte der Dateiname nicht den namenskonventionen für einen Dateinamen entsprechen, dann geht es nicht:
Zitat:
|
Re: kopieren und gleichzeitig umbenennen einer Datei
Tach!
Ich habe nen einfacheren Befehl: Wie wäre es denn mit
Code:
Da geht des doch recht leicht?! Brauchst nur die USES "idGlobal" hinzufügen! Der Rest mit dem Umbenennen geht dann ganz einfach... Das solltest du dann auch noch schaffen *lol*
function copyFileTo(const Source:String, const Destinaton: String):Boolean:
mfg shark |
Re: kopieren und gleichzeitig umbenennen einer Datei
Es geht auch, wenn man nur "Classes" einbindet ;-) IdGlobal hat ja nicht jeder, weils Teil der Indys ist.
Delphi-Quellcode:
@Luckie: Verhau mich nicht, nur weil die Resourcenschutzblöcke nicht ganz stimmen ;)
function CopyFile(Surce, Dest: String): Boolean;
var F, T: TFileStream; begin try Result := true; try F := TFileStream.Create(Source, fmRead); T := TFileStream.Create(Dest, fmCreate); T.CopyFrom(F, 0); finally F.Destroy; T.Destroy; end; except Result := false; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 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