Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Как сделать чтоб RichEdit сохранял в DOS формате?

Автор: KasyaAR 19.06.2003 22:27

Помогите не выходит сохранить данные написаные в RichEdit в старом добром DOS формате(в Паскале таких проблем не было). Delphi записывает ко всему прочему всякую муть.

Автор: mj 20.06.2003 10:37

procedure TForm1.*(Sender: TObject);
var
 s: String;
 l: Integer;
 f: TStream;
begin
 s := RichEdit1.Lines.Text; // Получаем текст
 l := Length(s); // Запоминаем длинну текста
 if l>0 then // Конвертируем в Dos кодировку
   CharToOemBuff(S[1], S[1], l);

 // Создаём файл и объект-поток для записи
 f := TFileStream.Create('lines.txt', fmCreate);
 f.Write(S[1], l); // Записываем данные в поток (файл)
 f.Free; // Закрываем файл и удаляем объект-поток
end;

Автор: Forsag 20.06.2003 20:27

В этой "всякой мути"  RichEdit'a хранятся настройки шрифта, которым он написан. А чтобы сохранять файлы в DOS формате используй ТМемо.
Ну а если тебе всё таки очень хочется писать в RichEdit'е, а сохранять в DOS формате (не вижу в этом ни одного намёка на здравый смысл), то проще всего создать на форма TMemo c параметром Visible=false, и при сохранении копировать содержимое из RichEdit'a в TMemo, а потом сохранять в файл

procedure TForm1.NSaveClick(Sender:TObject);
begin
Memo1.Lines:=RichEdit1.Lines;
Memo.Lines.SaveToFile('file.txt');
end;


И нет мороки! ;) ;D

Автор: KasyaAR 20.06.2003 22:41

Цитата
не вижу в этом ни одного намёка на здравый смысл

А как же подсветка синтаксиса так нами любимая?
Спасибо за подсказку, вопрос исчерпан тему можно закрыть.

Автор: Forsag 21.06.2003 14:49

Пажалуйста! ;D ;)