#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