Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB