Delphi-Quellcode:
function GetRandomPath: string;
function GetRandomDir(const Dir: string): string;
var
DirList: TStringList;
SR: TSearchRec;
begin
Result:= Dir;
if FindFirst(Dir + '*.*', faAnyFile, SR) = 0 then try
DirList:= TStringList.Create;
try
repeat
if SR.Attr and faDirectory = faDirectory then
if (SR.Name <> '.') and (SR.Name <> '..') then
DirList.Add(SR.Name);
until FindNext(SR) <> 0;
if DirList.Count > 0 then
Result:= GetRandomDir(Dir + DirList[Random(DirList.Count)] + '\')
finally
DirList.Free;
end;
finally
FindClose(SR);
end;
end;
var
Buffer: array[0..255] of Char;
I, L: Integer;
FixedDrives: TStringList;
begin
FixedDrives:= TStringList.Create;
try
L:= GetLogicalDriveStrings(SizeOf(Buffer), Buffer);
for I:= 0 to (L-3) shr 2 do
if GetDriveType(PChar(Buffer[I shl 2] + ':\')) = DRIVE_FIXED then
FixedDrives.Add(Buffer[I shl 2] + ':\');
Result:= GetRandomDir(FixedDrives[Random(FixedDrives.Count)]);
finally
FixedDrives.Free;
end;
end;
Damit generierst Du dir einen zufälligen Pfad. Aber eben, nur zum Spass, man weiss ja nicht, wie's in dem Ordner mit den Schreibrechten aussieht. Und vielleicht ists ja tatsächlich mal der Temp-Ordner
Gruss
Shaman