Delphi, C++Builder & .NET Canlı ekranlar

sgcUI Gerçek Zamanlı UI Paketi

Canlı bir sistemi izleyen bir ekranın ihtiyaç duyduğu her şey, zaten kullandığınız sgcUI ürünlerine yerleşik: kimlerin çevrimiçi olduğu, toast bildirimleri ve okunmamış rozetli bir bildirim gelen kutusu, denetim izli bir etkinlik akışı ve bir günlük görüntüleyici. Bir sunucu bunları WebSocket, MQTT veya sunucu gönderimli olaylar (SSE) ile besler ya da kodunuz doğrudan yönetir.

VCLFireMonkeyWinFormsWPFAvalonia
sgcUI Gerçek Zamanlı demosu: durum göstergeli bir ekip listesi, etkinlik akışı, bildirim tercihlerinin üstündeki bildirim gelen kutusu, okunmamış sayılı bir çan, ekip avatarları ve canlı bir günlük grid'i

Beş Ürün, Tek Canlı Ekran

Gerçek Zamanlı UI paketi ayrı bir ürün değildir. Her parça uygun olduğu sgcUI ürününde, zaten kullandığınız unit'lerde, paketlerde ve NuGet paketlerinde yer alır ve o ürünün sürümünü izler. Her parça yalnızca sgcUICore'a ve onu barındıran ürüne ihtiyaç duyar, hiçbiri sgcHTML gerektirmez.

Çevrimiçi durumu ve avatarlar

Kimin çevrimiçi, uzakta, meşgul veya çevrimdışı olduğu; avatarlar, bir avatar grubu ve bir durum göstergesiyle.

Ürün: sgcUICore.

Çevrimiçi durumu →

Bildirimler

Toast bildirimleri, bir gelen kutusu, kategori ve kanal başına tercihler ve araç çubuğunda bir okunmamış rozeti olan bir bildirim modeli.

Ürünler: sgcNavigation ve sgcToolbar.

Bildirimler →

Etkinlik akışı ve denetim izi

Kimin hangi nesneye ne yaptığı; bir akış, bir denetim tablosu ve dashboard karoları olarak.

Ürün: sgcDashboard.

Etkinlik →

Canlı günlük görüntüleyici

En yeni günlük satırlarını izleyen, duraklatma, filtreler ve dışa aktarma sunan bir grid.

Ürün: sgcGrid.

Canlı günlükler →

Canlı kaynaklar

Her modeli besleyen sgcWebSockets WebSocket, MQTT ve sunucu gönderimli olay bağlantıları.

Ürün: sgcUICore, sgcUICoreWS köprüsü.

Canlı veri →

Delphi 7'den Delphi 13'e VCL ile, Delphi XE6'dan itibaren FireMonkey ile, C++Builder ile ve .NET WinForms, WPF ve Avalonia ile. Gerçek Zamanlı UI paketi yardım konusunu okuyun.

Çevrimiçi Durumu ve Avatarlar

Kimin çevrimiçi olduğunu her sgcUI ürününde gösterin.

TsgcUIPresenceModel kullanıcıları ve durumlarını (çevrimiçi, uzakta, meşgul veya çevrimdışı) bir durum metniyle birlikte tutar. Avatar denetimleri modeli izler, bu yüzden bir durum değişikliği o kullanıcının tüm avatarlarını ve göstergelerini aynı anda yeniden çizer.

  • Çevrimiçi durumu modeli değişikliklerini koddaki AddOrUpdate ve SetStatus çağrılarından ya da her değişiklik için bir canlı iletiden alır.
  • Bir avatar, sığmayan kullanıcılar için "+N" çipli bir avatar grubu ve durum noktası ile durum metnini gösteren bir durum göstergesi.
  • sgcDashboard'ın etkinlik akışı aynı modeli okur, böylece her aktör avatarını ve durumunu gösterir.
Ürün
sgcUICore, her sgcUI ürünü tarafından paylaşılır
Delphi ve C++Builder
TsgcVCLAvatar, TsgcVCLAvatarGroup, TsgcVCLPresenceIndicator ve TsgcFMX ikizleri
Sürüm
Community dahil her sürüm, canlı çevrimiçi durumu iletileri de

Yardım: Çevrimiçi durumu ve Avatarlar ve Durum Göstergesi.

Toast Bildirimleri, Gelen Kutusu, Tercihler ve Rozetler

Masaüstü uygulamaları için bir bildirim merkezi.

TsgcNotificationModel bildirimleri başlıkları, önem dereceleri, kategorileri ve okunma durumlarıyla tutar ve okunmamış sayısını izler. Toast yöneticisi, gelen kutusu, tercihler ve rozet bağlantısı onu izler.

  • Toast bildirimleri: okunmamış her yeni bildirim için bir toast; fare üzerindeyken duraklar.
  • Bildirim gelen kutusu: bildirimler güne göre gruplanır, tümü veya yalnızca okunmamışlar, Tümünü okundu işaretle ile.
  • Bildirim tercihleri: her kategori için bir satır, her kanal için bir sütun ve düzenleyicisi. Bir kategorinin açılır pencere kanalını kapatmak toast'larını durdurur, gelen kutusu yine de listeler.
  • Okunmamış rozeti: sgcToolbar'ın TsgcToolbarBadgeLink bileşeni, bir araç çubuğu veya ribbon öğesinde okunmamış sayısını gösterir, 99'un üzerinde 99+.
Ürünler
sgcNavigation (model, toast'lar, gelen kutusu ve tercihler) ve sgcToolbar (rozet bağlantısı)
Delphi ve C++Builder
TsgcVCLToastManager, TsgcVCLNotificationInbox, TsgcVCLNotificationPrefsEditor ve TsgcFMX ikizleri
Sürüm
Community dahil her sürüm. Canlı bildirim iletileri ve rozet hedefi olarak bir ribbon Kayıtlıdır.

Yardım: Bildirimler, Toast Bildirimleri, Bildirim Gelen Kutusu, Bildirim Tercihleri, Canlı Bildirim İletileri ve TsgcToolbarBadgeLink.

Etkinlik Akışı ve Denetim İzi

Kim ne yaptı ve ne değişti.

TsgcDashboardActivityModel her etkinliği bir aktör, bir fiil ve bir nesne olarak, değişen alanlarla birlikte kaydeder. Etkinlik akışı ve denetim izi aynı modelin iki görünümüdür.

  • Etkinlik akışı: en yeni etkinlik önce gelir, göreli zamanlarla ve çevrimiçi durumu modelinden her aktörün avatarıyla.
  • Denetim izi: satırları değişen alanlara açılan bir tablo.
  • İkisi de bağımsız denetimlerdir ve ayrıca bir dashboard için etkinlik ve denetim karolarıdır.
Ürün
sgcDashboard
Delphi ve C++Builder
TsgcVCLActivityFeed, TsgcVCLAuditTrail, TsgcVCLDashboardActivityTile, TsgcVCLDashboardAuditTile ve TsgcFMX ikizleri
Sürüm
Community dahil her sürüm. Canlı etkinlik iletileri Kayıtlıdır.

Yardım: Etkinlik Akışı, Canlı Etkinlik İletileri, Etkinlik Karosu ve Denetim Karosu.

sgcGrid Üzerinde Canlı Günlük Görüntüleyici

Ekranı dondurmadan binlerce günlük satırını izleyin.

TsgcGridLogModel günlük satırlarını bir zaman, trace'ten fatal'a bir düzey, bir kaynak ve bir iletiyle tutar; TsgcGridLogLink onları sanal modda bir sgcGrid'de gösterir. Günlük modeli iş parçacığı güvenlidir, bu yüzden bir çalışan iş parçacığı satırları doğrudan ekleyebilir.

  • Sonu izleme: yukarı kaydırmak izlemeyi durdurur, sona geri kaydırmak sürdürür; Duraklat ise kullanıcı okurken görünümü durdurur.
  • Düzeye göre renklendirilmiş satırlar; düzey, kaynak ve metne göre filtreler, vurgulama kuralları ve dışa aktarma.
  • Bir soket iş parçacığından gelen günlük satırı yığını ana iş parçacığına tek bir uğrama maliyetine mal olur.
Ürün
sgcGrid
Delphi ve C++Builder
TsgcGridLogModel ve TsgcGridLogLink, bir TsgcVCLGrid veya bir TsgcFMXGrid ile
Sürüm
Community dahil her sürüm. Canlı günlük iletileri Kayıtlıdır.

Yardım: Günlük Görüntüleyici, TsgcGridLogModel ve TsgcGridLogLink.

WebSocket, MQTT ve SSE Üzerinden Canlı Kaynaklar

sgcUICoreWS köprüsünün canlı kaynakları, bir sunucunun sgcWebSockets bağlantısı üzerinden gönderdiği JSON iletilerini alır ve modellere iletir. Denetimler sizin kodunuz olmadan anında izler.

KaynaksgcWebSockets istemcisiOkuduğu olayİletileri seçme ölçütü
TsgcUILiveSource_WebSocketTsgcWebSocketClientOnMessage, her metin iletisiİletinin bir üyesi üzerinde bir filtre
TsgcUILiveSource_MQTTTsgcWSPClient_MQTTOnMQTTPublish, her yayınBir MQTT konu filtresi
TsgcUILiveSource_SSETsgcHTTP1ClientOnSSEMessage, olay akışıSSE olay türü
  • Kaynak asla bağlanmaz, abone olmaz veya göndermez. URL, kimlik bilgileri, TLS ve yeniden bağlanma istemciye aittir ve kanca WatchDog'un yeniden bağlanmasından sonra da kalır.
  • Bir kaynak, bağlamaları aracılığıyla birkaç modeli besler, böylece tek bir bağlantı bütün bir ekranı yönetebilir. Bir bağlama bir uygulama zarfını açabilir ve istemci olayının kendi işleyiciniz yine de tetiklenir.
  • Modeller her zaman ana iş parçacığında çağrılır. Bir soket iş parçacığına gelen iletiler kuyruğa alınır ve geliş sırasıyla, ana iş parçacığına tek bir uğramada uygulanır.
  • Köprü yalnızca gelen yönlüdür. Kullanıcı bir bildirimi okuduğunda veya kapattığında, uygulama kendi çerçevesini aynı istemci üzerinden gönderir.

Dört ileti biçimi

Yeni bir protokol yoktur. Her model kendi beslemesinin canlı iletisini okur: her değişiklik için bir JSON nesnesi, beslemeyi adlandıran bir type üyesi ve bir op üyesi ile.

BeslemetypeopModel
Çevrimiçi durumupresence, isteğe bağlıupsert, remove, snapshot, clearTsgcUIPresenceModel
Bildirimlernotification, zorunluadd, update, remove, read, unread, snapshotTsgcNotificationModel
Etkinlikactivity, zorunluadd, update, remove, snapshotTsgcDashboardActivityModel
Günlüklog, isteğe bağlıappend, batch, clearTsgcGridLogModel
messages.json
{"type":"presence","op":"upsert","user":{"id":"u7","presence":"away","statusText":"Lunch"}}
{"type":"notification","op":"add","notification":{"id":"n2","title":"Build 812 passed","severity":"success"}}
{"type":"activity","op":"add","item":{"id":"a20","actorId":"u7","verb":"updated","objectName":"Invoice INV-17"}}
{"type":"log","op":"append","entry":{"level":"warning","source":"api","message":"Slow query"}}
Delphi, her besleme için bir MQTT konusu
oSource := TsgcUILiveSource_MQTT.Create(Self);
oSource.Client := MQTT;
// her model için bir bağlama, konusuna göre seçilir
oBinding := oSource.Bindings.Add;
oBinding.Target := PresenceModel;
oBinding.Topic := 'ops/presence';
oBinding := oSource.Bindings.Add;
oBinding.Target := NotificationModel;
oBinding.Topic := 'ops/notifications';
oBinding := oSource.Bindings.Add;
oBinding.Target := ActivityModel;
oBinding.Topic := 'ops/activity';
oBinding := oSource.Bindings.Add;
oBinding.Target := LogModel;
oBinding.Topic := 'ops/log/+';
// kaynak asla abone olmaz: istemcinin OnMQTTConnect olayında abone olun
MQTT.Subscribe('ops/#');

Canlı kaynaklar yalnızca Kayıtlıdır ve sgcUI'ın her sgcWebSockets köprüsü gibi sgcWebSockets gerektirir. Sunucu olmadan veya bir Community derlemesinde, uygulama bunun yerine her modelin API'sini çağırır: çevrimiçi durumu modelinin AddOrUpdate ve SetStatus, bildirim modelinin Add veya Post, etkinlik modelinin Add ve günlük modelinin Append metotları.

Canlı Kaynaklar yardım konusunu okuyun

Gerçek Zamanlı Demo

Bir simülatörün yönettiği on iki kişilik bir ekip için bir operasyon konsolu

Koyu temada Delphi VCL için Gerçek Zamanlı demo: ekip listesi, etkinlik akışı, bildirim gelen kutusu ve tercihleri, çan rozeti, avatar grubu ve canlı günlük grid'i

Suite demosu Realtime, paketten bir operasyon konsolu oluşturur. Araç çubuğunda rozeti okunmamış sayısı olan bir çan, geçerli kullanıcının avatarı ve ekibin avatar grubu bulunur. Bir liste her üyeyi bir durum göstergesiyle sıralar, bir sekme etkinlik akışını, bir diğeri denetim izini tutar, bildirim gelen kutusu tercih düzenleyicisinin üstünde durur, bir günlük grid'i en yeni satırları izler ve toast'lar sağ altta görünür.

  • Çalışırken açık, koyu ve yüksek karşıtlık temaları arasında geçin veya pencereyi sağdan sola yansıtın
  • Belirlenimci bir simülatör her değişikliği kendi modelinin canlı iletisi olarak üretir, bu yüzden demo sunucu ve sgcWebSockets gerektirmez
  • Kendi kendine kontrolleri için --test result.txt ile çalıştırın, her biri numaralı bir PASS veya FAIL satırı
Platformlar
Delphi VCL (Delphi 7 ile 13) ve FireMonkey (Delphi 13), C++Builder, .NET WinForms, WPF ve Avalonia
Gereken sürüm
sgcUI Professional, Enterprise, All-Access veya Deneme, sgcDashboard içeren sürümler. Kayıtlı bir derleme her değişikliği canlı ileti olarak uygular, bir Community derlemesi model API'si ile.
Kaynak
Demos\Suite\Delphi\Realtime (sgcUIRealtime.dpr), Demos\Suite\Delphi\RealtimeFMX (sgcUIRealtimeFMX.dpr), Demos\Suite\CBuilder\Realtime ve .NET klasöründeki demos\Suite\Realtime

İçindeki sgcUI ürünleri

Diğer sgcUI suite demolarına da bakın.

Açık temada Delphi FireMonkey için Gerçek Zamanlı demo
FireMonkey, açık tema
Koyu temada Delphi FireMonkey için Gerçek Zamanlı demo
FireMonkey, koyu tema

WinForms, WPF ve Avalonia'da Aynı Paket

Modeller, denetimler ve canlı kaynaklar .NET'te, her ürünün NuGet paketlerinde aynı adlara sahiptir ve aynı JSON iletilerini okur.

  • Modeller: TsgcUIPresenceModel (ad alanı esegece.sgcUICore), TsgcNotificationModel ve TsgcNotificationPreferences (esegece.sgcNavigation), TsgcToolbarBadgeLink (esegece.sgcToolbar), TsgcDashboardActivityModel (esegece.sgcDashboard) ve TsgcGridLogLink ile TsgcGridLogModel (esegece.sgcGrid).
  • Denetimler: TsgcWinFormsAvatar, TsgcWinFormsToastManager, TsgcWinFormsNotificationInbox, TsgcWinFormsActivityFeed, TsgcWinFormsAuditTrail ve diğer denetimler; her birinin TsgcWpf ve TsgcAvalonia ikizi vardır.
  • Canlı kaynaklar: esegece.sgcUICore.sgcWebSockets paketinde TsgcUILiveSource_WebSocket, TsgcUILiveSource_MQTT ve TsgcUILiveSource_SSE, yalnızca Kayıtlı.
  • NuGet'teki ücretsiz Community paketleri, örneğin esegece.sgcNavigation.Community ve esegece.sgcGrid.Community, Delphi Community derlemeleriyle aynı bölümleri dışarıda bırakır.
  • .NET demosunun modelleri, simülatörü ve kendi kendine testi içeren tek bir paylaşılan proje üzerinde WinForms, WPF ve Avalonia ana makineleri vardır.

Yardım: .NET Paketleri ve Gerçek Zamanlı UI Paketi.

Community ve Kayıtlı

Her parça ürününün sürümünü izler. .NET Community paketleri, Delphi Community derlemeleriyle aynı bölümleri dışarıda bırakır.

ParçaÜrünCommunityKayıtlı
Canlı iletileriyle çevrimiçi durumu modeli, avatarlar, avatar grubu ve durum göstergesisgcUICore
Bildirim modeli, toast'lar, gelen kutusu ve tercihlersgcNavigation
Canlı bildirim iletilerisgcNavigation—
Araç çubuğu ile rozet bağlantısısgcToolbar
Ribbon ile rozet bağlantısısgcToolbar—
Etkinlik modeli, etkinlik akışı, denetim izi ve her iki karosgcDashboard
Canlı etkinlik iletilerisgcDashboard—
Günlük modeli ve günlük bağlantısısgcGrid
Canlı günlük iletilerisgcGrid—
WebSocket, MQTT ve SSE üzerinden canlı kaynaklar (sgcUICoreWS köprüsü, sgcWebSockets gerekir)sgcUICore—

sgcUI suite'inde sgcNavigation, sgcToolbar ve sgcGrid her sürümde, sgcDashboard ise Professional'dan itibaren bulunur. sgcUICore her ürünle birlikte gelir ve her ürün ayrıca tek başına satılır, Delphi için ve .NET için. Özellik matrisine, Sürümler yardım konusuna ve fiyatlandırmaya bakın.

Sık Sorulan Sorular

Hayır. Her parça uygun olduğu sgcUI ürününde yer alır: çevrimiçi durumu ve avatarlar sgcUICore'da, bildirimler sgcNavigation'da, okunmamış rozeti sgcToolbar'da, etkinlik akışı ve denetim izi sgcDashboard'da, günlük görüntüleyici ise sgcGrid'de. Bunları o ürünlerle birlikte, aynı unit'lerde, paketlerde ve NuGet paketlerinde alırsınız.

Yalnızca sgcUICoreWS köprüsünün canlı kaynakları için. Modeller ve denetimler yalnızca sgcUICore'a ve kendi ürünlerine ihtiyaç duyar, sunucusuz bir uygulama onları koddan yönetir. Hiçbir parça sgcHTML gerektirmez.

Her değişiklik için WebSocket üzerinden, bir MQTT aracısı aracılığıyla veya sunucu gönderimli olaylar olarak bir JSON nesnesi gönderen herhangi bir sunucu. Dört ileti biçimi belgelenmiştir ve kaynaklar kendi protokollerini tanımlamaz. Bir bağlama, mevcut bir uygulama protokolünün zarfını da açabilir.

Köprü yalnızca gelen yönlüdür. Kullanıcı bir bildirimi okuduğunda veya kapattığında, uygulama kendi çerçevesini aynı sgcWebSockets istemcisi üzerinden gönderir. Canlı Kaynaklar yardım konusunda bir örnek vardır.

Hayır. Bir soket iş parçacığına gelen iletiler kuyruğa alınır ve ana iş parçacığına tek bir uğramada uygulanır, bu yüzden 1.000 günlük satırlık bir yığın tek bir uğramaya mal olur. Günlük modeli ayrıca iş parçacığı güvenlidir, bu yüzden bir çalışan iş parçacığı ona doğrudan ekleyebilir. Delphi 7'den 2009'a kadar, istemcinin ana iş parçacığında bildiren varsayılan bildirim ayarını koruyun.

Her parçanın modelleri ve denetimleri ile canlı çevrimiçi durumu iletileri. Bildirim, etkinlik ve günlük modellerinin canlı iletileri, rozet hedefi olarak bir ribbon ve canlı kaynaklar yalnızca Kayıtlıdır.

Ürün sayfaları: sgcNavigation, sgcToolbar, sgcDashboard, sgcGrid, sgcWebSockets ve sgcUI suite.

En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

sgcUI ile Canlı Ekranlarınızı Oluşturun

All-Access denemesi her sgcUI ürününü içerir, böylece paketin her parçasını deneyebilirsiniz.