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のプロジェクトをビルドする’ »

テストコードでIFMXPhotoLibraryを使用するためのモックを作る

XE8からフォトアルバム(カメラロール)に画像を保存する機能が追加されました。 IFMXPhotoLibraryのAddImageToSavedPhotosAlbumメソッドを使うと画像をフォトアルバム(カメラロール)に …

Continue reading ‘テストコードでIFMXPhotoLibraryを使用するためのモックを作る’ »

Delphi 10.1 Berlinで、文字列からハッシュ値(MD5/SHA-1/Jenkins)を生成する

Delphi XE8以降ではSystem.Hashユニットに、ハッシュ値を生成する機能が用意されています。 System.Hash.THashMD5 MD5ハッシュを実装するレコードです。 System.Hash.THa …

Continue reading ‘Delphi 10.1 Berlinで、文字列からハッシュ値(MD5/SHA-1/Jenkins)を生成する’ »

Delphi 10.1 BerlinのFireMonkeyのグリッドで右寄せや中央揃えで表示する列クラスを作成する

セルごとに表示を細かく制御したい場合は、TGridのOnDrawColumnCellイベントを使用します。 列ごとに右寄せや中央揃えが決まっているのであれば、専用の列クラスを作成すると便利です。 列クラスはFMX.Gri …

Continue reading ‘Delphi 10.1 BerlinのFireMonkeyのグリッドで右寄せや中央揃えで表示する列クラスを作成する’ »

Delphi 10.1 BerlinでダイアログAPIを使ってみた

Delphi/C++Builderの10.1 Belrinの新機能のひとつに「ダイアログAPIの簡素化」があります。 この新しいダイアログAPIを各プラットフォームで使ってみました。 使用した関数はInputQueryで …

Continue reading ‘Delphi 10.1 BerlinでダイアログAPIを使ってみた’ »

[Error エラー] Invalid PLATFORM variable “MCD”.

Delphiでコンパイルしたときにエラーが発生しました。 IDEからでなく、コマンドラインからMSBuildを実行しても、同じエラーが発生するようです。 [Error エラー] Invalid PLATFORM vari …

Continue reading ‘[Error エラー] Invalid PLATFORM variable “MCD”.’ »