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 投稿