#1 Thu 18 October 2012 08:41
- slayer07
- Juste Inscrit !
- Date d'inscription: 5 Oct 2012
- Messages: 7
problème récupération d'echelle
Bonjour,
je cherche à récupérer la valeur de mon zoom. J'utilise ce code
Code:
declare sub mise_en_page declare sub main dim map_window_id as integer dim echelle as string sub main Create Menu "test" As "test" calling mise_en_page Alter Menu Bar Add "test" end sub sub mise_en_page dim echelle as string Set Distance Units "cm" Set Paper Units "cm" echelle=MAPPERINFO( frontwindow(),MAPPER_INFO_SCALE)/100 create text into Window frontwindow() "Echelle : 1cm = "& echelle &"m" (28.5, 28.5) (33.5, 28.5) Font("Arial", 0.0, 12.0, 19777325.0) end sub
mais lorsque que je passe sous mapinfo j'ai un message:
variable ou champ mapper_info_scale non définie.
Du coup, je bloque.
merci
Hors ligne
#2 Thu 18 October 2012 14:27
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: problème récupération d'echelle
Salut,
Bizarre --> Dans ton code --> dim echelle as string
Dans celui ci --> http://testdrive.mapinfo.com/techsupp/m … enDocument --> dim scale as float
A essayer
A+
Joël
Hors ligne
#3 Thu 18 October 2012 14:49
- slayer07
- Juste Inscrit !
- Date d'inscription: 5 Oct 2012
- Messages: 7
Re: problème récupération d'echelle
je n'ai plus de code erreur mais ça me plante mapinfo
Hors ligne
#4 Thu 18 October 2012 15:23
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: problème récupération d'echelle
Une autre cause possible ---> echelle=MAPPERINFO( frontwindow(),MAPPER_INFO_SCALE)/100 ????
En passant comme ceci -->
Code:
map_window_id = FrontWindow( ) echelle=MAPPERINFO( map_window_id ,MAPPER_INFO_SCALE)/100
Je dis ça car tu déclares une variable que tu n'utilises pas --> dim map_window_id as integer
Pour le create text celà doit être pareil.
La fonction doit être sous cette forme:
--> CreateText( window_id, x, y, text, angle, anchor, offset )
A voir ---> mapinfo-l@/msg12019.html">http://www.mail-archive.com/mapinfo-l@l … 12019.html lists.directionsmag.com
-->
Code:
dim wid as integer dim scale as float wid=Frontwindow() Set Paper Units MapperInfo(wid,12) scale = MapperInfo(wid,1) / WindowInfo(wid,4) Print "Computed Scale is 1:" + scale Print "MAPPER_INFO_SCALE is 1:"+MapperInfo(wid,2) undim wid undim scale
A+
Joël
Dernière modification par Spacejo (Thu 18 October 2012 15:54)
Hors ligne
#5 Thu 18 October 2012 16:21
- slayer07
- Juste Inscrit !
- Date d'inscription: 5 Oct 2012
- Messages: 7
Re: problème récupération d'echelle
Avec ton code, je me retrouve avec un code erreur à la ligne 15
Code:
include "mapbasic.def" declare sub mise_en_page declare sub main dim wid as integer dim scale as float sub main Create Menu "test" As "test" calling mise_en_page Alter Menu Bar Add "test" end sub sub mise_en_page wid=Frontwindow() Set Paper Units MapperInfo(wid,12) scale = MapperInfo(wid,1) / WindowInfo(wid,4) Print "Computed Scale is 1:" + scale Print "MAPPER_INFO_SCALE is 1:"+MapperInfo(wid,2) end sub
MapperInfo: argument 2 en dehors des limites
et je voudrais récupérer de la forme 1 cm =xx km et pas de la forme 1:xxxx afin de l'afficher dans ma mise en page
Dernière modification par slayer07 (Thu 18 October 2012 16:33)
Hors ligne
#6 Thu 18 October 2012 16:34
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: problème récupération d'echelle
Je te donnes des exemples à analyser qui te permettront de sortir ton propre code.
Ce n'est pas du clef en main.
Il existe une bible ---> Le Reference Guide ---> http://www.pbinsight.com/support/produc … o-mapbasic
Hors ligne
#7 Thu 18 October 2012 16:40
- slayer07
- Juste Inscrit !
- Date d'inscription: 5 Oct 2012
- Messages: 7
Re: problème récupération d'echelle
Le guide de référence je l'ai déjà.
Normalement, ce code doit fonctionner
Code:
include "mapbaisc.def" declare sub mise_en_page declare sub main dim map_window_id as integer dim echelle as float sub main Create Menu "test" As "test" calling mise_en_page Alter Menu Bar Add "test" end sub sub mise_en_page Set Distance Units "km" Set Paper Units "cm" map_window_id=frontwindow() echelle=MAPPERINFO(map_window_id,MAPPER_INFO_SCALE) create text into Window map_window_id "Echelle : 1cm = "& echelle &"m" (28.5, 28.5) (33.5, 28.5) Font("Arial", 0.0, 12.0, 19777325.0) end sub
.
j'ai juste ce code erreur qui apparaît et je ne le comprend pas
MapperInfo: argument 2 en dehors des limites
Dernière modification par slayer07 (Thu 18 October 2012 16:47)
Hors ligne
#8 Thu 18 October 2012 17:47
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: problème récupération d'echelle
Connais tu la ligne qui pose problême?
J'ai l'impression que c'est la Create text.
Essaye de remplacer celle ci -->
Code:
create text into Window map_window_id "Echelle : 1cm = "& echelle &"m" (28.5, 28.5) (33.5, 28.5) Font("Arial", 0.0, 12.0, 19777325.0)
Par celle là -->
Code:
Print "Echelle : 1cm = " & MapperInfo(map_window_id,2) & "Km"
Ce n'est pas toutafait ce que tu souhaites mais celà permettra de trouver oû ça coince
A+
Joël
Dernière modification par Spacejo (Thu 18 October 2012 17:48)
Hors ligne
#9 Thu 18 October 2012 18:10
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: problème récupération d'echelle
Lors de vos développement penser à utiliser le fichier de définition des constantes.
MAPBASIC.DEF
ou pour l'utilisation en cours.
Code:
Define MAPPER_INFO_SCALE 2
une autre solution consiste à remplacer MAPPER_INFO_SCALE par 2 tout simplement dans votre code.
cordialement
Hors ligne
#10 Thu 18 October 2012 23:32
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: problème récupération d'echelle
je viens de voir le problème
Code:
include "mapbaisc.def"
au lieu de
Code:
include "mapbasic.def"
2° erreur au niveau du create text
Code:
create text into Window map_window_id "Echelle : 1cm = "& echelle &"m" (28.5, 28.5) (33.5, 28.5) Font("Arial", 0.0, 12.0, 19777325.0)
il manque makefont après font.
Code:
create text into Window map_window_id "Echelle : 1cm = "& echelle &"m" (28.5, 28.5) (33.5, 28.5) Font [b]makefont[/b]("Arial", 0.0, 12.0, 19777325.0)
ci dessous l'exemple fournit dans le guide de référence
Code:
Example Include "MAPBASIC.DEF" Dim o_title As Object Create Text Into Variable o_title "Your message could go HERE" (73.5, 42.6) (73.67, 42.9) Font MakeFont("Helvetica",1,12,BLACK,WHITE)
Dernière modification par Damien BEAUSEIGNEUR (Thu 18 October 2012 23:48)
Hors ligne
#11 Mon 22 October 2012 09:19
- slayer07
- Juste Inscrit !
- Date d'inscription: 5 Oct 2012
- Messages: 7
Re: problème récupération d'echelle
merci pour ton intervention.
je viens de modifier mon code par contre dès que je met une échelle de 1 cm =0,30 km et que lance en ayant sélectionné la fenêtre carte j'ai toujours mon code d'erreur à la ligne 17 MapperInfo: argument 2 en dehors des limites.
Autre petite chose il est pas possible de lui faire dire l'échelle en étant sur la fenêtre mise en page?
Dernière modification par slayer07 (Mon 22 October 2012 09:49)
Hors ligne