Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

icq: 499637481
skype: sergiytkach
По умолчанию Несколько RichEdit'ов в один

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

тут со стримами нужно:
Код:
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
Репутация: 47

icq: 499637481
skype: sergiytkach
По умолчанию

2Банзай

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

icq: 499637481
skype: sergiytkach
По умолчанию

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

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

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

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

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

icq: 499637481
skype: sergiytkach
По умолчанию

Ну вот здесь что мне поменять, чтоб создавался один результ. файл? Как добавить что-то в этот 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
Адрес: Los Angeles, USA
Сообщений: 3,708
Репутация: 1457
По умолчанию

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

Сохраняет несколько 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести один столбец в несколько??? 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


16:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.