![]() |
Temporäre Datei
Hallo,
irgendwie ging es doch, daß man von Windows einen Dateinamen bekommt, mit dem man eine temporäre Datei erstellen kann. Ich komme bloß nicht drauf. Wisst ihr, wie die Funktion heißt? Danke! |
Re: Temporäre Datei
Ich hab das irgendwann mal so gemacht:
Delphi-Quellcode:
HtH,
function GetTempPath:string;
Var TmpString : String; begin SetLength(TmpString, 255); SetLength(TmpString,Windows.GetTempPath(Length(TmpString),PChar(TmpString))); TmpString := TmpString + 'mmp_manager\'; Result := TmpString; end; Function GetTempFileName(Pre : String) : String; Var TmpStr : PChar; P : Integer; Begin SetLength(Result, 255); Windows.GetTempFileName(PChar(GetTempPath), PChar(Pre),0,PChar(Result)); P := Pos(#0, Result); If P > 0 Then Delete(Result, P, Length(Result)-P+1); Result := Trim(Result); End; Dominik |
Re: Temporäre Datei
Was löscht du denn da noch zum Schluss?
|
Re: Temporäre Datei
Ich erzeuge ja erst einen String der fixen Länge 255. Dann wird der mit Daten gefüllt und null-terminiert. Das heißt ab einem Index steht nur noch Müll dadrin. Und den Kram schmeiße ich am Ende raus.
Bei mir funktioniert das so sehr gut :-) |
Re: Temporäre Datei
Kein Müll:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var buffer: array[0..MAX_PATH] of Char; begin GetTempFileName('d:\', '~', 0, buffer); ShowMessage(String(buffer)); end; |
Re: Temporäre Datei
Hmm... komisch! :gruebel:
Ich weiß noch, dass ich als ich das mal geschrieben habe, mit irgendwas Probleme hatte. Keine Ahnung aber mehr. Kannst du denn deinen Buffer auch ohne weiteres als String zurückgeben? Müsste doch eigenltich... Naja - bei mir ist es in irgendeiner Tools-Unit verschwunden und ich nutze die Funktion ohne noch weiter darüber nachgedacht zu haben, wieso ich das mal so implementiert habe ;-) Gruß, Dominik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 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 by Thomas Breitkreuz