ce que j'utilise :
list.Text := StringReplace(s, separateur, sLineBreak, [rfReplaceAll]);
où "list" est une TStringList et "s" la chaîne à splitter.
Tu peux aussi utiliser list.CommaText et list.Delimiter pour ne pas avoir à utiliser StringReplace, mais alors les délimiteurs au sein de guillemets (modifiables par list.QuoteChar) ne sont pas remplacés, ce qui peut être gênant si tu n'es pas sûr de ce qu'il y a dans tes chaînes. En mettant QuoteChar à #0 ça résout peut-être le problème, à tester.