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 Wed 24 November 2010 09:57

Protanim
Juste Inscrit !
Date d'inscription: 24 Aug 2010
Messages: 1

[Mapinfo 8.5] Génerer un MBX

Bonjour,

J'aimerais automatiser une tache pour gagner du temps. Elle devra être répétée une centaine de fois avec un fichier Excel source différent.
J'ai donc exécuté tout ce que je souhaite, recopié la fenêtre mapbasic et la je suis coincé.
J'ai lu qu'il fallait le faire avec Scriptgen mais il ne marche pas sous Seven 64 bits.
Pourriez vous m'aider ? Et également me confirmer que mon code est bon ? (autrement dit que c'est faisable)

Code:

Register Table "PARMAJ.xls"  TYPE XLS Titles  Range "export(1)!A2:P200"  Interactive Into "PARMAJ.TAB"
Open Table "PARMAJ.TAB" Interactive
Browse * From PARMAJ
Create Map For PARMAJ CoordSys Earth Projection 3, 33, "m", 3, 46.5, 44, 49, 700000, 6600000 Bounds (-112761336.458, -100805724.408) (114161336.458, 126116948.507)
Open Table "Grille.TAB" Interactive
Map From Grille
Select * from Grille, PARMAJ where Grille.Obj Contains PARMAJ.Obj into Selection
Browse * From Selection
Commit Table Query1 As "Resultat.tab" TYPE NATIVE Charset "WindowsLatin1"
select * from Query1 where Code_atlas="Certain" into Selection
browse * from Selection
Commit Table Query2 As "Certain.TAB" TYPE NATIVE Charset "WindowsLatin1"
select * from Query1 where Code_atlas="Probable" into Selection
browse * from Selection
Commit Table Query3 As "Probable.TAB" TYPE NATIVE Charset "WindowsLatin1"
select * from Query1 where Code_atlas="Possible" into Selection
browse * from Selection
Commit Table Query4 As "Possible.TAB" TYPE NATIVE Charset "WindowsLatin1"
Open Table "Certain.TAB" Interactive
Add Map Auto Layer Certain
Open Table "Possible.TAB" Interactive
Add Map Auto Layer Possible
Open Table "Probable.TAB" Interactive
Add Map Auto Layer Probable
Open Table "SCAN25-ED2005_L2E_c10.TAB" Interactive
Add Map Auto Layer SCAN25_ED2005_L2E_c10
Map From SCAN25_ED2005_L2E_c10
set map redraw off
Add Map Layer Certain, Probable, Possible 
Set Map Layer 1 Display Graphic Zoom (0, 100000) Units "km" Off Editable Off Selectable On Global Line (1,2,0)  Global Pen (1,2,0)  Global Brush (2,16777215,16777215)  Global Symbol (35,0,12)  Global Font ("Arial",0,9,0) Label Line None Position Center Font ("Arial",0,9,0) Pen (1,2,0)  With Description Parallel On Auto Off Overlap Off PartialSegments Off Duplicates On Offset 2 Max Visibility On Nodes Off Arrows Off Centroids Off
Set Map Layer 2 Display Graphic Zoom (0, 100000) Units "km" Off Editable Off Selectable On Global Line (1,2,0)  Global Pen (1,2,0)  Global Brush (2,16777215,16777215)  Global Symbol (35,0,12)  Global Font ("Arial",0,9,0) Label Line None Position Center Font ("Arial",0,9,0) Pen (1,2,0)  With Description Parallel On Auto Off Overlap Off PartialSegments Off Duplicates On Offset 2 Max Visibility On Nodes Off Arrows Off Centroids Off
Set Map Layer 3 Display Graphic Zoom (0, 100000) Units "km" Off Editable Off Selectable On Global Line (1,2,0)  Global Pen (1,2,0)  Global Brush (2,16777215,16777215)  Global Symbol (35,0,12)  Global Font ("Arial",0,9,0) Label Line None Position Center Font ("Arial",0,9,0) Pen (1,2,0)  With Description Parallel On Auto Off Overlap Off PartialSegments Off Duplicates On Offset 2 Max Visibility On Nodes Off Arrows Off Centroids Off
set map redraw on
set map redraw off
Add Map Layer Grille 
Set Map Layer 1 Display Global Zoom (0, 100000) Units "km" Off Editable Off Selectable On Global Line (1,2,0)  Global Pen (1,2,0)  Global Brush (1,16777215,16777215)  Global Symbol (35,0,12)  Global Font ("Arial",0,9,0) Label Line None Position Center Font ("Arial",0,9,0) Pen (1,2,0)  With Description Parallel On Auto Off Overlap Off PartialSegments Off Duplicates On Offset 2 Max Visibility On Nodes Off Arrows Off Centroids Off
Set Map Layer 2 Display Global Global Pen (1,1,0)  Global Brush (2,16711680,16777215) 
Set Map Layer 3 Display Global Global Pen (1,1,0)  Global Brush (2,16744448,16777215) 
Set Map Layer 4 Display Global Global Pen (1,1,0)  Global Brush (2,16776960,16777215) 
set map redraw on
Update Certain Set Obj = CreatePoint (centroidX (obj), centroidY(obj))
Update Probable Set Obj = CreatePoint (centroidX (obj), centroidY(obj))
Update Possible Set Obj = CreatePoint (centroidX (obj), centroidY(obj))
set map redraw off
Set Map Layer 2 Global Symbol (34,16711680,12) 
Set Map Layer 3 Global Symbol (34,16744448,12) 
Set Map Layer 4 Global Symbol (34,16776960,12) 
set map redraw on
Layout
Set CoordSys Layout Units "in"
Create Frame (0.5,4.16202) (7.76667,7.53173) Pen (1,2,0) Brush (2,16777215,16777215) Title "Grille,...,SCAN25_ED2005_L2E_c10 Carte" FillFrame On
Set CoordSys Earth Projection 1, 0

Merci d'avance pour votre aide

Hors ligne

 

#2 Wed 24 November 2010 16:15

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

Re: [Mapinfo 8.5] Génerer un MBX

Bonjour
Tout - ou presque - est faisable avec un mbx !! Il suffit d'avoir une version de MapBasic adaptée à son MapInfo
En particulier les "automatisations" telles que vous les évoquez
Pour le code...procéder par tâtonnement et chercher à être le plus générique possible; dans le code soumis, éviter par exemple toutes les lignes browse... qui ne sont pas utiles et vous pourrez alors faire référence systématiquement à "selection" sans avoir recours à Query1, Query2, etc...

Hors ligne

 

Pied de page des forums

Powered by FluxBB