Presence Bileşeni — sgcHTML | eSeGeCe

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

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.

Bileşen sınıfı

TsgcHTMLComponent_Presence

İşler

Avatar yığını ya da liste, artı kapsamlı CSS

Diller

Delphi, C++ Builder, .NET

Kullanıcı ekleyin, işleyin, durum değişikliklerini gönderin

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"));

Temel özellikler & yöntemler

En sık başvurduğunuz üyeler.

Kullanıcı ekleme

AddUser(aId, aDisplayName, aStatus, aAvatarURL, aStatusText), bir liste girdisini ekler ya da günceller: var olan bir Id yerinde güncellenir.

Durum

TsgcHTMLPresenceStatuspsOnline, psAway, psBusy, psOffline. SetUserStatus(aId, aStatus, aStatusText), yalnızca durum noktasını ve metnini günceller.

Düzen

Layout, plAvatars (üst üste binen avatar yığını) ya da plList (ad + durum satırları) seçer; AvatarSize, avatar çapını piksel cinsinden ayarlar.

Taşma sınırı

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.

Üstbilgi

Title ve ShowCount, çevrimiçi sayısı rozetli bir üstbilgi işler; GetOnlineCount, psOffline kullanıcılarını hariç tutar.

Akış güncellemeleri

GetUserFragmentHTML(aId) (RemoveUser çağrıldığında bir silme de yayar), GetCountFragmentHTML ve GetMoreFragmentHTML, TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment'i besler.

Keşfetmeye devam edin

Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu.
Tüm sgcHTML Bileşenleri80'den fazla bileşenin tam özellik matrisine göz atın.
Ücretsiz Deneme Sürümünü İndirin30 günlük deneme, 60.HTML demo projeleriyle birlikte gelir.
FiyatlandırmaTam kaynak kodlu Single, Team ve Site lisansları.

Başlamaya Hazır mısınız?

Ücretsiz deneme sürümünü indirin ve Delphi, C++ Builder ya da .NET web uygulamanıza canlı bir çevrimiçi durum listesi ekleyin.