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 Mon 15 September 2008 11:15

chiche31
Participant actif
Date d'inscription: 20 Aug 2008
Messages: 64

[MapBasic 9.0] Afficher des données extraites d'une table

Bonjour,
J'aimerais pouvoir afficher des données sur la couche nommée "ma_couche", mais j'ai quelques problèmes. J'utilise le code suivant :

Code:

Sub afficher
    
    Dim cmd as String
    
       Set Map Layer ListeAOG Editable On
    Cmd = "Set Map Layer ListeAOG"
        + " Label "' Font ("Arial",257,9,0,16777215)
        + " With toto Auto Off Overlap On Offset 20"
        Run Command Cmd


       'Set Map Layer GetLayerId ("ListeAOG") Display Graphic     'ne passe pas à la compilation
    
End Sub

Quand j'exécute le code sous mapinfo, ça me dit que ma couche vue n'est pas valide. Quelqu'un peut m'aider?

Merci par avance

Hors ligne

 

#2 Mon 15 September 2008 11:55

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

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Bonjour
MI vous dit aussi quelle ligne pose problème...
A mon avis vous avez mal écrit le cmd ="..."
Je vois déjà une apostrophe sur votre ligne 2 ...qui inactive toute la ligne 3 suivante !!
Faites un print cmd avant le Run Command Cmd pour vérifier

Hors ligne

 

#3 Mon 15 September 2008 14:35

chiche31
Participant actif
Date d'inscription: 20 Aug 2008
Messages: 64

Re: [MapBasic 9.0] Afficher des données extraites d'une table

J'ai rectifié l'apostrophe. Voilà ce que ça donne quand je fais un print cmd :
Set Map Layer ListeAOG Label  With toto Auto Off Overlap On Offset 20

Et j'ai toujours la même erreur : "La couche de la vue n'est pas valide"

Hors ligne

 

#4 Mon 15 September 2008 15:13

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

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Toujours la même histoire avec ces bouts de programme...
Je suppose que vous avez un Mapper ouvert au premier plan, contenant la couche "ListeAOG", quand survient votre Sub afficher ?? Sinon dès le Set Map...il y aura une erreur, sans même attendre le cmd
Pas de numéro de ligne dans le message d'erreur ??
De plus si le cmd ne dit pas Auto On...il ne se passera rien même s'il n'y a pas d'erreur !

Hors ligne

 

#5 Mon 15 September 2008 15:25

chiche31
Participant actif
Date d'inscription: 20 Aug 2008
Messages: 64

Re: [MapBasic 9.0] Afficher des données extraites d'une table

La sub afficher est appelée tel quel dans une fonction main où il n'y a que le call afficher. Aucun code supplémentaire, je vous ai tout posté.
QU'est-ce que vous appelez un Mapper?
La ligne qui plante est la ligne "Set Map Layer ListeAOG Editable On"
Je mets le Off à On...

Hors ligne

 

#6 Mon 15 September 2008 16:19

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

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Un mapper = une fenêtre carte (en anglais...mais ça va plus vite à taper)
Le mbx ne peut marcher que si les conditions que j'évoquais sont réunies quand on le lance....

Hors ligne

 

#7 Mon 15 September 2008 16:22

chiche31
Participant actif
Date d'inscription: 20 Aug 2008
Messages: 64

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Vous voulez parler d'une ligne qui ressemble à ça : Create Map ListeAOG CoordSys Earth Projection 8, 104, 7, 9, 0, 0.9996, 500000, 0  ?

Hors ligne

 

#8 Mon 15 September 2008 16:51

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

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Non...surtout pas : cette ligne modifie la structure de la table ListeAOG (si ouverte) et en détruit tous les objets !!
Il faut un Open Table "chemin\ListeAOG.tab" pour ouvrir ListeAOG
Puis  un Map From ListeAOG pour créer le mapper
Ca devrait suffire...avant de lancer le mbx

Hors ligne

 

#9 Tue 16 September 2008 10:00

chiche31
Participant actif
Date d'inscription: 20 Aug 2008
Messages: 64

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Après rectification :

Code:

Sub afficher
       
   Dim cmd as String
   Open Table "C:\Program Files\ACXIOM\AIRTAC GIS\Tables\ListeAOG.tab"
    Map From ListeAOG

    Set Map Layer ListeAOG Editable On
    Cmd = "Set Map Layer ListeAOG"
        + " Label "
        + " With Nom Auto On Overlap On Offset 20"
        Run Command Cmd    
    
End Sub

Petit soucis : C'est une nouvelle fenêtre blanche qui apparaît, là où je voudrais afficher dans ma fenêtre d'origine les données que contient la table listeAOG (si j'ai bien compris le fonctionnement de set map layer...)

Dernière modification par chiche31 (Tue 16 September 2008 10:00)

Hors ligne

 

#10 Tue 16 September 2008 10:22

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

Re: [MapBasic 9.0] Afficher des données extraites d'une table

Gros souci: ListeAOG.tab c'est une table graphique ou une table de données ??
- Si c'est une table de données (et qu'elle a subi avant un Create Map...comme évoqué au post #7), la table est munie d'un *.map mais celui-ci ne contient aucun objet graphique -> le mapper blanc ! Si elle n'a pas été munie d'un *.map, c'est le tableau des données (le browser) qui s'affiche...
Pour voir quelque chose, il faut d'abord créer ces objets, avant de les munir de labels
- Si c'est une table graphique....le mapper est blanc soit parce que la table est hors de la fenêtre (la centrer par Set Map Zoom Entire Layer 1), soit parce que ses objets ont un style par défaut qui les rend "invisibles"...

Hors ligne

 

Pied de page des forums

Powered by FluxBB