Diagram

TsgcHTMLComponent_Diagram — render een stroomdiagram met knooppunten en pijlen als inline SVG, plaats knooppunten op vaste coördinaten en verbind ze met gelabelde pijlen, in Delphi, C++ Builder en .NET.

TsgcHTMLComponent_Diagram

Een stroomschemacomponent dat een op zichzelf staande inline <svg> uitstuurt. Voeg knooppunten toe op X/Y-coördinaten, verbind ze met pijlen en lees dan de HTML-eigenschap.

Componentklasse

TsgcHTMLComponent_Diagram

Rendert

Inline <svg> knooppunten en pijlen

Talen

Delphi, C++ Builder, .NET

Voeg knooppunten toe, verbind ze, render het

Roep AddNode aan voor elk vak (met zijn positie, kleur en vorm), koppel ze met Connect en lees dan HTML.

uses
  sgcHTML_Enums, sgcHTML_Component_Diagram;

var
  oDiagram: TsgcHTMLComponent_Diagram;
begin
  oDiagram := TsgcHTMLComponent_Diagram.Create(nil);
  try
    oDiagram.DiagramWidth := 600;
    oDiagram.DiagramHeight := 300;

    oDiagram.AddNode('start', 'Start', 240, 20, hcSuccess, nsCircle);
    oDiagram.AddNode('work', 'Process', 240, 120, hcPrimary, nsRoundedRect);
    oDiagram.AddNode('done', 'Finish', 240, 220, hcDanger, nsDiamond);

    oDiagram.Connect('start', 'work', 'begin');
    oDiagram.Connect('work', 'done', 'commit');

    WebModule.Response := oDiagram.HTML;   // inline <svg> flow diagram
  finally
    oDiagram.Free;
  end;
end;
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_Diagram.hpp

TsgcHTMLComponent_Diagram *oDiagram = new TsgcHTMLComponent_Diagram(NULL);
try
{
  oDiagram->DiagramWidth = 600;
  oDiagram->DiagramHeight = 300;

  oDiagram->AddNode("start", "Start", 240, 20, hcSuccess, nsCircle);
  oDiagram->AddNode("work", "Process", 240, 120, hcPrimary, nsRoundedRect);
  oDiagram->AddNode("done", "Finish", 240, 220, hcDanger, nsDiamond);

  oDiagram->Connect("start", "work", "begin");
  oDiagram->Connect("work", "done", "commit");

  String html = oDiagram->HTML;   // inline <svg> flow diagram
}
__finally
{
  delete oDiagram;
}
using esegece.sgcWebSockets;

var diagram = new TsgcHTMLComponent_Diagram();
diagram.DiagramWidth = 600;
diagram.DiagramHeight = 300;

diagram.AddNode("start", "Start", 240, 20, TsgcHTMLColor.hcSuccess, TsgcHTMLDiagramNodeShape.nsCircle);
diagram.AddNode("work", "Process", 240, 120, TsgcHTMLColor.hcPrimary, TsgcHTMLDiagramNodeShape.nsRoundedRect);
diagram.AddNode("done", "Finish", 240, 220, TsgcHTMLColor.hcDanger, TsgcHTMLDiagramNodeShape.nsDiamond);

diagram.Connect("start", "work", "begin");
diagram.Connect("work", "done", "commit");

string html = diagram.HTML;   // inline <svg> flow diagram

Belangrijkste eigenschappen en methoden

De members die je het vaakst gebruikt.

Knooppunten

Nodes (TsgcHTMLDiagramNodes) bevat de vakken; elke TsgcHTMLDiagramNode biedt NodeID, Text, X, Y, Width, Height, Color en Shape.

Een knooppunt toevoegen

AddNode(aID, aText, aX, aY, aColor, aShape) voegt een knooppunt toe en retourneert het; aColor is een TsgcHTMLColor, aShape een TsgcHTMLDiagramNodeShape.

Vormen

TsgcHTMLDiagramNodeShape biedt nsRectangle, nsRoundedRect, nsCircle en nsDiamond.

Verbindingen

Connections (TsgcHTMLDiagramConnections) bevat de pijlen; elke TsgcHTMLDiagramConnection heeft FromNode, ToNode, Label_ en Color.

Knooppunten verbinden

Connect(aFromID, aToID, aLabel_) tekent een gelabelde pijl tussen twee knooppunten waarnaar via hun NodeID wordt verwezen.

Canvas en uitvoer

DiagramWidth, DiagramHeight en DiagramID bepalen de afmetingen en identiteit van de SVG; HTML retourneert de inline <svg> met pijlen achter de knooppunten getekend.

Blijf ontdekken

Alle sgcHTML-componentenBlader door de volledige functiematrix van 60+ componenten.
Download gratis proefversieDe proefversie van 30 dagen bevat de 60.HTML-demoprojecten.
PrijzenSingle-, Team- en Site-licenties met volledige broncode.

Klaar om te beginnen?

Download de gratis proefversie en voeg stroomdiagrammen toe aan je Delphi-, C++ Builder- of .NET-webapp.