KAKO DA – Kreiranje stabla direktorijuma, Delphi

Kategorija: Savet :: Datum: 2008-06-20

Pregleda(30 dana/ukupno): 10 / 746

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.

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.

Pripremio: Milenko Kusurović

Komentari:

Budite prvi koji će ostaviti komentar

Molimo, sačekajte da kreiramo formular...

Delphi 2005 bez tajni

Delphi 2005 bez tajni
Cena: 972.00
Naša cena: 800.00
10% popusta za kupovinu 2 i više knjiga.

Poslednja verzija Borlandovog Delphija je značajno unapređena. Napravljen je potpuno novi IDE za Win32 i .NET programiranje, i još mnogo drugih poboljšanja. Vreme je da i vi unapredite svoja znanja.

više o knjizi

[Queries: 22] [0.2124 sec.]