#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