[ vortex77 @ 07.12.2007. 10:10 ] @
Kako spojiti text iz dva RichEdita u treci? Oba teksta imaju neka svoja formatiranja koje moraju biti preneta...

Probao sam da ovo odradim koristeci TStringStream i TMemoryStream, ali ono sto dobijam jeste kopiranje texta samo jednog RichEdita (prvog) u treci.

Ovo je kod koji sam koristio :

Code:

function TForm1.GetRTF(RE: TRichedit): string;
var
   strStream: TStringStream;
begin
   strStream := TStringStream.Create('');
   try
     RE.PlainText := False;
     RE.Lines.SaveToStream(strStream);
     Result := strStream.DataString;
   finally
     strStream.Free
   end;
end;

i poziv sa :

procedure TForm1.Button1Click(Sender: TObject);
var
   temp, temp2, temp3 : string;
begin
     temp := GetRTF(RichEdit1);
     temp2 := GetRTF(RichEdit2);
     temp3 := temp + temp2;

     RichEdit3.Text := temp3;
end;

[ savkic @ 07.12.2007. 13:17 ] @
> Kako spojiti text iz dva RichEdita u treci? Oba teksta imaju neka svoja formatiranja koje moraju biti preneta...

Nije efikasno rešenje ali pokušaj da prekopiraš tekst iz jednog u drugi.
[ vortex77 @ 07.12.2007. 13:25 ] @
:)) ... To je bilo prvo sto sam probao.....

Tekst se prebaci bez problema, ali i bez formatiranja!!! Ono sto je potrebno jeste prebaciti formatirani tekst, onako kako je korisnik to i uneo (left, right, center indent... bold, italic, underline it.)
[ lan-mi @ 07.12.2007. 13:48 ] @
Probaj ovako:
Stavi dve TMemo komponente i ucitaj *.rtf file u Memo1(memo1.lines.loadfromfile). Ucitace se kao rtf formatiran dokument. Zatim prekopiraj tekst u Memo2 komponenetu, ucitaj drugi *.rtf file u Memo1 komponentu, kopiraj tekst i dodaj u Memo2 komponentu. Zatim citav tekst sacuvas kao *.rtf file.
Memo2.lines.savetofile('C:\novifajl.rtf');

Ovo je samo za eksperiment.
[ vortex77 @ 07.12.2007. 13:59 ] @
Probao sam i to :(

Kada radim kopiranje, ako idem preko lines, prevede samo tekst bez formatiranja.
Ako idem sa Memo.Text, predje mi preko celog teksta....
[ lan-mi @ 07.12.2007. 14:04 ] @
Evo kakoizgleda kada sam ja ucitao jedan rtf file u TMemo:

"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\fnil Times New Roman;}}
\viewkind4\uc1\pard\qj\f0\fs26 Dear Lanmisoft people,\par
\tab I downloaded \i Nice Text Editor\i0 because I'm always on the lookout for good RTF editors. Yours is certainly a nice, simple one, with one extra feature; it can handle justified "

memo1.lines.savetofile('C:\novifile.rtf'); i kada ga otvoris bice formatiran tekst.
[ savkic @ 07.12.2007. 14:18 ] @
> )) ... To je bilo prvo sto sam probao.....

...hoćeš reći, nisi dobro probao ;)

Code:

  RichEdit1.SelectAll;
  RichEdit1.CopyToClipboard;
  RichEdit2.PasteFromClipboard;
[ lan-mi @ 07.12.2007. 14:31 ] @
Vidi ovo:

var
list,list2:TStringlist;
begin
list:=TStringlist.Create;
list2:=TStringlist.Create;
try
memo1.Lines.LoadFromFile('C:\PrviRTFFile.rtf');
list.Assign(memo1.lines);
memo1.Clear;
memo1.Lines.LoadFromFile('C:\DrugiRTFfile.rtf');
list2.Assign(memo1.Lines);
memo1.Clear;
memo1.Lines.AddStrings(list);
memo1.Lines.Delete(memo1.Lines.Count-1);
memo1.Lines.Add(#13#10);
memo1.Lines.AddStrings(list2);
memo1.Lines.Add('}');
memo1.Lines.SaveToFile('C:\SpojeniRTFfile.rtf');
finally
list.Free;
list2.Free;

end; end;


Probao sam, radi super!!!
[ vortex77 @ 07.12.2007. 15:30 ] @
Sjajno, to je to!!!

Hvala vam na super resenjima :))
[ lan-mi @ 07.12.2007. 15:40 ] @
Nema na cemu. I ti si laf pa pomazes..