|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | 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)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | 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)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | 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"
| |
|
|