11 個の新コンポーネント。
Delphi と .NET のための 1 つの Web ツールキット。
sgcHTML に、スプレッドシート、フォームビルダー、レポートデザイナーとビューア、ファイルマネージャー、画像クロッパー、コードエディタ、クエリビルダー、ガイドツアーが加わりました。スケジューラ、グリッド、フォーム、アクセシビリティも大きく進化しています。すべてサーバー側でレンダリングされ、CDN なしで動作します。
- Delphi
- C++ Builder
- Lazarus
- .NET
- ASP.NET Core

Delphi で作る Web アプリケーションには、いつも同じ要望が寄せられます。計算ができるシート、新しいビルドなしで業務担当者が変更できるフォーム、印刷できるレポート、文書の保管場所、トリミングできる画像です。これまでは、そのどれもが JavaScript ライブラリと CDN、そしていくらかの連携コードを意味していました。
今回の sgcHTML の新機能では、これらがすべてコンポーネントになります。フォームに配置するかコードで作成し、プロパティを設定して、サーバーイベントを Pascal または C# で処理すれば、ページは Bootstrap と htmx を使ってサーバー側でレンダリングされます。.NET にも同じコンポーネントがあり、ASP.NET Core の Tag Helper を備え、同じマークアップを出力します。
1 分で全機能を紹介
新しい sgcHTML コンポーネントがブラウザ上でライブ動作する様子です。YouTube でも公開中。

スプレッドシート
ページ内で使える数式対応のグリッドです。ユーザーは 54 個の関数(SUM や VLOOKUP から SUMIF、日付関数、PMT まで)で値や数式を入力でき、サーバーが変更のたびに計算して、変わったセルだけを返します。
- Excel と同じように使えるキーボードとクリップボード操作(コピー&ペースト対応)
- 行と列の挿入や削除に、すべての参照が追従
- 数式とスタイルを保持した XLSX のインポートとエクスポート
- ライブ同期:開いているすべてのブラウザに変更が反映
Spreadsheet1.Sheet.SetCellByName('A14', 'Total');
Spreadsheet1.Sheet.SetCellByName('B14', '=SUM(B2:B13)');
Spreadsheet1.LiveSync := True; // every browser sees the change
Spreadsheet1.SaveToXLSX(oStream); // formulas, styles and widths included

フォームビルダー
ユーザー自身にフォームを設計してもらえます。フィールドを 12 カラムのキャンバスにドラッグし、ラベル、選択肢、検証ルール、入力マスクを設定し、別の回答に一致したときだけ表示されるフィールドを追加して、保存する前に実際のフォームをプレビューできます。
デザインは通常の Form の JSON 定義そのものなので、公開されたフォームでも検証、マスク、ライブ検証がそのまま使え、GetJSONSchema で収集するデータを記述できます。
FormBuilder1.Form := Form1; // the form your users design
procedure TPages.FormBuilder1Save(Sender: TObject; const aJSON: string;
var aAccept: Boolean; var aErrorMessage: string);
begin
SaveDesign(aJSON); // store the definition where you like
end;
// on the public page
Form1.LoadFromJSON(LoadDesign);

レポートエンジン、ビューア、デザイナー
外部のレポートツールなしで、PDF に直接出力できるバンド形式のレポートです。グループと小計、グラフ、バーコードと QR コード、パラメータとサブレポートに対応し、中国語、日本語、韓国語、アラビア語、ヘブライ語向けの Unicode フォントも使えます。
ビューアではプレビュー、印刷、Excel へのエクスポートができます。デザイナーでは、開発者もエンドユーザーもブラウザ上でレポートを編集でき、Delphi IDE(10.4 以降)ではダブルクリックで同じデザイナーが開きます。
Report1.LoadFromGrid(Grid1, 'Customers'); // print a grid in one call
Report1.SaveToStream(oStream); // the PDF

ファイルマネージャー
1 つのコンポーネントで文書ポータルが完成します。フォルダツリー、詳細表示とサムネイル表示、画像・PDF・テキストのプレビュー、進行状況付きのドラッグ&ドロップアップロード、名前の変更、移動、コピー、検索まで、マウスでもキーボードでも操作できます。
デフォルトで安全です。ユーザーごとの権限設定、サーバーでのすべてのパス検証、有効期限付きの署名付きリンクによるファイル配信を備えています。

画像クロッパー
ライブラリなしでプロフィール写真やスキャン文書を扱えます。フォトモードではトリミング、ズーム、回転、傾き補正ができ、アバター用の円形も選べます。ドキュメントモードでは 4 つの角をドラッグして、レシートやページの遠近を補正できます。
画像はファイル、クリップボード、カメラから取り込め、サーバーは受け付ける前にすべての画像を検査します。

コードエディタ
CodeMirror 6 をライブラリに組み込んでいます。SQL ではテーブル名やカラム名を補完し、JSON はブラウザとサーバーの両方で検証します。JavaScript、HTML、CSS、XML、Markdown、Python、Pascal にも対応し、折りたたみ、検索、ページに連動するテーマも備えています。

クエリビルダー
グリッドの列に対するフィルタルールを、AND と OR のグループで組み立てます。ユーザーは自然な言葉で質問することもでき、目に見えて編集できるルールとして結果が返ります。コードが受け取るのはパラメータ化された WHERE 句で、ユーザーや AI が書いたテキストが渡されることはありません。
vWhere := QueryBuilder1.GetSQLWhere(oParams); // ':qb1' style parameters only

ツールチップとプロダクトツアー
ツールチップは任意の要素に付けられます。ガイドツアーでは、初回体験の各ステップにスポットライトを当て、戻る、次へ、スキップのボタンとキーボード操作に対応し、ユーザーが完了またはスキップしたときにサーバーイベントが発生します。
そのほかの機能も強化されました
オンラインで試す
すべての機能にライブデモを用意しています。ダウンロード不要で、今すぐ開けます。
Delphi と .NET、同じ結果
すべてのコンポーネントは Delphi、C++ Builder、Lazarus で利用でき、.NET では <sgc-spreadsheet>、<sgc-form-builder>、<sgc-report-viewer> などの ASP.NET Core Tag Helper として使えます。どちらも同じマークアップを出力し、コンポーネントは右から左へ書く言語を含む 17 言語に対応します。スクリプトとスタイルシートはすべてライブラリに組み込まれているため、ページが CDN に依存することはありません。
sgcHTML で次の Web アプリを作ろう
Delphi と .NET に対応した、サーバー側でレンダリングするコンポーネントツールキット。ユーザーが期待するコンポーネントがそろっています。
