Welcome Guest, you are in: Anmelden

CP Wiki

RSS RSS

Navigation



  1. Administration

Suche im wiki
»

RenameFile

RSS
Modified on 15/01/2009 16:31 by CPABED Categorized as Plattform
Syntax:
function RenameFile(const OldFile: String; const NewFile: String): boolean;


Beschreibung:

Die Funktion ändert den Namen einer Datei.
RenameFile versucht, den Namen der mit OldFile angegebenen Datei in NewFile zu ändern.
Wird die Operation erfolgreich durchgeführt, gibt RenameFile den Wert true zurück.
Kann RenameFile die Datei nicht umbenennen (weil die Anwendung beispielsweise keine entsprechende Berechtigung besitzt), wird false zurückgegeben.

Hinweis: Wenn NewFile den Namen einer vorhandenen Datei angibt, verhält sich RenameFile unter Windows anders als unter Linux. Unter Windows schlägt die Umbenennung fehl. Unter Linux entfernt RenameFile die vorhandene Datei ohne weitere Meldung.


Beispiel:

//In diesem Beispiel befinden sich eine Schaltfläche, ein String-Gitter und ein Speichern-Dialogfeld in einem Formular. //Beim Klicken auf die Schaltfläche wird der Benutzer zur Eingabe eines Dateinamens aufgefordert. //Bestätigt er mit OK, wird der Inhalt des String-Gitters in die angegebene Datei geschrieben. //Dabei werden zusätzliche Informationen in die Datei aufgenommen, damit sie mit der Funktion FileRead gelesen werden kann.

procedure TForm1.Button1Click(Sender: TObject); var BackupName: string; FileHandle: Integer; StringLen: Integer; X: Integer; Y: Integer; begin if SaveDialog1.Execute then begin if FileExists(SaveDialog1.FileName) then begin BackupName := ExtractFileName(SaveDialog1.FileName); BackupName := ChangeFileExt(BackupName, '.BAK'); if not RenameFile(SaveDialog1.FileName, BackupName) then

raise Exception.Create('Unable to create backup file.'); end; FileHandle := FileCreate(SaveDialog1.FileName); { Anzahl der Zeilen und Spalten des Gitters in Datei schreiben. } FileWrite(FileHandle, StringGrid1.ColCount, SizeOf(StringGrid1.ColCount)); FileWrite(FileHandle, StringGrid1.RowCount, SizeOf(StringGrid1.RowCount)); for X := 0 to StringGrid1.ColCount – 1 do begin

for Y := 0 to StringGrid1.RowCount – 1 do begin { Zuerst die Länge und danach den Inhalt der einzelnen Strings speichern. } StringLen := Length(StringGrid1.CellsX,Y); FileWrite(FileHandle, StringLen, SizeOf(StringLen)); FileWrite(FileHandle, StringGrid1.CellsX,Y, Length(StringGrid1.CellsX,Y); end; end; FileClose(FileHandle); end;

end;

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam.