Entwickler-Ecke

Dateizugriff - Temp Ordner als langen Dateinamen wiedergeben


Sliver - So 06.07.03 20:10
Titel: Temp Ordner als langen Dateinamen wiedergeben
Mein Zeil ist es das ich den Inhalt des Temp Ordners des jeweiligen Benutzers löschen kann.
Habe hier mal meine Funktionen aufgeführt.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function GetTempDir: string;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  Windows.GetTempPath(SizeOf(Buffer) - 1, Buffer);
  Result := StrPas(Buffer);
end;


Diese Funktion gibt den Standort des Tempordner aus, nur das Problem ist es gibt ihn in gekürtzt aus, z. B. D:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\ und so kann ich ihn mit meiner Löschprocedure nicht löschen. Gibt es eine Procedure die den Ordnerinhalt auch so löschen kann?

Ich habs auch mal mit einer Procedure versucht die mir den kurzen Dateinamen in einen langen umwandelt, funtz aber nicht.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function GetLongFileName(const FileName : String) : String;
var
  aInfo: TSHFileInfo;
begin 
 if SHGetFileInfo(PChar(FileName),0,aInfo,Sizeof(aInfo),SHGFI_DISPLAYNAME)<> 0 then
   Result:= String(aInfo.szDisplayName)
   else
     Result:= FileName; 
end;


Was ist an der falsch, oder geht das gar nicht einen kurzemn in einen langen Dateinamen umwandel?( Sie gibt einfach nur Temp aus.)

cu SLiver

Moderiert von user profile icontommie-lie: Code- durch Delphi-Tags ersetzt


Keldorn - So 06.07.03 21:06

gugg mal hier

http://www.tipps.delphi-source.de/dateien/tut20001003-1.shtml

Mfg Frank


Sliver - So 06.07.03 21:33

Danke für den Tip, funktioniert.