Delphiの部分範囲型を使う

Embarcadero Discussion Forumsすばらしい回答がありましたので、メモしておきます。

Delphiでは配列のインデックスは0以外から始めることができます。
うまく使いたいものです。

範囲には意味のわかる名前をつける。

たとえば、月は範囲が1~12までの配列に保持するとします。
このとき範囲に名前をつけます。

type
  TMonths = 1..12

配列の範囲は部分範囲型で定義する

変数を定義するときは、この範囲名を使用します。

var
  months: array [TMonths] of string;

範囲を取得するときはLow関数とHigh関数を使用する

範囲を直接入力せず、Low関数とHigh関数を使用します。
そうすることで、範囲が変更されても、プログラムを変更しなくてすみます。

for I := Low(months) to High(months) do
begin
  DoSomething(months[I]);
end;

Delphi XE7でAndroidのBluetoothを有効にするように促す

Delphi XE7でAndroidのBluetoothを有効にするように促すコード。

uses
  Androidapi.JNI.Bluetooth,
  Androidapi.Helpers,
  Androidapi.JNI.GraphicsContentViewText;

procedure TForm2.Button4Click(Sender: TObject);
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJBluetoothAdapter.JavaClass.ACTION_REQUEST_ENABLE);
  SharedActivity.startActivity(Intent);
end;

bt03

Delphi XE7でAndroidのBluetoothを有効にする

Delphi XE7でAndroidのBluetoothが有効にするコード。

uses
  Androidapi.JNI.Bluetooth;

procedure TForm2.Button2Click(Sender: TObject);
var
  Adapter: JBluetoothAdapter;
begin
  Adapter := TJBluetoothAdapter.JavaClass.getDefaultAdapter;
  if Adapter.enable then
    ShowMessage('Bluetoothを有効にしました')
  else
    ShowMessage('有効にできませんでした');
end;

bt02

Delphi XE7でAndroidのBluetoothが有効か無効かを調べる

Delphi XE7でAndroidのBluetoothが有効か無効かを調べるコード。

uses
  Androidapi.JNI.Bluetooth;

procedure TForm2.Button1Click(Sender: TObject);
var
  Adapter: JBluetoothAdapter;
begin
  Adapter := TJBluetoothAdapter.JavaClass.getDefaultAdapter;
  if Adapter.isEnabled then
    ShowMessage('Bluetoothは有効です。')
  else
    ShowMessage('Bluetoothは無効です。');
end;

bt01