Postoji više načina za kreiranje direktorijuma, pa i čitavog stabla direktorijuma (direktorijum sa pripadajućim poddirektorijumima), a u ovom prilogu prikazaćemo vam jednu proceduru koja vam može pojednostaviti posao. U ovom prilogu ćemo videti kako da kreiramo celo stablo direktorijuma, odnosno kako da kreiramo recimo direktorijum “C:\Prvi\Drugi\Treci” (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 prethodnog Ind := 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(’\Prvi\Drugi\Treci’); 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 korenog, kada se kreira prvi, pa potom i ostali, sve do poslednjeg i to rekurzivno.