function RenameFile(const OldFile: String; const NewFile: String): boolean;
//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;