Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android: Datei speichern ohne überschreiben (https://www.delphipraxis.net/213974-android-datei-speichern-ohne-ueberschreiben.html)

ArminW 31. Okt 2023 14:58

Android: Datei speichern ohne überschreiben
 
Hallo Forum,

bin gerade dabei, mich ein wenig mehr in Android Anwendungen einzuarbeiten. Jetzt stehe ich aktuell vor dem Problem, den Inhalt eines Memos in eine Datei zu speichern, ohne eine evtl. schon vorhandene Datei gleichen Namens zu überschreiben.

Speichern eines Memos geht ja sehr einfach mit:
x_memo.Lines.SaveToFile(stri);

wobei stri ein String ist, der den Pfad (in Android kompliziert genug) + den Dateinamen enthält.
Wenn es die Datei schon gibt, wird sie gnadenlos ohne Rückmeldung überschrieben. Die Komponente TSaveDialog geht ja wohl nicht auf Android.

Hat jemand einen Tipp für mich?

Armin

Kas Ob. 31. Okt 2023 15:10

AW: Android: Datei speichern ohne überschreiben
 
Check if the file does exist using FileExists https://docwiki.embarcadero.com/Code...Exists_(Delphi)
if it does then
Start to cut it down in pieces, like extract the extension then you can add a number to the file name and return the extension, unless you know the type beforehand and you can check for the file and increase a number or something, there is many approaches.

the idea is to use FileExists at first then if needed you can use its clan (ExtractFilePath , ChangeFileExt, ExtractFileName, ExtractFileExt ....)

himitsu 31. Okt 2023 15:11

AW: Android: Datei speichern ohne überschreiben
 
Delphi-Referenz durchsuchenFileExists oder Delphi-Referenz durchsuchenTFile.Exists

bzw.
TFileStream oder TFile.Open ... da kann man angeben, ob eine Datei überschieben werden darf, nicht darf oder soll.
Delphi-Quellcode:
TFileMode = (fmCreateNew, fmCreate, fmOpen, fmOpenOrCreate, fmTruncate, fmAppend);

und dann SaveToStream des Memos da rein

ArminW 2. Nov 2023 09:12

AW: Android: Datei speichern ohne überschreiben
 
danke, thank you!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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