Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #10040

    Stefan
    Participant

    This is 11.0.5, 32-bit portable on XP SP3

    GetLine Method
    Retrieves the text on the specified line.
    [JavaScript] str = document.GetLine( yLine [, nFlags ] );
    [VBScript] str = document.GetLine( yLine [, nFlags ] )

    But i wonder why GetLine returns the selected part only
    instead of the whole line?

    Back ground:
    in an macro i walk through all selected lines and wanted to get the text of the WHOLE line.

    FOR y = 1 to 3
    'Retrieves the text on the specified line.
    str = document.GetLine( y )
    NEXT

    Instead i get the selected part of that lines only.
    Why?
    How can i get the whole line at easy?

    Do i really have to use something like:

    FOR y = 1 to 3
    'Sets the cursor position.
    document.selection.SetActivePoint eePosLogical, 1, y, false

    'Selects a line at the cursor.
    document.selection.SelectLine

    'Retrieves the text on the specified line.
    str = document.GetLine( y )
    NEXT

    Question:
    Can GetLine() be extended by an flag to get the whole line always, no matter of the selection?

    If not, should the help wrote
    “Retrieves the selected text on the specified line.”
    instead of
    “Retrieves the text on the specified line.”

    Or is there an other method?

    #10048

    Yutaka Emura
    Keymaster

    Hello,

    I couldn’t reproduce this issue. Can you show me or send me a sample file? Can you write how the file was selected when you run this macro?

    Thank you,

    #10050

    Stefan
    Participant

    Your answer implies that GetLine() returns the whole line already.

    That was not clear to me because i saw different results (to my failure as i see now)

    Today i saw by an another test that GetLine() returns the whole line indeed:


    #language = "VBScript"

    'Returns the line number of the top of the selection.
    SelLineFirst = document.selection.GetTopPointY( eePosView )

    'Returns the line number of the bottom of the selection.
    SelLinesLast = document.selection.GetBottomPointY( eePosView )


    For LineNumber = SelLineFirst to SelLinesLast

    'Retrieves the text on the specified line "LineNumber"
    Line = document.GetLine( LineNumber )

    'Show line content:
    alert Line

    'here is my failure
    'document.selection.Text = newtext & Line

    Next 'LineNumber

    Now that i know that GetLine() returns the whole line content
    i know i did something wrong.

    My problem was that i wanted not to select the whole lines
    (in front of executing my script)
    but start selection at some signs behind SOL at first line
    and end at some position before EOL at the last line.

    BUT then, silly me, i used document.selection.Text = newtext
    and was wondering why GetLine() didn’t returns the whole line,
    now i see i was to silly to get what happens… sorry.
    (only the selected text was altered, of course)

    No i use something like

    For LineNumber = SelLineFirst to SelLinesLast

    'Retrieves the text on the specified line "LineNumber"
    Line = document.GetLine( LineNumber )

    'Selects a line at the cursor.
    document.selection.SelectLine

    'overwrite this line with new text
    document.selection.Text = newtext & Line

    Next 'LineNumber

    The additional document.selection.SelectLine
    extends at real time the selection to the whole line
    and so my replacement replaces the whole line as wanted.

    Issue solved.
    Thanks Yutaka! Thank you for your endurance and support!

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.

Share with friends... Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone