Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei umbenennen in "freien" Dateinamen (https://www.delphipraxis.net/128270-datei-umbenennen-freien-dateinamen.html)

hoika 27. Jan 2009 09:45


Datei umbenennen in "freien" Dateinamen
 
Hallo #,

ich konnte das nicht besser ausdrücken ... ;)
Was ich will:

geg: Datei mit bekanntem Namen sOldFileName
ges: die Datei soll umbenannt werden in einen "freien" Name im Verzeichnis

Was ich bisher mache

GetTempFileName -> sFileName
DeleteFile(sFileName)
MoveFileEx(sOldFileName, sFileName)

Das DeleteFile ist notwendig, weil GetTempFileName die Datei bereits erzeugt

Geht das nicht einfacher ?

In der Hilfe steht was von CreateFile, das erzeugt die Datei aber nur,
ich will die alte aber Umbenennen.


Danke


Heiko

Brainshock 27. Jan 2009 09:54

Re: Datei umbenennen in "freien" Dateinamen
 
Hilft da nicht:

function RenameFile(const OldName, NewName: string): Boolean;

aus SysUtils

hoika 27. Jan 2009 13:05

Re: Datei umbenennen in "freien" Dateinamen
 
Hallo,

NewName ist nicht bekannt,
es soll ein eindeutiger (temporärer) sein.

Hintergrund:
Die Datei wird von einem Fremdsystem periodisch erzeugt/beschrieben).
Ich ziehe mich ein paar Daten raus und lösche die Datei.
Jetzt kommt es zu Konflikten: ich willl lesen, das andere System schreiben.
Lösung: vor meiner Arbeit umbenennen.

In dem Verzeichnis befinden sich aber noch beliebig andere Dateien.
Ein eigenes Verzeichnis ist nicht erlaubt.

PS:
RenameFile benutzt intern MoveFile .


Heiko

Relicted 27. Jan 2009 13:08

Re: Datei umbenennen in "freien" Dateinamen
 
hi,
wie wärs hiermit?

Delphi-Quellcode:
i := 0;
while Fileexists( sOldname + IntToStr( i ) ) do
  inc(i);

RenameFile( sOldName, sOldName+ IntToStr( i ) );
gruß
reli

hoika 27. Jan 2009 14:20

Re: Datei umbenennen in "freien" Dateinamen
 
Hallo,

naja, so ginge es...

Danke


Heiko


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

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