#1 Mon 07 November 2005 10:30
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Instruction MapBasic pour choisir un répertoire
Bonjour,
Je suis à la recherche de l'instruction MapBasic qui correspondrait au "Veuillez situer votre table" que MapInfo affiche lorsque les chemins des répertoires d'un document ont changé et où l'utilisateur choisit donc le répertoire où se trouve la table.
Merci d'avance.
Marie Sinoquet, Insee
Hors ligne
#2 Mon 07 November 2005 18:52
Re: Instruction MapBasic pour choisir un répertoire
Il s'agit probablement de
FileOpenDlg(:"<chemin>","<fichier>","<extension>","<phrase,question>")
Remplacez les <..> par ce qui est approprié
Jacques Paris
Hors ligne
#3 Mon 07 November 2005 20:21
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Instruction MapBasic pour choisir un répertoire
Bonjour
Pour ouvrir une table qui à put changer de place, de la même manière que Mapinfo
open table nom_de_la_table as indent_table INTERACTIVE
exemple
open table "C:\DOCUMENT\MAPINFO\Villes" as Villes Interactive
Le fileopendialog permet d'obtenir le chemin complet de n'importe quel fichier.
Damien BEAUSEIGNEUR
Hors ligne
#4 Tue 08 November 2005 08:05
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Re: Instruction MapBasic pour choisir un répertoire
Merci mais ce n'est pas l'instruction fileopenglg que je cherche. Il faut que je pointe sur des répertoires pour laisser à l'utilisateur le choix du répertoire dans lequel il veut aller, je ne dois pas pointer sur un fichier. Je souhaite en fait afficher la liste des répertoires et le laisser circuler....
Autre proposition ????
Hors ligne
#5 Tue 08 November 2005 10:50
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Instruction MapBasic pour choisir un répertoire
Bonjour
Explication de ma solution
En fait dans open table si tu pointe vers un fichier qui n'existe pas sans l'option interactive, ton programme Mapbasic plante.
Avec l'option interactive si le fichier n'est pas trouvé il te donnera alors la fenêtre de dialogue pour la recherche de fichier.
Ce code est le même que celui écrit dans le .WOR, si tu lui enlève interactive dans ce cas là il ne pourra pas finir son ouverture.
En espèrant avoir été clair
Hors ligne
#6 Tue 08 November 2005 10:58
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Re: Instruction MapBasic pour choisir un répertoire
Je suis d'accord mais ce n'est pas la solution idéale que je recherche. Je n'ai pas de nom de table à indiquer dans le open table. J'ai juste besoin d'afficher les répertoires du poste de travail pour que l'utilisateur m'indique où il stocke ses données mais derrière je ne connais pas le nom de ses tables...
Hors ligne
#7 Tue 08 November 2005 11:16
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Instruction MapBasic pour choisir un répertoire
En fait il faut indiquer à open table le chemin d'un fichier qui n'existe pas par exemple si seulement les lettres de lecteur c,d,e,t sont présente essaye d'ouvrir le fichier au chemin d'accès "z:\absente".
Sinon il faut passer par fileopendlg pour avoir le nom du fichier pour pouvoir l'ouvrir avec le open table standard.
Mais si tu recherche un répertoire il vaut mieux passer par un filesavedlg, le module de reche de répertoire n'existe pas à ma connaissance.
Hors ligne
#8 Tue 08 November 2005 11:17
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Re: Instruction MapBasic pour choisir un répertoire
Oui, c'est bien cela qui manque un module de recherche...
Merci quand même...
Hors ligne
#9 Tue 08 November 2005 12:38
Re: Instruction MapBasic pour choisir un répertoire
Il y a 3 trois fonctions MB-custom faisant appel à des API qui permettent de choisir fichier/répertoire/unité GetFileName, GetDir, GetDrive et qui sont documentées dans www.paris-pc-gis.com/mb_r/fs/fs_start.htm
Hors ligne
#10 Tue 08 November 2005 13:33
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Instruction MapBasic pour choisir un répertoire
Bonjour,
Dans ce cas on peut utiliser quand même FileOpenDlg pour récupérer un
répertoire de travail, avec quelque chose du genre :
Dim test as String
test = FileOpenDlg("C:" , "" , "*.*" ,
"Choisissez le répertoire de travail en cliquant n'importe quel
fichier:" ) 'C:tempmachin.truc
if test=""
then
'si il clique Cancel
exit sub
else
repertoire=pathtodirectory$(test)
'C:temp
........
end if
Le seul souci est que le répertoire soit vide...il faut alors d'autres
stratégies de contournement!!!
Bon courage
Maurice NADAL
Hors ligne
#11 Tue 08 November 2005 13:34
- lagnion
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 64
Re: Instruction MapBasic pour choisir un répertoire
www.paris-pc-gis.com/mb_r/dll/dll_start.htm
et aller dans kernel library.
Tu trouveras ce que tu cherches, il me semble.
Pour faire tourner ces programmes, il faut vérifier où se situent les
"libraries" utilisées sur ta machine. (il peut être necessaire de modifier
le chemin qui est proposé dans les exemples.)
Merci encore à Jacques Paris!!
Annick Lagnion
annick lagnion
DDE29
Hors ligne
#12 Tue 08 November 2005 15:43
- dier
- Invité
Re: Instruction MapBasic pour choisir un répertoire
ou encore avec SHBrowseForFolder :
http://spatialnews.geocomm.com/communit … l?id=21518
#13 Thu 10 November 2005 09:00
- Sinoquet Marie
- Juste Inscrit !
- Date d'inscription: 6 Sep 2005
- Messages: 6
Re: Instruction MapBasic pour choisir un répertoire
Bravo, cette fois-ci est la bonne, je conseille le SHBrowseForFolder à tout le monde...
Merci encore...
Hors ligne