Autor Beitrag
Larayna
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 47



BeitragVerfasst: Mo 29.03.04 14:50 
Hi :)
Ich baue hier so ein kleines Tool und habe vermutlich eine absolute Anfängerfrage ;)

Windows hat ein Standardverzeichnis für Temp-Datein.. kann Delphi irgendwie auslesen welche das jeweils ist?

Wäre nett wenn mir jemand 'nen tip gibt.

Larayna
Urba
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47



BeitragVerfasst: Mo 29.03.04 15:12 
Hallo,

Einfach folgendermaßen :

ausblenden Delphi-Quelltext
1:
TempDir := GetEnvironmentVariable('TEMP');					


Gruss
Urba

_________________
Es gibt keine blöden Fragen, nur blöde Antworten :)
Larayna Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 47



BeitragVerfasst: Mo 29.03.04 15:16 
Danke :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 29.03.04 16:28 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function GetTempDir: string;
var
  Buffer: array[0..MAX_PATH - 1] of Char;
  Len: DWORD;
begin
  result := '';
  Len := GetTempPath(sizeof(Buffer), Buffer);
  if Len > 0 then
    SetString(result, Buffer, Len);
end;
[/b]
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 29.03.04 19:20 
Da "GetTempPath" die Anzahl der kopierten Zeichen zurückgibt, geht´s auch ohne den Umweg über pchar:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
function GetTempDir: string;
begin
  SetLength(Result,MAX_PATH + 1);
  SetLength(Result,GetTempPath(length(Result),@Result[1]));
end;

Wenn übrigens der benutzte Puffer zu klein ist, liefert die Funktion die benötigte Größe zurück:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function GetTempDirChars: dword;
begin
  Result := GetTempPath(0,nil);
end;


ShowMessage(Format(
  'Sie brauchen für "%s" einen Puffer von %d Zeichen.',
  [GetTempDir,GetTempDirChars])
);

;)