Presence
TsgcHTMLComponent_Presence — Delphi, C++ Builder ve .NET'te durum noktaları ve canlı WebSocket güncellemeleriyle, üst üste binen bir avatar yığını ya da liste olarak işlenen bir "kimler çevrimiçi" listesi.
TsgcHTMLComponent_Presence — Delphi, C++ Builder ve .NET'te durum noktaları ve canlı WebSocket güncellemeleriyle, üst üste binen bir avatar yığını ya da liste olarak işlenen bir "kimler çevrimiçi" listesi.
AddUser ile kullanıcı ekleyin, MaxVisible ile kaç tanesinin gösterileceğini sınırlayın, ardından HTML özelliğini okuyun — ya da GetUserFragmentHTML ile açık istemcilere bir durum değişikliği gönderin.
TsgcHTMLComponent_Presence
Avatar yığını ya da liste, artı kapsamlı CSS
Delphi, C++ Builder, .NET
Her kişi için AddUser'ı çağırın, ilk işleme için HTML'i okuyun, ardından birinin durumu değiştiğinde SetUserStatus'u çağırıp GetUserFragmentHTML'i gönderin.
uses
sgcHTML_Component_Presence;
var
oPresence: TsgcHTMLComponent_Presence;
begin
oPresence := TsgcHTMLComponent_Presence.Create(nil);
try
oPresence.PresenceID := 'roster';
oPresence.Layout := plAvatars;
oPresence.MaxVisible := 5;
oPresence.Title := 'Online';
oPresence.AddUser('u1', 'Ana Torres', psOnline);
oPresence.AddUser('u2', 'Marc Bell', psAway, '', 'Back at 3pm');
oPresence.AddUser('u3', 'Kenji Ito', psBusy);
WebModule.Response := oPresence.HTML; // avatar stack + scoped CSS
finally
oPresence.Free;
end;
end;
// Push a status change to every connected client, no full re-render:
oPresence.SetUserStatus('u2', psOnline);
TsgcHTMX_Engine_Server.BroadcastFragment(oPresence.GetUserFragmentHTML('u2'));
// includes: sgcHTML_Component_Presence.hpp
TsgcHTMLComponent_Presence *oPresence = new TsgcHTMLComponent_Presence(NULL);
try
{
oPresence->PresenceID = "roster";
oPresence->Layout = plAvatars;
oPresence->MaxVisible = 5;
oPresence->Title = "Online";
oPresence->AddUser("u1", "Ana Torres", psOnline);
oPresence->AddUser("u2", "Marc Bell", psAway, "", "Back at 3pm");
oPresence->AddUser("u3", "Kenji Ito", psBusy);
String html = oPresence->HTML; // avatar stack + scoped CSS
// Push a status change to every connected client:
oPresence->SetUserStatus("u2", psOnline);
TsgcHTMX_Engine_Server::BroadcastFragment(oPresence->GetUserFragmentHTML("u2"));
}
__finally
{
delete oPresence;
}
using esegece.sgcWebSockets;
var presence = new TsgcHTMLComponent_Presence();
presence.PresenceID = "roster";
presence.Layout = TsgcHTMLPresenceLayout.plAvatars;
presence.MaxVisible = 5;
presence.Title = "Online";
presence.AddUser("u1", "Ana Torres", TsgcHTMLPresenceStatus.psOnline);
presence.AddUser("u2", "Marc Bell", TsgcHTMLPresenceStatus.psAway, "", "Back at 3pm");
presence.AddUser("u3", "Kenji Ito", TsgcHTMLPresenceStatus.psBusy);
string html = presence.HTML; // avatar stack + scoped CSS
// Push a status change to every connected client, no full re-render:
presence.SetUserStatus("u2", TsgcHTMLPresenceStatus.psOnline);
TsgcHTMX_Engine_Server.BroadcastFragment(presence.GetUserFragmentHTML("u2"));
En sık başvurduğunuz üyeler.
AddUser(aId, aDisplayName, aStatus, aAvatarURL, aStatusText), bir liste girdisini ekler ya da günceller: var olan bir Id yerinde güncellenir.
TsgcHTMLPresenceStatus — psOnline, psAway, psBusy, psOffline. SetUserStatus(aId, aStatus, aStatusText), yalnızca durum noktasını ve metnini günceller.
Layout, plAvatars (üst üste binen avatar yığını) ya da plList (ad + durum satırları) seçer; AvatarSize, avatar çapını piksel cinsinden ayarlar.
MaxVisible (varsayılan 5), bir "+N" çipi görünmeden önce kaç kullanıcının gösterileceğini sınırlar; her kullanıcı işaretlemede kalır, böylece sonraki bir gönderim onu yine de bulur.
Title ve ShowCount, çevrimiçi sayısı rozetli bir üstbilgi işler; GetOnlineCount, psOffline kullanıcılarını hariç tutar.
GetUserFragmentHTML(aId) (RemoveUser çağrıldığında bir silme de yayar), GetCountFragmentHTML ve GetMoreFragmentHTML, TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment'i besler.
| Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu. | Aç | |
| Tüm sgcHTML Bileşenleri80'den fazla bileşenin tam özellik matrisine göz atın. | Aç | |
| Ücretsiz Deneme Sürümünü İndirin30 günlük deneme, 60.HTML demo projeleriyle birlikte gelir. | Aç | |
| FiyatlandırmaTam kaynak kodlu Single, Team ve Site lisansları. | Aç |