![]() |
eindeutigen Namen zum speichern
Hallo zusammen,
sicher haben viele schon einmal vor dem gleichen Problem gestanden. Innerhalb meines Programmes gibt es die Möglichkeit automatisiert pdf-Dateien zu erzeugen. Das Problem ist hierfür eindeutige Namen zu erzeugen. Wie könnte einem Benutzer so etwas ermöglicht werden, bzw. sollte es überhaupt einem Benutzer zugänglich sein oder besser vollautomatisch geschehen? Gibt es hierfür bereits fertige Routinen? |
AW: eindeutigen Namen zum speichern
SaveDialog wäre eine Möglichkeit, oder werden die automatisch generiert? Dann könntest du den Benutzer einen Namen angeben lassen und anschließend durchnummerieren.
|
AW: eindeutigen Namen zum speichern
Am besten eine UID erstellen, die ist immer eindeutig.
Delphi-Quellcode:
function GetGUID : String;
var iGUID : TGUID ; begin { Anlegen } CreateGUID(iGUID) ; { Rückgabe } Result := GUIDToString(iGUID) ; end ; |
AW: eindeutigen Namen zum speichern
Eine Möglichkeit wäre, dass der Nutzer einen Teil des Dateinamens selbst bestimmen darf (bzw. dieser von dir mit einem sinnvollen Begriff vorgegeben wird) und du den Rest mit der aktuellen Zeit/Datumsangabe generierst, also z.B. "Backup - 01.01.2010 - 10:30:34.pdf". Das sollte sich recht einfach umsetzen lassen.
Eine GUID ist natürlich auch eine Variante, allerdings lässt der Name dabei keine Rückschlüsse auf den Inhalt der Datei zu bzw. erschwert die Suche nach bestimmten Dateien. |
AW: eindeutigen Namen zum speichern
Hy,
soll der Benutzer denn Einfluss auf den Namen haben ??
Delphi-Quellcode:
Daten.SaveToFile(ExtractFilepath(Application.Exename)+'MeinEigenerDateiName'+((FormatDateTime('dd.mm.yyyy - hh:MM:ss', now);
kuba |
AW: eindeutigen Namen zum speichern
Was mir gerade noch einfällt:
Natürlich kann man unter Windows den Doppelpunkt nicht innerhalb eines Dateinamens verwenden. Hab ich vorhin in aller Eile nicht bedacht :stupid: |
AW: eindeutigen Namen zum speichern
Zitat:
|
AW: eindeutigen Namen zum speichern
Du kannst natürlich auch noch die Milisekunden bei der Namensgenerierung berücksichtigen, das sollte dann keine Probleme mehr aufwerfen.
|
AW: eindeutigen Namen zum speichern
Also ich habe das so gelöst:
Delphi-Quellcode:
Den SaveFiledialog kann man auch auf FileExists kombinieren.
function RenameFile(sFileName : string) : string;
var sjetzt, NewFileName : string; count : integer; begin Result := sFileName; NewFileName := sFileName; count := 0; while SysUtils.FileExists(NewFileName) and (count < 255) do begin inc(count); NewFileName := sFileName; DateTimeToString(sjetzt, 'dd.mm.yyyy hh_nn_ss', now); Insert('(' + sjetzt + ')', sFileName, Pos(ExtractFileExt(sFileName), sFileName)); end; if CompareStr(sFileName , NewFileName) <> 0 then Result := NewFileName; end; Gruß David |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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