Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Name für temporäre Datei erzeugen

  Alt 20. Feb 2009, 17:59
Hier im Forum suchenGetTempFileName
http://www.delphipraxis.net/internal...t.php?t=132456
http://www.delphipraxis.net/internal...ct.php?t=78459

und noch die CodeLib
http://www.delphipraxis.net/internal...ect.php?t=6961


Was passiert eigentlich, wenn die schon eine Datei, mit dem Namen von CreateTempFile, existiert?


@nahpets: jupp, müßte es

Zitat:
Das Ergebnis war jedoch icht wirklich befriedigend: '.###'
Immerhin haben die Tilden gefunzt - und der Punkt.
Doch vom Rest keine Spur.
daher auch dein Problem (siehe nahpets)

Nicht-Maskenzeichen löschten den vorherigen Result-String.
der Punkt war das letzte Nicht-Maskenzeichen und stand somit noch drin ... nja und alle folgenen Maskenzeichen.

[add]
aber wenn es unbedingt so funktionieren soll:

Schon mal was von StringReplace gehört?
Delphi-Quellcode:
function CreateTempFile(index: Word; digits: Byte = 4;
  divider: Char='~'; fmt: String='wdpai%s%.*d.tmp'): String;
begin
  Result := StringReplace(fmt, '~', divider, [rfReplaceAll]);
  Result := StringReplace(Result, '$', IntToHex(index, digits), [rfReplaceAll]);
end;
Ich hätt das Ganze allerdings eher mit Format gelöst
und die Maske etwas angepaßt.
Delphi-Quellcode:
function CreateTempFile(index: Word; digits: Byte = 4;
  divider: Char='~'; fmt: String='wdpai%s%.*d.tmp'): String;
begin
  Result := Format(fmt, [divider, digits, index]);
end;
$2B or not $2B
  Mit Zitat antworten Zitat