Помощь - Поиск - Пользователи - Календарь
Полная версия: Как сделать чтоб RichEdit сохранял в DOS формате?
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
KasyaAR
Помогите не выходит сохранить данные написаные в RichEdit в старом добром DOS формате(в Паскале таких проблем не было). Delphi записывает ко всему прочему всякую муть.
mj
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
В этой "всякой мути"  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
Цитата
не вижу в этом ни одного намёка на здравый смысл

А как же подсветка синтаксиса так нами любимая?
Спасибо за подсказку, вопрос исчерпан тему можно закрыть.
Forsag
Пажалуйста! ;D ;)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.