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 Mon 22 May 2006 10:17

Cyco
Juste Inscrit !
Lieu: lyon
Date d'inscription: 5 Jan 2006
Messages: 5

Mapbasic : recuperer le nom de la projection

Bonjour,

J'essaie dans un programme mapbasic de récupérer le nom de la projection à partir des paramètres d'un Coordsys.

J'ai tenté de comparer ces paramètres avec ceux contenus dans le fichier Mapinfow.prj (qui contient le nom de la projection ). Le problème, c'est que les paramètres du fichier mapinfow.prj contiennent des espaces (ou double espace) entre les paramètres. Pour comparer les deux chaines de caractères, c'est pas top. J'ai essayé de supprimer ces blancs avec LTrim$ et Rtrim$, rien à faire !!

Quelqu'un a t-il une solution ?

Hors ligne

 

#2 Mon 22 May 2006 11:26

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

Re: Mapbasic : recuperer le nom de la projection

Ltrim$ et Rtrim$ ne supprimerons que les espaces présents devant et derrière la cahine principale mais ne supprimera pas les espaces à l'intérieur de cette chaine.
La méthode consiste à détecter chaque espace dans la chaine et les supprimer.

Dim Chaine_initiale as string
Dim Chaine_traitement as string
Dim Chaine_a_tester as string
Dim position as integer

Chaine_traitement = chaine_initiale
Chaine_a_tester  = ""
Do Until instr(1,chaine_traitement," ")=0
  Position = instr(1,chaine_traitement," ")
  if Position > 1 then
    Chaine_a_tester = Chaine_a_tester & Left$(chaine_traitement,Position-1)
  end if
  if Position < len (chaine_traitement) then
    Chaine_traitement = Mid$(Chaine_traitement,Position+1, len(Chaine_traitement))
  else
    Chaine_traitement = ""
  end if
Loop

En sortie tu obtiendras ta chaine complète sans aucun espace.

Hors ligne

 

#3 Mon 22 May 2006 14:45

Cyco
Juste Inscrit !
Lieu: lyon
Date d'inscription: 5 Jan 2006
Messages: 5

Re: Mapbasic : recuperer le nom de la projection

Super, merci beaucoup Damien

<Attention : Il faut ajouter à la fin du code après l'instruction loop

chaine_a_tester=chaine_a_tester+Chaine_traitement

sinon, il manque la dernière chaine de caractère

Encore merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB