Répertoire: Création & test d'existance

stigmate101 Messages postés 89 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 30 avril 2020 - 30 juin 2003 à 10:50
_Moise_ Messages postés 12 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 27 juillet 2006 - 2 août 2004 à 16:54
Salut,

Je suis à la recherche des commandes permettant de créer et de tester l'existance d'un pépertoire.
A+ et encore merci
:shy)

9 réponses

cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
30 juin 2003 à 22:11
Uses SysUtils;

if ForceDirectories('C:\MyDir\Dir1\Dir2') then
Showmessage('Directory crayè ou existant dèja...');

Bon Coding ....

ManChesTer.
0
stigmate101 Messages postés 89 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 30 avril 2020
1 juil. 2003 à 10:08
Je te remercie pour ta réponse cependant je souhaite faire un test d'existance de répertoire et si seulement selui-ci n'existe pas le créer. Mais surtout pas l'écraser s'il existe.

Petite précision j'utilise Delphi 5 Pro.
J'ai essayé avec FileExists mais j'ai un message d'erreur à la compil.
Mon code utilisé pour le test:

Procedure TForm2.ExistanceRepertoire();
{ Test l'existance d'un répertoire }
var Stg:string;
Chem:string;
begin
Chem:=ExtractFilePath(Application.ExeName); //Récupération de chemin de l'exécutable
Stg:= Form1.EditExistanceRepertoire.Text; //Concaténation du chemin contenu dans la variable Chem avec le nom du répertoire à créer.
Stg:= Chem+Stg+'\';
if DirectoryExists(Stg)then // !!!!! message d'erreur :Identificateur non déclaré !!!!!
begin
ShowMessage('oui');
end
else
begin
messagebeep(1);
ShowMessage('Non');
end;
end;
0
cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004
1 juil. 2003 à 11:36
As-tu ajouté Uses SysUtils; ?

RMD

www.Logiciels-RMD.com
0
stigmate101 Messages postés 89 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 30 avril 2020
1 juil. 2003 à 12:25
Oui
Voir si dessous
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004
1 juil. 2003 à 16:49
Heu, je voulais dire : FileCtrl !
Désolé.

RMD

www.Logiciels-RMD.com
0
cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004
1 juil. 2003 à 16:50
Je voulais dire FileCtrl et non SysUtils, désolé !

RMD

www.Logiciels-RMD.com
0
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
1 juil. 2003 à 17:13
Ajoute Windows dans Les Uses

Function DirectoryExists(Stg:string):Boolean;
var Hnd:Thandle;
Lpw:_WIN32_FIND_DATA;
begin
{$I-}
Result:=True;
Lpw.dwFileAttributes:=FILE_ATTRIBUTE_DIRECTORY;
Hnd:=Windows.FindFirstFile(Pchar(Directory),lpw);
If hnd=INVALID_HANDLE_VALUE then
Result:=False;
Windows.Findclose(Hnd);
{$I+}
end;

Bon Coding ....

ManChesTer.
0
stigmate101 Messages postés 89 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 30 avril 2020
3 juil. 2003 à 15:10
Ca marche,
Merci
A+
0
_Moise_ Messages postés 12 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 27 juillet 2006
2 août 2004 à 16:54
L'utilisation de DirectoryExist aurrais fonctionné si tu n'aurais pas ajouté un '\' à la fin du chemin

Stg:= Chem+Stg;

au lieu de

Stg:= Chem+Stg+'\';

if DirectoryExists(Stg) then //Tout devrais fonctionner normalement
0
Rejoignez-nous