#1 Fri 17 November 2006 14:55
prog mapbasic
Bonjour,
j'essaie de créer un petit outil .mbx mais je bloque.
je veux créer plusieurs tampons à l'intérieur d'unn polygone que j'ai déja. mais ces tampons sont à des intervalles non réguliers. il faut demander à l'utilisateur le nombre de tampons à réaliser (ca ca va). mais ensuite, il faut, pour chaque tampon, déterminer l'intervalle. je pense qu'il faut utiliser une boucle de type for... next mais le souci est que je n'arrive pas à stocker automatiquement les valeurs entrées par l'utilisateur dans des variables différentes à chaque fois (tampon 1, tampon 2, tampon 3 pour 3 tamons demandés par exemple).
deuxieme probleme, je voudrais sauver automatiquement ces tampons créés dans des tables différentes à chaque fois (avec un nom du type region_initiale_tampon_1, region_initiale_tampon_2, region_initiale_tampon_3).
enfin, (j'aurais peut etre pu le demander dès le début) je ne trouve pas comment faire pour demander à l'utilisateur de sélectionner le polygone à utiliser dans la table initiale.
voila
je ne sais pas si j'ai été très clair et peut etre que ca fait beaucoup toutes ces question
quoiqu'il en soit bonne journée
sam
Hors ligne
#2 Fri 17 November 2006 16:35
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: prog mapbasic
Bonjour
Pour la dernière question: ou la sélection doit exister avant le lancement de l'outil (et un message d'accueil le précise) ou l'utilisateur fait cette sélection depuis un bouton de l'outil muni d'un code genre
ToolButton
Icon MI_ICON_ARROW
HelpMsg "Sélectionner un polygone de la table bidule\nSélection"
Cursor MI_CURSOR_ARROW
DrawMode DM_CUSTOM_POINT
Calling suite_du_programme
Pour la variable qui prend plusieurs valeurs choisies par l'utilisateur, je pense qu'il faut utiliser une variable array (liste) : consultez l'aide MB sur ces variables. On peut alors faire un for i=1 to Ubound(t), t() étant la variable liste contenant n valeurs (nb: il faut des redim pour que la taille de liste soit ad-hoc)
ps: pas impossible aussi d'avoir à utiliser les handlers (préfabriqués ou spécifiques) genre WinFocusChangedHandler qui déclenche une action quand on change de fenêtre active (là aussi...voir l'aide)
Bon courage
Hors ligne