![]() |
Re: Temp Datei erstellen und wieder löschen
also
![]() ![]() ![]() ![]() was kleines aus meiner Funktionssamlung ... wir etwa so verwendet wie ![]()
Delphi-Quellcode:
Und dann noch das ...
// © 1997-2008 by FNS Enterprize's (FNSE.de)
// © 2003-2008 by himitsu @ Delphi-PRAXiS.de Function CreateTempFileA(lpPrefixString: LPSTR; bShareRead: Boolean = False; TempFileName: PFileNameA = nil): HANDLE; {not Inline} Const RM: Array[Boolean] of DWORD = (FILE_SHARE_READ, 0); Var i: Integer; S, S2: TFileNameA; E: LongInt; Begin Result := INVALID_HANDLE_VALUE; If GetTempPathA(MAX_PATH, @S) > MAX_PATH Then Exit; i := 9999; Repeat If GetTempFileNameA(@S, lpPrefixString, 0, @S2) = 0 Then Exit; Result := CreateFileA(@S2, GENERIC_READ or GENERIC_WRITE, RM[bShareRead], nil, CREATE_NEW, FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE, 0); If Result = INVALID_HANDLE_VALUE Then Begin E := GetLastError; SetLastError(E); End Else E := 0; Dec(i); Until (i = 0) or (E <> ERROR_ALREADY_EXISTS); If TempFileName <> nil Then TempFileName^ := S2; End;
Delphi-Quellcode:
wer will kann TFileName und TempFileName auch ausbauen ... ist ja nur nötig, falls man wissen will, wo/welche Datei erstellt wurde, oder man baut es sich auf PAnsiChar/PChar um (oder gar auf String/AnsiString).
Type
LPSTR = PAnsiChar; HANDLE = THandle; TFileName = packed Record[1..MAX_PATH] of AnsiChar; PFileName = ^TFileName; Zitat:
(in S2 steht der Name) |
Re: Temp Datei erstellen und wieder löschen
@shmia:
Hallo, kannst du mir sagen in welcher Unit die Funktion zu finden ist??? Danke!!
Delphi-Quellcode:
Folgende Funktionen wurden aus der JCL kopiert.
Also ich benütze die JCL in allen meinen Programm, denn sie enthält fast alles, was Borland in der RTL/VCL vergessen hat. function PathGetTempPath: string; var BufSize: Cardinal; begin BufSize := Windows.GetTempPath(0, nil); SetLength(Result, BufSize); Windows.GetTempPath(BufSize, PChar(Result)); //StrResetLength(Result); Result := PChar(Result); end; function FileGetTempName(const Prefix: string): string; var TempPath, TempFile: string; R: Cardinal; begin Result := ''; TempPath := PathGetTempPath; if TempPath <> '' then begin SetLength(TempFile, MAX_PATH); R := GetTempFileName(PChar(TempPath), PChar(Prefix), 0, PChar(TempFile)); if R <> 0 then begin StrResetLength(TempFile); Result := TempFile; end; end; end; |
Re: Temp Datei erstellen und wieder löschen
Zitat:
![]() |
Re: Temp Datei erstellen und wieder löschen
Danke dir!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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