Манипуляция строк в C # - PullRequest
0 голосов
/ 20 июля 2011

Я работаю над приложением c # .net и использую отчеты Crystal. Мне нужно печатать отчеты Crystal на матричном принтере, но скорость печати очень низкая, поскольку отчеты Crystal выводятся в графическом режиме. Поэтому я перехожу к печати на основе DOS и использую вспомогательный класс RawPrinter для его печати. Это прекрасно работает.

Но запись набора данных в текстовый файл (в формате отчета по счетам), использует много строковых манипуляций для позиционирования символов, пробелов и т. Д. Я использую класс строителя строк и отступы, и много, если, иначе, для печати итогов страницы, большой итоги, налоги и т. д.

Написание текстового файла таким способом - такая боль.

Пожалуйста, предложите мне другой возможный и эффективный подход.

Спасибо

Ответы [ 4 ]

2 голосов
/ 20 июля 2011

Вы можете экспортировать набор данных в XML (DataSet.WriteXml) и преобразовать его в другой текстовый формат, используя XSLT .

1 голос
/ 20 июля 2011

У меня была похожая проблема, и замена принтеров не была решением из-за 1800 или около того клиентов, использующих матричные принтеры.Поэтому я решил использовать шаблонизатор (StringTemplate http://www.stringtemplate.org/),, получить выходной текстовый файл и отправить его на принтер.

1 голос
/ 20 июля 2011

Вам нужен какой-то шаблонизатор , но, поскольку вы не делаете HTML, вам нужен автономный движок.См. C # шаблонный движок для некоторых опций.

XSLT является хорошим вариантом, если вы любите XML и уже знаете, как его использовать, в противном случае я бы склонялся к программированию с более "ориентированным на код"решение.

0 голосов
/ 20 июля 2011

использовать вкладки для всего.это позволит вам автоматически добавлять материал в столбцы табуляции.

...