Small Basic: How to Convert Multi-Line Text into an Array of Lines - Featured Article

Today's featured TechNet Wiki article is from Nonki Takahashi

Small Basic: How to Convert Multi-Line Text into Array of Lines

 

Small Basic can get multi-line text into a variable from multi-line input text box with Controls.GetTextBoxText() or from text file with File.ReadContents().
The following sample code shows how to convert a multi-line text into an array of lines.

CRLF ``= ``Text``.``GetCharacter``(``13``) ``+ ``Text``.``GetCharacter``(``10``)

GraphicsWindow``.``BackgroundColor ``= ``"LightGray"

GraphicsWindow``.``BrushColor ``= ``"Black"

gw ``= ``GraphicsWindow``.``Width

gh ``= ``GraphicsWindow``.``Height

tb ``= ``Controls``.``AddMultiLineTextBox``(``0``, ``0``)

Controls``.``SetSize``(``tb``, ``gw``, ``gh ``- ``30``)

Controls``.``AddButton``(``"Enter"``, ``gw ``- ``50``, ``gh ``- ``30``)

Controls``.``ButtonClicked ``= ``OnButtonClicked

Sub ``OnButtonClicked

  ``buf ``= ``Controls``.``GetTextBoxText``(``tb``)

  ``ConvertTextToLines``(``)

  ``ShowLines``(``)

EndSub

Sub ``ConvertTextToLines

  ``len ``= ``Text``.``GetLength``(``buf``)

  ``nLines ``= ``0

  ``ptr ``= ``1

  ``While ``ptr ``<``= ``len

    ``eol ``= ``Text``.``GetIndexOf``(``Text``.``GetSubTextToEnd``(``buf``, ``ptr``)``, ``CRLF``)

    ``If ``eol ``= ``0 ``Then ``' eol not found

      ``nLines ``= ``nLines ``+ ``1

      ``lines``[``nLines``] ``= ``Text``.``GetSubTextToEnd``(``buf``, ``ptr``)

      ``ptr ``= ``len ``+ ``1

    ``Else ``' eol found

      ``nLines ``= ``nLines ``+ ``1

      ``lines``[``nLines``] ``= ``Text``.``GetSubText``(``buf``, ``ptr``, ``eol ``- ``1``)

      ``ptr ``= ``ptr ``+ ``eol ``+ ``1

    ``EndIf    

  ``EndWhile

EndSub

Sub ``ShowLines

  ``For ``i ``= ``1 ``To ``nLines

    ``TextWindow``.``WriteLine``(``"lines[" ``+ ``i ``+ ``"]: " ``+ ``lines``[``i``]``)

  ``EndFor

EndSub

  

  

Read the latest version of this TechNet Wiki article with an improved code block snippet here: 

Small Basic: How to Convert Multi-Line Text into Array of Lines

  

 

Thanks again to Nonki for this great contribution! 

 

   - Ninja Ed