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 Fri 23 November 2007 14:27

V. Girault
Participant actif
Lieu: Clermont-Ferrand
Date d'inscription: 22 Sep 2005
Messages: 106

[MB] Rajout d'espaces aléatoires à droite et à gauche d'une chaine

Bonjour @ tous...

A défaut de supprimer des caractères dans une chaîne donnée, je voudrais trouver moyen d'en rajouter, notemment le Chr$(32) qui, comme chacun le sait, correspond au caractère espace...
Je m'explique : j'ai des étiquettes qui peuvent être composées de 2 ou 3 lignes dont chacune d'entre elle est séparée par le retour chariot (Chr$(13)). J'ai pû, dans mon algo, récupérer la valeur de chacune de ces lignes en tant que variable chaîne, et donc par la même occasion, en obtenir la longueur réelle.... qui est forcément variable, d'une chaîne à l'autre.... En comparant ensuite, chacune des tailles de ces chaînes obtenues, et en trouvant celle qui est la plus importante par rapport à la nième ligne, en divisant par 2 cette valeur, j'obtient le nombre de Chr$(32) que je dois rajouter à droite et à gauche de ma chaîne pour qu'elle aie une taille sensiblement égale à celle qui est la plus grande....

Le seul problème est que je ne voit pas comment faire cette dernière manip en MB, c'est la fin de mon algo et je butte là-dessus.... L'un d'entre-vous peut-il m'aider ?

D'avance, merci beaucoup....

Hors ligne

 

#2 Fri 23 November 2007 14:52

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

Re: [MB] Rajout d'espaces aléatoires à droite et à gauche d'une chaine

Bonjour
Il semble que la quantité d'espaces (Qe, défini en entier court) soit connue (issue de la division par 2 d'une différence)
De même la chaine de la nième ligne est "reconstituée"
Soit deux variable "caractère", debut et fin (et bien sûr i est défini en SmallInt)

Code:

debut="" fin=""
For  i=1 To Qe
debut=debut+chr$(32)
fin=fin+chr$(32)
Next

devrait donner 2 chaines de la taille en espaces voulue
Puis: chaine_finale=debut+chaine_reconstituee+fin  devrait donner une chaine_finale avec le bon "look" smile

Hors ligne

 

#3 Mon 03 December 2007 09:51

V. Girault
Participant actif
Lieu: Clermont-Ferrand
Date d'inscription: 22 Sep 2005
Messages: 106

Re: [MB] Rajout d'espaces aléatoires à droite et à gauche d'une chaine

Bonjour Maurice !

Je vais essayer ton petit algo... Merci beaucoup !

Hors ligne

 

Pied de page des forums

Powered by FluxBB