Datei nicht überschreiben



  • ich verwende zum Speichern eine StringList.
    Nun möchte ich, dass die Datei nicht überschrieben wird. Wie kann ich das umsetzen? Ob eine Datei schon besteht prüfe ich mit FileExists.



  • und was ist nun das Problem? willst du die Daten anhängen? oder einen anderen Dateinamen angeben/eingeben? oder weißt du nicht wie du das Speichern verhinderst?



  • Indem du nicht speicherst, dann wird auch nichts überschrieben 😃

    Was willst du denn stattdessen - nur Daten anhängen?
    Du mußt immer die gesamten Daten in der StringList halten und per SaveToFile komplett abspeichern
    oder aber alternativ die Datei im "Append-Modus" öffnen und die neuen Daten anhängen (z.B. mit "ofstream off(path, ios::app)").

    Oder willst du in eine andere Datei speichern, z.B. mit einem automatischen Counter, dann einfach alle Zahlen X von 1 bis ... prüfen, ob die Datei "MyFileX.ext" existiert.

    Edit: ups, zu langsam - aber schön, daß ich nciht der einzige bin, der die eigentliche Frage nicht erkennen kann -)



  • falls die Datei schon existiert, soll eine neue angelegt werden. Der Dateiname soll fortlaufend durchnummeriert werden.



  • Der Dateiname und Pfad kann per BrowseEdit voreingestellt werden. Über den SaveDialog wird dann gespeichert. Ein Autosave gibt es auch. Das funktioniert bereits alles. Der Dateiname soll nun bei deaktivierten "Überschreiben" (per Checkbox) fortlaufend durchnummeriert werden.



  • TH69 hat doch schon geschrieben wie sowas zu realisieren ist.
    FileExists(Dateiname) bei 'false' Datei speichern.
    Bei 'true' einen Zähler inkrementieren bis irgendwann FileExists(Dateiname) ein 'false' zurückgibt.


Anmelden zum Antworten