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é ?

#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@texte-a-enlever.lists.directionsmag.com/msg12019.html">http://www.mail-archive.com/mapinfo-l@l … 12019.html
-->

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 wink
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

 

Pied de page des forums

Powered by FluxBB