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

GEODATA DAYS 2024

#1 Wed 07 November 2007 17:28

Nsidos
Juste Inscrit !
Date d'inscription: 19 Oct 2005
Messages: 7

Paramétrage avant éxécution d'une commande mapbasic

Bonjour

Peut on éxécuter une commande mapinfo, (la 408 : créer point) par un mbx en paramétrant les variables du menu à l'avance (nom table, symbole, projection ...)

merci

Hors ligne

 

#2 Wed 07 November 2007 17:43

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Paramétrage avant éxécution d'une commande mapbasic

Bonjour
Le "run menu command 408" ouvrira la boite de dialogue de "Créer points..."
Peut être qu'un "alter menu dialog" effectué auparavant permettrait de "pré remplir" les cases de ce dialogue ??
Je vous laisse tester - et nous tenir au courant - en utilisant cette doc. ...
Sinon il faut faire l'équivalent "à la main" par Create Point (précédé d'un Set CoordSys...)

Hors ligne

 

#3 Thu 08 November 2007 11:02

Nsidos
Juste Inscrit !
Date d'inscription: 19 Oct 2005
Messages: 7

Re: Paramétrage avant éxécution d'une commande mapbasic

je voulais justement eviter la creation point par point

je vais tester les recommandations et je poste les resultats

merci et a plus

Hors ligne

 

#4 Thu 08 November 2007 15:25

Nsidos
Juste Inscrit !
Date d'inscription: 19 Oct 2005
Messages: 7

Re: Paramétrage avant éxécution d'une commande mapbasic

ça marche bien en 2 étapes:

1. modifier le dialog 1870 (projections)
2. modifier le dialog 3620 (création de points)
3. executer la menu commande 408 (création)

je n'arrive encore pas à valider le dialogue sans click utilisateur, mais c'est déjà bien. Attention les codes des  controles à l'intérieur des dialogues n'étaient pas bon sur le site de lars nielsen pour ce qui concerne mon application.
ex du code:

Alter mapinfodialog 1870               'réglage de la projection
   Control 4 value 1           'numero de rang de la liste 1                       
   Control 5 value 118                    'idem liste 2

Alter MapInfoDialog 3620
   Control 4 value 1                                                 'corespond au numero de la table dans la listbox
   Control 6 value 17                                                'correspond au numero de colonne de la table pour x
   Control 7 value 18                                              'correspond au numero de colonne de la table pour y
   Control 8 value "57.2957795"                              'multiplicateur rad vers degres pour x  pour mon application
   Control 9 value "57.2957795"                              'multiplicateur rad vers degres pour y
   
Run Command  408 
     'executer le menu créer point - magique il est prérempli, il n'y a plus qu' à clicquer d'où mon intérêt pour passer sans intervention de l'utilisateur mais là je bloque pour l'instant



merci et a plus

Hors ligne

 

#5 Thu 08 November 2007 15:43

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Paramétrage avant éxécution d'une commande mapbasic

Super...
Les numéros de code sont "variables" avec les versions et je ne crois pas que  Lars Nielsen soit allé au delà de MI78...
Ceci étant, même pour cette version les codes indiqués par Lars Nielsen ne sont pas ceux que vous avez (avec succès) utilisés: comment avez vous trouvé les "bons" codes et sur quelle version de MI sont-ils valides ??
Ca serait sympa de nous faire profiter de votre expérience

Restera pour être "parfait" à simuler un appui sur OK par l'utilisateur ... mais là je sêche sad

Dernière modification par Maurice (Thu 08 November 2007 17:07)

Hors ligne

 

#6 Thu 08 November 2007 17:33

Nsidos
Juste Inscrit !
Date d'inscription: 19 Oct 2005
Messages: 7

Re: Paramétrage avant éxécution d'une commande mapbasic

J'ai utilisé les listings de la doc pour identifier les n° des dialogues mapinfo.

Pour trouver les codes des control, il faut ouvrir la dll de format miresXXX.dll ou XXX est le N° de version mapinfo (à la racine de mapinfo professional) avec un editeur. Moi j'ai utilisé Resource hacker.

Ensuite pour affecter les valeurs, les possibilites dépendent du type de controle. Pour les listes déroulantes par exemple on affecte en valeur un entier correspondant au N° de rang du choix dans la liste. Pour identifier la table par exemple, on ne peut visiblement et malheureusement pas passer par son nom, mais par son N° d'ordre. Pour etre plus rigoureux que cette première ébauche il faudrait donc identifier ce rang avant de l'affecter. Pour les champs texte on peut affecter des valeurs.
Et enfin pour la projection j'ai modifié le menu dialog sur le même principe  pour choisir au préalable la projection voulue pour ma couche.

Toutes ces infos (en beaucoup plus détaillé mais en anglais) sont contenues dans la doc de Jacques Paris.

Merci en espérant avoir été assez clair dans mes propos.

Hors ligne

 

Pied de page des forums

Powered by FluxBB