推奨:ログイン検証ページの作成方法ユーザーログイン検証スクリプト、chkpwd.asp以下は参照されているコンテンツです:% '=======ユーザーログイン検証スクリプト======'渡されたオブジェクトがまだ定義されていない場合、それは次のように定義されますfalse、存在しないことを示しています
このセクションで説明したサンプルコードでは、FilesystemObjectオブジェクトパターンで利用可能な多くの機能を説明するために、実際の例を示しています。このコードは、オブジェクトパターンを一緒に使用する方法のすべての機能と、独自のコードで効果的に使用する方法を示しています。
コードは非常に一般的であるため、マシンで動作するために追加のコードとマイナーな変更が必要になる場合があることに注意してください。これらの変更は、アクティブサーバーページとWindowsスクリプトホスト間の入力と出力をユーザーに提供するために異なるアプローチを使用するため、必要です。
Active Serverページでコードを実行するには、次の手順を実行します。
.aspという名前の接尾辞を含む標準のWebページを作成します。
次のサンプルコードを<body> ... </body>タグ間のファイルにコピーします。
すべてのコードを<%...%>タグにカプセル化します。
<html>がタグ付けを開始する前であっても、現在の場所からHTMLページの上部にオプションの明示的なステートメントを移動します。
<%...%>タグをオプションの周りに配置し、サーバー側で実行されることを確認します。
次のコードをサンプルコードの最後に追加します。
サブプリント(x)response.write <pre> <font face =安size = 1> respons.write x respons.write </font> </pre> end sub main
前のコードは、サーバー側で実行されるが、クライアント側に結果を表示する印刷プロセスを追加します。 Windowsスクリプトホストでコードを実行するには、サンプルコードの最後に次のコードを追加します。
サブプリント(x)wscript.echo x end sub main
以下はサンプルコードです。
| 以下は引用されたコンテンツです。 -------------------------------------------------------------- --------------------------------------- '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'FilesystemObjectサンプルコード ' 'Copyright 1998 Microsoft Corporation。無断転載を禁じます。 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' オプションは明示的です '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' |
'コード品質について:
'
'1)次のコードには、短い文字列を連結するために「&amp; quot;演算子」を使用して、多くの文字列操作があります。なぜなら
「文字列の連結は時間がかかるため、これはコードを書くための非効率的な方法です。とにかく、そうです
'非常に手入れの行き届いたコードを作成します。この方法は、プログラムが実行されるため、ここで使用されます。
「文字列を接続するのに必要なメモリ操作よりもはるかに遅い、多数のディスク操作。
「これは製品コードではなく、デモコードであることを忘れないでください。
'
'2)宣言された変数にアクセスすることが非宣言されていない変数にアクセスするよりも重要であるため、「オプション露出」が使用されます
'少し速く。また、コードのエラーを防ぐこともできます。たとえば、DriveTypecdromの誤って綴ります
'driveTypecdormになります。
'
'3)コードをより読みやすくするために、このコードにエラー処理はありません。コードを確保するために予防措置が講じられていますが
'通常の場合、エラーはありませんが、ファイルシステムは予測不可能です。製品コードでは、使用します
'エラー上は次に再開し、可能なエラーをキャッチするためにオブジェクトを誤解します。
以下は引用されたコンテンツです。 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '簡単に取得できるグローバル変数もあります ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 薄暗いタブストップ Dim Newline const testdrive = "c" const testfilepath = "c:test" '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' driveTypeによって返される一定 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' const drivetyperemovable = 1 const driveTypefixed = 2 const driveTypenetwork = 3 const driveTypecdrom = 4 const drivetyperamdisk = 5 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'file.attributesによって返される一定 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' const fileattrnormal = 0 const fileattredonly = 1 const fileattrhidden = 2 const fileattrystem = 4 const fileattrvolume = 8 const fileattrdirectory = 16 const fileattrarchive = 32 const fileattralias = 64 const fileattrcompressed = 128 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'ファイルを開くために使用される定数 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' const openfileforreading = 1 const openfileforwriting = 2 const openFileAppending = 8 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'showdriveType ' ' 目的: ' '特定のドライブオブジェクトのドライブタイプを説明する文字列を生成します。 ' '以下を示します ' '-drive.driveType ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 関数showdriveType(ドライブ) dim s Case Drive.driveTypeを選択します ケースドライブティペルエモーバブル s = "リムーバブル" ケースDriveTypefixed s = "固定" ケースDriveTypenetwork s = "ネットワーク" ケースDriveTypeCdrom s = "cd-rom" ケースドリベティペルアムディスク S = "RAMディスク" ケース他のケース s = "不明" [選択]を終了します showdriveType = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'showfileattr ' ' 目的: ' 'ファイルまたはフォルダーのプロパティを記述する文字列を生成します。 ' '以下を示します ' '-file.attributes '-folder.attributes ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' function showfileattr(file) 'ファイルはファイルまたはフォルダーにすることができます dim s Dim attr attr = file.attributes attr = 0の場合 showfileattr = "remorm" 出口機能 ifを終了します attr and fileattrdirectoryの場合、s = s&amp; attr and fileattredonlyの場合、s = s&amp; attrとfileattrhidden、s = s&amp; ATTRとFILEATSTEMSの場合、s = s&amp; attrとfileattrvolumeの場合、s = s&amp; attrとfileattrarchiveの場合、s = s&amp; attrとfileattraliasの場合、s = s&amp; attrとfileattrcompressedの場合、s = s&amp; showfileattr = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'GeneratedRiveInformation ' ' 目的: ' '利用可能なドライブの現在の状態を説明する文字列を生成します。 ' '以下を示します ' '-filesystemObject.drives '-Drivesコレクションを反復します '-Drives.Count '-drive.availablespace '-Drive.DriveLetter '-drive.driveType '-Drive.Filesystem '-Drive.Freespace '-drive.isdedy '-Drive.Path '-Drive.SerialNumber '-drive.sharename '-drive.totalsize '-drive.volumename ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 関数GeneratedRiveInformation(FSO) 薄暗いドライブ 薄暗いドライブ dim s drives = fso.drivesを設定します s = "&amp&amp; 'レポートの最初の行を構築します。 s = s&amp; s = s&amp; S = s&amp; s = s&amp; s = s&amp; s = amp; 'レポートの2行目を構築します。 s = s&amp; S = s&amp; s = s&amp; s = s&amp; S = s&amp; s = s&amp; s = s&amp; s = s&amp; s = s&amp; s = s&amp; quot; '別の行。 s = s&amp; ドライブのドライブごとに s = s&amp; driveletter s = s&amp; s = s&amp; s = s&amp; drive.isadyの場合 driveTypenetwork = drive.driveTypeの場合 S = s&amp; それ以外 s = s&amp; ifを終了します s = s&amp; S = s&amp; s = s&amp; s = s&amp; S = s&amp; ifを終了します s = s&amp; 次 GeneratedRiveInformation = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '生成ファイルinformation ' ' 目的: ' 「ファイルの現在の状態を記述する文字列を生成します。 ' '以下を示します ' '-file.path ' - ファイル名 '-file.type '-file.DateCreated '-file.datelastaccessed '-file.datelastModified '-file.size ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' function generatefileinformation(file) dim s s =&quot;&quot; s = amp;&quot; s = amp;&quot; S = amp; s = amp; quot; s = s&amp; S = newline&quot; S = amp; GenerateFileInformation = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'GonateFolderInformation ' ' 目的: ' 「フォルダーの現在の状態を記述する文字列を生成します。 ' '以下を示します ' '-folder.path '-folder.name '-Folder.DateCreated '-folder.datelastaccessed '-folder.datelastModified '-folder.size ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' function generatefolderinformation(フォルダー) dim s S = "PATH:&amp; s = newline&quot; S = amp; S = newline&quot; s = s&amp; S = amp;&quot; S = amp; 生成FolderInformation = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'GenerateallfolderInformation ' ' 目的: ' 「フォルダーとすべてのファイルとサブフォルダーの現在のステータスを記述する文字列を生成します。 ' '以下を示します ' '-folder.path '-folder.subfolders '-folders.count ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 関数generateallfolderinformation(フォルダー) dim s 薄暗いサブフォルダー Dim Subfolder DIMファイル DIMファイル S = "&amp; files = folder.filesを設定します 1 = files.countの場合 s = s&quot;&amp; それ以外 s = quot; ifを終了します files.count&lt;&gt; ファイル内のファイルごとに s = s&amp; 次 ifを終了します subfolders = folder.subfoldersを設定します 1 = subfolders.countの場合 s = amp; それ以外 s&amp; ifを終了します subfolders.count&lt;&gt; サブフォルダーの各サブフォルダーについて s = s&amp; 次 s = s&amp; サブフォルダーの各サブフォルダーについて s = s&amp; 次 ifを終了します generateallfolderinformation = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'GenerateTestinformation ' ' 目的: ' '文字列を生成して、C:テストフォルダーとすべてのファイルとサブフォルダーの現在のステータスを記述します。 ' '以下を示します ' '-filesystemObject.driveExists '-filesystemObject.folderexists '-filesystemObject.getFolder ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 関数GenerateTestinformation(FSO) DIM TESTFOLDER dim s FSO.DriveExists(TestDrive)ではない場合は、機能を終了します fso.folderexists(testfilepath)ではない場合は、機能を終了します set testfolder = fso.getFolder(testfilepath) generateTestinformation = generateallfolderinformation(testfolder) エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'deletetestDirectory ' ' 目的: ' 'テストディレクトリをクリーニングします。 ' '以下を示します ' '-filesystemObject.getFolder '-filesystemobject.deletefile '-filesystemobject.deleteFolder '-folder.delete '-file.delete ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' Sub DeleteTestDirectory(FSO) DIM TESTFOLDER Dim Subfolder DIMファイル <a name = deletefile> 「ファイルを削除するには2つの方法があります。 fso.deletefile(testfilepath&amp;&quot; beatlesoctopusgarden.txt&quot;) file = fso.getfile(testfilepath&amp;&quot; beatlesbathroomwindow.txt&quot;) file.delete 「フォルダーを削除するには2つの方法があります。 fso.deletefolder(testfilepath&amp;&quot; beatles&quot;) fso.deletefile(testfilepath&amp;&quot; readme.txt&quot;) set testfolder = fso.getFolder(testfilepath) testfolder.delete End Sub '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'CreateLerics ' ' 目的: ' 'フォルダーに2つのテキストファイルを作成します。 ' ' '以下を示します ' '-filesystemobject.createTextFile '-TextStream.WriteLine '-TextStream.Write '-TextStream.WriteBlanklines '-TextStream.Close ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' sub createLerics(フォルダー) 薄暗いテキストストリーム </a> <a name = createTextFile> textStream = folder.createTextFile(&quot; octopusgarden.txt&quot;)を設定します </a> <a name = writetofile> textStream.write(&quot; Octopus 'Garden&quot;)'このステートメントはファイルにラインラップを追加しないことに注意してください。 textStream.writeLine(&quot;(by ringo starr)&quot;) textStream.writeblanklines(1) TextStream.WriteLine(&quot;私は日陰のタコの庭の海の下にいたいです、&quot;) textStream.writeLine(&quot;彼は私たちを入れて、私たちがどこにいたかを知っています - 日陰の彼のタコの庭で。&quot;) textStream.writeblanklines(2) </a> <a name = close> textStream.close textStream = folder.createTextFile(&quot; burriywindow.txt&quot;)を設定します textStream.writeLine(&quot;彼女はバスルームの窓から(レノン/マッカートニーによる)&quot;) textStream.writeLine(&quot;&quot;) TextStream.WriteLine(「彼女は銀のスプーンで保護されたバスルームの窓から入ってきました」)) TextStream.WriteLine(&quot;しかし今、彼女は親指を吸い、自分のラグーンのほとりにさまよう&quot;) textStream.writeblanklines(2) textStream.close End Sub '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'GetLyrics ' ' 目的: ' '歌詞ファイルの内容を表示します。 ' ' '以下を示します ' '-filesystemobject.opentextfile '-filesystemObject.getFile '-TextStream.Readall '-TextStream.Close '-file.openastextStream '-TextStream.AtendofStream '-TextStream.Readline ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' 関数GetLyrics(FSO) 薄暗いテキストストリーム dim s DIMファイル 「テキストファイルを開くには複数の方法があり、ファイルからデータを読み取る複数の方法があります。 「ファイルを開いて読み取る2つの方法があります。 textStream = fso.opentextfile(testfilepath&amp;&quot; beatlesoctopusgarden.txt&quot;、openfileforreading)を設定します。 </a> <a name = readfromfile> S = TextStream.Readall&amp; textStream.close file = fso.getfile(testfilepath&amp;&quot; beatlesbathroomwindow.txt&quot;) textStream = file.openastextStream(openFileForreading)を設定します textStream.AtendofStreamではありません s = s&amp; readline&amp; ループ textStream.close getLyrics = s エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'BuildTestDirectory ' ' 目的: ' 'ディレクトリ階層を作成して、ファイルSystemObjectを実証します。 ' 'この順序で階層構造を作成します。 ' 'C:テスト 'C:testreadme.txt 'C:TestBeatles 'C:testbeatleSoctopusgarden.txt 'C:testbeatlesbathroomwindow.txt ' ' '以下を示します ' '-filesystemObject.driveExists '-filesystemObject.folderexists '-filesystemobject.createfolder '-filesystemobject.createTextFile '-Folders.Add '-folder.createTextFile '-TextStream.WriteLine '-TextStream.Close ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' </a> <a name = folderinfo> 関数buildTestDirectory(FSO) DIM TESTFOLDER 薄暗いサブフォルダー Dim Subfolder 薄暗いテキストストリーム '除外(a)ドライブは存在しません、または(b)作成されるディレクトリがすでに存在します。 fso.driveexists(testdrive)ではない場合 BuildTestDirectory = false 出口機能 ifを終了します fso.folderexists(testfilepath)の場合 BuildTestDirectory = false 出口機能 ifを終了します set testfolder = fso.createfolder(testfilepath) TextStream = fso.createTextFile(testfilepath&amp;&quot; readme.txt&quot;)を設定します。 TextStream.WriteLine(&quot;私の歌の歌詞コレクション&quot;) textStream.close subfolders = testfolder.subfoldersを設定します subfolder = subfolders.add( "Beatles")を設定します CreateLyricsサブフォルダー BuildTestDirectory = true エンド関数 '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 'メインプログラム ' '最初に、テストディレクトリと一部のサブフォルダーとファイルを作成します。 「それから、利用可能なディスクドライブとテストディレクトリに関するいくつかの情報を捨てます。 '最後に、テストディレクトリとそのすべての内容をクリアします。 ' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' '' '' '' '' '' '' '' '' '' '' サブメイン 薄暗いfso 'グローバル変数を設定します。 tabstop = chr(9) newline = chr(10) </a> <a name = createfso> fso = createObject(&quot; scripting.filesystemObject&quot;)をset buildTestDirectory(FSO)がない場合 印刷「テストディレクトリは既に存在するか、作成できません。続行できません。」 出口サブ ifを終了します generatedriveinformation(fso)&amp; generateTintinformation(FSO)&amp; getLyrics(FSO)&amp; deletetestDirectory(FSO) End Sub |
共有:ASPのregexpオブジェクト関数の使用を解釈するregexpオブジェクトは、簡単な正規表現サポートを提供します。 regexpオブジェクトの使用:以下は参照されたコンテンツです:function regexptest(patrn、strng)dim re