Zitat von
nahpets:
Hallo,
muss das nichtelse Result := Result + fmt[i];
heißen?
Da hast du Recht.
Das war das Problem.
Zitat von
jaenicke:
Die Funktionen GetTempPath und GetTempFileName kennst du aber?
Sicher, es geht hier aber darum, einen Dateinamen für eine temporäre Datei im gleichen Verzeichnis zu erzeugen.
Zitat von
himitsu:
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;
Nein, StringReplace kannte ich nicht.
Eswäre wohl aber eine sinnvolle Lösung.
Zitat von
himitsu:
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;
Mir Format wollte ich es nicht lösen, da ich meine eigenen Replace-Zeichen dafür wollte.