Emotki - LKS nie kasuj :)

0

Widze że nikt nie umie/nie chce mi pomóc ;( ;( ;(

To może powiecie mi co robie źle ( na pewno coś ).

JEST TO NA FATMEMO - jak ktoś nie ma a chce mi pomóc to moge wysłać (jest na torry.net)

Więc tak mam to powiedzmy w OnPress Edita:

S:=Edit1.Text;
L:=Chat.Lines.AddNew;
Pozycja:=Pos(':)', S);

{tu jest szukanie " : ) " i zastępowanie na Imaga}

while Pozycja &gt 0 do
begin
S2:=Copy(S,0,Pozycja-1);
Delete(S, 1, Pozycja+1);
P:=L.Add;
P.FontColor:=StringToColor(C2);
P:=L.Add;
P.Text:=S2;
P := L.Add;
P.Bitmap := ImgSmile.Picture.Bitmap;
Pozycja:=Pos(':)', S);
end;

{a tu do języka :) )}

Pozycja:=Pos(':P', S);
while Pozycja &gt 0 do
begin
S2:=Copy(S,0,Pozycja-1);
Delete(S, 1, Pozycja+1);
P:=L.Add;
P.FontColor:=StringToColor(C2);
P:=L.Add;
P.Text:=S2;
P := L.Add;
P.Bitmap := Jezyk.Picture.Bitmap;
Pozycja:=Pos(':P', S);
end;

P:=L.Add;
P.FontColor:=StringToColor(C2);
P:=L.Add;
P.Text:=S;

no i działa jak mam np. ':) :) :) :P :P :P' - wtedy super zamienia wszystko na emotki. Ale np. Jak zrobie ':P :)' (gdy "język" jest przed "uśmiechem") "'języka" mi nie zamienia i zostaje " : P "

hmm... hmm... hmm... ?????????????????????????????????????????????? hmm... hmm... hmm...

0

no dobra niech ci bedzie :)
nie usune tego ale mogles napisac w starym watku hehe :)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

co do twojego pytania to dzieje sie tak dla tego ze najpierw jest sprawdzane czy w tekscie nie ma ': )' a dopiero potem ': P' i dlatego jak jest tekst ':P:)' to program omija ': P' i jedzie dalej :)

ja proponuje takie rozwiazanie:
troche glupie ale dziala :)

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 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

Ooooo BIG TX :) super działa!!

Dzieki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1