richedit icindeki formatli metin nasil tasinir?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrekush
Üye
Mesajlar: 31
Kayıt: 01 Mar 2004 02:48

richedit icindeki formatli metin nasil tasinir?

Mesaj gönderen emrekush »

richedit icindeki formatli metin, yani bir kisminin fontu ve rengi degistrilmis, son haliyle ayni sekilde formatli olarak baska bir richedit icine nasil gonderebilirim.

richedit1.text:=richedit2.text yaparsam sadece metin gidiyor ama tum formatlar kayboluyor.

yardimlar icin tesekkur..
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ikinci bir dbrichtext bileseni ile kaydedeceksin o zaman
kendisini gizle sadece kopyalama icin kullan
ÜŞENME,ERTELEME,VAZGEÇME
emrekush
Üye
Mesajlar: 31
Kayıt: 01 Mar 2004 02:48

Mesaj gönderen emrekush »

yani richeditteki formatli yaziyi transfer etmek icin bir tablo ve alanmi olusturacagiz?

dbrichedit degil richedit kullaniyorum.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

direk kopyalarsan sadece metin gider. Stream kullanarak kopyalaman, daha sonra değişiklikleri yapman lazım. Daha önce yapmıştım ama şu an kodlar yanımda yok.

RichEdit.Lines.SaveToStream ve LoadFromStream komutlarını biraz incele.

Kolay gelsin.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

banada lazım oldu. mustafa beyin açıklamalarından yola çıkarak
http://www.swissdelphicenter.ch/torry/s ... php?id=843 adresinde şöyle bir kod buldum.

Kod: Tümünü seç

function GetRTFText(ARichEdit: TRichedit): string;
var
  ss: TStringStream;
  emptystr: string;
begin
  emptystr := '';
  ss := TStringStream.Create(emptystr);
  try
    ARichEdit.PlainText := False;
    ARichEdit.Lines.SaveToStream(ss);
    Result := ss.DataString;
  finally
    ss.Free
  end;
end;
bu kodu aşağıdaki şekilde düzeltip kullanıma aldım :)

Kod: Tümünü seç

Function getRichEditText(KaynakRichEdit:TRichEdit):TCaption;
var
  strStream: TStringStream;
begin
  strStream := TStringStream.Create('');
  try
    KaynakRichEdit.PlainText := False;
    KaynakRichEdit.Lines.SaveToStream(strStream);
    Result := strStream.DataString;
  finally
    strStream.Free;
  end;
End;

procedure TForm1.Button3Click(Sender: TObject);
begin
  RichEdit2.Text := getRichEditText(RichEdit1);
end;

"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla