Presence
TsgcHTMLComponent_Presence — eine „Wer ist online"-Liste, dargestellt als überlappender Avatar-Stapel oder als Liste, mit Statuspunkten und Live-WebSocket-Updates, in Delphi, C++ Builder und .NET.
TsgcHTMLComponent_Presence — eine „Wer ist online"-Liste, dargestellt als überlappender Avatar-Stapel oder als Liste, mit Statuspunkten und Live-WebSocket-Updates, in Delphi, C++ Builder und .NET.
Fügen Sie Benutzer mit AddUser hinzu, begrenzen Sie mit MaxVisible, wie viele angezeigt werden, und lesen Sie dann die HTML-Eigenschaft — oder übertragen Sie eine Statusänderung an offene Clients mit GetUserFragmentHTML.
TsgcHTMLComponent_Presence
Avatar-Stapel oder Liste, plus scoped CSS
Delphi, C++ Builder, .NET
Rufen Sie AddUser für jede Person auf, lesen Sie HTML für das erste Rendering und rufen Sie dann SetUserStatus auf und übertragen Sie GetUserFragmentHTML, wenn sich der Status von jemandem ändert.
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"));
Die Member, die Sie am häufigsten verwenden.
AddUser(aId, aDisplayName, aStatus, aAvatarURL, aStatusText) fügt einen Listeneintrag hinzu oder aktualisiert ihn: eine bestehende Id wird an Ort und Stelle aktualisiert.
TsgcHTMLPresenceStatus — psOnline, psAway, psBusy, psOffline. SetUserStatus(aId, aStatus, aStatusText) aktualisiert nur den Statuspunkt und den Text.
Layout wählt plAvatars (überlappender Avatar-Stapel) oder plList (Zeilen mit Name + Status); AvatarSize setzt den Avatar-Durchmesser in Pixeln.
MaxVisible (Standard 5) begrenzt, wie viele Benutzer angezeigt werden, bevor ein „+N"-Chip erscheint; jeder Benutzer bleibt im Markup, sodass eine spätere Übertragung ihn weiterhin findet.
Title und ShowCount rendern eine Kopfzeile mit einem Online-Zähler-Abzeichen; GetOnlineCount schließt psOffline-Benutzer aus.
GetUserFragmentHTML(aId) (gibt auch ein Löschen aus, sobald RemoveUser aufgerufen wird), GetCountFragmentHTML und GetMoreFragmentHTML speisen TsgcHTMX_Engine_Server.PushFragment / BroadcastFragment.
| Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente. | Öffnen | |
| Alle sgcHTML-KomponentenDurchsuchen Sie die vollständige Funktionsmatrix von über 80 Komponenten. | Öffnen | |
| Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte. | Öffnen | |
| PreiseSingle-, Team- und Site-Lizenzen mit vollständigem Quellcode. | Öffnen |