プログラミング言語をよく学ぶためには、理論の理論を実践的なルーチンを通して検証することが不可欠な2つの条件があります。経験やレッスンとしての経験と経験を書き留めて、将来のアプリケーションでそれを改良します。以下は、ASPプログラミングの学習と使用に関する2つの経験です。すべての人に役立つことを願っています。
ASPページのVBScriptとJScriptの間の相互作用
ASPには、さまざまな言語でスクリプトプログラムを管理する機能があり、適切なスクリプトエンジンを自動的に呼び出して、スクリプトコードを解釈し、組み込み関数を実行できます。 ASP開発環境は、2つのスクリプトエンジン、つまりVBScript(デフォルト)とJScriptを提供します。ただし、開発者はこれら2つの言語のみを使用することに限定されず、適切なActiveXスクリプトエンジンを提供できる限り、スクリプト言語を使用できます。
スクリプト言語の選択は、多くの場合、さまざまな理由に基づいていることがよくあります。おそらく、開発者が最もよく精通している言語であり、おそらく特定のプロジェクトに最も特徴のサポートを提供するもの、あるいは最も効率的な言語です。さまざまな環境と要件により、スクリプト言語を選択する際にはさまざまな要因に注意を払います。ある時点で、選択したスクリプト言語が他の言語で直接機能を提供できないか、スクリプトが書かれているが、別のスクリプト言語を使用しているという問題に直面しています。
私は今何をすべきですか?現在のスクリプト言語でこれらのスクリプトを書き換える必要がありますか?または、1つのスクリプト言語で他のスクリプト言語の組み込み関数を呼び出すことは可能ですか?この記事が説明したいのは、2つのスクリプト言語の特別なサポートを最大化するために、ASPアプリケーションでVBScriptスクリプトとJScriptスクリプトと対話する方法です。
1。VBScriptおよびJScriptの組み込み関数
VBScriptとJScriptには、同じまたは類似の多数の組み込み関数があります。ただし、あるスクリプト言語に組み込まれた関数は、別のスクリプト言語で常に対応する機能を持っているわけではありません。たとえば、VBScriptは、jscriptには存在しない文字列を操作し、フォーマットデータを操作するための多くの機能を提供します。これらの関数には、Strreverse()、Filter()、formatcurrency()などが含まれます。一方、Array、文字列エンコーディングなどの管理のためにJScriptによって提供される機能は、Join()、Reverse()、POW()、BIT Operations、Escape()、Unescape()などのVBScriptでは定義されていません。待って。
それでは、JScriptプログラムでVBScript関数が必要な場合はどうすればよいですか?
2。異種スクリプトの相互呼び出し
JScriptスクリプトで組み込みのVBScript関数を呼び出す必要がある場合は、VBScriptユーザー定義関数(VBScriptビルトイン関数はこちら)を記述し、JScriptスクリプトでこのユーザー定義関数を呼び出して呼び出す必要があります。パブリックJScript関数。
たとえば、呼び出されるVBScriptビルトイン関数がformatcurrency()である場合、次のカスタム関数を宣言できます。
<スクリプト言語= vbscript runat = server>
function formatvalue(value)
formatvalue = formatcurrency(value)
エンド関数
< /script>
次に、jscriptコードでは、通常のjscript関数のようにformatvalue()を呼び出すことができます。 VBScriptコードは、jscript関数を呼び出し、同様の方法を使用して実装することもできます。
同じルールを適用すると、スクリプト内のユーザー定義の関数を呼び出すことができます。ただし、JScriptスクリプトのパラメーターなしでVBScriptプロシージャ(Sub)を呼び出す場合、この時点では、jscriptを呼び出すように、foo with foo(vbscript sub)を呼び出すなど、JScriptを呼び出す必要があります。 )FOOプロセス。
3。データ共有
場合によっては、VBScriptとJScript機能を組み合わせることが非常に便利ですが、異なる言語のスクリプト間でデータを共有することも役立ちます。この共有を実装する方法は簡単です。使用している言語に関係なく、ページレベルで宣言された変数は任意に参照できます。
オブジェクトの使用方法も同様です。もちろん、特定のオブジェクトのプロパティと方法は、そのオブジェクトのインスタンスを作成した言語によって定義されます。上記の例VBScriptプロシージャコールと同様に、パラメーターのないVBScriptオブジェクトのメソッドがJScriptから呼び出される場合、その呼び出し方法はJScriptコールルールにも従います。
IVアレイ管理
配列共有の問題はもう少し複雑です。アレイは、他の変数のような異なる言語のスクリプト間で共有することもできますが、互換性の問題に注意する必要があります。
VBScriptアレイは、jscriptのvbscriptシンボル、つまり、シンボルmyarray [2]を参照するJScriptのアレイ要素の代わりに、myarray(2)の配列要素を参照することができます。さらに、特別なJScriptオブジェクト-VBARRAYオブジェクトを使用して、VBScriptアレイをJScriptアレイに変換することもできます。次のコードでは、vbscriptアレイmyvbarrayからjscriptアレイmyjsarrayを作成します。
var temp = new vbarray(myvbarray)
var myjsarray
myjsarray = temp.toarray()
上記のコードは、最初に一時的なvBarrayオブジェクトを作成し、次にtoarray()メソッドを使用してJScriptアレイに変換します。その後、myjsarrayは、myjsarray [1]などの通常のJScriptアレイのように使用できます。ただし、ToArray()メソッドは、多次元VBARRAYを1次元JScriptアレイに変換することに注意する必要があります。
VBScriptからのJScriptアレイを参照することはより複雑です。 VBScriptでは、JScriptアレイに関連するメソッドとプロパティに直接アクセスできますが、JScriptアレイの単一の要素に直接アクセスする方法はありません。つまり、VBScriptスクリプトのJScriptアレイの長さプロパティを次のように読み取ることができます。
x = myjsarray.length
ただし、配列の単一の要素を直接読み取ることはできません。次のVBScriptコードは間違っています。
x = myjsarray(3)
この問題を解決する可能性のある方法は、次のコードに示すように、VBScriptがデフォルトのスクリプト言語であると想定されるように、変換プロセスを実行することです。
<%
薄暗い温度
薄暗いmyvbarray
temp = myjsarray.join(、)
myvbarray = split(temp、、)
%>
JScript Join()メソッドは、アレイmyjsarray要素をスプリッターとしてコンマを使用して文字列に変換し、vbscript split()関数は文字列をvbscriptアレイに変換します。 VBScript環境でJScriptの結合方法を呼び出していることに注意してください。この例によれば、jscript機能を使用してjscriptのvbarrayオブジェクトのtoarray()メソッドをシミュレートして、jscriptアレイのVBScriptアレイへの変換を実装できます。
テンプレートを使用して動的なASPページを作成します
テンプレートに関しては、誰もがいくつかの概念を持っていると思います。これはおそらくここでのテンプレートの意味です。実際、DreamWeaverにはテンプレート関数もありますが、静的な機能はコンテンツを手動でしか埋めることができません。ここでは、動的な自動コンテンツの充填についてです。
まず、テンプレートファイルが使用される理由を説明しましょう。テンプレートが、Webページ機能とレイアウトのより完全な概念を提供できる場合があります。単語のテンプレート形式が表示されると、最終レイアウトがどのように見えるかがわかり、ここでも同じことが言えます。たとえば、ASPステートメントを保持し、さまざまなテンプレートを使用して異なるページスタイルを作成できます。このようにして、さまざまなスタイルのWebページごとに異なるASPページを作成する必要はありません。これにより、明らかに多くの時間とエネルギーを節約できます。さらに、テンプレートファイルによりページコードを閲覧しやすくなり、ASPとHTMLがめまいがすることを心配する必要はありません。 ASPについてまったく心配することなく、HTMLに集中することができます。もう1つのことは、タッチパッドが非常にシンプルで、間違いなくすぐにそれを理解することです。この記事では、データベースが使用されます - 広く使用されている従業員テーブル。従業員ID、名前、写真、および写真の履歴書と脚注が含まれます。このアクセスデータベースの構造は次のとおりです。
ファイル名-mydatabase.mdb
テーブル名 - 従業員
id
自動カウント(autonumber)
フルネーム
テキスト - 最大100文字
ピカール
テキスト - 最大255文字
義務
コメントタイプ
ピカプシオン
テキスト - 最大50文字
非常にシンプルなデータベースですよね?もちろん、必要に応じて拡張できます。それはあなた自身のビジネスです。データベースの基本的な操作をすでに理解していると思います。データベースを確立した後、テンプレートファイルの作成を開始できます。このファイルは、各ページのスケルトンです。私はフォームを使用しませんでした、それは少し面倒でした、そして私は怠け者でした:-)そして、それを追加しないでください、それはASPページに追加するものです。結局のところ、それは次のように見えます:
フルネーム:
%name%<br>任務の説明:
%任務%
この写真は撮影されました:%日付%
従業員ID:%empid%
それでおしまい!これは簡単なテンプレートです。 Template.tmpとして保存し、以下のASPページに参照します。さまざまなHTMLタグをテンプレートに追加できることに注意してください。 %囲まれていますか?それがテンプレートの本質です。おそらく、これらの%はデータベース内のフィールドの意味に対応することに囲まれていることに気づいたことがあります。以下のASPコード、テンプレートファイルとデータベースファイルの読み方をご覧になり、それらを一緒にこねてから、必要なHTMLページを出力します。
それがすべてコードです、それはとても簡単ですね。それが行うのは、テンプレートファイルを開き、各行を順番に読み取り、テンプレート内の%IMG%および%name%タグをデータベースで読み取る実際のフィールド値を置き換えることです。さらに、HTMLのキャリッジリターンとして、職務分野の大量のテキストでキャリッジリターンを解釈します
、レイアウト形式全体を破壊しないように。それはどうですか?それをするのは簡単です。テンプレートは、一部のアプリケーションで実際に奇跡的な役割を果たすことができ、時間と労力を節約できます。理論的には、このコードを変更してFilesystemObjectを使用してテキストを読み書きすることもできます。これにより、データをデータベースに保存する必要がないようにします。インスタントニュースリリースなどの一部のアプリケーションでは、これはより便利な場合があります。