前の号では、著者は、この問題の1つであるVBScriptの1つであるVBScriptの基本的な常識を簡単に紹介し、VBScriptのスクリプト方法を説明し続け、VBScriptの一連の例を示します。 ASPプログラム作成プロセスでは、VBScriptをよりよく理解できるようにします。
Scripting Language VBScriptの変数、定数、およびプロセスの基本概念を学習した後、この問題はVBScriptの機能と構文を引き続き導入します。
関数は、コードのような手順の名前が付いていますが、プロセスがプログラムタスクを完了すると、関数が値を返します。この方法では、プロセスが完全な文のようなものであり、関数は単語のようなものであることを理解できます。たとえば、特定の数の平方根を取得する場合、vbscriptのSQR()関数に数値を渡すだけで、この関数はすぐに数の平方根を返します。のように:a = sqr(9)
次にa = 3。スクリプト言語関数に熟練していると、前の号の最後に著者が割り当てたアスペラプログラムを書くことに大きな利便性をもたらします。これは解決策です。次に、このクラス後のエクササイズを確認しましょう。著者はASPを使用してWebベースのBBSシステムを作成しており、特別な機能を追加することを望んでいます。つまり、ユーザーがBBSにログインすると、過去7日間で新しくリリースされたすべての情報にアクセスできます。
VBScriptに精通していない場合、VBScript自体が次の違いまたは合計を取得するための関数の日付を提供することはわかりません。
日付(年、月、日)
たとえば、日付を指定する場合:1998年11月10日、日付登山関数の各パラメーターの値範囲は受け入れられるはずです。つまり、日の値は1〜31、月の値は月の値でなければなりません。 1〜31である必要があり、月の値は1〜12でなければなりません。ただし、特定の日の前または日数または日数を表す数値式を使用して、各パラメーターに相対日付を指定することもできます。次の例では、絶対日付の代わりに数値式を使用します。ここでは、日付の関数は、1998年11月10日までに20年(1990年から20年)と2か月(11-2)、もう1日(10-1)の日付を返します:1978年9月9日。手順は次のとおりです。datep = dateserial(1998-20、11-2、10-1)
年間パラメーターの場合、値範囲が0〜99の場合、1900年から1999年と解釈されます。この範囲外の年のパラメーターでは、4桁が年を表すために使用されます(たとえば、1800)。パラメーターの値が許容範囲を超えると、次の大きな時間単位に適切に運ばれます。たとえば、35日が指定されている場合、日数は1か月とその年と月に依存する余分な日数と解釈されます。ただし、パラメーター値が-32,768〜32,767の範囲を超える場合、または3つのパラメーターで指定された日付(直接または式を介して)が許容日範囲外である場合、エラーが発生します。関数の日付の使用を理解し、習得した後、著者によって割り当てられた質問を見てみましょう。すべてが解決されます。以下では、プログラムのコードのこの部分を次のように公開します。問題= Dateserial(年(日付)、月(日付)、日(日付)-7)
item = dateValue(itemp)
sql = select * message where message.creatime#&#と#&itemp&#
ここでは、日付を取得するために使用される一連の機能年、月、日と接触します。日付は今日の日付を表す定数であり、function dateValueは文字列変数を日付形式に変換する変数です。このプログラムの3行目では、最初に標準のSQLクエリステートメントと接触しました。
SELECTは、標準のSQLデータベースクエリコマンドで、データベース内のデータを取得し、ユーザーにクエリ結果を提供することを意味します。クエリ条件は、データベース内の条件を満たすレコードを取得することです。文全体を接続して理解するには:メッセージという名前のデータベース内のすべてのレコードを照会し、今日の7日前から今日の変数SQLですべてのレコードを保存します。たぶん、あなたが初めてSQLステートメントにさらされたため、しばらくその機能を完全に理解することはできませんが、将来の章では、著者がSQLの使用を導入するために特別な問題を使用することを心配する必要はありません。
上記の学習を通じて、誰もがプログラムにおける機能の役割を理解できるはずです。次に、VBScriptの基本的な構文を見てみましょう。
プログラミング言語を知っている友人は、プログラムのフローを制御するステートメントが主に条件付きステートメントとループステートメントに分割できることを知っている必要があります。
ケースステートメントを選択します
if ... then ... elseステートメントは、条件が真か偽かを計算し、計算結果に基づいて実行するステートメントを指定するために使用されます。通常、条件は、比較演算子を使用して値または変数を比較する式が使用され、if ... then ... elseステートメントは必要に応じてネストできるという条件です。
if1.aspとif2.aspの2つのサンプルファイルを作成しましょう
次のステートメントをメモ帳に廃棄し、if1.aspとして保存します(注:プログラムの後にスペースを削除してください)<html>
<head>
<title> if1.asp < /title>
< /head> <body bgcolor =#ffffff>
<form action = if2.asp method = get>
あなたの名<入力名= FirstName MaxLength = 20> <p>
あなたの姓<入力名= lastName maxlength = 20> <p>
<入力タイプ=送信> <入力タイプ= reset>
< /form>
< /body>
< /html>
次のステートメントをメモ帳に廃棄し、if2.asp <html>として保存します
<head>
<title> ifrespond.asp < /title>
< /head>
<%fname = request.querystring(firstName)
lname = request.querystring(lastname)
fname = george and lname = washington then%>の場合
こんにちは。あなたは初代大統領でなければなりません!
<%else%>
こんにちは!はじめまして
<%end if>
< /body>
< /html>
ASP1.aspはテキスト入力ボックスを生成し、ユーザーが自分の姓を入力する必要があります。
ASP2.aspは、IFステートメントを使用して、ユーザーが入力した名前がGeorge Washingtonであるかどうかを判断し、対応するフィードバックを提供することです。ここでは、ASPビルトインオブジェクトリクエストに遭遇します。リクエストオブジェクトを使用して、postまたはgetメソッドを使用してHTMLテーブルから渡されたパラメーター、Cookie、およびユーザー認証など、HTTPリクエストで渡される情報にアクセスできます。 QueryStringコレクションは、HTTPクエリ文字列の変数の値を取得し、HTTPクエリ文字列は疑問符(?)の後の値によって指定されます。のように:
http://localhost/if2.asp?firstName = George&lastName = Washington
値firstName = George&lastName = Washingtonで変数名文字列を生成します。 ASPオブジェクトの著者は、次の記事に焦点を当てます。
if ... then ... elseステートメントの変形により、複数の条件から選択できます。つまり、elseif句を追加してifの機能を拡張します。複数の条件。
ASP2.aspのプログラム部分を次のように拡張しました:<%
fname = lcase(request.querystring(firstName))
lname = lcase(request.querystring(lastname))
fname = george and lname = washington then%>の場合
こんにちは。あなたは最初の大統領でなければなりません!<p>
<%elseif fname = ronald and lname = reagan then%>
こんにちは。あなたは俳優の社長でなければなりません!<p>
<%elseif fname = jimmy and lname = carter then%>
こんにちは。あなたはピーナッツ農家の社長でなければなりません!<p>
<%elseif fname = naokoまたはfname = charles then%>
hi.yourの名前は私に誰かを思い出させますが、私は誰が誰なのかわかりません!<p>
<%else%>
こんにちは!はじめまして
<%end if>
他の多くの条項を追加して、複数のオプションを提供することができます。しかし、複数のElseif条項を使用すると、プログラムは非常に面倒になります。複数の条件の中から選択するより良い方法は、SELECTケースステートメントを使用することです。
Select Case構造は、if ... then ... elseif構造の回避策を提供します。複数のステートメントブロックからそのいずれかを選択して実行できます。 Select Caseステートメントは、if ... then ... elseステートメントと同様の関数を提供しますが、コードをより簡潔で読みやすくすることができます。 Select Case構造は、開始時に1回のみ計算される単純なテスト式を使用します。式の結果は、構造内の各ケースの値と比較されます。一致する場合は、ケースに関連付けられたステートメントブロックを実行します。
<%
fname = lcase(request.querystring(firstName))
lname = lcase(request.querystring(lastname))
name = fname+lname
ケース名を選択します
ケースジョージワシントン
response.write hi.あなたは最初の大統領でなければなりません!<p>
ケースロナルドレアガン
Response.write hi.あなたは俳優の社長でなければなりません!<p>
ケースJimmycarter
Response.write hi.あなたはピーナッツ農家の社長でなければなりません!<p>
ケースnaocharles
response.write hi.your名は誰かを思い出させますが、誰が誰なのかわかりません!<p>
ケース他のケース
respons.writeこんにちは!はじめまして
[%>]を終了します
Select Case構造は、最初と1回だけの式のみを計算しますが、if ... then ... elseif構造は、異なる可能性のあるolseのステートメントの式の式を計算することに注意してください。したがって、選択したケース構造は、ifの代わりに使用できます。 Select Caseステートメントもネストでき、ネストされた選択ケースステートメントの各レイヤーには、一致するEnd Selectステートメントが必要です。
紹介されたスクリプト言語VBScriptの関数と条件付きステートメントを使用する方法は、ASPの学習に興味があるすべての友人がクラスの後にある程度の自習と練習を実行できることを願っています。 ASPアプリケーションを毎日開発する過程で、著者自身は、スクリプト言語の柔軟な使用の重要性を徐々に実現しました。また、ASPアプリケーションの実行効率と機能を強化します。したがって、何かをうまくやりたい場合は、著者はスクリプト言語を習熟させることを強く推奨しています。この記事はVBScriptのチュートリアルではないため、次の号でVBScriptのループステートメントを紹介した後、小さなスペースを使用して、公式にaspの組み込みオブジェクトを学習しますVBScriptに深く入る必要があります。この記事を読んだ後に質問がある場合は、時間内にメールを送ってください。