U prilogu ćemo videti kako da kreiramo celo stablo direktorijuma, odnosno kako da kreiramo direktorijum „C:PrviDrugiTreci“ (znači direktorijum Treci), kad direktorijumi „Prvi“ i „Drugi“ ne postoje.
procedure KreirajDir(Dir: String);
function Prethodni(Sta: String; Gde: String): Integer;
var
Ind : Integer;begin
Result := 0;for Ind := (Length(Gde)-Length(Sta)+1) downto 1 do
if Copy(Gde, Ind, Length(Sta)) = Sta then
begin
Result := Ind;
Break;
end;
end;var
PrethodniDir : String;
Ind : Integer;begin
if Copy(Dir,2,1) ‘:’ then
if Copy(Dir,3,1) “ then
if Copy(Dir,1,1) = “ then
Dir := ‘C:’+Dir
else
Dir := ‘C:’+Dir
else
Dir := ‘C:’+Dir;if not DirectoryExists(Dir) then
begin
// ukoliko direktorijum ne postoji, pronadji naziv prethodnogInd := Prethodni(“, Dir); // pozicija prethodnog “
PrethodniDir := Copy(Dir, 1, Ind-1); // prethodni direktorijum// ukoliko prethodni dir. ne postoji,
// propusta se rekurzivno kroz proceduru…
if not DirectoryExists(PrethodniDir) then
KreirajDir(PrethodniDir);// u ovoj tacki prethodni dir. mora da postoji.
// Tako da ce se kreirati direktorijum u „Dir“ varijabli.
CreateDir(Dir);
end;
end;
Kako se koristi ova procedura, pa jednostavno je negde u kodu pozovemo sa:
KreirajDir(‘PrviDrugiTreci’);
Kada se pozove procedura, ispituje se string varijabla stabla direktorijuma, a zatim se na početak dodaje „C:“. Potom se ispituje da li uopšte postoji takav direktorijum na disku, ako postoji procedura dolazi do kraja, a ako ne postoji prolazi se kroz stablo direktorijuma sve do root-a, kada se kreira prvi, pa potom i ostali, sve do poslednjeg i to rekurzivno.
Pratite Krstaricu na www.krstarica.com