Delphiにおける正規表現の実装と応用

利用するユニット: uses System.RegularExpressions; 1. TRegEx.Matchメソッドの利用 Match()メソッドは、条件に一致する最初の要素のみを取得し、他の一致要素の存在に関わらず動作します。 このメソッドはMatchオブジェクトを返却し、一致に関する詳細情報を保持しています。 Match()メソッドの基本的な使用法: var foundMatch: TMatch; begin foundMatch := T ...

8月16日 03:58 投稿

Delphi 10.3におけるAndroidアプリの動的権限管理実装

Delphi 10.3 Rioがリリースされて約2ヶ月が経過し、Google Playの要件に対応するため、Android 8(API Level 26)への完全対応が実現されました。その中でも最も重要な機能はアプリケーションの動的権限要求です。以下では、独自アプリケーションで権限を動的に要求する方法について説明します。 以下のコードは、10.3でラップされたAndroid権限リストであり、これらのす ...

7月31日 01:09 投稿

kbmMWのスマートバインディング

kbmMWの最新リリースでは、スマートバインディングが実装されました。スマートバインディングの目標は以下の通りです: 使いやすさ コードの重複を最小限に抑えること 高性能 CPUやメモリの消費を低減すること 無限ループを引き起こさないこと 様々なデータやコントロールとのバインディング 柔軟性と拡張性 リアルタイムに近い動作 リファクタリングの容易さ kbmMWの他の ...

7月26日 20:47 投稿

DBGridEhのインジケータにチェックボックスを実装し全選択を制御する方法

DBGridEhでインジケータ領域に動的なチェックボックスを表示し、全選択機能を適切に動作させるための設定と実装方法について解説します。 基本的な設定 チェックボックスを表示して操作可能にするには、以下のプロパティを設定します。 IndicatorOptions に以下を含めます: gioShowRowIndicatorEh:行インジケータ(矢印)を表示 gioShowRecNoEh:レコード番号を表示 g ...

7月19日 17:37 投稿

TCCFujitsuPrinterコンポーネントを用いたBluetoothドットプリンタでの帳票印刷

業務システムにおいて、スマートフォンからBluetooth接続のドットプリンタを使って帳票を印刷する要件が発生しました。専門家がメーカー提供のSDKをラップし、Delphiでこの機能を実現するコンポーネントを作成しました。 本コンポーネントを使用した印刷処理の流れを解説します。 procedure startScanDevices; procedure stopScanDevices; function getScanedDevices: T ...

7月17日 01:44 投稿

Android 9でのHTTPプロトコル使用問題の解決方法

Android 9にアップグレードしたアプリケーションでサーバー接続ができなくなる問題に直面したことはありますか?ネットワーク自体は正常に動作しているにもかかわらず、アプリケーションがサーバーに接続できない場合、Android 9のセキュリティポリシーが原因である可能性があります。 ここでは、Delphi開発環境でこの問題を解決する方法を説明します。 ステップ1:ネット ...

7月15日 18:01 投稿

Delphi kbmMW 環境での SmartBinding v2 と効率的なデータ連携

導入 以前の記事で、Delphi の新しいバインディングフレームワークである SmartBinding の基本的な概念について解説しました。それにはバインディングオブジェクト、リスト、汎用的なデータおよび視覚的コントロールを含み、ナビゲーターの使用法についてもコード例を交えて説明しました。 本稿では、次期 kbmMW リリースに搭載予定の新機能「SmartBinding v2」の詳細を紹 ...

7月14日 16:07 投稿

DelphiXE10.2.3で多言語対応のCAPTCHA画像生成コンポーネントを実装する

unit uCaptchaGenerator; interface uses System.Classes, System.SysUtils, FMX.Types, FMX.Objects, FMX.Graphics, System.UIConsts, System.UITypes, System.Types; type TCaptchaGenerator = class private const CharSet: array[0..34] of Char = ( '1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I', ...

7月11日 23:35 投稿

cxGridにおけるマスターデータと詳細データの連携設定と操作方法

以下は、cxGridコンポーネントでマスター/詳細構造を実装した際の表示イメージです。左側の展開アイコン(+/-)により、各マスター行に対応する詳細データの表示・非表示を切り替えられます。 設計構造としては、2つのレベル(Level)と2つのDBテーブルを用意します。例えば、「TV廃棄リスト」をマスターテーブル、「TV在庫照会」を詳細テーブルとして関連付けます。この ...

7月2日 20:30 投稿

Delphi フォームのサイズ変更・最小化・最大・閉じるボタンの制御方法

Delphi でフォームのタイトルバーボタン(最大化、最小化、還元、閉じる)の表示・動作を制御する場合、主に以下のプロパティやAPIを活用します。 1. 初期状態の指定:WindowState プロパティ フォーム起動時の表示状態は WindowState プロパティで設定できます。たとえば、開始時に最大化するには: procedure TForm1.FormCreate(Sender: TObject); begin WindowSta ...

7月1日 16:30 投稿