#1 Thu 04 August 2005 14:19
- Philippe Boutelier
- Invité
Creation de repertoire Mapbasic
De: philippe Boutelier
Bonjour à tous
Dans le cadre d un projet mapbasic je souhaite que le programme crée automatiquement des sous repertoires sous windows. Quelqu un connait il la solution pour automatiser cette création
Vous en remerciant,
Philippe Boutelier
#2 Thu 04 August 2005 15:57
- Lauffer Marc
- Invité
Re: Creation de repertoire Mapbasic
il faut utiliser une API windows:
Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" ( _
ByVal lpPathName As String, _
lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui
Description :
Cette fonction sert à créer un répertoire.
lpPathName est le chemin complet du répertoire à créer.
lpSecurityAttributes est une structure qui renseigne les informations de sécurité du nouveau répertoire (voir détail ci-dessous). Cela n'est pas nécessaire sous Win9x (valeur Null).
Sous NT ou Win2000, une valeur Null donne les attributs de sécurité par défaut au répertoire.
La valeur Vrai est retournée par la fonction si la création a eu lieu, sinon False.
Type SECURITY_ATTRIBUTES
nLength As Long 'la taille de la structure en bits
lpSecurityDescriptor As Long '???
bInheritHandle As Long '???
End Type
en mapbasic : remplacer Long par Integer
exemple de déclaration du SECURITY_ATTRIBUTES:
dim sa as SECURITY_ATTRIBUTES
sa.nLength = len(sa)
sa.lpSecurityDescriptor = 1&
sa.bInheritHandle = 0&
attention en MapBasic, len() ne renvoie pas la taille de la variable en bits: il va donc falloir tâtonner et mettre des valeurs au pif pour trouver la bonne (si la fct renvoie false c'est qu'elle a foiré), ou alors tester la fonction sur excel et voir ce qu'elle renvoie pour l'appliquer à Map: ça peut marcher...
si tu trouves la bonne utilisation de l'API en MapBasic, merci d'en faire profiter!
marc lauffer
www.urbalyon.org
#3 Thu 29 September 2005 14:56
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Re: Creation de repertoire Mapbasic
On peut aussi lancer les commandes DOS donc créer des répertoires, les détruire, détruire tous les fichiers à l'intérieur, copier tous les fichiers, etc.
run program "command.com /c md c:\titi" crée le répertoire titi
run program "command.com /c rd c:\titi" détruit le répertoire titi
run program "command.com /c del c:\titi\*.txt" détruit tous les fichiers du répertoire titi dont l'extension est txt
run program "command.com /c copy c:\titi\*.wor e:\" copie tous les fichiers du répertoire titi ayant comme extension wor à la racine de e:
etc.
Marie Sinoquet, Insee
Hors ligne