CRS

Q6 13
ライセンスの有効期限を取得したい 
[内容]
ライセンスの有効期限を取得して、期限が迫ったら警告する等の処理を行いたい。


A6 13
[解決方法]
ライセンスファイルはxml形式で作成されていますので、XMLDocumentクラスを使用して、項目の検索や取得が可能です。

以下のサンプルコードでは、ライセンスから有効期限日が記載されている「expire」タグを検索して、有効期限の日付を取得しています。
また、取得した日付を現在の日付と比較して、ライセンスが有効かどうか、有効であれば期限までの日付を計算しています。

[サンプルコード]
/* ライセンスファイルの取得 */
var session = HttpSession.FindSession("http://server");
var res = session.Get("/lic/license.xml");

/* xmlの読み込み */
var domimpl = new XmlDOMImplementation;
var xmldoc = domimpl.Load(file);

/* 「expire」タグをすべて検索 */
var list = xmldoc.GetElementsByTagName("expire");

/*  「expire」タグがない場合 */
if(list.length == 0){
    //.MessageBox("このライセンスには有効期限がありません。");
    return;
}

/* 「expire」タグの値を取得 */
var expire = list[0].text;

/* 有効期限を日付に直す */
var expire_date = date(expire);
/* 現在時間を取得 */
var d = sysdate();
/* 本日から有効期限までの日数 */
var days = datedif(d, expire_date, "d");

/* メッセージの表示 */
if(d < expire){
    //.MessageBox("このライセンスは有効です。\r\n"
    +"有効期限 : "+ str(expire_date)
    + " 期限まであと" + str(days) + "日");
} else {
    //.MessageBox("このライセンスは有効期限が過ぎています。\r\n"
    +"有効期限 : "+ str(expire_date));
}

実際の挙動については、CRSファイル形式のサンプル
   「ライセンスの有効期限を取得したい(CRS_013.zip)」
をご確認ください。

 
管理番号:CRS_013
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ