5.簡単なプログラムを作ってみよう
VBとASPの差は(個人的な感想ですので参考程度の扱いでお願いします 1998.10.4改変) NEW!
項目 | VB IIS アプリケーション | ASP(Active Server Page) |
必要なもの | Visual Basic 6.0 (Proffesional版以上) | IISのみが必要(無料),ワードパッド等のエディタが必要 |
あったら良い物 | MS Front Page 98 or MS Inter DEV | MS Inter DEV6.0, (or MS Front Page 98) |
WWWサーバー | 現在のところIISのみ | 現在のところIISのみ |
OS | Windows 95, 98, NT 4.0 | Windows 95, 98, NT 4.0(できたらNT 4.0) |
種類 | コンパイラ ソースコードを見ることができない。(ソフトハウスでは有効?) VCに比べると資源の消費大 |
(VB, JAVA, Perl)スクリプト ソースコードを見ることができる。(プロバイダでの使用に適する?) 自分自身を書き直しながらの実行も可能。 |
DB | ODBC, DAO, ADO(使用するならEnterprise版を推奨) | ADOのみだが特に実用上問題ない。 |
IISとの関係 | インプロセス(資源の消費やや多いが高速に実行可能) | インプロセス(資源の消費少なく高速に実行可能) |
デバッグ | 容易 | Inter DEVを用いれば容易(Windows NT以外ではデバック不可能) |
安定性 | 比較的安定している | 最悪の場合IISごと落ちる |
言語仕様 | 比較的しっかりしている。VBSとの関数等の違いも6.0で改善された。 | バグ(仕様の違い?)等が多く,バリアント型変数は扱いが難しい。VBとの関数等の互換性が今後の課題? |
開発のしやすさ | VB 統合環境が使えるので開発しやすい | InterDEV6.0を用いれば開発しやすい |
ADO(Active Data Object)を使ったプログラムではDB負荷が大きいためコンパイラ・スクリプト間の動作速度はそれほど変わらない。
しかしADOを用いることによりプログラムが容易になります。
VB IISアプリケーションではHTML文を出力するにはresponse.writeを用いるしかありません。
ということで本ホームページでは両方で共通に使えるVB4CGIサプルーチンを介したプログラム開発を解説していきます。
(同じコードを用いてVB4CGIJでも動作すると思いますが動作速度や資源の消費の点でCGIはお勧めできません)
(最も最適なプログラムを組むのならISAPIが一番であるが開発効率が低いのでこのページでは扱いません。)
簡単なプログラム作成の例
VB4CGIでの作成手順(IISアプリケーションではありません)
1.新規作成−標準.EXEを選択
2.Form1を解放する。(Formは使わない)
3.vb4cgi.basの読み込み
4.標準モジュールの追加
5.参照設定で必要なオブジェクトの参照を行う
Microsoft OLE DB ActiveX Data Objects 1.5 Libraly <-DB System
Microsoft Scripting Runtime <-File System
6.標準モジュールに次のコードを記入する
Option Explicit
Public Sub cgi_main()
'ここにコードを記入します。
End Sub
7.名前をつけてソースを保存し.EXEファイルを実行可能な仮想ディレクトリに作成する。
必要に応じてデバックフラグをオンにしてデバッグする。(イミディエットウインドゥに出力された文字列をブラウザ等で確かめる)
ASPでの作成手順(VB4CGI.INCを使用)
ワードパッド等のエディタで次のような文書を作成してc:\inetpub\aspsamp\first.asp等の実行可能な仮想ディレクトリに名前をつけて保存します。
<!--#include file ="vb4cgi.inc"-->
<%
cgi_main
%>
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Sub cgi_main()
'ここにコードを記録します。
End Sub
</SCRIPT>
VB6.0(IISアプリケーション)での作成手順 NEW!
1.新規作成−IISアプリケーションを選択
2.WebClass1-カスタムWeb項目のソースを表示します。
3.WebClass1にvb4cgi.inc(ASP用)をコピーします。
最初の行の<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>と最後の行</SCRIPT>を削除します。
4.(変数を宣言しないで使うので)Option Explicitをコメントアウトします。(実際には必ず宣言する形でプログラムしましょう。)
5.WebClass_Start()の内容をすべて消去しコードを記述します。
注意:データーベースやファイルは実際にdllファイルが作成されているディレクトリに置きます。
コードの例(VB4CGIJ, ASP, IISアプリケーション共通)
その1
sendHeader "はじめてのVBCGI" '最初に必ず指定します。ホームページのタイトルです。
send "はじめてのVBCGI" '出力される本文を続けて書きます。
sendFooter '終了するときに必ず書きます。
注意:ASPとIISアプリケーションではSend関数はResponse.Writeに置き換えて下さい。
IISアプリケーションで実際に書くときは
With Response
.Write 出力する文字列
----
End With
と書きましょう。
次のようなHTML文が出力されます。(ASPだとこのとおり書かなくてはいけません)
<HTML>
<HEAD>
<TITLE>
はじめてのVBCGI
</TITLE>
<META HTTP-EQuiv=Content-Type Content=text/html; charset=x-sjis>
</HEAD>
<BODY bgcolor=#DDFFDD>
はじめてのVBCGI
</BODY>
</HTML>
その2
sendHeader "はじめてのVBCGI"
send "はじめてのVBCGI<BR>"
send "<H1><Font color=#ff0000>もっと大きく赤く</Font></H1>" 'タグの例です
sendFooter
次のようなHTML文が出力されます。(ASPだとこのとおり書かなくてはいけません)
<HTML>
<HEAD>
<TITLE>
はじめてのVBCGI
</TITLE>
<META HTTP-EQuiv=Content-Type Content=text/html; charset=x-sjis>
</HEAD>
<BODY bgcolor=#DDFFDD>
はじめてのVBCGI<BR>
<H1><Font color=#ff0000>もっと大きく赤く</Font></H1>
</BODY>
</HTML>
詳しくはvb4cgi.bas, vb4cgi.inc, vb4cgi.txt等を参考にしてみて下さい。
実行方法
よくエクスプローラーでダブルクリックされる方がおられますが,
インターネットエクスプローラーから /xxxxxx/aspsamp/first.aspのように入力して実行します。
xxxxxxはあなたのコンピューターの名前です。