Константа Xojo EndOfLine действительно отличается в зависимости от платформы, для которой вы ее используете.
У вас есть два варианта решения этой проблемы:
Явно используйте специфическую для платформы константу:
EndOfLine.Windows gives CR+LF
EndOfLine.Unix gives LF
Лучший способ, особенно если вы импортируете данные из-за пределов программы, например, при чтении из файла или из сетевого сокета, это нормализует разделители строк для внутреннего использования, например:
normalizedString = ReplaceLineEndings (importedString, EndOfLine)
Теперь вы можете использовать EndOfLine с normalizedString, например, разбить его на отдельные строки:
dim lines() as String = normalizedString.Split (EndOfLine)
Когда вы напишете эту строку обратно, она автоматически будет уже в системном формате.
Однако, когда вы экспортируете свой текст в систему, где, как вы знаете, он ожидает их в определенном формате, преобразуйте его обратно в этот формат, например так:
// E.g, if you export them for a Mac:
outputString = ReplaceLineEndings (internalString, EndOfLine.Unix)