Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 01 July 2015 10:09

louloupzh18
Participant occasionnel
Lieu: Le Mans
Date d'inscription: 9 Apr 2015
Messages: 11

Problème code MAPBASIC

Bonjour à tous,

Dans le cadre de mon stage de Master 1, je cherche à automatiser certaines tâches répétitives sous Mapinfo via MAPBASIC. J'ai réussi la quasi-totalité de mon code, seule ma dernière manipulation me pose problème. Je cherche à ce qu'un message s'affiche en fonction de : " si ma table1 contient des éléments de ma table2 afficher tel message" , et vis versa, mais ce code ne fonctionne pas.

Voici ce que j'ai mis dans mon code :

If table1.obj Contains table2.obj Then
     Note "La table 1 contient des objets de la table 2"
    Else
     Note "La table 1 ne contient pas d'objets de la table 2"

Le résultat est tout le temps "La table 1 ne contient pas d'objets de la table 2", même lorsque ce n'est pas le cas.

Pouvez vous m'aider s'il vous plaît ? J'ai épluché les 3/4 de la documentation MapBASIC sans trouver de résultats, je viens donc solliciter votre génie

En vous remerciant d'avance, je vous souhaite à tous une bonne journée (#chaleur wink )

Louloupzh18

Hors ligne

 

#2 Thu 02 July 2015 17:02

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: Problème code MAPBASIC

Bonjour,

vu la demande et le résultat le résultat est normal.
table1.obj représente l'objet du premier enregistrement de la table table1
table2.obj représente l'objet du premier enregistrement de la table table2
donc il n'y a qu'un seul test effectué.

Pour exécuter un test complet entre les 2 tables
if faut écrire au moins :

Select count(*) as nombre
from table1, table2
where table1.obj Contains table2.obj
into tab_nb

f_nb = 0

Fetch First From tab_nb
if Not EOT(tab_nb) then f_nb = tab_nb.nombre

If f_nb <> 0 Then
     Note "La table 1 contient des objets de la table 2"
    Else
     Note "La table 1 ne contient pas d'objets de la table 2"

cordialement

Hors ligne

 

#3 Thu 02 July 2015 17:48

louloupzh18
Participant occasionnel
Lieu: Le Mans
Date d'inscription: 9 Apr 2015
Messages: 11

Re: Problème code MAPBASIC

Bonjour,

Merci beaucoup pour cette réponse !

Alors là je dois avouer que je n'avais pas du tout imaginé mettre ca sous cette forme et je me rend donc compte qu'il me reste beaucoup de choses à apprendre sur MapBasic : O . Je vais regarder ce code et essayer de l'appliquer. Encore une fois merci : )

Cordialement,

Louloupzh18

Hors ligne

 

#4 Thu 02 July 2015 18:15

evaporite
Participant actif
Date d'inscription: 30 Mar 2012
Messages: 54

Re: Problème code MAPBASIC

Bonjour
De mon côté j'aimerai bien apprendre MapBasic mais j'ai du mal à trouver une doc "débutant".
Comment as-tu fait pour apprendre ?
Merci
Aurélie

Hors ligne

 

#5 Thu 02 July 2015 18:49

louloupzh18
Participant occasionnel
Lieu: Le Mans
Date d'inscription: 9 Apr 2015
Messages: 11

Re: Problème code MAPBASIC

Bonjour
De mon côté j'aimerai bien apprendre MapBasic mais j'ai du mal à trouver une doc "débutant".
Comment as-tu fait pour apprendre ?
Merci
Aurélie


Bonjour Aurelie,

Alors pour ma part j'ai commencé à apprendre MapBasic depuis deux semaines environ, et je n'y avait jamais touché avant (c'est pour cela que je demande parfois de l'aide smile ).

Pour débuter, j'ai utilisé la fenetre MapBasic dans Mapinfo pour afficher le code qui émanait des différentes manipulations effectuées sous Mapinfo pour comprendre un petit peu comment cela marchait. Ensuite, j'ai approfondi avec de la documentation (en anglais) pour apprendre d'autres éléments et je continue a y jeter un oeil régulièrement.

Cela viendra avec l'entrainement je suppose, il faut juste apprendre tout d'abord les bases du langage et savoir ce que l'on peut/ce que l'on ne peut pas faire avec cet outils wink . Avec un peu de bonne volonté on devrait pouvoir s'en sortir smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB