Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2008, 00:03   #1
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию Несколько RichEdit'ов в один

Может знает кто, как из нескольких RichEdit'ов забросить текст в один, но чтобы форматирование и картинки сохранялись, а то у меня все пропадает и на выходе в RichEdit'е получается обычный текст без форматирования?
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 29.05.2008, 12:33   #2
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

тут со стримами нужно:
Код:
var t:TMemoryStream;
begin
try
t:=TMemoryStream.Create;
Editor1.Lines.SaveToStream(t);
//t.Seek(0,soFromBeginning);
Editor2.Lines.LoadFromStream(t);
finally
t.free;
end;
end;
как из нескольких разберешься
подписываюсь

Последний раз редактировалось Банзай; 29.05.2008 в 12:36.
Банзай вне форума Ответить с цитированием
Старый 29.05.2008, 14:10   #3
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

2Банзай

Огромное тебе пасибо
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 29.05.2008, 14:40   #4
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Но как из нескольких в один таким способом? Есть что-то похожее на AppendFromStream()?
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 29.05.2008, 15:53   #5
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

как-то можно, не помню, а можно и завести байтовый массив в него через ReadBuffer заносить содержимое стрима и через WriteBuffer добавлять его в конечный стрим, потом всё вместе заносить в ричэдит. а вообще лучше хелп почитай там всё должно быть.
подписываюсь

Последний раз редактировалось Банзай; 29.05.2008 в 16:05.
Банзай вне форума Ответить с цитированием
Старый 29.05.2008, 16:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А если просто Из каждого Ричедита вписывать в FileStream в конец, а потом этот файл открывать в одном?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2008, 18:04   #7
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

действительно
подписываюсь
Банзай вне форума Ответить с цитированием
Старый 30.05.2008, 00:53   #8
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Ну вот здесь что мне поменять, чтоб создавался один результ. файл? Как добавить что-то в этот FileStream в конец?

Код:
procedure TfrmMain.actExportRTFExecute(Sender: TObject);
var
  T:TMemoryStream;
  I: Word;
begin
  // Експорт книги
  // Export in Rich Text Format
  RichEdit1.Lines.SaveToFile(HomePath + CurrentProject + '\' + CurrentParagraf + '.rtf');
  RichEdit2.Clear;
  RichEdit2.PlainText := False;
  SaveDialog1.DefaultExt := 'rtf';
  SaveDialog1.Title := frmNew.Label13.Caption;
  SaveDialog1.FileName := CurrentProject;
  SaveDialog1.Filter := actExportRTF.Caption + '|*.rtf';
  SaveDialog1.FilterIndex := 0;
  SaveDialog1.InitialDir := HomePath;
  try
    T := TMemoryStream.Create;
    for I := 1 to 1{StrToInt(frmPar.Edit2.Text)} do
    if (FileExists(HomePath + CurrentProject + '\' + IntToStr(I) + '.rtf')) then
    begin
      T.LoadFromFile(HomePath + CurrentProject + '\' + IntToStr(I) + '.rtf');
      RichEdit2.Lines.LoadFromStream(T);

//      RichEdit2.Text := RichEdit2.Text + STmp + '    ' + IntToStr(I) + #13#10 + frmClip.RichEdit1.Text;
    end;
  finally
    T.Free;
  end;

  DisplayCaptions;
  if SaveDialog1.Execute then
  begin
    SaveDialog1.FileName := ExtractFileName(SaveDialog1.FileName);
    RichEdit2.Lines.SaveToFile(SaveDialog1.FileName);
  end;

end;
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 01.06.2008, 23:25   #9
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

В дельфи ворлд подобная тема разжована до последней строчки
p.s. админ. не стоит удалять пост из-за рекламы дельфиворлд, если действительно там все прекрасно расписано
BOBAH13 вне форума Ответить с цитированием
Старый 12.04.2019, 10:41   #10
sined112
Новичок
Джуниор
 
Регистрация: 21.04.2012
Сообщений: 1
По умолчанию

Сохраняет несколько RichEdit в один файл и кодирует их сразу в UTF-8
Код:
var
Temp1 : Utf8String;
Temp2 : Utf8String;
Stream : TStringStream;
begin
Temp1 := Utf8Encode(RichEdit1.Text);
Temp2 := Utf8Encode(RichEdit2.Text);
Stream := TStringStream.Create;
try
Stream.Write(Pointer(Temp1+Temp2)^, Length(Temp1+Temp2));
Stream.SaveToFile('C:\proba-utf8.txt');
finally
Stream.Free;
end;
end;
sined112 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести один столбец в несколько??? M&Ms Microsoft Office Excel 9 21.07.2008 14:19
Событие один раз Михаил Юрьевич Общие вопросы Delphi 4 01.04.2008 20:40
Еще один вопрос с SQL-ом фЁдОр БД в Delphi 27 22.10.2007 12:42
Как сделать, чтобы один элемент списка в ComboBox писался в несколько строк? Andr Общие вопросы Delphi 5 15.08.2007 22:24
один вопрос по Memo Andr Общие вопросы Delphi 2 11.05.2007 17:58