AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Temp Datei erstellen und wieder löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Temp Datei erstellen und wieder löschen

Ein Thema von Salomon · begonnen am 10. Apr 2008 · letzter Beitrag vom 30. Jun 2008
 
Benutzerbild von himitsu
himitsu

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

Re: Temp Datei erstellen und wieder löschen

  Alt 24. Apr 2008, 14:09
also MSDN-Library durchsuchenFILE_ATTRIBUTE_TEMPORARY + MSDN-Library durchsuchenFILE_FLAG_DELETE_ON_CLOSE ist schon OK, aber MSDN-Library durchsuchenGetTempFileName würde ich noch mit MSDN-Library durchsuchenGetTempPath kombinieren.


was kleines aus meiner Funktionssamlung ... wir etwa so verwendet wie MSDN-Library durchsuchenCreateFile:
Delphi-Quellcode:
// © 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;
Und dann noch das ...
Delphi-Quellcode:
Type
  LPSTR = PAnsiChar;
  HANDLE = THandle;
  TFileName = packed Record[1..MAX_PATH] of AnsiChar;
  PFileName = ^TFileName;
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).


Zitat:
Hey, da ich ein Template kopiere brauch ich eigentlich nur einen Temporären Dateinamen.... Gibts da ein "GetTempFilename" das mir nur einen Namen zurückgibt und keine Datei gleichzeitig erzeugt?
jupp ... nur das vor CreateFile
(in S2 steht der Name)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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