To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=64915 Issue #:|64915 Summary:|OooBasic Null character at end of the string of a |cursor Component:|Word processor Version:|OOo 2.0 Platform:|PC URL:| OS/Version:|All Status:|UNCONFIRMED Status whiteboard:| Keywords:| Resolution:| Issue type:|DEFECT Priority:|P3 Subcomponent:|code Assigned to:|mru Reported by:|douxenfant
------- Additional comments from [EMAIL PROTECTED] Sun Apr 30 00:43:57 -0700 2006 ------- In a macro of OoooBasic, a cursor has size 32767 (i.e. covers 32767 characters, counting a paragraph end as one character). The last character of the string of this cursor is said to have Asc 0. The macro is short, so I take leave to copy it here : Sub NullCharacterAtEndOfCursor() Dim ourDocument As Object Dim ourViewCursor As Object Dim i As Long Dim specialChar As Integer Dim ourText As Object Dim ourCursor As Object Dim ourString As String Dim noFileProp() ourDocument = StarDesktop.LoadComponentFromURL ("private:factory/swriter", "_blank", 0, noFileProp) ourViewCursor = ThisComponent.CurrentController.getViewCursor() ourText = ourViewCursor.getText() specialChar = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK For i = 1 To 2048 ourText.insertString(ourViewCursor, "abcdefghijklmno", False) ourText.insertControlCharacter(ourViewCursor, specialChar, False) Next ' The document has thus 2048 X 16 = 32768 characters, ' if we count a paragraph end as one character. ourCursor = ourText.createTextCursor() ' Is at the start of the text. ourCursor.goRight(32767, True) ' With the following command, we verify that ourCursor ends just before the last character ' (paragraph end) which was inserted by the macro. ourViewCursor.goToRange(ourCursor.getEnd(), False) ' OK. ' Even one cursor position can correspond to ' two string characters (Chr(13) & Chr(10)), 32767 positions give at most ' 65534 string characters, thus ourCursor.getString() puts no problem. ourString = ourCursor.getString() '''''''''''''''''' MsgBox "The last character of ourString, given by Right(..., 1) has Asc : " & Asc(Right(ourString, 1)) ' The preceding MsgBox says that the Asc is 0. ??? MsgBox "The length (Len) of ourString is " & Len(ourString) ' The preceding MsgBox says that the length of ourString is 34815. ' Since there are 32767 "screen characters" and therein 2047 paragraph ends, ' one would expect 32767 + 2047 = 34814 characters in the string. End Sub --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]