/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Slette filer
Fra : Peder Hanghøj


Dato : 10-06-02 19:04

Hvordan sletter man lettest alle filer i en mappe?
Er der ikke en smart metode?

Tak, Peder



 
 
René Jensen (11-06-2002)
Kommentar
Fra : René Jensen


Dato : 11-06-02 18:38

"Peder Hanghøj" wrote:
> Hvordan sletter man lettest alle filer i en mappe?
> Er der ikke en smart metode?

Du kan vælge at bruge Windows API'en. Jeg har skrevet følgende funktion;
hvis den returnerer alt andet end 0, så er der sket en fejl, f.eks.
forkert angivet sti.

[kildetekst - start]

function DeleteDirectory(Path: string) : Integer;
var
i: Integer;
SHFileOpStruct: ^_SHFILEOPSTRUCT;
begin
i := 1;
while i <= Length(Path) do
begin
if Path[i] = '\' then
begin
Insert('\', Path, i);
i := i + 1;
end;
i := i + 1;
end;
New(SHFileOpStruct);
with SHFileOpStruct^ do
begin
pFrom := PChar(Path);
wFunc := FO_DELETE;
fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
end;
Dispose(SHFileOpStruct);
Result := SHFileOperation(SHFileOpStruct^);
end;

[kildetekst - slut]

Husk at indkludere ShellAPI unit'en. Og så en anden ting, den sletter
uden af vise nogen form for dialog boks og spørger ikke om brugeren
ønsker at slette et bibliotekt. Så hvis du angiver forkert sti, så vil
den slette sti'en uden at spørge brugeren først(!).

Ellers prøv selv at kigge på SHFileOpStruct definitionen i Windows SDK /
Windows API.

--
Med venlig hilsen,
René Jensen

Once a upon a time a wise man said to me:
"I consider Windows like I consider bad weather ... I accept it and hope
for something better"

Peder Hanghøj (12-06-2002)
Kommentar
Fra : Peder Hanghøj


Dato : 12-06-02 22:21

Mange tak.
Det er lige hvad jeg har brug for.

Peder

"René Jensen" <rene.jensen@adslhome.dk> skrev i en meddelelse
news:3D06356C.197D4DF0@adslhome.dk...
> "Peder Hanghøj" wrote:
> > Hvordan sletter man lettest alle filer i en mappe?
> > Er der ikke en smart metode?
>
> Du kan vælge at bruge Windows API'en. Jeg har skrevet følgende funktion;
> hvis den returnerer alt andet end 0, så er der sket en fejl, f.eks.
> forkert angivet sti.
>
> [kildetekst - start]
>
> function DeleteDirectory(Path: string) : Integer;
> var
> i: Integer;
> SHFileOpStruct: ^_SHFILEOPSTRUCT;
> begin
> i := 1;
> while i <= Length(Path) do
> begin
> if Path[i] = '\' then
> begin
> Insert('\', Path, i);
> i := i + 1;
> end;
> i := i + 1;
> end;
> New(SHFileOpStruct);
> with SHFileOpStruct^ do
> begin
> pFrom := PChar(Path);
> wFunc := FO_DELETE;
> fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
> end;
> Dispose(SHFileOpStruct);
> Result := SHFileOperation(SHFileOpStruct^);
> end;
>
> [kildetekst - slut]
>
> Husk at indkludere ShellAPI unit'en. Og så en anden ting, den sletter
> uden af vise nogen form for dialog boks og spørger ikke om brugeren
> ønsker at slette et bibliotekt. Så hvis du angiver forkert sti, så vil
> den slette sti'en uden at spørge brugeren først(!).
>
> Ellers prøv selv at kigge på SHFileOpStruct definitionen i Windows SDK /
> Windows API.
>
> --
> Med venlig hilsen,
> René Jensen
>
> Once a upon a time a wise man said to me:
> "I consider Windows like I consider bad weather ... I accept it and hope
> for something better"



Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408490
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste