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記事 バックナンバー目次]