ktoś wie może co zrobić by po wpisaniu takiego tekstu <obrazek> w richedit tekst został podmieniony na obrazek obrazek.jpg ?
Z tego co wiem to do RichEdit nie jest łatwo wstawć obrazek (ale podobno idzie).
Użyj FatMemo (z torry.net) albo RXRichEdit z bibliotekiRX (jednak do RXR nie wiem jeszcze jak wstawic obrazek ale idzie :), a w FatMemo jest bardzo prosto)--Delphi 6 Personal
a musi być, że od razu po wpisaniu będzie wstawiał obrazek??
ReNe to jak wstawic obrazek?
--------BLOK REKLAMOWY------
kanał : #4programmers.net
server: warszawa.ircnet.pl
------BLOK REKLAMOWY------
Do FatMemo???
Jeśli tak to:
var
S, S2 : String;
L : TFatLine;
P : TFatPart;
Pozycja : Integer;
begin
S:=Edit1.Text; *Tekst który zostanie zmieniony np. "zdkfjashk <obrazek> dxcvx"
L:=FatMemo.Lines.AddNew; * Tworzenie nowej lini
Pozycja:=Pos('<obrazek>', S); * Szukanie ciągu "<obrazek>"
while Pozycja > 0 do *jeśli jest taka pozycja to...
begin
S2:=Copy(S,0,Pozycja-1); *kopiuje wszysko co jest przed pozycją
Delete(S, 1, Pozycja+Length('<obrazek>')-1); *usuwa wszystko od poczatku do końca ciągu "<obrazek>"
P:=L.Add;
P.Text:=S2; *dodaje do lini skopiowany poczatek
P := L.Add;
P.Bitmap := Grafika.Picture.Bitmap; * dodaje grafike
Pozycja:=Pos('<obrazek>', S); *szuka dalej
end;
P:=L.Add;
P.Text:=S; * dodaje to co zostało :)
nie wiem czy to jest na 100% dobrze bo pisze to nie mając FatMemo :P ale powinno być ok :)
=== A jak chodzi ci o emotki (tylko sie domyslam) to ten kod nie bedzie najlepszy. Sam kiedyś mialem taki problem i LKS pomogl mi tak : :)
var
S : String;
L : TFatLine;
P : TFatPart;
i : Integer;
begin
L := Chat.Lines.AddNew;
S := Edit1.Text;
for i := 1 to Length(S) do
begin
if (S[i] <> ':')and(S[i] <> Char(#0)) then
begin
P := L.Add;
P.Text := S[i];
end
else
begin
if S[i+1] = ')' then
begin
P := L.Add;
P.Bitmap := ImgSmile.Picture.Bitmap;
Delete(S, i, 1);
end
else
if S[i+1] = 'P' then
begin
P := L.Add;
P.Bitmap := Jezyk.Picture.Bitmap;
Delete(S, i, 1);
end
else
if S[i] <> Char(#0) then
begin
P := L.Add;
P.Text := S[i];
end;
end;
end;
end;
--
Delphi 6 Personal