...
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;
...
Из RichEdit в файл
Для моей программы надо зделать одну вешь, а я не знаю как:
Мне нужно узнать, как записать форматирование RichEdit в структуру record вместе с текстом, и сохранять в файл, чтобы потом можно было загрузить вместе с форматированием. :-?
Помогите ПОЖАЛУЙСТА!!!
За ранее, ОГРОМНОЕ СПАСИБО!!!
RichEdit1.Lines.SaveToFile('c:\file.txt');
RichEdit2.Lines.LoadFromFile('c:\file.txt');
но это без record
Цитата:
Originally posted by LastSoul
Может ты это имел ввиду:
RichEdit1.Lines.SaveToFile('c:\file.txt');
RichEdit2.Lines.LoadFromFile('c:\file.txt');
но это без record
Может ты это имел ввиду:
RichEdit1.Lines.SaveToFile('c:\file.txt');
RichEdit2.Lines.LoadFromFile('c:\file.txt');
но это без record
Спасибо! Кажись начал врубаться!
Значит в RichEdit Lines уже содержат форматирование (что-то типо как теги в HTML), да?
В таком случае, если я хочу в поле record добавить текст, то мне нужно просто обьявить поле типа TString и туды записать Lines???
но с этим помочь немогу, сам незнаю че да как X)-
Но вот че вычитал в книжке:
если в какой-нибудь батонклик запихать следующий текст:
RichEdit1.PlainText:=False;
RichEdit1.Lines.SaveToFile('c:\file.rtf');
то файл (уже отформатированный) сохраниться в формате rtf... :}
больше знаний в голове о RichEdit нема... X)-
RichEdit1.PlainText:=False; Это помоему по умолчанию уже стоит (поэтому в файл и сохраняется форматирование, а не чистый текст).
а насчет RichEdit1.PlainText:=False;, просто книга под рукой лежала, посмотрел, там было так написано
Спасибо!
А вот ещё вопросик:
в общем как отдельно переключать шрифт (т.е. отдельно каждое свойствоRichEdit2.SelAttributes)
Пробовал RichEdit2.SelAttributes.Style:=fsBold;
не прокатывает потомучто fsBold не тот тип (TFontStyle а не TFontStyles).
Как тут быть:???:
Цитата:
Originally posted by Fobos
Пробовал RichEdit2.SelAttributes.Style:=fsBold;
Пробовал RichEdit2.SelAttributes.Style:=fsBold;
RichEdit2.SelAttributes.Style - это массив свойств
надо так...
Код:
//чтобы добавить {убрать} не меняя остальные всойства (fsItalic и др.)
RichEdit2.SelAttributes.Style := RichEdit2.SelAttributes.Style + {или -} [fsBold];
//чтобы установить нужные свойства
RichEdit2.SelAttributes.Style := [fsBold, fsItalic];
//или так (чтоб убрать все свойства)
RichEdit2.SelAttributes.Style := [];
RichEdit2.SelAttributes.Style := RichEdit2.SelAttributes.Style + {или -} [fsBold];
//чтобы установить нужные свойства
RichEdit2.SelAttributes.Style := [fsBold, fsItalic];
//или так (чтоб убрать все свойства)
RichEdit2.SelAttributes.Style := [];
чтобы узнать содержит свойство или нет...
Код:
if fsBold in RichEdit2.SelAttributes.Style then ...
Теперь въехал. Надо было просто свойства в [] писать.:)