Rnd関数 で 乱数を発生させる。
お約束で、Randomize で乱数系を初期化
<乱数を使用して今日の運を表示> こんにちは、Ken3です。 今回は、変化のあるページを作りたいので、 1から100までの乱数を発生させて、 勝手な今日の幸運度を表示させて見たいと思います。 /* * 1.仕様 */ 1から100までの乱数を発生させ、 その数値を今日の幸運度として、 画面に表示させる。 /* * 2.まず、変数の扱いのテストするか。 */ まず、変数の扱いのテストでもするか。 <%@LANGUAGE=VBScript%> <html> <head> <title>三流君 ASPで遊ぶ、失敗する No.003</title> </head> <body bgcolor="#ffffff"> test003-1.asp 変数で遊ぶ<br> <% Dim n As Integer '(*1)乱数受け取り用 n = 100 Response.Write "nの中身は<br>" '固定の文字 Response.Write n '変数の中身を表示 Response.Write "です<br>" '固定の文字 %> </body> </html> あれ、 HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス エラー タイプ Microsoft VBScript コンパイル エラー (0x800A0401) ステートメントの末尾が不正です。 /test/test003-1.asp, line 12, column 6 1 2 3 4 .... 12行目っていうと、 Dim n As Integer '(*1)乱数受け取り用 ここかぁ、 えっ、どこが?エラーなの? VBAの経験者だとひっかかるみたいだけど、 As integer As Stringなどと型を指定できないみたいです。 なんかシックリこないけど、 Dim n にする。う〜ん。私の勘違いかそれとも。後で調べよう。 おっ、今度は無事に表示されました。 http://www.ken3.org/cgi-bin/test/test003-1.asp を実行して見て下さい。 /* * 3.乱数を発生させて表示する */ 気を取り直して、 乱数かぁ、 Randomize で乱数系を初期化 Rnd で乱数を発生ですよね。これはVBAと同じだから違和感無いよね。 <%@LANGUAGE=VBScript%> <html> <head><title>三流君 ASPで遊ぶ、失敗する No.003</title></head> <body bgcolor="#ffffff"> test003-2.asp 乱数を発生させる<br> <% Dim n '(*1)乱数受け取り用、変数の型は指定できないみたい Randomize '*2 これでで乱数系を初期化 n = Int(Rnd * 100) + 1 '*3 乱数を発生と代入 Response.Write "今日の幸運度は<br>" '固定の文字 Response.Write n '変数の中身を表示 Response.Write "%です<br>" '固定の文字 %> </body></html> *2と*3みたいな感じで使用しました。 http://www.ken3.org/cgi-bin/test/test003-2.asp を実行すると、毎回値が変わると思います。 だから何?って感じだけどね(笑) /* * 4.HTMLのHRタグを使用してみる */ ASP使ってるとか偉そうなこと言ってるけどたいしたこと無いね。 まぁ、今はたいしたことやってないので。 VBのフォームやAccessのフォームと違って、 画面関係の最終出力はhtmlなんですよね。 それが何か?関係あるの? htmlの表現方法も必要ってことなんですよ。 (今のメモ帳でASP作ってる私みたいな人はね、VB.NETも勉強しないとね) まぁ、画面の出力関係、色の使い方はセンスが必要だけど。 たとえば、文字だけで60%とか表示していたものを HRのタグを使用して、下記のような棒グラフもどきを作ってみるとか、 チョットした小細工や知識も必要なんですよ。 う〜ん、なんかニガテだなぁ見せるページ作りって。。 http://www.ken3.org/cgi-bin/test/test003-3.asp を実行すると、赤い棒グラフが表示されます。 <%@LANGUAGE=VBScript%> <html> <head><title>三流君 ASPで遊ぶ、失敗する No.003</title></head> <body bgcolor="#ffffff"> test003-3.asp <HR>タグを使用して見せる工夫をする<br> <% Dim n '(*1)乱数受け取り用、変数の型は指定できないみたい Randomize '*2 これでで乱数系を初期化 n = Int(Rnd * 100) + 1 '*3 乱数を発生と代入 Response.Write "今日の幸運度は<br>" '固定の文字 Response.Write n & "%です" '数値を表示 '*4 HRで棒グラフもどきにする Response.Write "<HR Size=8 color=red align=left " Response.Write "Width=" & n & "% >" %> </body></html> *4でHRタグを作成し、出力してます。 SIZE COLOR ALIGN WIDTH とパラメーターをセットしてます。 /* * 5.省略形の書き方、好みによるけど */ なんか、ソースファイルが汚いんだけど、 ASPってそんなもんなの? イヤ、何か違う書き方もあると思う。 チョイ探してみると、 Response.Write n は <%=変数%> と書けるみたいです。 えっ、そんな省略形の書き方あるんだぁ。 ってことは。 <%@LANGUAGE=VBScript%> <html> <head><title>三流君 ASPで遊ぶ、失敗する No.003</title></head> <body bgcolor="#ffffff"> test003-4.asp <HR>タグを使用して見せる工夫をする<br> <% Dim n '(*1)乱数受け取り用、変数の型は指定できないみたい Randomize '*2 これでで乱数系を初期化 n = Int(Rnd * 100) + 1 '*3 乱数を発生と代入 %> 今日の幸運度は<br> <%=n%>%です <HR Size=8 color=red align=left Width=<%=n%>% > </body></html> みたいに書けるんだぁ。 なんか不思議。 http://www.ken3.org/cgi-bin/test/test003-4.asp の実行結果はもちろん、同じですよ。 /* * 6.終わりの挨拶 */ で、今日は何が言いたかったの? ・変数宣言As integer As Stringなどと型を指定できない(調査する) ・RandomizeとRndを使った。 ・ASP、ASPと騒ぐ前にHTMLも勉強しておこう ・<%=変数%>と記述することができる。 こんな感じかな。 何か隠してない? ドキッ、、、なんでわかったの? 話し好きなのにハヤクまとめて、逃げようとしてたので。 ほら、ヤッパなんか変だよ。 ここの場所↓↓↓↓ <HR Size=8 color=red align=left Width=<%=n%>% > 行の後ろ、 %>% >となんで、スペース空いてるの? ^^^^^ ヤバ、見つかったか。。。 90%>と%で終わるとスクリプトの終了タグの%>と間違えるので小細工でスペースを。 あっ、それにパラメーターって""で囲ってなかったっけ? <hr width="90%"> とか。 次回は、%の表現方法と””の書き方ですね。 次回のネタ決まったところで、逃げるようにサヨナラです。 オイオイ待ってよ。 またね(笑) 何か質問があったら、気軽に、 メール、掲示板に書き込んでくださいね。 三流プログラマーのKen3でした。
ここまで、読んでいただきどうもです。目的の情報が見つかったか?少々心配しつつ、、、
感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。
[三流君(TOP ken3.org へ戻る)]
/ [ASPで遊ぶ、失敗する]
/ [ASP記事 バックナンバー目次]
まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。
次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません
広告:
DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く
VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。
[三流君(TOP ken3.org へ戻る)]
/ [ASPで遊ぶ、失敗する]
/ [ASP記事 バックナンバー目次]