Как использовать \n в TextBox

Delphi

facts: array[2..12] of integer;

function TForm1.calculate(f: integer): integer;
begin
    if f = 1 then
      Result := f
    else if f > High(facts) then
      Result := High(Integer)
    else if (facts[f] > 0) then
      Result := facts[f]
    else begin
      facts[f] := f * Calculate(f-1);
      Result := facts[f];
    end;
end;

initialize

  for i := Low(facts) to High(facts) do
    facts[i] := 0;

После первого вычисления факториала, большего или равного требуемому значению, этот алгоритм просто возвращает факториал за постоянное время O (1).

Следует учитывать, что только int32 может содержать до 12!

24
задан Nathan Campos 17 November 2009 в 19:59
поделиться

3 ответа

Замените \ n на \ r \ n - так элементы управления Windows представляют символы новой строки (но см. Примечание внизу):

textBox1.Text = generatedCode.Replace("\n", "\r\n");

или

textBox1.Text = generatedCode.Replace("\n", Environment.NewLine);

Примечание. Как обсуждалось в комментариях, вы может захотеть использовать Environment.NewLine . Однако неясно - не совсем ясно, какой разделитель строк элементы управления Windows Forms должны использовать, когда они не работают в Windows. Должны ли они использовать платформу по умолчанию или Windows (поскольку это порт элемента управления Windows GUI)? В одном из примеров в MSDN используется Environment.NewLine , но до сих пор я видел ужасно неправильные примеры в MSDN, а в документации просто не указано, что должно быть.

В идеальном мире у нас был бы только один разделитель строк - и даже во втором лучшем мире

48
ответ дан 28 November 2019 в 22:36
поделиться

Обычно \ r \ n возвращает мне новую строку в текстовом поле. Попробуйте заменить \ n на \ r \ n , только будьте осторожны, у вас нет смеси \ r \ n и \ n

6
ответ дан 28 November 2019 в 22:36
поделиться

Добавьте символ возврата каретки (\ r), и он должен работать:

TextBox1.Text = "First line\r\nSecond line";
4
ответ дан 28 November 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: