カスタム属性をつけたフィールドの値を取得するサンプル

カスタム属性をつけたフィールドの値を取得するサンプルを作り、カスタム属性の使い方を試してみます。 まず、次のようなカスタム属性を作成します。 type LogAttribute = class(TCustomAttrib …

Continue reading ‘カスタム属性をつけたフィールドの値を取得するサンプル’ »

インターフェース参照 vs ジェネリックインターフェース制約

インターフェース参照を使用すると参照カウンターが使用されるので、意図しないタイミングでオブジェクトが破棄されてしまうことがあります。 たとえば、TPersonクラスはIPersonインターフェースを継承しています。 ty …

Continue reading ‘インターフェース参照 vs ジェネリックインターフェース制約’ »

Delphi 10.1 BerlinでLive Bindingsを使ってデータベースとRadioButtonを連結するサンプル

Delphi 10.1 BerlinのFireMonkeyアプリケーションでLive Bindingsを使ってデータベースの1つのフィールドと複数のRadioButtonを連結するサンプルプログラムです。 プロジェクトは …

Continue reading ‘Delphi 10.1 BerlinでLive Bindingsを使ってデータベースとRadioButtonを連結するサンプル’ »

TMemIniFileに変更があれば自動的に保存する

Delphi 10.1 BerlinではTMemIniFileにAutoSaveプロパティが追加されました。 AutoSaveプロパティがTrueのときは、インスタンスの破棄時に変更があれば自動的に保存されます。 var …

Continue reading ‘TMemIniFileに変更があれば自動的に保存する’ »

Delphi 10.1 BerlinのAndroidアプリケーションで通話履歴を取得するには

Delphi 10.1 BerlinのAndroidアプリケーションで通話履歴を取得するサンプルコードです。 サンプルコードを実行するには、権限を追加する必要があります。 メニューの「プロジェクト」→「オプション」→「使 …

Continue reading ‘Delphi 10.1 BerlinのAndroidアプリケーションで通話履歴を取得するには’ »

IniFileで日時を読み書きするときはグローバル変数FormatSettingsの値に注意する

環境はDelphi 10.1 Berlin。 TIniFileやTMemIniFileで日時を保存したり、保存した日時を読み込むには、WriteDate/WriteTime /WriteDateTime/ReadDate …

Continue reading ‘IniFileで日時を読み書きするときはグローバル変数FormatSettingsの値に注意する’ »

Delphi 10.1 BerlinでファイルシステムにあわせてUnicode正規化する

ユニコードには結合文字というものが存在します。 たとえば「が」という文字の表現方法には、一文字で「が」と表現する方法と、「か」+「゛」のように濁点を結合する方法があります。 日本語以外でも結合文字は使われています。たとえ …

Continue reading ‘Delphi 10.1 BerlinでファイルシステムにあわせてUnicode正規化する’ »

Delphi 10.1 Berlinでウィンドウのスケールを取得するには

Delphi 10.1 Berlinから、IFMXWindowService.GetWindowScaleは非推奨になりました。 これまでは次のようにして、ウィンドウのスケールを取得していました。 procedure T …

Continue reading ‘Delphi 10.1 Berlinでウィンドウのスケールを取得するには’ »

Delphi 10.1 BerlinでDOSCommandコンポーネントを使う

TurboPackのDOSCommandコンポーネントは、バッチファイルを実行し、出力された文字を受け取ることができるコンポーネントです。 VCLアプリケーションとFireMonkeyアプリケーションの両方で使用できます …

Continue reading ‘Delphi 10.1 BerlinでDOSCommandコンポーネントを使う’ »

MSBuildを使ってDelphi 10.1 Berlinのプロジェクトをビルドする

環境設定 コマンドプロンプトから次のバッチファイルを実行すると、MSBuildを使用するための環境が設定されます。 call “C:\Program Files (x86)\Embarcadero\Studio\18.0 …

Continue reading ‘MSBuildを使ってDelphi 10.1 Berlinのプロジェクトをビルドする’ »