Nunja, komischer Titel aber er trifft genau zu!
Also ich hab folgenden Code:
Delphi-Quellcode:
procedure TForm1.SmilyAktuallisieren(Richedit: TRxRichEdit);
var
I : Integer;
begin
for I := 0 to Richedit.Lines.Count - 1 do
begin
if pos(':-)', Richedit.Lines.Text) <> 0 then
begin
with Richedit do
begin
SelStart := pos(Copy(Richedit.Lines.Text, pos(':-)', Richedit.Lines.Text) - 2, 2), Richedit.Lines.Text);
SelLength := 3;
SelText := ' ';
Form1.Image1.picture.LoadFromFile(BildPath + 'S_grinsend.bmp');
InsertSmily;
end;
end;
if pos(':-(', Richedit.Lines.Text) <> 0 then
begin
with Richedit do
begin
SelStart := SelStart - 4;
SelLength := 3;
SelText := '';
Form1.Image1.picture.LoadFromFile(BildPath + 'S_schmollend.bmp');
InsertSmily;
end;
end;
if pos(':-|', Richedit.Lines.Text) <> 0 then
begin
with Richedit do
begin
SelStart := SelStart - 4;
SelLength := 3;
SelText := '';
Form1.Image1.picture.LoadFromFile(BildPath + 'S_neutral.bmp');
InsertSmily;
end;
end;
if pos(':-D', Richedit.Lines.Text) <> 0 then
begin
with Richedit do
begin
SelStart := SelStart - 4;
SelLength := 3;
SelText := '';
Form1.Image1.picture.LoadFromFile(BildPath + 'S_lachend.bmp');
InsertSmily;
end;
end;
end;
end;
Ich füge in ein RXRichEdit einen Smily ein. Der Code für einen lachenenden ist
. Da geht auch aber wenn zwei mal ein lachender Smily eingefügt wird. Bekommt nur der erste ein Bild beim zweiten steht immer noch der code da (
). Kann mir mal jemand helfen? Das Problem ist das immer nur das erste Vorkommen geprüft wird und dann hörts auf!