API利用方法・サンプルコード・関数リファレンス
Orange Mobile FeliCa Put URL Easy API(DLL)を利用したソフトウェア開発方法について
※VC++、VC#、VB・VB.NET・VBAによる開発が可能
必須ランタイム:
・Microsoft.NetFramework2.0以降
目次
1. C++での開発例
(C++/CLI .NETアプリケーションでの開発例ですが、C#、VC++MFCでも利用可能です。)
3. C#での開発例
4. 関数リファレンス
1. C++での開発例
(C++/CLI .NETアプリケーションでの開発例ですが、VC++MFCでも利用可能です。)
【対象バージョン】
OrangeMobileFeliCaPutURLEasyAPI: v1.012
Microsoft Visual C++:2005/2008(Express Editionでも可)
※Windows 64bit非対応
【手順】
1. プロジェクトを新規作成する
[ファイル]→[新規作成]→[プロジェクト]の[Visual C++]→[Windowsフォームアプリケーション]でプロジェクト名(任意)を入力する
2. ファイルを配置する
以下のファイルをプロジェクトのフォルダにコピーする
OrangeMobileFeliCaPutURLEasyAPI.h
OrangeMobileFeliCaPutURLEasyAPI.lib
以下のファイルをプロジェクトの実行ファイル出力フォルダにコピーする(debugフォルダとreleaseフォルダ)
OrangeMobileFeliCaPutURLEasyAPI.dll
3. DLLをリンクする
[プロジェクト]→[プロパティ]→[リンカ]にOrangeMobileFeliCaPutURLEasyAPI.libを追加する
4. hファイルをプロジェクトに追加する
[プロジェクト]→[既存項目の追加]からOrangeMobileFeliCaPutURLEasyAPI.hをプロジェクトに追加する
stdafx.hの以下の場所にincludeを追加する。
// TODO: プログラムに必要な追加ヘッダーをここで参照してください。#include "OrangeMobileFeliCaPutURLEasyAPI.h"
5. カードID取得関数を呼び出す
OrangeMobileFeliCaPutURLEasyAPI.hに定義されているPutURLを呼び出す
【サンプルコード】
3.C#での開発例を参考にしてください。
2. VBでの開発例
【対象バージョン】
OrangeMobileFeliCaPutURLEasyAPI: v1.012
Microsoft Visual Basic.NET:2005/2008(Express Editionでも可)
※Windows 64bit非対応
【手順】
1. プロジェクトを新規作成する
[ファイル]→[新規作成]→[プロジェクト]の[Visual Basic]→[Windowsフォームアプリケーション]でプロジェクト名(任意)を入力する
2. ファイルを配置する
以下のファイルをプロジェクトのフォルダにコピーする
OrangeMobileFeliCaPutURLEasyAPI.dll
3. DLLをリンクする
呼び出すクラス内で以下の宣言を記述する
例.
Declare Function PutURL Lib "OrangeMobileFeliCaPutURLEasyAPI.dll" (ByRef id As Byte, ByRef length As Integer) As Integer
※ほかにも呼び出し方法はあります
4. カードID取得関数を呼び出す
PutURLを呼び出す
【サンプルコード】
(更新中)
3. C#での開発例
【対象バージョン】
OrangeMobileFeliCaPutURLEasyAPI: v1.012
Microsoft Visual C#:2005/2008(Express Editionでも可)
※Windows 64bit非対応
【手順】
1. プロジェクトを新規作成する
[ファイル]→[新規作成]→[プロジェクト]の[Visual C#]→[Windowsフォームアプリケーション]でプロジェクト名(任意)を入力する
2. ファイルを配置する
以下のファイルをプロジェクトのフォルダにコピーする
OrangeMobileFeliCaPutURLEasyAPI.dll
3. DLLをリンクする
呼び出すクラス内で以下の宣言を記述する
例.
[DllImport("OrangeMobileFeliCaPutURLEasyAPI.dll", EntryPoint = "PutURL", CharSet = CharSet.Ansi)]
private extern static int PutURL(ref Byte id, int length);
※ほかにも呼び出し方法はあります
4. カードID取得関数を呼び出す
PutURLを呼び出す
【サンプルコード】
ボタンをクリックした時にICの読取り結果をラベルに表示するサンプルコードです。
フォームにツールボックスからLabelとButtonを貼り付けてください。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices; // DllImportに必要
namespace MobileFeliCaPutURLApplication
{
public partial class Form1 : Form
{
[DllImport("OrangeMobileFeliCaPutURLEasyAPI.dll", EntryPoint = "PutURL", CharSet = CharSet.Ansi)]
private extern static int PutURL(ref Byte id, int length);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String strResult = ""; // 結果文字列
String strURL = comboBox1.Text; // URL文字列(string)
byte[] byteURL = Encoding.ASCII.GetBytes(strURL); // URL文字列(byte)
try
{
if (strURL.Length <= 0)
{
// 読取り失敗時メッセージ
strResult = "URLが入力されていません。";
}
else
{
// URL起動します
if (PutURL(ref byteURL[0], byteURL.Length) == 0)
{
// 読取り成功時メッセージ
strResult = strURL + "を起動しました。";
// 履歴にない場合は追加
if (comboBox1.Items.IndexOf(strURL) == -1)
{
comboBox1.Items.Add(strURL);
}
}
else
{
// 読取り失敗時メッセージ
strResult = "ブラウザ起動に失敗しました。";
}
}
// 結果表示します
if (listBox1.Items.Count > 100)
{
listBox1.Items.Clear();
}
listBox1.Items.Add(strResult);
// 最新行へ移動
listBox1.SelectedIndex = listBox1.Items.Count - 1;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
4. 関数リファレンス
PutURL
・関数宣言
LRESULT APIENTRY PutURL(const BYTE* url, const int urlLength);
・引数
url:URL文字列(最大120バイト)
urlLength:URL文字列長
・返り値
OT_PUTURL_SUCCESS = 0; // 読取成功
OT_PUTURL_FAILURE = 1; // 読取失敗
OT_PUTURL_NO_SERVICE = 2; // カードサービスエラー
OT_PUTURL_NO_READERS = 3; // カードリーダー未接続
OT_PUTURL_NO_CARD = 4; // カード未接続
OT_PUTURL_URLLENGTH_ERR = 5; // URL長オーバー
OT_PUTURL_COMMAND_ERR = 6; // 送信コマンドエラー
OT_PUTURL_RESPONSE_ERR = 7; // コマンドレスポンスエラー
※OT_PUTURL_FAILUREは上記以外のエラー発生時に返されます。
お問い合わせ
APIを利用したい方、APIの機能追加やカスタム開発・ソースコード提供、システムの受託開発などをご希望の方は、株式会社オレンジタグスまでお問い合わせ下さい。
※本サイト記載の社名・製品名・ロゴは各社の商標または登録商標です。
※本サイト記載の文書またはデータ等を無断で複写、複製、転記、転載、ノウハウの使用等を行うことは禁じられております。
Copyright © 2009 Orangetags Inc. All Rights Reserved.