Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > как сделать перенос строки в WORD


Автор: alexadr 11.12.2007, 17:05
Всем добрый день.

На меня тут задачку кинули, связанную с микрософтом, хотя я джавистsmile

Короче есть некая генерилка написанная на C#, которая по вордовому шаблону генерит WORD-документ.

Ей на вход подается xml-файл с данными. 
Собственно в данных содержится проблемный параметр.
Суть проблемы следующая, - этот парметр - строка, точнее текст состоящий из строк:
"line one\nline two\nline three\n..."

Так вот когда я открываю сгенеренный документ, то в нем этот текст представляет собой ОДНУ стрку вместо нескольких, вид этой строки примерно след:
"line one[]line two[]line three[]..."
Вместо [] там рисуется квадратик(я думаю все его видели хоть раз), т.е. непечатный символ.

Короче как мне сделать так чтобы рисовался не квадратик, а был перенос строки?

Спасибо.

Автор: Wizard_Memfis 11.12.2007, 17:20
Заменяй в входящей строке символ "\n" на NewLine.
Должно полечить!

Добавлено через 3 минуты и 24 секунды
// Sample for the Environment.NewLine property
using System;

class Sample 
{
    public static void Main() 
    {
    Console.WriteLine();
    Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line",
                          Environment.NewLine);
    }
}
/*
This example produces the following results:

NewLine:
  first line
  second line
  third line
*/
Ахх еще раз МСДН!!! smile 

Автор: alexadr 11.12.2007, 17:57
к сожалению, теперь вместо одного квадратика стало показываться два:(((

Я предполагаю, что Environment.NewLine это в моем случае последовательность "\r\n" и каждый из этих двух символов отображается квадратиком:(

Автор: fantast 11.12.2007, 18:34
ну раз не помогло \r и \n попробуй \0, так как нуть-терминатор означает конец строки возможно именно это ворду и надо

хотя предположение чисто интуитивное, и никаким опытом не подкрепленно

Автор: farad 11.12.2007, 19:23
там абзац

Автор: izekia 11.12.2007, 19:40
farad, угу, называется параграф

Автор: farad 11.12.2007, 21:23
Цитата(izekia @  11.12.2007,  19:40 Найти цитируемый пост)
 называется параграф
ну попутал smile 

Автор: Wizard_Memfis 12.12.2007, 10:27
Жаль что не помогло! smile 
Насколько я знаю NewLine должно быть независимо от языка и платформы!Ну а там...
Еще одно интуитивное предположение: может у тебя кодировки не совпадают в Xml и в ворде?

Автор: fantast 12.12.2007, 11:55
ничего не понял, где обзац

если обзац ( параграф 8) ) получаеться при \0 так разве ни это тебе надо - переход на новую строку

а если ты хочешь сказать что тебе надо установить перенос текста по словам, то это скорее тебе надо в свойствах документа водр рыскать, хотя наверно тут я перебрал и ворд должен это делать сам

Автор: izekia 12.12.2007, 12:05
Wizard_Memfis, угу, спецсимволы у тебя в какой кодировке?

Автор: Wizard_Memfis 12.12.2007, 12:39
Я не спец символы имел в виду, а сам текст!

Автор: izekia 12.12.2007, 12:55
    Selection.TypeText Text:="fdfdfgdfgdf"
    Selection.TypeParagraph
    Selection.TypeText Text:="fghfghfghfg"
    Selection.TypeParagraph
    Selection.TypeText Text:="fghfghfg"

это если макрос записывать

Автор: EuGenius_Krivbass 27.5.2008, 13:09
Продолжу тему. Как отобразить вписать в параграф специальные вородовские символы, типа короткие пробелы, "переносы, которые не обозначают конец параграфа". Где этот  список можно взять?
Благодарю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)