Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#1

Name für temporäre Datei erzeugen

  Alt 20. Feb 2009, 17:51
Ich habe eine Routine CreateTempFile geschrieben, die einen Dateinamen für eine Temporäre Datei erzeugen soll:

CreateTempFile(
Nummer der temporären Datei, index
Mindestanzahl der Stellen der Nummernausgabe, digits (=4)
Tildenersatz, divider (='~')
VorlageString fmt (='~wdpai~$.tmp')
): string;

Die einzelnen Zeichen des VorlageStrings sollen wie folgt behandelt werden:
~ wird durch den Wert des Parameters divider ersetzt
$ wird durch die Nummernausgabe (in HEX) ersetzt
alle anderen Zeichen werden in den Dateinamen übernommen.
Delphi-Quellcode:
function CreateTempFile(index:word;digits:byte=4;divider:char='~';fmt:string='~wdpai~$.tmp'):string;
var i: byte;
begin
  for i := 1 to Length(fmt) do
    if fmt[i]='~then Result := Result+divider
    else if fmt[i]='$then Result := Result+IntToHex(index,digits)
    else Result := fmt[i];
end;
Jetzt das Problem:
Ich habe die Funktion getestet:
CreateTempFile(0,2,'#','tmp$.~~~') Das Ergebnis war jedoch icht wirklich befriedigend: '.###'
Immerhin haben die Tilden gefunzt - und der Punkt.
Doch vom Rest keine Spur.
Marvin
  Mit Zitat antworten Zitat