Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Из RichEdit в файл

420
06 апреля 2006 года
Fobos
197 / / 10.03.2006
Здравствуйте!

Для моей программы надо зделать одну вешь, а я не знаю как:

Мне нужно узнать, как записать форматирование RichEdit в структуру record вместе с текстом, и сохранять в файл, чтобы потом можно было загрузить вместе с форматированием. :-?

Помогите ПОЖАЛУЙСТА!!!
За ранее, ОГРОМНОЕ СПАСИБО!!!
1.8K
06 апреля 2006 года
LastSoul
279 / / 28.12.2005
Может ты это имел ввиду:
RichEdit1.Lines.SaveToFile('c:\file.txt');
RichEdit2.Lines.LoadFromFile('c:\file.txt');
но это без record
420
06 апреля 2006 года
Fobos
197 / / 10.03.2006
Цитата:
Originally posted by LastSoul
Может ты это имел ввиду:
RichEdit1.Lines.SaveToFile('c:\file.txt');
RichEdit2.Lines.LoadFromFile('c:\file.txt');
но это без record


Спасибо! Кажись начал врубаться!
Значит в RichEdit Lines уже содержат форматирование (что-то типо как теги в HTML), да?

В таком случае, если я хочу в поле record добавить текст, то мне нужно просто обьявить поле типа TString и туды записать Lines???

1.8K
06 апреля 2006 года
LastSoul
279 / / 28.12.2005
А я начал врубаться что ты имел ввиду,
но с этим помочь немогу, сам незнаю че да как X)-
Но вот че вычитал в книжке:
если в какой-нибудь батонклик запихать следующий текст:
RichEdit1.PlainText:=False;
RichEdit1.Lines.SaveToFile('c:\file.rtf');
то файл (уже отформатированный) сохраниться в формате rtf... :}
больше знаний в голове о RichEdit нема... X)-
420
06 апреля 2006 года
Fobos
197 / / 10.03.2006
RichEdit1.PlainText:=False; Это помоему по умолчанию уже стоит (поэтому в файл и сохраняется форматирование, а не чистый текст).
1.8K
07 апреля 2006 года
LastSoul
279 / / 28.12.2005
Да я нифига почти незнаю насчет RichEdit,
а насчет RichEdit1.PlainText:=False;, просто книга под рукой лежала, посмотрел, там было так написано
339
07 апреля 2006 года
verybadbug
619 / / 12.09.2005
Код:
...
type
  TMyRecord = record
    Rich: String;
  end;
...
var
  MyRecord: TMyRecord;
  F: File;
  I: Integer;
begin
  // запись в record
  MyRecord.Rich := RichEdit1.Lines.Text;

  // сохранение в файл
  AssignFile(F, FileName);
  Rewrite(F, 1);
  I := Length(MyRecord.Rich);
  WriteBuffer(F, I, SizeOf(I)); {пишем размер строки}
  WriteBuffer(F, MyRecord.Rich[1], I) {и собственно строку}
  CloseFile(F);

  // чтение из файла
  AssignFile(F, FileName);
  Reset(F, 1);
  ReadBuffer(F, I, SizeOf(I)); {читаем размер строки}
  SetLength(MyRecord.Rich, I); {устанавливаем длину строки}
  ReadBuffer(F, MyRecord.Rich[1], I); {читаем строку}
  CloseFile(F);
end;
...


Всё написано без delphi, поэтому возможны неточности.....
420
08 апреля 2006 года
Fobos
197 / / 10.03.2006
verybadbug,
Спасибо!

А вот ещё вопросик:
в общем как отдельно переключать шрифт (т.е. отдельно каждое свойствоRichEdit2.SelAttributes)

Пробовал RichEdit2.SelAttributes.Style:=fsBold;
не прокатывает потомучто fsBold не тот тип (TFontStyle а не TFontStyles).

Как тут быть:???:
339
08 апреля 2006 года
verybadbug
619 / / 12.09.2005
Цитата:
Originally posted by Fobos
Пробовал RichEdit2.SelAttributes.Style:=fsBold;



RichEdit2.SelAttributes.Style - это массив свойств
надо так...

 
Код:
//чтобы добавить {убрать} не меняя остальные всойства (fsItalic и др.)
  RichEdit2.SelAttributes.Style := RichEdit2.SelAttributes.Style + {или -} [fsBold];
  //чтобы установить нужные свойства
  RichEdit2.SelAttributes.Style := [fsBold, fsItalic];
  //или так (чтоб убрать все свойства)
  RichEdit2.SelAttributes.Style := [];


чтобы узнать содержит свойство или нет...

 
Код:
if fsBold in RichEdit2.SelAttributes.Style then ...
420
08 апреля 2006 года
Fobos
197 / / 10.03.2006
Спасибо!
Теперь въехал. Надо было просто свойства в [] писать.:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог