ASP 講義 5: ASP コンポーネント (2)
著者:Eve Cole
更新時間:2009-05-30 19:58:12
前回の講義では、ブラウザ機能コンポーネント、ファイル アクセス コンポーネント、AD ローテーター コンポーネント、およびコンテンツ リンク コンポーネントを使用してコンポーネントを作成する方法を学習しました。また、Server オブジェクトの CreateObject メソッド、MapPath メソッド、および HTMLEncode メソッドについても学習しました。この講義ではコンポーネントの学習を続けます。
1. 電子メール コンポーネント: NTS コラボレーション データ オブジェクト
インターネット上では、多くのサイトがオンライン送信機能 (つまり、フォームを使用して質問の送信、サポートや情報のフィードバックなどを実装する機能) を提供したり、訪問者に確認メッセージを送信したりしているのをよく見かけます。この機能は、ホームページプロバイダーからの追加のサポートが必要なため、個人のホームページで実現するのは困難です (私の個人ホームページのオンライン書き込みは CGI で書かれており、ASP とは何の関係もありません)。その原理の簡単な例を次に示します。
特記事項: この講義で説明するすべての例は Windows NT4.0 Server+IIS (Internet Information Server) 4.0 でデバッグされていますが、そのほとんどは Windows9.x+PWS にも適用できます。ただし、ASP を上手に使用する方法を学ぶには、Windows NT をインストールして Windows 95/98 と共存させるのが最善です (これまでにインストールしたことがない場合でも、心配する必要はありません。マシンにわずかな問題がある限り、非常に簡単です)。より良いのは、インストール後に NT が自動的に Win NT/Win9 になることです)。
<% 'wuf30.asp
ディムメール
'電子メールコンポーネントを作成する
Set Mail = Server.CreateObject("CDONTS.NewMail")
'メールを送信
Mail.Send "[email protected]"、"[email protected]"、"件名"、"本文"
メールを何も設定しない
%>
これは最も単純な例です。実際、このコンポーネントを使用すると、プレーン テキスト形式または HTML ハイパーテキスト形式で電子メールを送信でき、画像や添付ファイルを含めることもできます。 、電子メールを受信することもできます。この機能は非常に強力であると言えます。ただし、このコンポーネントを使用するには、Windows NT Server の SMTP サービスと IIS4.0 (Microsoft スタイル) をインストールする必要があり、このコンポーネントは POP3 プロトコルをサポートしていないため、個人的にはあまり感謝していません。したがって、このコンポーネントを使用して電子メールを正常に送信できない場合は、インターネット サーバー マネージャーを開いて、既定の SMTP サイトが開始 (スタート) されているかどうか、およびいくつかの関連設定を確認できます。ただし、Microsoft ファンの場合は、私のホームページ (http://wuf.bentium.net/) にアクセスして、このコンポーネントのルーチン wuf31.asp および sendmail.asp をダウンロードして、ご自身で学習してください。
2. サードパーティ コンポーネントを使用する これまでに紹介したコンポーネントは IIS4.0 に含まれており、これらのコンポーネントを直接使用できます。さらに、次の 2 つのコンポーネントを Microsoft IIS リソース キット CD から入手することもできます (または、http://www.microsoft.com/iis で運試しして、ダウンロードできるかどうかを確認してください)。
l ページカウンターコンポーネント: Web ページカウンター
l Permission Checkerコンポーネント:Webページのアクセス許可確認コンポーネント
IIS4.0 の組み込みコンポーネントの紹介はここで終了しましたが、ASP コンポーネントの研究はまだ継続する必要があります。一方で、IIS4.0 以降の組み込みコンポーネントはほとんどありません。一方、これらの提供されているコンポーネントの機能は、ニーズに合わない場合があります。したがって、より多くのリソースは、インターネット上に存在する何百ものサードパーティ コンポーネントです。その一部は無料ですが、機能制限版や評価版が提供されているものもありますが、当然ながら有料のものもあります (コンポーネントの価格は 3 桁です)。 $、それは単なる遠回しな「脅迫」です。これらのコンポーネントを使用すると、強力なホームページをすばやく簡単に作成できます。いくつかの例を通してこの感覚を見つけてみるのもいいかもしれません。
(1) ファイルアップロードコンポーネント AspSmartUpload (無料)
まずコンポーネントをダウンロードします。ファイル サイズは約 100K です (私のサイトからダウンロードすることもできます)。ダウンロードして解凍すると、合計 30 個を超えるファイルが別のディレクトリに配置されます。ここでは、サードパーティ コンポーネントの使用方法を説明するための完全な例を示します。
AspSmartUpload.dll および AspSmartUploadUtil.dll の 2 つのファイルを見つけ、Web サーバーのコマンド プロンプトでそれぞれ「regsvr32.exe aspsmartupload.dll」および「regsvr32.exe aspsmartuploadutil.dll」コマンド ラインを使用してコンポーネントを登録します ( Regsvr32.exe を初めて使用する場合は、まずこれら 2 つの DLL ファイルを Web サーバーの「Winnt/System32」または「Windows/System」ディレクトリにコピーします。登録が成功すると、「成功」という文字が表示されます。ポップアップ ウィンドウに が表示されます (注: サードパーティ コンポーネントを使用する前に登録する必要があります。一部のサードパーティ コンポーネントはインストールされて自動的に登録できますが、これに近いものは自分で手動で登録する必要があります)。登録が成功したら、次のステップはコンポーネントを使用するコードを作成することです。この例は 2 つのファイルで構成されています (テスト中は中国語のファイル名を使用しないでください)。
wuf32.htm – ファイルをアップロードするためのフロントエンド Web ページ (フォーム)
<HTML>
<style type="text/css">
<!--
input { font-family: "宋体", "Times New Roman"; font-size: 9pt;
-->
</スタイル>
<BODY BGCOLOR="白">
ファイルをアップロードするための Web ページ (アップロードできるファイルの数を定義できますが、ファイル名に漢字を含めることはできません)
<人事>
<FORM METHOD="POST" ACTION="wuf34.asp" ENCTYPE="multipart/form-data">
<!-- テキスト -->
ユーザー名: <input TYPE="TEXT" name="myText" value=""><br>
<!-- パスワード -->
パスワード: <input TYPE="PASSWORD" name="myPASSWORD" value=""><br>
<!-- 非表示 -->
<input TYPE="hidden" name="myHidden" value="hidden"><br>
<!-- ファイル -->
ファイル 1: <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
ファイル 2: <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
ファイル 3: <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
ファイル 4: <INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="アップロード">
</FORM>
</BODY></HTML>
[アップロード] ボタンを押すと、背景が wuf34.asp ファイルによって処理されます (より単純な wuf33.asp をダウンロードすることもできます)。
<HTML><BODY BGCOLOR="white">
ファイルのアップロード結果:
<人事>
<%
Dim mySmartUpload、項目、値、ファイル
' まず次のようにコンポーネントを作成します
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.アップロード
' For Each ループを使用して、From フォーム内の各項目の値を取得します
mySmartUpload.Form の各項目について
mySmartUpload.Form(item) の各値について
Response.Write(項目 & " = " & 値 & "<BR>")
次
次
応答。「<時間>」と書き込みます。
'ファイルデータをアップロード
' Response.Write("ファイル数=" & mySmartUpload.Files.Count &"<BR>")
Response.Write("合計バイト数 = " & mySmartUpload.Files.TotalBytes &" バイト<Br><Br>")
Response.Write("ファイルリスト: " & "<Br>")
' ファイルごとに - もっと簡単な方法があります。wuf33.asp を参照してください。
mySmartUpload.Files 内のファイルごとに
file.IsMissing ではない場合
'元のファイル名で C:temp に保存します
file.SaveAs("c:temp" & file.FileName)
Response.Write(file.ファイル名 & " (" & ファイル.サイズ & "バイト)<BR>")
終了の場合
次
mySmartUpload = なしを設定します
%>
</BODY>
</HTML>
このコンポーネントのより詳細な使用法と機能 (アップロードされるファイルの種類とサイズの制限、データベースへのアップロード、ファイルまたはデータベース フィールドのダウンロードなど) については、サンプルを読むか、外国のヘルプを自分で調べることができます。電子テキストを読むのが面倒だと感じる場合は、中国語のヘルプとサンプルが含まれている、国内で作成されたファイル アップロード コンポーネントをダウンロードすることもできます。
(2) グラフィックコンポーネント: Dundas Pie Chart (円グラフ)
まずはコンポーネントプロバイダーの言うことを聞いてください。「驚異的なパフォーマンス、人々を失神させるほどの高品質のグラフィックス、パワフル、高速、そして比類のない柔軟性。うわー、自慢は魏小宝よりも優れています。」 そうではありませんか。結果を見てみましょう。
このような円グラフを使用すると、Sina.com のようなアンケートを実行することもできます。何がそんなに人気なのか、何を待っているのでしょうか。
(1) 3DPieCSC.EXE: http://www.dundas.com/downloads/freeproducts/files/3DPieCSC.EXE
(2) FPDocInst.exe: http://www.dundas.com/downloads/freeproducts/files/FPDocInst.exe
このコンポーネントは 3DPieCSC.EXE に含まれており、後者はサーバーの "C:Inetpub3dPieCSC" ディレクトリにインストールされています。このコンポーネントには、非常に複雑なサンプル プログラムが付属しています。パフォーマンスが向上し、理解するのがさらに難しくなります。シンプルで実用的な一般的な例を次に示します。
wuf36.htm、<IMG> タグを通じて ASP ファイルを呼び出します。
<HTML><本文>
<IMG src="wuf37.asp">
</BODY></HTML>
wuf37.asp、グラフィックの生成に使用されます (上記と同じですが、コード内で中国語を使用しないでください):
<%@ 言語=VBScript %>
<% 明示的なオプション
薄暗いオブジェクト円グラフ
Set objPieChart = Server.CreateObject("Dundas.PieChartServer.1") '最初にコンポーネントを作成します
'作業ディレクトリを設定します
objPieChart.DirOutput = "C:Inetpub3dPieCSCSampleChart"
'テンプレートファイルが置かれているディレクトリを設定します
objPieChart.DirTemplate = "C:Inetpub3dPieCSCSampleTemplates"
'素材カタログ - グラフィックの素材や色を簡単に変更できます
objPieChart.DirTexture = "C:Inetpub3dPieCSCSampleTextures"
' 自分で編集または変更できるテンプレート ファイルを選択します
objPieChart.LoadTemplate "PieInTheSky.cuc"
'グラフィックタイトル
objPieChart.Title = "これはサンプルです"
'重量ラベルの説明を含むさまざまな項目を追加します
objPieChart.AddData 40, "Item1:40%","中国"
objPieChart.AddData 30, "Item2:30%","USA"
objPieChart.AddData 30, "アイテム3:30%","その他"
'出力結果はグラフィックで、幅と高さを指定できます
objPieChart.SendJPEG 400,300
objPieChart = なしを設定します
%>
正直に言うと、この無料のものはかなり優れていますが、提供されるルーチンは複雑すぎて、すぐにマスターすることはできません。ここで、1 つの例から推論して、ヒストグラムを取得する方法を理解したいと思うかもしれません。ShotGraph というコンポーネントがありますが、それほど複雑である必要はありません。ヒストグラム画像を準備するだけです。他のものを参照してください。これは Web ページ上にあります。別のページとして保存するだけです)。HTML タグの Weight と Height を使用して、比例的に伸縮させます (<img src = bar.gif width = <%=)変数%> 高さ = 10>)。
さらに、この講義の責任ある簡潔な冒頭を補うために、ここに 2 つの電子メール コンポーネントを厳粛に推奨します。
(1) aspSmartMail: コード内で中国語を使用しないように注意してください。使用しないと、レターを送信できなくなります。詳細については、ルーチン wuf35.asp を参照してください。
(2) W3 Jmail: http://download.dimac.net/jmail/jmail.exe。
(3) ChinaMail: http://wuf.bentium.net/、私が作成したすべて中国語の電子メール コンポーネント。
私個人としては、IIS4.0 には組み込みコンポーネントが少なすぎるのですが、多くのオンライン電子テキスト コンポーネントは中国語をサポートしておらず、使いにくいので、国産コンポーネントを使用すればよいのではないかと考えています。中国で最高の Web サイトである http://www.chinaasp.com/ にアクセスして確認してください。リストされているコンポーネントが非常に少ないのが残念です。残された方法は 1 つだけです。それは自分で作成することです。でも普通の人が自分で書けるのかこれは疑問です)。私は ChinaASP の主張に非常に同意します。これはおそらく、ASP に関する書籍は山ほどありますが、中国には ASP コンポーネントを公開しているソフトウェア会社がないということです。確かに、私がこの講義を書くよう依頼されたときは、市場に ASP に関する本はほとんどありませんでしたが、今ではまだたくさんの本があり、まず、外国人が書いた本を購入することをお勧めします。第二に、それらは一般的に輸入製品であるということです。そう言えば、厳密なものではありません。
最後に、いくつかのコンポーネント リソース サイトを紹介します。
(1) http://www.serverobjects.com/
(2) http://www.15秒.com/
(3) http://www.activeserverpages.com/
(4) http://www.softartisans.com/