C3Lab研究室

Back to Title Page(OpenLab)タイトルページへ戻る

最終更新日: 1999年 03月 03日 水曜日

VisualCによるASP用DLLの作成サンプル


ファイルのダウンロード

 このプログラムでは、一つのASPファイルとDLL、及びDLL作成のソース&VC用 ファイルが含まれています。使用するには、VisualC++6.0、ASPサーバー、 IIS4 もしくは PWSが必要です。また、ASPサーバーに含まれるサンプルページも インストールしておいてください。

 テストする段階で必要なファイルは

default.asp IISもしくはPWSのWebサービスディレクトリに保存する
dcount.dll RegSvr32.EXEプログラムを使用してレジストリに登録する


 プログラム内容は、countメソッドが文字列をサーバーの動作しているコンピュータ の現在時刻と2000年1月1日AM00:00:00を引き算し残り時間&日数を演算 し表示します。
 メソッドは生文字を返しますので、ASPコードで行っているように文字の色を変更する とかはASPページ側で行います。

・ASPページ部分

<html>

<head>
<title>新しいページ 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">

<meta name="Microsoft Theme" content="artsy 111"></head>

<body background="../_themes/artsy/arttilea.jpg" bgcolor="#333333" text="#FFFF99" link="#FFCC00" vlink="#999966" alink="#66FF00"><!--mstheme--><font face="MS P明朝">

<p><font color="#76D69C">ASP動作チェック<br>
<%
set ctest = Server.CreateObject("Dcount.DayCount")
Response.Write(ctest.count())
%><br>
</font></p>
<!--mstheme--></font></body>
</html>

・ASPから呼び出されるメソッド部分

VARIANT DayCount::count()
{
    VARIANT vaResult;
    VariantInit(&vaResult);
    // TODO: ここにディスパッチ ハンドラ コードを追加してください。
    CString s;
    char buf[128];
    COleDateTime sdate,date = COleDateTime::GetCurrentTime();
    sdate.SetDateTime(2000,1,1,0,0,0);
    if(sdate<date){
        wsprintf(buf,"");
        s=buf;
    }else{
        sdate = sdate - date;
        int n = (int)sdate.m_dt;
        wsprintf(buf,"2000年まであと %d日%d時間%d分です",
            n,sdate.GetHour(),sdate.GetMinute());
        s = buf;
    }
    return (VARIANT)(COleVariant(s));
}

Copyright (C) Kitaro 1999