1 message in org.openoffice.fr.progCuriosités lors de manipulations de c...
FromSent OnAttachments
Erwan SoubenJan 18, 2007 1:49 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Curiosités lors de manipulations de curseurs et de chainesActions...
From:Erwan Souben (erwa@gmail.com)
Date:Jan 18, 2007 1:49:06 am
List:org.openoffice.fr.prog

Bonjour à tous,

J'ai remarqué quelque chose de bizarre lors de l'affectation du texte d'un curseur à une chaîne puis la ré-affectation de cette chaine au même texte.

Considérons un document Writer avec ces deux lignes :

Texte d'exemple¶ sans saut de ligne¶

(Les pieds de mouche sont là pour info seulement.)

et cette macro :

REM ***** BASIC *****

Sub GenerationSpontaneeLF Dim MonDocument as Object Dim MonTexte as Object Dim CurseurVisible As Object Dim MonCurseur As Object Dim Chaine as String

MonDocument= ThisComponent() CurseurVisible = MonDocument.currentcontroller.ViewCursor MonTexte = CurseurVisible.text MonCurseur = MonTexte.createTextCursorByRange(CurseurVisible)

Chaine = MonCurseur.string print len(chaine)

'Traitements de la chaîne

MonCurseur.String = Chaine print len(MonCurseur.String)

' Même chose avec MonTexte.insertString( MonCurseur, chaine, True )

MonDocument.CurrentController.Select(MonCurseur)

End Sub

Sélectionons les deux paragraphes du document et appliquons leur la macro. Un saut de ligne est apparu après la marque de paragraphe.

Je ne comprends pas du tout de quel chapeau ce saut de ligne peut sortir. Avez-vous une idée ?

Et cet autre comportement étrange face à une liste numérotée :

Considérons un document Writer avec une ligne numérotée :

1. Texte d'exemple¶

Attention, la numérotation est bien obtenue par Format - Puces et Numérotation... - Type de numérotation. Le pied de mouche est là pour info seulement.

et cette macro :

Sub NumerotationGenante Dim MonDocument as Object Dim MonTexte as Object Dim CurseurVisible As Object Dim MonCurseur As Object Dim Chaine as String

MonDocument= ThisComponent() CurseurVisible = MonDocument.currentcontroller.ViewCursor MonTexte = CurseurVisible.text MonCurseur = MonTexte.createTextCursorByRange(CurseurVisible)

Chaine = MonCurseur.string print chaine

End Sub

Sélectionons la ligne et appliquons lui la macro. La chaîne de a récupéré la numérotation !

Je n'ai pas trouvé de posts similaires dans www.oooforum.org ni dans le issue tracker.

Bonne journée, Erwan