unique temp file name/de
From Free Pascal wiki
Revision as of 17:57, 5 September 2013 by Billyraybones (talk | contribs)
Dieser Artikel behandelt ausschließlich Windows.
Siehe auch: Multiplatform Programming Guide/de
│
Deutsch (de) │
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
Die Funktion generiert für temporäre Dateien einen eindeutigen Dateinamen.
uses
SysUtils, ...;
...
function TempFileName(strPrefix: String): string;
var
pchBuffer: PChar;
pchTempDir: PChar;
pchPrefix: PChar;
const
wrdTempDirSize = 255;
wrdBufferSize = 255;
wrdPrefixSize = 3;
begin
// Speicher anfordern
GetMem(pchBuffer, wrdBufferSize);
GetMem(pchPrefix,wrdPrefixSize);
GetMem(pchTempDir,wrdTempDirSize);
// kürzt das Prefix auf die zulässigen 3 Stellen
StrPCopy(pchPrefix,Copy(strPrefix,0,3));
// kopiert den Inhalt der Umgebungsvariable in ein PChar
StrPCopy(pchTempDir,GetEnvironmentVariable('Temp'));
if GetTempFileName(pchTempDir, pchPrefix, 0, pchBuffer) > 0 then
Result := StrPas(pchBuffer)
else
Result := '';
// Speicher freigeben
FreeMem(pchBuffer, wrdBufferSize);
FreeMem(pchPrefix, wrdPrefixSize);
FreeMem(pchTempDir, wrdTempDirSize);
end;
...
oder einfacher:
uses
...Sysutils...
function TempFileName(strPrefix: String): string;
begin
result:=SysUtils.GetTempFileName('',strPrefix);
end;
--Olaf 04:51, 23 May 2013 (UTC)