Delphi, C++ Builder & .NET sgcUI'nin bir parçası

sgcGauges, Delphi, C++ Builder & .NET için Enstrüman Paneli

Panolar ve HMI panelleri için radyal kadrandan annunciator'a on gösterge türü. Yeşil, kehribar ve kırmızı bantlar çizin, bir değer sınırı aştığında alarm verin, ibrenin her yeni okumaya kayarak gitmesini sağlayın ve aynı göstergeyi bir sunucuda PNG veya SVG olarak çizin.

VCL, FireMonkey, WinForms, WPF, AvaloniaOn gösterge türü, altısı Community'dePencere olmadan PNG ve SVGsgcUI Professional içinde yer alır
Tanklar, pompalar, LED çubukları ve bir annunciator içeren HMIPanel demosu

Bir Enstrüman Panelinin İhtiyaç Duyduğu Her Şey

Dört grupta on bir yetenek, gerçek sınıf ve özellik adları ve her yardım konusuna bağlantıyla. Kayıtlı olarak işaretlenen özellikler ücretsiz .NET Community sürümünde yoktur.

Enstrümanlar ve ölçekler

Tek modelde on tür, aralıklar, stiller ve birden çok ibre ile.

Radyal, halka, pusula, saat, VU metre, doğrusal, dijital ve LED göstergeler içeren sgcGauges galerisi

Enstrümanlar ve ölçekler

Tek kütüphanede on enstrüman türü

Panolar, HMI panelleri ve test tezgahları farklı enstrümanlar ister: hız için bir kadran, seviye için bir çubuk, frekans için dijital bir ekran, bir pompa için bir lamba, alarmlar için bir kutucuk paneli. sgcGauges aynı ölçekleri, ibreleri, aralıkları, eşikleri ve temaları paylaşan tek modelli on tür sunar. Bir API öğrenin, her enstrüman aynı şekilde davranır.

  • TsgcVCLRadialGauge, TsgcVCLLinearGauge, TsgcVCLDigitalGauge, TsgcVCLLEDGauge, TsgcVCLLEDBarGauge, TsgcVCLProgressRingGauge
  • TsgcVCLVUMeterGauge, TsgcVCLClockGauge, TsgcVCLCompassGauge, TsgcVCLAnnunciatorGauge
  • Her tür FireMonkey için ve .NET'te WinForms, WPF ve Avalonia için de vardır
  • Arayüzsüz kullanım için tür başına framework'ten bağımsız bir model, örneğin TsgcRadialGauge

Community'de radyal, doğrusal, 7 segmentli dijital, LED, LED çubuk ve ilerleme halkası göstergeleri vardır. VU metre, saat, pusula ve annunciator Kayıtlıdır.

Yardım konusunu okuyun
Yeşil, kehribar ve kırmızı aralıklı 0'dan 260 km/sa'e hız göstergesi

Enstrümanlar ve ölçekler

Her ölçekte renkli aralıklar

Bir operatör bir göstergeyi yalnızca yeşil, kehribar ve kırmızı değerin nerede olması gerektiğini söylediğinde bir bakışta okur. Bir ölçeğe istediğiniz en küçük ve en büyük değeri verin, ana aralığı ve ara çentikleri ayarlayın ve önemli bantlar için renkli aralıklar ekleyin. Aralıkların kendi kalınlığı ve başlığı vardır, ölçek ters çalışabilir veya çentiklerini içeri ya da dışarı yerleştirebilir. Aralıklar ölçeğin kendisi üzerine çizilir, bu yüzden ek çalışma olmadan PNG ve SVG çıktısında ve her iki temada da görünür.

  • StartValue, EndValue, Color, Thickness ve Caption ile Scales[0].Ranges.Add
  • TsgcGaugeScale: Minimum, Maximum, MajorInterval, MinorCount, Reversed
  • Ölçek etiketleri için LabelFormat ve ShowLabels
  • StartAngle ve SweepAngle radyal göstergenin yayını biçimlendirir
Yardım konusunu okuyun
Üç dikey doğrusal gösterge: bullet grafik, termometre ve çubuk

Enstrümanlar ve ölçekler

Tek denetimde bullet grafik, termometre ve çubuk

Seviyeler, sıcaklıklar ve hedefe karşı ilerleme doğası gereği doğrusaldır. Tek bir doğrusal gösterge üç stil çizer: düz bir çubuk, hazneli bir termometre ve değeri bir hedef işaretçisiyle karşılaştıran bir bullet grafik. Bir tanka, bir kenar çubuğuna veya bir tablo satırına uyması için yatay veya dikey yapın. Bullet hedefi ek bir ibre değil bir özelliktir, bu yüzden bullet grafik ücretsiz Community sürümünde de çalışır. Küçük bir gösterge bir ızgara hücresine veya bir pano kutucuğuna sığar.

  • LinearStyle: glsBar, glsThermometer veya glsBullet
  • Target bullet hedef işaretçisini çizer, her sürümde
  • Orientation ve BulbSize
  • Aralıklar ve eşikler radyal göstergedeki gibi çalışır
Yardım konusunu okuyun
Gerçekleşen değer için bir iğne ve hedef için bir işaretçi içeren radyal gösterge

Enstrümanlar ve ölçekler Yalnızca Kayıtlı

Tek göstergede birden çok ölçek ve ibre

Bazı okumalar yalnızca yan yana anlam kazanır: gerçekleşen ile hedef, giriş ile çıkış, saat ile dakika. Bir gösterge birden fazla ölçek ve birden fazla ibre taşıyabilir ve her ibre ölçeğini ve stilini seçer: bir iğne, bir işaretçi veya bir çubuk. Eşikler herhangi bir ibreyi izleyebilir. Çift ibreli bir kadran kalabalık panellerde yer kazandırır ve hedef ile gerçekleşen arasındaki farkı bir anda görünür kılar.

  • Kind, NeedleStyle, MarkerShape ve ScaleIndex ile TsgcGaugePointer öğelerinin Pointers koleksiyonu
  • Ölçek başına Radius ve Offset ile Scales koleksiyonu
  • Eşiklerde ve besleme bağlamalarında PointerIndex
  • Birden çok ibreyle yapılmış formlar Community'de yine yüklenir, yalnızca ilkini çizer

Community gösterge başına bir ölçek ve bir ibre çizer; Kayıtlı sürüm hepsini çizer.

Yardım konusunu okuyun

Alarmlar, hareket ve canlı veri

Tepki veren göstergeler: eşikler, animasyon, endüstriyel ekranlar ve canlı akışlar.

Alarmlar, hareket ve canlı veri

Ana iş parçacığında verilen, histerezisli alarmlar

Sınırı çevresinde dolaşan bir basınç dakikada yüz alarm tetiklememelidir. Bir eşiğin bir değeri, bir yönü ve bir histerezis bandı vardır: değer geçtiğinde bir kez tetiklenir ve yalnızca değer banda kadar geri döndükten sonra yeniden kurulur. OnThreshold değeri hangi iş parçacığı yazmış olursa olsun her zaman ana iş parçacığında çalışır, böylece bir LED yakabilir veya doğrudan bir mesaj gösterebilirsiniz. Her eşik farklı bir ibreyi izleyebilir, bu yüzden bir gösterge gerçekleşen değerde yüksek alarmı, ikinci bir okumada düşük alarmı verebilir.

  • Value, Hysteresis ve Direction ile TsgcGaugeThreshold öğelerinin Thresholds koleksiyonu
  • gtdRising, gtdFalling veya gtdBoth
  • ValueColor eşik etkinken değer metnini yeniden renklendirir
  • Gallery demosu 200 km/sa'te bir alarm LED'i yakar
Yardım konusunu okuyun

Alarmlar, hareket ve canlı veri

Yumuşatmalı akıcı iğne animasyonu

Sıçrayan bir iğne bozuk görünür, kayan bir iğne enstrüman gibi görünür. Her yeni değer eskisinden seçtiğiniz bir sürede, beş yumuşatma eğrisinden biriyle canlandırılır; böylece ani bir değişiklik kolay izlenir ve canlı bir akış asla titremez. Ham değere hemen ihtiyaç duyan test tezgahları için animasyonu kapatın. OnChange ekrandaki animasyondan bağımsız olarak değerin ne zaman değiştiğini bildirir.

  • Enabled ve Duration ile Animation (TsgcGaugeAnimation), varsayılan olarak 300 ms
  • Easing: geLinear, geQuadOut, geCubicOut, geCubicInOut, geBackOut
  • Her gösterge türünde ve her sürümde çalışır
  • IsAnimating bir ibrenin hâlâ hareket edip etmediğini söyler
Yardım konusunu okuyun
Endüstriyel ekranlar: segmentler, LED'ler ve annunciator'lar

Alarmlar, hareket ve canlı veri

Endüstriyel ekranlar: segmentler, LED'ler ve annunciator'lar

Kontrol panelleri kendi görsel dilini konuşur. Dijital gösterge isteğe bağlı gölge segmentler ve eğimle 7 segmentli, 14 segmentli veya nokta matris rakamlar çizer. LED'ler yanıp söner, LED çubuk tepe değerini tutar ve annunciator bir operatör onaylayana kadar yanıp sönen alarm kutucuklarından oluşan bir panel gösterir. Bu ekranların her biri diğer göstergelerle aynı ölçeklere, eşiklere ve temalara sahiptir, böylece alarmlar her yerde aynı şekilde çalışır.

  • TsgcVCLDigitalGauge: DisplayType, Digits, ShowGhost, Skew
  • Blink ve BlinkInterval ile TsgcVCLLEDGauge; PeakHold ile TsgcVCLLEDBarGauge
  • TsgcVCLAnnunciatorGauge: Tiles, FlashInterval, Acknowledge, AcknowledgeAll
  • HMIPanel demosu bunları tanklar, pompalar ve basınçlarla birleştirir

Community'de 7 segmentli rakamlar, LED'ler ve LED çubuk vardır. 14 segmentli ve nokta matris ekranlar ile annunciator Kayıtlıdır.

Yardım konusunu okuyun

Alarmlar, hareket ve canlı veri Yalnızca Kayıtlı

MQTT konularını doğrudan ibrelere bağlayın

Bir IoT konsolunda kodun çoğu tesisat işidir: abone ol, ayrıştır, göstergeyi bul, değeri ayarla. sgcGaugesWS köprüsü bunu ortadan kaldırır. Bir besleme kaynağı bir sgcWebSockets istemcisine bağlanır ve her bağlama bir konuyu ve bir JSON yolunu bir gösterge ibresine eşler. + ve # içeren MQTT konu filtreleri desteklenir ve bir filtre yolu ortak bir akıştan tek bir cihazı seçer. Birkaç bağlama bir kaynağı paylaşabilir, böylece tek bir komisyoncu bağlantısı tüm paneli yönetir.

  • TsgcGaugeFeedSource_MQTT, TsgcGaugeFeedSource_WebSocket, TsgcGaugeFeedSource_SSE
  • TsgcGaugeFeedBinding öğelerinin Bindings koleksiyonu: Gauge, PointerIndex, Topic, ValuePath
  • FilterPath ve FilterValue mesajları seçer
  • Kaynakta OnValue ve OnError olayları

Köprü sgcWebSockets gerektirir. Community sürümünde Value değerini kendi kodunuzdan ayarlayın; bir arka plan iş parçacığından güvenlidir.

Yardım konusunu okuyun

Çıktı ve görünüm

Aynı gösterge bir sunucuda ve her temada.

Çıktı ve görünüm

Pencere olmadan PNG veya SVG olarak göstergeler

Göstergeler ekranın dışında da istenir: bir vardiya raporunda, bir durum e-postasında veya arka ucunuzun sunduğu bir web sayfasında. Her gösterge modeli ve her denetim, form olmadan kendini PNG veya SVG olarak kaydeder; böylece bir konsol programı, bir Windows hizmeti veya bir Linux64 sunucusu operatörün gördüğü enstrümanın aynısını çizebilir. Genişlik, yükseklik ve ölçek parametredir, bu yüzden bir çağrı bir liste için küçük resim, bir başkası bir rapor için net 2x görüntü üretir.

  • Her model ve denetimde SaveToPNG ve SaveToSVG
  • TsgcRadialGauge ve TsgcLinearGauge gibi framework'ten bağımsız modeller
  • Delphi 10.2'den itibaren Linux64 arayüzsüz; Headless demosu Win32, Win64 ve Linux64'te PNG ve SVG yazar
  • .NET'te ConsoleRender demosu aynısını yapar
Yardım konusunu okuyun
Gündüz ve gece vardiyaları için temalar

Çıktı ve görünüm

Gündüz ve gece vardiyaları için temalar

Bir kontrol odası geceleri ekranlarını kısar, bir ofis parlak görünümü tercih eder. Tek bir özellik bir göstergeyi açık ve koyu tema arasında geçirir, kadranın, ölçeğin, etiketlerin ve değerin renkleri onu izler. Göstergeler her sgcUI ürünüyle aynı tema türünü kullanır, bu yüzden panolar, grafikler ve ızgaralarla birlikte geçer. Aralıklar her iki temada da kendi renklerini korur, böylece yeşil geceleri de normal anlamına gelir. FormatSettings özelliği okumanın ondalık ayırıcısını kullanıcının yerel ayarından bağımsız olarak sabitler.

  • Theme := utDark veya utLight
  • FaceColor, BackgroundColor ve yazı tipleri yine de gösterge başına ayarlanabilir
  • Okuma için Title, Units ve ValueFormat
  • Değer metnini kendiniz biçimlendirmek için OnFormatValue
  • Arapça ve İbranice için sağdan sola: başlıklar ve birim metinleri yönü izler, kadranlar, saatler, pusulalar ve ilerleme çubukları yönelimlerini korur
Yardım konusunu okuyun

Erişilebilirlik

Ekran okuyucular ve yüksek karşıtlık için UI Automation, kurulum gerektirmeden.

Erişilebilirlik

Değerlerini UI Automation'a sunan göstergeler

Her gösterge türü başlığını, değerini ve aralığını Microsoft UI Automation'a sunar ve eşikler duyuru olarak bildirilir. Gösterge, erişilebilir PDF'e yazdığı metin alternatifinin aynısıyla kendini tanımlar.

  • Bir gösterge yalnızca değer gösterir, bu yüzden varsayılan olarak sekme durağı değildir ve yine de UI Automation'a sunulur
  • Klavye kullanıcıları bir göstergeye gelsin istiyorsanız TabStop özelliğini True yapın
  • Dijital, LED, saat ve pusula göstergeleri değerlerini metin olarak, diğer türler aralık değeri olarak sunar
  • Windows yüksek karşıtlık temasında göstergeler sistem renkleriyle çizilir

Erişilebilirlik her sürümde, ücretsiz Community sürümü dahil, varsayılan olarak açıktır: VCL'de Delphi 7'den Delphi 13'e kadar her Delphi ve C++Builder sürümünde, Windows'ta FireMonkey'de ve WinForms, WPF ve Avalonia üzerinde. Delphi ve C++Builder'da AccessibleName ve AccessibleDescription UI Automation'a sunulan adı ve açıklamayı belirler, .NET'te ise her çerçevenin standart erişilebilir adı ve yardım metni aynı işi yapar. Bkz. erişilebilirlik uygunluk raporları.

Yardım konusunu okuyun

sgcGauges iş başında

sgcUI paket demolarında sgcGauges: yerleşik simüle verilerle çevrimdışı çalışan eksiksiz uygulamalar.

sgcGauges ile Kimler Geliştirme Yapıyor

SCADA ve HMI ekranları

Bir tesis HMI'ı seviye göstergeli iki tankı, pompa LED'lerini, kırmızı bantlı basınç kadranlarını ve alarmlar için bir annunciator panelini gösterir. Histerezisli eşikler her alarmı bir kez verir, annunciator operatör onaylayana kadar yanıp söner ve gece vardiyası koyu temaya geçer.

  • Aralıklar ve eşikler
  • Annunciator
  • LED'ler
  • Koyu tema
HMIPanel demosunu çalıştırın

IoT ve telemetri konsolları

Bir telemetri konsolu bir komisyoncuya abone olur ve saha cihazlarından altı canlı okuma gösterir. Bağlamalar her konuyu ve JSON alanını bir ibreye eşler, iğneler her yeni değere kayar ve elle yazılmış hiçbir mesaj işleme kodu yoktur. Aynı göstergeler günlük durum postası için PNG olarak çizilir.

  • MQTT bağlamaları
  • Animasyon
  • Arayüzsüz PNG
MQTTLive demosunu çalıştırın

Enstrümanlı KPI panoları

Bir yönetim panosu göstergeleri KPI kartlarının ve grafiklerin yanında kutucuklara koyar: kullanım oranı bir ilerleme halkası olarak, teslimat süresi hedefine karşı bir bullet grafik olarak ve hizmet seviyesi renkli bantlı bir kadran olarak. Her şey tek bir tema özelliğini izler ve göstergeler kutucuklarına göre kendini boyutlandırır.

  • İlerleme halkası
  • Bullet grafik
  • sgcDashboard kutucukları
Gallery demosunu çalıştırın

Birkaç Satırda Bir Basınç ve Seviye Paneli

Delphi, C++ Builder ve C# içinde aynı API: kırmızı bantlı ve alarm eşikli radyal bir basınç göstergesi, bir bullet seviye göstergesi ve yanıp sönen bir alarm LED'i.

Bir VCL formunda kırmızı bantlı ve alarm eşikli radyal bir basınç göstergesi, bir bullet seviye göstergesi ve yanıp sönen bir alarm LED'i.

uses
  SysUtils, Classes, Controls, Forms, sgcUICore_Theme,
  sgcGauges_Types, sgcGauges_Model, sgcGauges_VCL;

type
  TTankPanel = class(TComponent)
  public
    Pressure: TsgcVCLRadialGauge;
    Level: TsgcVCLLinearGauge;
    Alarm: TsgcVCLLEDGauge;
    procedure PressureThreshold(Sender: TObject; aThreshold: TsgcGaugeThreshold;
      aValue: Double; aRising: Boolean);
  end;

procedure TTankPanel.PressureThreshold(Sender: TObject;
  aThreshold: TsgcGaugeThreshold; aValue: Double; aRising: Boolean);
begin
  // runs in the main thread, whatever thread wrote the value
  Alarm.Active := aRising;
end;

function CreateTankPanel(aForm: TForm): TTankPanel;
begin
  Result := TTankPanel.Create(aForm);
  Result.Pressure := TsgcVCLRadialGauge.Create(aForm);
  Result.Pressure.Parent := aForm;
  Result.Pressure.SetBounds(16, 16, 240, 240);
  Result.Pressure.Title := 'Pressure';
  Result.Pressure.Units := 'bar';
  Result.Pressure.Theme := utDark;
  Result.Pressure.Scales[0].Maximum := 10;
  Result.Pressure.Scales[0].MajorInterval := 2;
  with Result.Pressure.Scales[0].Ranges.Add do
  begin
    StartValue := 8;
    EndValue := 10;
    Color := $FFE34948;
  end;
  with Result.Pressure.Thresholds.Add do
  begin
    Value := 8;
    Hysteresis := 0.5;
    Direction := gtdBoth;
  end;
  Result.Pressure.Animation.Easing := geCubicOut;
  Result.Pressure.OnThreshold := Result.PressureThreshold;
  Result.Level := TsgcVCLLinearGauge.Create(aForm);
  Result.Level.Parent := aForm;
  Result.Level.SetBounds(272, 16, 320, 110);
  Result.Level.Title := 'Tank level';
  Result.Level.Units := '%';
  Result.Level.LinearStyle := glsBullet;
  Result.Level.Target := 80;
  Result.Alarm := TsgcVCLLEDGauge.Create(aForm);
  Result.Alarm.Parent := aForm;
  Result.Alarm.SetBounds(272, 140, 64, 64);
  Result.Alarm.OnColor := $FFE34948;
  Result.Alarm.Blink := True;
  Result.Level.Value := 62;
  Result.Pressure.Value := 6.5;
  // the same drawing code exports the gauge to PNG at twice its size
  Result.Pressure.SaveToPNG(ExtractFilePath(ParamStr(0)) + 'pressure.png', 2);
end;

Yardım konusunu okuyun →

Oluşturulan başlıklarla C++ Builder'da aynı panel.

#include <vcl.h>
#include "sgcUICore_Theme.hpp"
#include "sgcGauges_Types.hpp"
#include "sgcGauges_Model.hpp"
#include "sgcGauges_VCL.hpp"

class TTankPanel : public TObject
{
public:
  TsgcVCLRadialGauge *Pressure;
  TsgcVCLLinearGauge *Level;
  TsgcVCLLEDGauge *Alarm;
  void __fastcall PressureThreshold(TObject *Sender,
    TsgcGaugeThreshold *aThreshold, double aValue, bool aRising);
};

void __fastcall TTankPanel::PressureThreshold(TObject *Sender,
  TsgcGaugeThreshold *aThreshold, double aValue, bool aRising)
{
  // runs in the main thread, whatever thread wrote the value
  Alarm->Active = aRising;
}

TTankPanel * __fastcall CreateTankPanel(TForm *Form)
{
  TTankPanel *P = new TTankPanel();
  P->Pressure = new TsgcVCLRadialGauge(Form);
  P->Pressure->Parent = Form;
  P->Pressure->SetBounds(16, 16, 240, 240);
  P->Pressure->Title = "Pressure";
  P->Pressure->Units = "bar";
  P->Pressure->Theme = utDark;
  P->Pressure->Scales->Items[0]->Maximum = 10;
  P->Pressure->Scales->Items[0]->MajorInterval = 2;
  TsgcGaugeRange *R = P->Pressure->Scales->Items[0]->Ranges->Add();
  R->StartValue = 8;
  R->EndValue = 10;
  R->Color = 0xFFE34948;
  TsgcGaugeThreshold *T = P->Pressure->Thresholds->Add();
  T->Value = 8;
  T->Hysteresis = 0.5;
  T->Direction = gtdBoth;
  P->Pressure->Animation->Easing = geCubicOut;
  P->Pressure->OnThreshold = P->PressureThreshold;
  P->Level = new TsgcVCLLinearGauge(Form);
  P->Level->Parent = Form;
  P->Level->SetBounds(272, 16, 320, 110);
  P->Level->Title = "Tank level";
  P->Level->Units = "%";
  P->Level->LinearStyle = glsBullet;
  P->Level->Target = 80;
  P->Alarm = new TsgcVCLLEDGauge(Form);
  P->Alarm->Parent = Form;
  P->Alarm->SetBounds(272, 140, 64, 64);
  P->Alarm->OnColor = 0xFFE34948;
  P->Alarm->Blink = true;
  P->Level->Value = 62;
  P->Pressure->Value = 6.5;
  // the same drawing code exports the gauge to PNG at twice its size
  P->Pressure->SaveToPNG(ExtractFilePath(ParamStr(0)) + "pressure.png", 2);
  return P;
}

Yardım konusunu okuyun →

Delphi ile aynı sınıf adlarına sahip C# içinde WinForms sürümü.

using System;
using System.Drawing;
using System.Windows.Forms;
using esegece.sgcGauges;
using esegece.sgcUICore;

public class TankForm : Form
{
    private readonly TsgcWinFormsRadialGauge pressure;
    private readonly TsgcWinFormsLinearGauge level;
    private readonly TsgcWinFormsLEDGauge alarm;

    public TankForm()
    {
        ClientSize = new Size(610, 270);
        pressure = new TsgcWinFormsRadialGauge { Bounds = new Rectangle(10, 10, 240, 240) };
        pressure.Title = "Pressure";
        pressure.Units = "bar";
        pressure.Theme = TsgcUITheme.utDark;
        pressure.Scales[0].Maximum = 10;
        pressure.Scales[0].MajorInterval = 2;
        TsgcGaugeRange red = pressure.Scales[0].Ranges.Add();
        red.StartValue = 8;
        red.EndValue = 10;
        red.Color = 0xFFE34948;
        TsgcGaugeThreshold limit = pressure.Thresholds.Add();
        limit.Value = 8;
        limit.Hysteresis = 0.5;
        limit.Direction = TsgcGaugeThresholdDirection.gtdBoth;
        pressure.Animation.Easing = TsgcGaugeEasing.geCubicOut;

        level = new TsgcWinFormsLinearGauge { Bounds = new Rectangle(260, 10, 340, 110) };
        level.Title = "Tank level";
        level.Units = "%";
        level.LinearStyle = TsgcGaugeLinearStyle.glsBullet;
        level.Target = 80;

        alarm = new TsgcWinFormsLEDGauge { Bounds = new Rectangle(260, 130, 64, 64) };
        alarm.OnColor = 0xFFE34948;
        alarm.Blink = true;

        // OnThreshold runs in the UI thread, whatever thread wrote the value
        pressure.OnThreshold = (sender, threshold, value, rising) => alarm.Active = rising;
        Controls.AddRange(new Control[] { pressure, level, alarm });
        level.Value = 62;
        pressure.Value = 6.5;
    }
}
dotnet add package esegece.sgcGauges.WinForms

Yardım konusunu okuyun →

sgcGauges Demolarını Çalıştırın

Delphi ve C++ Builder için Gallery, GalleryFMX, Headless, HMIPanel, DashboardGauges ve MQTTLive. .NET demoları Gallery (WinForms), GalleryWpf, GalleryAvalonia, ConsoleRender, HMIPanel ve MQTTLive'dır.

HMIPanel

HMIPanel

Pompalı iki tank, seviyeler, basınçlar ve annunciator alarmları, tipik bir proses ekranının düzeni.

DashboardGauges

sgcDashboard kutucuklarında pano temasını izleyen altı gösterge. Community sürümüyle derlenir.

Headless

Win32, Win64 ve Linux64'te PNG ve SVG yazan bir konsol programı.

GalleryFMX

Windows ve Android için FireMonkey üzerinde galeri.

Yalnızca Kayıtlı MQTTLive

sgcGaugesWS köprüsüyle MQTT üzerinden beslenen altı gösterge. sgcWebSockets ve bir komisyoncu gerekir.

Derlenmiş demolar

Her sgcUI ürününün çalıştırmaya hazır yürütülebilir dosyaları, kurulum gerektirmez.

sgcUI_bin.zip dosyasını indirin →

sgcGauges Hangi Sürümlerde Yer Alıyor

sgcGauges, sgcUI Professional ve Enterprise sürümlerinde yer alır ve ayrıca tek başına da satılır. sgcGauges ayrıca All-Access paketine dahildir.

sgcGauges tek paket

€199 / geliştirici, tam kaynak kodu, 1 yıl güncelleme.

sgcGauges satın alın → Fiyatlandırmayı görün →

sgcUI Professional

Standard artı sgcGauges, sgcCharts ve sgcDashboard, €529 fiyatından başlayarak.

Professional sürümüne bakın →

sgcUI Enterprise

Tüm 14 sgcUI ürünü, €699 fiyatından başlayarak.

Enterprise sürümüne bakın →

Ücretsiz Community sürümü (NuGet'te esegece.sgcGauges.Community) aralıklar, eşikler, animasyon, temalar ve arayüzsüz çıktıyla radyal, doğrusal, 7 segmentli dijital, LED, LED çubuk ve ilerleme halkası göstergelerini içerir. VU metre, saat, pusula veya annunciator, ek ölçekler veya ibreler ve sgcGaugesWS köprüsü yoktur.

ÖzellikCommunity (ücretsiz)Kayıtlı
Radyal, doğrusal, 7 segmentli dijital, LED, LED çubuk ve ilerleme halkası✓✓
Aralıklar, eşikler, animasyon ve temalar✓✓
Arayüzsüz PNG ve SVG çıktısı✓✓
VU metre, saat, pusula ve annunciator−✓
Gösterge başına birden çok ölçek ve ibre−✓
14 segmentli ve nokta matris ekranlar−✓
sgcGaugesWS köprüsü (MQTT, WebSocket, SSE)−✓

Desteklenen Framework'ler ve Platformlar

sgcGauges bileşenleri

Her göstergenin arayüzsüz çizim için framework'ten bağımsız bir modeli, bir VCL denetimi (C++ Builder'dan da kullanılır), bir FireMonkey denetimi ve WinForms, WPF ve Avalonia denetimleri vardır.

GöstergeVCL ve C++ BuilderFireMonkey.NET
RadyalTsgcVCLRadialGaugeTsgcFMXRadialGaugeTsgcWinFormsRadialGauge
Doğrusal (çubuk, termometre, bullet)TsgcVCLLinearGaugeTsgcFMXLinearGaugeTsgcWpfLinearGauge
Dijital (7 segment, 14 segment, nokta matris)TsgcVCLDigitalGaugeTsgcFMXDigitalGaugeTsgcWinFormsDigitalGauge
LEDTsgcVCLLEDGaugeTsgcFMXLEDGaugeTsgcWinFormsLEDGauge
LED çubukTsgcVCLLEDBarGaugeTsgcFMXLEDBarGaugeTsgcWinFormsLEDBarGauge
İlerleme halkasıTsgcVCLProgressRingGaugeTsgcFMXProgressRingGaugeTsgcWinFormsProgressRingGauge
VU metreTsgcVCLVUMeterGaugeTsgcFMXVUMeterGaugeTsgcWinFormsVUMeterGauge
SaatTsgcVCLClockGaugeTsgcFMXClockGaugeTsgcWinFormsClockGauge
PusulaTsgcVCLCompassGaugeTsgcFMXCompassGaugeTsgcWpfCompassGauge
AnnunciatorTsgcVCLAnnunciatorGaugeTsgcFMXAnnunciatorGaugeTsgcAvaloniaAnnunciatorGauge

.NET sütunu gösterge başına bir örnek gösterir, her gösterge TsgcWinForms, TsgcWpf ve TsgcAvalonia olarak vardır. Tüm göstergeler Scales, Pointers, Thresholds ve Ranges koleksiyonlarıyla TsgcCustomGauge temel sınıfını paylaşır. Framework'ten bağımsız modeller (TsgcRadialGauge, TsgcLinearGauge ve diğerleri) pencere olmadan çizilir.

HedefBileşenPlatformlar
Delphi 7'den 13'e, VCLTsgcVCL göstergeleriWin32 ve XE2'den itibaren Win64
Delphi XE6'dan 13'e, FireMonkeyTsgcFMX göstergeleriWindows, macOS, iOS ve Android
C++ Builder 2007'den 13'eTsgcVCL göstergeleriOluşturulan .hpp başlıkları ve statik kütüphaneler
Delphi 10.2'den 13'e, framework'ten bağımsızGösterge modelleri ve arayüzsüz PNG ve SVG çıktısıLinux64 (Linux denetimi yok)
.NET Framework 4.7.2, .NET 8, 9 ve 10WinForms, WPF ve Avalonia göstergeleriWindows masaüstü, Avalonia hedefleri, arayüzsüz çizim

Sık Sorulan Sorular

Evet. Value değerini veriyi alan iş parçacığından ayarlayın. Eşikler sizin için değerlendirilir ve OnThreshold her zaman ana iş parçacığında tetiklenir, bu yüzden bir işleyici ek eşzamanlama olmadan denetimleri güncelleyebilir. sgcGaugesWS köprüsü ibreleri MQTT, WebSocket veya SSE'den beslerken aynısını yapar.

Aralıklar, eşikler, animasyon, temalar ve arayüzsüz çıktıyla radyal, doğrusal, 7 segmentli dijital, LED, LED çubuk ve ilerleme halkası göstergeleri. VU metre, saat, pusula, annunciator, ek ölçekler ve ibreler, 14 segmentli ve nokta matris rakamlar ve köprü Kayıtlıdır. Sürümler konusuna bakın.

Evet, Kayıtlı sürüm ve sgcWebSockets ile. Bir TsgcGaugeFeedSource_MQTT bırakın, MQTT istemcinizi bağlayın ve gösterge başına Topic ve JSON ValuePath ile bir bağlama ekleyin. + ve # içeren konu filtreleri çalışır ve FilterPath ortak bir konudan tek bir cihazı seçer.

FireMonkey denetimleri Delphi XE6'dan itibaren çalışır ve GalleryFMX demosu Windows ve Android üzerinde çalışır. Linux64'te sgcGauges yalnızca arayüzsüzdür: modeller Delphi 10.2'den itibaren derlenir ve PNG ile SVG çizer, ancak Linux denetimleri yoktur.

Evet. Her ölçeğin kendi Minimum, Maximum, MajorInterval ve ara çentikleri ile başlangıç, bitiş, renk, kalınlık ve başlığı olan istediğiniz sayıda renkli aralığı vardır. Radyal gösterge ayrıca yayın başlangıç ve tarama açısını seçmenize izin verir.

Evet. SaveToPNG ve SaveToSVG her denetimde ve her modelde pencere olmadan çalışır, bu yüzden bir hizmet veya bir Linux64 sunucusu güncel okumaları bir PDF'ye veya e-postaya koyabilir. Gallery demosu ayrıca 2x PNG dışa aktarır.

Dijital gösterge boyutunu ölçekten alır: Digits 0 iken ölçek maksimumunun gerektirdiği kadar rakam ayırır ve varsayılan ölçek 0'dan 100'e gider. Scales[0].Maximum değerini beklediğiniz en büyük değere ayarlayın veya Digits değerini açıkça belirleyin.

sgcGauges Yardımı

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

sgcGauges'ı Bugün Deneyin

sgcUI denemesi sgcGauges'ı ve diğer tüm sgcUI ürünlerini içerir.