Редактирование DOS текста в Windows приложении

vertyal17

Используется класс CRichEdit, с моноширинным шрифтом.
Текст из контрола в переменную класса CString читается методом GetWindowText.
Затем строка пишется в CStdioFile.
Неприятная особенность: в записанной строке, каждый перевод строки кодируется как OD OD 0A (13 13 10).В тоже время в DOS принято использовать для перевода строки OD OA. В результате, при просмотре файла скажем фаром каждый перевод строки - дважды.
Можно ли както от этого избавиться малой кровью? Или единственный вариант - доставать из CString его буфер, и вручную искать в нем все OD OD OA?
Пример:
В виндовс-приложении написали
lala
lala

Записали в файл. В файле:
lala
 
lala

maggi14

а ты не используй мультистроку

Dasar

Зачем RichEdit? почему не обычный textbox?

vertyal17

В смысле multiline?
Вообще строка - это содержимое структурированного файла, он многострочный. В одну строку неинтересно.
Или если отключить свойство MULTILINE, он все равно будет многострочным, но будет нормальный перевод строки?

maggi14

нет, не будет, я ступил, как обычно
сейчас попробовал на CEdit'e - все нормально получается, без двойных строк. строчка-13-10-строчка.

vertyal17

А флаги стиля какие?

maggi14

ой, блин, думал, это на мой вопрос ответили
multiline, wait for return (или как он там называется остальные по умолчанию

vertyal17

Странно, у меня с такими флажками ENter не работает, переводит строку только когда полностью забьешь символами первую, а вставляешь строку, в которой есть '\n' методом SetWindowText, то все переводы строк отображаются символом напоминающим '|'...
Ну попробую в воскресенье на работе тогда попробовать с CEdit ...
Спасибо

maggi14

с CRichEdit пробовать не буду, т.к. это уже не на пять минут к нему визардом мембер не вешается

evgen5555



Или единственный вариант - доставать из CString его буфер, и вручную искать в нем все OD OD OA?
Да.
Оставить комментарий
Имя или ник:
Комментарий: