bonjour a tous,
voila je cherche a vider un dossier de c'est élément qui y sont enregistrés.
je cherche sur google mais je ne trouve rien :-(
avez vous un site ou un exemple ?
bonjour a tous,
voila je cherche a vider un dossier de c'est élément qui y sont enregistrés.
je cherche sur google mais je ne trouve rien :-(
avez vous un site ou un exemple ?
Qu'est-ce que ça veut dire "pas fonctionner" ? Erreur d'exécution ? Aucune suppression ? Suppressions partielles ? Autre chose ?Envoyé par pierre987321
Sans un peu plus de précisions il est totalement impossible de t'aider.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
la j'ai testé :
mais impossible de depasser les 25 caractères... :-(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function EffaceDossier(Dossier: String): Boolean; var FileOpStruct: TShFileOpStruct; begin FileOpStruct.Wnd := 0; FileOpStruct.wFunc := FO_DELETE; FileOpStruct.pFrom := PChar(Dossier); FileOpStruct.pTo := Nil; FileOpStruct.fFlags := FOF_NOCONFIRMATION or FOF_SILENT; FileOpStruct.lpszProgressTitle := Nil; Result := ShFileOperation(FileOpStruct) = 0; end; procedure TMainForm.BitBtn1Click(Sender: TObject); var Dir :string; begin Dir := edit1.Text; if DirectoryExists(Dir) Then EffaceDossier(Dir); end;
en faite je cherche a vider un dossier au dela des 25 caractères.
ne réagie pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 function GetSpecialFolder(folder:string) :string; var Reg : TRegistry; res : string; begin try Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', False) then res := Reg.ReadString(folder) else res := ''; finally Reg.CloseKey; Reg.Free; end; result := res; end; function SupprimeRep(Dossier: String; Vider: Boolean): Boolean; var Rep: TshFileOpStruct; begin if not DirectoryExists(Dossier) then Exit; //si le dossier existe if Vider then begin //si il faut le vider if Dossier[Length(Dossier)] <> '\' then Dossier := Dossier + '\'; Dossier := Dossier + '*.*' end else //sinon if Dossier[Length(Dossier)] = '\' then Delete(Dossier,Length(Dossier), 1); //régle les paramètre FillChar(Rep, SizeOf(Rep), 0); Rep.wFunc := FO_DELETE; Rep.pFrom := PChar(Dossier); Rep.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION; //supprime Result := ((ShFileOperation(Rep) = 0) and (not Rep.fAnyOperationsAborted)); end; procedure TForm1.Button1Click(Sender: TObject); var personnal :string; begin personnal:=GetSpecialFolder('Personal'); SupprimeRep(personnal,true); end;
j'ai oublié, je cherche a éffacer le contenu du repertoir 'infosmodule' dans 'mes document'.
Pourquoi n'utiliserais tu pas simplement la fonction deletefile associée aux fonctions FindFirst, FindNext pour balayer le répertoire?
Partager