API version 16

NfcTagConnection.Mifare_SectorToBlockメソッド

iOSAndroidWindows

 

説明

Mifare Classicタグについて、指定したセクタに含まれる先頭のブロックのインデックス値を取得します。

詳細はMifare Classicのドキュメントなどを参照してください。

 

呼出形式

var blockStart = nfc.Mifare_SectorToBlock( sectorIndex )

 

戻り値

指定したセクタに含まれる先頭ブロックのインデックス値を返します

 

引数

Integer sectorIndex

0から開始するセクタのインデックスを指定します。

負の値や40以上を指定すると例外FUNC-4が発生します。

 

例外

FUNC-4

引数が不正です。

 

RTM-85

Mifare Classicコマンドの発行に失敗しました。

 

使用例

var nfc = null;
try {
	nfc = Runtime.DiscoverNfcTag("Mifare Classicのカードをかざしてください");
} catch(e) {
	MessageBox("NFCタグ探索失敗");
	return;
}
if(!nfc.IsMifareClassicTag) {
	nfc.Close(false, "Mifare Classic以外のタグが読み取られました");
	return;
}
try {
	nfc.SetMessage("読取中...");
	var sectorCount = nfc.Mifare_SectorCount();
	for (var sector = 0; sector < sectorCount; sector++) {
		nfc.Mifare_AuthenticateSectorWithKeyA(sector, NfcTagConnection.MIFARE_KEY_FACTORY);
		/* 各ブロックの情報を読み取る*/
		var blockCount = nfc.Mifare_BlockCountInSector(sector);
		var blockStart = nfc.Mifare_SectorToBlock(sector);
		for (var block = blockStart; block < blockStart + blockCount; block++) {
			var blockData = nfc.Mifare_ReadBlock(block);
			var blockDataStr = "Block " + str(block) + ":";
			var len = blockData.length;
			for (var i = 0; i < len; i++) {
				var b = blockData.ByteAt(i);
				blockDataStr += b.ToString(16) + str(" ");
			}
			print(blockDataStr);
		}
	}
	/* NFCとの通信を終了 */
	nfc.Close(true, "読取終了");
} catch(e) {
	nfc.Close(false, "読取エラー");
}

 

関連項目

Mifare_SectorCountMifare_BlockCountInSectorメソッド

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る