XE5 Chat Ekranı | Whatsapp gibi
Merhabalar,
Bu yazımda whatsapp, facebook vb. uygulamalardaki chat ekranı yapısını anlatacağım. Sizde Rad Studio'nun XE5 ile bize sağladığı platform seçekleri ile birçok uygulama geliştirmişsinizdir ve bazılarımız da TCP Client Server yapısı veya vb. yapılar ile kendilerine veya şirketlerine özel sohbet sistemi yazmaya karar vermiştir. Fakat Rad Studionun bize chat için özel bir component sağladığı söylenemez bunu üzerine herkes kendi başının çaresine bakmaya çalışmaktadır.
Yabancı kaynaktan bulduğum bu yapıyı tek bir procedure altında belirli parametreleri verip istediğimiz şekilde yönetmek için ve daha basite indirgeyip sizlerle paylaşmak için kolları sıvamış bulunmaktayım bakarsınız ileriki günlerde bunu componente dökebilirim :) Herşey zaman meselesi..
Neyse biz konumuza dönelim:
//ÖRNEK KULLANIM
NewMessage('R',// R= Sağdan L= Soldan
'Bu mesaj sağ tarafta çıkan bir mesajdır. www.brsatalay.com', // Mesajımız
ChatScreen,//TVertScrollBox'un namesi
Image1,// Gözükmesini istediğiniz resim, profil resmi olabilir.
Self);/ Formumuzun adı
procedure NewMessage(IO, Messages: String; Parent: TVertScrollBox; Image: TImage;Form:TForm);
var
CR: TCalloutRectangle;
L: TText;
TmpImg: TImage;
begin
CR := TCalloutRectangle.Create(Form);
CR.Parent := Parent;
CR.Align := TAlignLayout.alTop;
if IO = 'R' then CR.CalloutPosition := TCalloutPosition.cpRight
else
if IO = 'L' then CR.CalloutPosition := TCalloutPosition.cpLeft;
CR.Margins.Top := 10;
CR.Margins.Bottom := 10;
CR.Margins.Left := 5;
CR.Height := 55;
L := TText.Create(Form);
L.Parent := CR;
L.Align := TAlignLayout.alClient;
L.Text := Messages;
L.Margins.Right := 15;
if IO = 'R' then
L.Margins.Left := 5
else if IO = 'L' then
L.Margins.Left := 15;
L.Width := CR.Width-20;
L.WordWrap := True;
L.AutoSize := True;
TmpImg := TImage.Create(Form);
TmpImg.Parent := CR;
if IO = 'R' then TmpImg.Align := TAlignLayout.alLeft
else
if IO = 'L' then TmpImg.Align := TAlignLayout.alRight;
TmpImg.Bitmap.Assign(Image.Bitmap);
TmpImg.Width := 65;
end;
Kaynak
Hiç yorum yok:
Yorum Gönder