<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    I assume StringJoin and StringSplit are one of the basic operations
    on Array of Strings and Strings. It looks like there is no easy way
    to use TStringList (that is claimed by the wiki to be a fancy
    "dynamic array or set of Strings"). These are not CSV-kind of
    functionalities... <br>
     Are these functionalities implemented in rtl?<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 5/8/20 11:53 PM, Michael Van Canneyt
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:alpine.DEB.2.21.2005090849230.10850@home">
      <br>
      <br>
      On Fri, 8 May 2020, Amir wrote:
      <br>
      <br>
      <blockquote type="cite">Hi there,
        <br>
        <br>
          I was looking for a native implementation for JoinStrings and
        ended up in TStringList-TStrings_Tutorial
        <a class="moz-txt-link-rfc2396E" href="https://wiki.freepascal.org/TStringList-TStrings_Tutorial"><https://wiki.freepascal.org/TStringList-TStrings_Tutorial></a>.
        <br>
        <br>
        <br>
<a class="moz-txt-link-rfc2396E" href="https://wiki.freepascal.org/TStringList-TStrings_Tutorial"><https://wiki.freepascal.org/TStringList-TStrings_Tutorial></a>
        <br>
        In Conversion to and from delimited strings
<a class="moz-txt-link-rfc2396E" href="https://wiki.freepascal.org/TStringList-TStrings_Tutorial#Conversion_to_and_from_delimited_strings"><https://wiki.freepascal.org/TStringList-TStrings_Tutorial#Conversion_to_and_from_delimited_strings></a>
        section, it claims the following code works if the separator is
        a string:
        <br>
        MyStringList:= TStringList.create;
        <br>
        MyStringList.SkipLastLineBreak := True;
        <br>
        MyStringList.add('1');
        <br>
        MyStringList.add('2');
        <br>
        MyStringList.add('3');
        <br>
        result := StringReplace(MyStringList.Text,Lineending,'\n',
        [rfReplaceAll, rfIgnoreCase]);
        <br>
        <br>
        I believe this is not correct. What if there is a
        newline(LineEnding) in one of the strings?
        <br>
      </blockquote>
      <br>
      It will also be replaced. So yes, the code is wrong for such a
      case.
      <br>
      <br>
      TStringlist is not a silver bullet, and it is definitely not a
      replacement
      <br>
      for CSV-kind of functionality. If someone needs CSV, (s)he should
      use the TCSVDocument class.
      <br>
      <br>
      <br>
      Michael.<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>