#1 Thu 19 April 2007 14:18
Supprimer les étiquettes personnalisées en Mapbasic
Bonjour,
Quelqu'un connait-il un moyen de supprimer les étiquettes personnalisée pour une couche, en Mapbasic ?
Si je fais une boucle sur ma table avec cette commande :
Code:
Set Map Layer s_table Object i Visibility Off
les étiquettes disparaissent bien, mais si j'enregistre mon document, j'y trouve des instructions :
Code:
Object i Visibility Off
en pagaille (autant que de lignes dans ma table)...
Je cherche donc une solution pour faire l'équivalent de "Effacer étiquetage personnalisé", mais pour une table particulière.
Christophe Damour (SIGéal)
Hors ligne
#2 Thu 19 April 2007 17:36
- Cartosig
- Participant assidu
- Date d'inscription: 16 Oct 2006
- Messages: 222
Re: Supprimer les étiquettes personnalisées en Mapbasic
Je ne connais pas bien le fonctionnement des étiquettes personnalisées... Si j'en savais plus je pourrais peut-être vous aider !
Comment sont-elles stockées ? dans le champ Obj de la table ?
Voulez vous les supprimer ou les retirer de l'affichage ?
Hors ligne
#3 Thu 19 April 2007 18:57
Re: Supprimer les étiquettes personnalisées en Mapbasic
Les étiquettes personnalisée sont associées au numéros de lignes d'une table, et stockés dans le document. Je cherche à les supprimer depuis un programme MapBasic.
Lorsqu'on utilise l'interface de MapInfo, elles sont automatiquement crées soit lorsqu'on modifie une étiquette automatique, soit lorsqu'on crée manuellement une étiquette.
On peut également les créer en MapBasic au moyen de la commande Set Map avec une LabelClause.
Pour les supprimer depuis l'interface, il faut soit les sélectionner et utiliser la touche suppr, soit utiliser la commande Effacer étiquetage personnalisé, qui a pour effet de toutes les supprimer, quelle que soit la table.
En revanche je ne trouve aucun moyen de les supprimer en MapBasic...
Christophe Damour (SIGéal)
Hors ligne
#4 Thu 19 April 2007 19:07
- Cartosig
- Participant assidu
- Date d'inscription: 16 Oct 2006
- Messages: 222
Re: Supprimer les étiquettes personnalisées en Mapbasic
Ha d'accord je n'avais pas saisi que ces étiquettes étaient stockées directement dans le .WOR !
En effet je vois mal comment les supprimer en MB autrement qu'en allant modifier le .WOR lui même avec des fonctions de traitement de chaines de caractères. Mais ça risque de poser probleme d'écrire dans le .WOR alors qu'il est en cours d'utilisation...
Edit : je viens de tester on peut en fait modifier un .WOR ouvert sous MI sans probleme.
Hors ligne
#5 Thu 19 April 2007 19:51
Re: Supprimer les étiquettes personnalisées en Mapbasic
Merci de ta réponse,
Effectivement c'est une solution... mais je préfèrerais ne pas en arriver là !
D'ailleurs, je cherche à éliminer certaines étiquettes avant même qu'elles ne soient dans le .wor, lors de la création à la volée de plusieurs cartes successivement. Et je ne sais pas précisément où elles se trouvent à ce moment là (a priori ni dans les tables, ni dans la couche dessin).
Christophe Damour (SIGéal)
Hors ligne
#6 Fri 20 April 2007 09:09
- Gérard parcoli
- Participant actif
- Date d'inscription: 9 Jan 2007
- Messages: 95
Re: Supprimer les étiquettes personnalisées en Mapbasic
Bonjour,
la commande mapbasic suivante permet de supprimer les étiquettes personnalisées d'une couche:
set map layer 1 Label default
ou il faut remplacer le 1 ('layer 1') par le numéro de la couche à traiter.
Hors ligne