<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/takeeasy/">
    <title>ゆっくりでもできる プログラミング講座</title>
    <link>http://w.atwiki.jp/takeeasy/</link>
    <atom:link href="https://w.atwiki.jp/takeeasy/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>ゆっくりでもできる プログラミング講座</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-06-28T13:24:30+09:00</dc:date>
    <utime>1309235070</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takeeasy/pages/14.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/23.html">
    <title>ゆっくりでもできる 関数</title>
    <link>https://w.atwiki.jp/takeeasy/pages/23.html</link>
    <description>
      &#039;&#039; 移動方向
Const MOVE_RIGHT = &quot;右&quot;
Const MOVE_LEFT  = &quot;左&quot;
Const MOVE_UP    = &quot;上&quot;
Const MOVE_DOWN  = &quot;下&quot;

BorderWidth = 1
XPointMax = 500 - BorderWidth
YPointMax = 500 - BorderWidth
XPointMin = 0
YPointMin = 0

&#039;&#039;------------------------------------------------
&#039;&#039;Moveイベント
&#039;&#039;------------------------------------------------
Function Move(Target, Direction, Distance)

Dim Result
Set TargetDom = Document.GetElementById(Target)

Select Case Direction
Case MOVE_RIGHT
	Result = AddPoint(TargetDom, Distance, 0)
Case MOVE_LEFT
	Result = AddPoint(TargetDom, -Distance, 0)
Case MOVE_UP
	Result = AddPoint(TargetDom, 0, -Distance)
Case MOVE_DOWN
	Result = AddPoint(TargetDom, 0, Distance)
Case Else
	MsgBox(&quot;Directionが不正です。&quot;)
End Select

Move = 0
End Function

&#039;&#039;------------------------------------------------
&#039;&#039;座標移動
&#039;&#039;------------------------------------------------
Function AddPoint(TargetDom, AddXPoint, AddYPoint)

If (TargetDom.hspace + AddXPoint) &gt; (XPointMax - TargetDom.width) Then
	TargetDom.hspace = XPointMax - TargetDom.width
ElseIf (TargetDom.hspace + AddXPoint) &lt; XPointMin Then
	TargetDom.hspace = 0
Else
	TargetDom.hspace = TargetDom.hspace + AddXPoint
End If

If (TargetDom.vspace + AddYPoint) &gt; (YPointMax - TargetDom.height) Then
	TargetDom.vspace = YPointMax - TargetDom.height
ElseIf (TargetDom.vspace + AddYPoint) &lt; YPointMin Then
	TargetDom.vspace = 0
Else
	TargetDom.vspace = TargetDom.vspace + AddYPoint
End If

AddPoint = 0
End Function


&#039;仮想キーコード
Const VK_RIGHT = 39
Const VK_LEFT  = 37
Const VK_UP    = 38
Const VK_DOWN  = 40
Const VK_A     = 65
Const VK_D     = 68

Distance     = 1
DistanceUP   = 1
DistanceDown = -1

&#039;&#039;------------------------------------------------
&#039;&#039;キーイベントハンドラ
&#039;&#039;------------------------------------------------
Sub Body_OnKeyDown()

Select Case Window.Event.KeyCode
Case VK_RIGHT
	KeyEventMove(MOVE_RIGHT)
Case VK_LEFT
	KeyEventMove(MOVE_LEFT)
Case VK_UP
	KeyEventMove(MOVE_UP)
Case VK_DOWN
	KeyEventMove(MOVE_DOWN)
Case VK_A
	KeyEventAddDistance(DistanceDown)
Case VK_D
	KeyEventAddDistance(DistanceUP)
Case Else
	MsgBox(Window.Event.KeyCode)
End Select

End Sub
&#039;&#039;------------------------------------------------
&#039;&#039;移動
&#039;&#039;------------------------------------------------
Sub KeyEventMove(Direction)

Dim Result
Dim Target

Target = &quot;シャボン_bmp&quot;
Result = Move(Target, Direction, Distance)

End Sub

&#039;&#039;------------------------------------------------
&#039;&#039;移動距離増減
&#039;&#039;------------------------------------------------
Sub KeyEventAddDistance(AddDistance)

Distance = Distance + AddDistance

If Distance = 0 Then
	Distance = 1
ElseIf Distance = 11 Then
	Distance = 10
End If

End Sub


&lt;script type=&quot;text/vbscript&quot; src=&quot;Move.vbs&quot;&gt;&lt;/script&gt; 
&lt;script type=&quot;text/vbscript&quot; src=&quot;KeyEvent.vbs&quot;&gt;&lt;/script&gt; 
&lt;script type=&quot;text/vbscript&quot; src=&quot;Thread.vbs&quot;&gt;&lt;/script&gt; 
&lt;script type=&quot;text/vbscript&quot; src=&quot;Graphic.vbs&quot;&gt;&lt;/script&gt; 
&lt;script type=&quot;text/vbscript&quot; src=&quot;File.vbs&quot;&gt;&lt;/script&gt; 

&lt;body id=&quot;Body&quot; name=&quot;Body&quot;&gt;

&lt;div id=&quot;BG&quot; style=&quot;border-style:solid; border-width:0px; width:500px; height:500px; overflow:auto; position:absolute; top:10px; left:10px;&quot;&gt;
&lt;/div&gt;

&lt;div style=&quot;border-style:solid; border-width:1px; width:500px; height:500px; overflow:hidden;position:absolute; top:10px; left:10px;&quot;&gt;
	&lt;img src=&quot;シャボン.bmp&quot; id=&quot;シャボン_bmp&quot; width=&quot;100&quot; height=&quot;100&quot; hspace=&quot;0&quot; vspace=&quot;0&quot;&gt;
&lt;/div&gt;

&lt;/body&gt;


FILE_DIRPATH = &quot;C:\Documents and Settings\979075\デスクトップ\Program\VBScript\bin\test\&quot;

Function ReadFile(FilePath)

Set FSObject = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set ReadFileObject = FSObject.OpenTextFile(FILE_DIRPATH &amp; FilePath, 1)
ReadFile = ReadFileObject.ReadAll
ReadFileObject.Close

End Function


Sub WriteFile(FilePath)

Set FSObject = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WriteFileObject = FSObject.OpenTextFile(FILE_DIRPATH &amp; FilePath, 2, True)
WriteFileObject.Write(&quot;test&quot;)
WriteFileObject.Close

End Sub


Sub DrawBackGround(DrawData)
Dim MyInnerHtml
MyInnerHtml = &quot;&quot;

For DrawDataCnt = 1 To Len(DrawData)
	Select Case Mid(DrawData, DrawDataCnt, 1)
		Case &quot;*&quot;
			MyInnerHtml = MyInnerHtml &amp; &quot;&lt;img src=&quot;&quot;シャボン.bmp&quot;&quot; width=&quot;&quot;100&quot;&quot; height=&quot;&quot;100&quot;&quot; &gt;&quot;
		Case &quot; &quot;
			MyInnerHtml = MyInnerHtml &amp; &quot;&lt;img src=&quot;&quot;&quot;&quot; width=&quot;&quot;100&quot;&quot; height=&quot;&quot;100&quot;&quot; &gt;&quot;
		Case VbCr
			MyInnerHtml = MyInnerHtml &amp; &quot;&lt;/br&gt;&quot;
		Case VbLf
		Case Else
			MsgBox(Mid(DrawData, DrawDataCnt, 1))
	End Select
Next

Document.GetElementById(&quot;BG&quot;).innerHTML = MyInnerHtml
End Sub    </description>
    <dc:date>2011-06-28T13:24:30+09:00</dc:date>
    <utime>1309235070</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/22.html">
    <title>ゆっくりでもできる ファイル入出力</title>
    <link>https://w.atwiki.jp/takeeasy/pages/22.html</link>
    <description>
      -概要
テキストファイルの読み込み・書き込みを行います。(入出力)

-ファイル入出力
ファイル操作の流れは、
ファイルを開く-内容を読み込む(書き込む)-ファイルを閉じる
という流れになります。

以下は、ファイルの入出力を実装したコード例です。

File.vbs
 &#039; パス名は自分の環境に合わせます
 Const FILE_DIRPATH = &quot;C:\Documents and Settings\WHITE\デスクトップ\VBScript\
 
 Function ReadFile(FilePath)
 
 Set FSObject = CreateObject(&quot;Scripting.FileSystemObject&quot;)
 Set ReadFileObject = FSObject.OpenTextFile(FILE_DIRPATH &amp; FilePath, 1)
 ReadFile = ReadFileObject.ReadAll
 ReadFileObject.Close
 
 End Function
 
 
 Sub WriteFile(FilePath)
 
 Set FSObject = CreateObject(&quot;Scripting.FileSystemObject&quot;)
 Set WriteFileObject = FSObject.OpenTextFile(FILE_DIRPATH &amp; FilePath, 2, True)
 WriteFileObject.Write(&quot;test&quot;)
 WriteFileObject.Close
 
 End Sub


まず、テキストファイルを格納しているフォルダのパスを設定します。
パスとはファイルのありかを示しており、
&quot;C:\Documents and Settings\WHITE\デスクトップ\VBScript\
は、Cドライブの下の、Documents and Settingsの下の、…、VBScriptフォルダの下
という意味になります。

Functionは関数を表します。
関数とは、あらかじめ定められた計算式に基づいて、計算結果を返してくれる機構です。
計算結果は関数名ReadFileと同じ名前を持つ変数ReadFileに格納されます。
今回は、ファイルから読み込んだ内容(計算結果)をReadFileに格納しています。    </description>
    <dc:date>2011-06-27T14:33:13+09:00</dc:date>
    <utime>1309152793</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/takeeasy/pages/2.html</link>
    <description>
      -ゆっくりでもできるプログラミング講座
--[[0_はじめに]]
--[[1_MsgBox&gt;ゆっくりでもできる MsgBox]]
--[[2_If文&gt;ゆっくりでもできる If文]]
--[[3_外部参照&gt;ゆっくりでもできる 外部参照]]
--[[4_入力処理&gt;ゆっくりでもできる 入力処理]]
--[[5_SELECT-CASE文&gt;ゆっくりでもできる SELCT-CASE文]]
--[[6_演算子&gt;ゆっくりでもできる 演算子]]
--[[7_定数&gt;ゆっくりでもできる 定数]]
--[[8_スレッド&gt;ゆっくりでもできる スレッド]]    </description>
    <dc:date>2011-06-22T16:24:13+09:00</dc:date>
    <utime>1308727453</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/21.html">
    <title>ゆっくりでもできる スレッド</title>
    <link>https://w.atwiki.jp/takeeasy/pages/21.html</link>
    <description>
      -概要
スレッドを生成し、アニメーションを作成します。

-スレッド
スレッドとは、独立して実行されるプログラムです。
通常のプログラムは一つの流れ(メインのスレッド)で処理されますが、
スレッドを新たに生成することにより、並行してプログラムを実行することが可能です。
これをマルチスレッドとも呼びます。

以下は、タイマーを利用したスレッドの作成例です。


Thread.vbs
 Sub Window_OnLoad
 
 RightMove_OnClick()
 OnLoadTimer = window.SetTimeout(&quot;Window_OnLoad()&quot;, 10)
 
 End Sub


Window_OnLoadは、ウィンドウ(この場合はIEブラウザ)が読み込まれた時点で、
発生するイベントです。
(Windowはもともと存在しているオブジェクトなので、
改めてhtmlに宣言する必要はありません)

SetTimeOutは指定されたミリ秒後に、任意の処理を行う関数です。
今回は10ミリ秒(1秒に100回)Window_OnLoadを呼び出します。
10ミリ秒後に呼び出した後、また、10ミリ秒後に呼び出されることになるので、
Window_OnLoadは無限に呼び出されます。

ここでポイントなのは、最初に10ミリ秒後に呼び出す命令を出した後、
サブルーチンが終了していることです。
これにより、メインのスレッドへコントロールが変えることになり、
以降の処理は、Window_OnLoad内で独立して実行されます。(スレッド化)

変数OnLoadTimerには、作成したタイマーのIDが代入されますが、
今回は扱わないので省略します。

#comment    </description>
    <dc:date>2011-06-22T16:22:22+09:00</dc:date>
    <utime>1308727342</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/19.html">
    <title>ゆっくりでもできる 演算子</title>
    <link>https://w.atwiki.jp/takeeasy/pages/19.html</link>
    <description>
      -概要
演算子を使って足し算と引き算を行います。

-演算子
演算子はいくつかの記号で構成され、
計算や論理的な記述を行うときに用いられます。
例：+,-,*,/,=,&lt;,&amp;&amp;,||...etc

以下は(+)を使って足し算、
(-)を使って引き算を行う例です。


Move.vbs
	Sub RightMove_OnClick
	X_POINT = Document.GetElementById(&quot;ゆっくり_png&quot;).hspace
	Document.GetElementById(&quot;ゆっくり_png&quot;).hspace = X_POINT + 100
	End Sub
 
	Sub LeftMove_OnClick
	X_POINT = Document.GetElementById(&quot;ゆっくり_png&quot;).hspace
	Document.GetElementById(&quot;ゆっくり_png&quot;).hspace = X_POINT - 100
	End Sub
 
	Sub UpMove_OnClick
	Y_POINT = Document.GetElementById(&quot;ゆっくり_png&quot;).vspace
	Document.GetElementById(&quot;ゆっくり_png&quot;).vspace = Y_POINT - 100
	End Sub
 
	Sub DownMove_OnClick
	Y_POINT = Document.GetElementById(&quot;ゆっくり_png&quot;).vspace
	Document.GetElementById(&quot;ゆっくり_png&quot;).vspace = Y_POINT + 100
	End Sub


DOMを使ってhspace属性とvspace属性にアクセスしています。
hspace:横の空白の長さ
vspace:縦の空白の長さ


Animation.html
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Move.vbs&quot;&gt;&lt;/script&gt; 
 
 &lt;input type=&quot;button&quot; value=&quot;Right&quot; name=&quot;RightMove&quot;&gt;
 &lt;input type=&quot;button&quot; value=&quot;Left&quot;  name=&quot;LeftMove&quot;&gt;
 &lt;/br&gt;
 &lt;input type=&quot;button&quot; value=&quot;UP&quot;    name=&quot;UpMove&quot;&gt;
 &lt;input type=&quot;button&quot; value=&quot;Down&quot;  name=&quot;DownMove&quot;&gt;
 &lt;/br&gt;
 
 &lt;img src=&quot;ゆっくり.png&quot; id=&quot;ゆっくり_png&quot; width=&quot;100&quot; height=&quot;100&quot; hspace=&quot;0&quot; vspace=&quot;0&quot;&gt;


おまけ
hspaceやvspace等、
タグには様々な属性を持っているものがあるので、
興味のある方は、「htmlタグ」等のキーワードでggrってみるとおもしろいです。

#comment    </description>
    <dc:date>2011-06-21T09:45:15+09:00</dc:date>
    <utime>1308617115</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/20.html">
    <title>ゆっくりでもできる 定数</title>
    <link>https://w.atwiki.jp/takeeasy/pages/20.html</link>
    <description>
      -概要
仮想キーコードを定義した、定数を作成します。


-定数
定数は値が変化しない領域です。
宣言時に値を代入したあとは、プログラム中で別の値を代入することはできません。

定数を宣言するときは、
Const修飾子を使います。(Constは Constant:定数 の略)
例: Const THREE_SEVEN = 777, Const DirPath = &quot;C:/File/Test/&quot;

以下は実際に定数を宣言した例です。


KeyEvent.vbs
	&#039;仮想キーコード
	Const VK_RIGHT = 39
	Const VK_LEFT  = 37
	Const VK_UP    = 38
	Const VK_DOWN  = 40
  
	Sub Body_OnKeyDown
		Select Case Window.Event.KeyCode
		Case VK_RIGHT
			RightMove_OnClick()
		Case VK_LEFT
			LeftMove_OnClick()
		Case VK_UP
			UPMove_OnClick()
		Case VK_DOWN
			DownMove_OnClick()
		Case Else
			MsgBox(Window.Event.KeyCode)
		End Select
	End Sub


今回はOnClickではなく、OnKeyDownイベントをトリガーにしています。
これは、キーボードのキーが押されたときに発生するイベントです。

Window.Eventはイベントハンドラ中で使用できるイベントオブジェクトです。
この場合は、OnKeyDown時に関わる様々な情報を保持しており、
Window.Event.KeyCodeでキーボードから押されたキー情報を取得しています

キー情報は仮想キーと呼ばれる、数値情報で表されます。
例えば、(→)が押された場合は39という数値情報が格納されています。

なお、今回は仮想キーを定数で定義しましたが、
仮想キーの定数がデフォルトで宣言されている言語もあるので、
事前に調査する必要があります。(よくつかわれる言語では宣言してあるものの方が多いかも)


-BODYタグ
今回はイベントの発信源としてBODYを使います。
BODYタグはhtmlを構成する３大タグのひとつで、
テキストやボタン等の表示範囲を表す、最も大きな枠組みです。


Animation.vbs 
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Move.vbs&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/vbscript&quot; src=&quot;KeyEvent.vbs&quot;&gt;&lt;/script&gt;
 
 &lt;body id=&quot;Body&quot; name=&quot;Body&quot;&gt;
 
 &lt;input type=&quot;button&quot; value=&quot;右&quot; name=&quot;RightMove&quot;&gt;
 &lt;input type=&quot;button&quot; value=&quot;左&quot; name=&quot;LeftMove&quot;&gt;
 &lt;/br&gt;
 &lt;input type=&quot;button&quot; value=&quot;上&quot; name=&quot;UPMove&quot;&gt;
 &lt;input type=&quot;button&quot; value=&quot;下&quot; name=&quot;DownMove&quot;&gt;
 &lt;/br&gt;
 &lt;img src=&quot;ゆっくり.png&quot; id=&quot;ゆっくり_png&quot; width=&quot;100&quot; height=&quot;100&quot; hspace=&quot;0&quot; vspace=&quot;0&quot;&gt;
 
 &lt;/body&gt;


おまけ
プログラミングの用語にリファクタリングというのがあります。
これはプログラムを研磨し、よりよいものにする作業です。

プログラムはとりあえず動けばいいと思うかもしれませんが、
後々後悔する時がやってきます。

ここまであまりプログラムの構造とかは意識していませんが、
そのうちリファクタリング回を開こうと思います。

#comment    </description>
    <dc:date>2011-06-21T09:43:46+09:00</dc:date>
    <utime>1308617026</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/15.html">
    <title>ゆっくりでもできる 外部参照</title>
    <link>https://w.atwiki.jp/takeeasy/pages/15.html</link>
    <description>
      -概要
vbsファイルを外部ファイルから参照する。
クリックイベントを受け取り、外部ファイルの処理を実行する


-外部参照
外部参照とは、別のファイルに記述されたプログラムを読み取り、
利用するための技術です。

VBScriptには、デフォルトで外部ファイルを参照する機能はありません。
(自分で実装することはできますが、ここでは省略します。)
HTMLを利用してvbsファイルを外部参照してみます。(Message.htmlを参照)

HTMLは最も身近なコンピューター言語のひとつで、
例えばこのサイトもHTMLで構成されています。
(「右クリックコンテキストメニュー」-「ソースの表示」を選択すると分かります)


Message.html
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Message.vbs&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/vbscript&quot; src=&quot;GameMessage.vbs&quot;&gt;&lt;/script&gt; 


HTML等のマークアップ言語の特徴として、「タグ」という概念があります。
タグは&lt;&gt;で囲まれ、様々な機能を持っています。

今回は、&lt;script&gt;タグを利用して、HTML内でスクリプト言語を使用します。
script要素のtype属性にVBScriptを指定し、
src属性に外部参照するファイル名を指定します。(srcはSourceの略です。)


-イベントハンドラ
外部参照だけでは、VBSciptのコードを読み取っているだけなので、
ボタンがクリックされるイベントをトリガーに、
VBScriptのコードを実行します。(Message.html-2を参照)


Message.html-2
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Message.vbs&quot;&gt;&lt;/script&gt; 
 &lt;script type=&quot;text/vbscript&quot; src=&quot;GameMessage.vbs&quot;&gt;&lt;/script&gt; 
 
 &lt;input type=&quot;button&quot; value=&quot;会話1&quot; name=&quot;Message&quot;&gt; 
 &lt;input type=&quot;button&quot; value=&quot;会話2&quot; name=&quot;GameMessage&quot;&gt; 


&lt;input&gt;タグを追加しました。
&lt;input&gt;タグは主にGUIを構成するのにつかわれます。
(GUI=グラフィカル ユーザー インターフェースの略で、
視覚的な操作機構、ボタンやアイコン等を表します。)

input要素のtype属性に&quot;button&quot;を指定するとボタンが作成されます。
value属性は、この場合ボタンの上に表示される文字列です。

クリックイベントをハンドルする方法は複数ありますが、
今回はname属性で指定されている対象が、
OnClickイベントを起こした場合をハンドルします。(Message.vbsを参照)


Message.vbs
 Sub Message_OnClick 
 
 MsgBox(&quot;任意の文字列&quot;)
 
 End Sub


Subは戻り値を返さないサブルーチンを表します。
サブルーチンとは、途中に挿入できるコード部品で、
例えば
 MsgBox(&quot;サブルーチン開始&quot;)
 Message_OnClick()
 MsgBox(&quot;サブルーチン終了&quot;)
とすると、「サブルーチン開始」「任意の文字列」「サブルーチン終了」
の順で出力されます。詳しくは長くなるので省略します。

サブルーチンの名前を、「name属性の値_OnClick」にします。
こうすることにより、
任意のname属性のタグでクリックイベントが発生した場合、
このサブルーチンが呼び出されることになります。


-おまけ
&lt;img&gt;タグを使用して、画像を出力します。(Message.html-3を参照)


Message.html-3
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Message.vbs&quot;&gt;&lt;/script&gt; 
 &lt;script type=&quot;text/vbscript&quot; src=&quot;GameMessage.vbs&quot;&gt;&lt;/script&gt; 
 
 &lt;img src=&quot;ゆっくり.png&quot; width=&quot;300&quot; height=&quot;300&quot;&gt; 
 &lt;input type=&quot;button&quot; value=&quot;会話1&quot; name=&quot;Message&quot;&gt; 
 &lt;input type=&quot;button&quot; value=&quot;会話2&quot; name=&quot;GameMessage&quot;&gt; 


img要素のsrc属性で画像ファイルを指定し、
ピクセル単位でwidth(幅)とheight(高さ)を指定します。
(ピクセルはディスプレイに表示できる最小単位です。)


-おまけ2
Ctrl + C で選択範囲をコピー
Ctrl + V で選択範囲(もしくは現在の位置)に張り付け
Ctrl + X で選択範囲を切り取り

いわゆるコピペでよく使うショートカットキーです。

#comment    </description>
    <dc:date>2011-06-16T20:10:16+09:00</dc:date>
    <utime>1308222616</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/18.html">
    <title>0_はじめに</title>
    <link>https://w.atwiki.jp/takeeasy/pages/18.html</link>
    <description>
      プログラミングと聞いて何を連想しますか？
ゲーム？難しい？オタクっぽい？
印象は人それぞれだと思います。

私はプログラミングと聞いて魔法を連想します。

魔法のように何か不思議な言葉を唱えて、
何もないところから現象を引き出すイメージです。

魔法の言葉はプログラミング言語であり、
魔法使いの杖はテキストエディタです。
無限に思える知識の塊、賢者の石はネットであり、
望むならすべての人に門を開くでしょう。なんてね。

プログラミングの世界はとても広大で、
私にはどこまで続いているか見当もつきませんが、
しばしの間、一緒にこの世界を冒険してみませんか？    </description>
    <dc:date>2011-06-16T19:59:20+09:00</dc:date>
    <utime>1308221960</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/16.html">
    <title>ゆっくりでもできる 入力処理</title>
    <link>https://w.atwiki.jp/takeeasy/pages/16.html</link>
    <description>
      -概要
外部から入力された値を処理します。


-テキストボックス
入力インターフェースとしてテキストボックスを使用します。


Message.html
 &lt;script type=&quot;text/vbscript&quot; src=&quot;Message.vbs&quot;&gt;&lt;/script&gt; 
 &lt;script type=&quot;text/vbscript&quot; src=&quot;input.vbs&quot;&gt;&lt;/script&gt; 
 
 &lt;img src=&quot;test.png&quot; width=&quot;300&quot; height=&quot;300&quot;&gt; 
 &lt;input type=&quot;button&quot; value=&quot;button1&quot; name=&quot;Message&quot;&gt;&lt;/br&gt; 
 
 入力&lt;/br&gt; 
 &lt;input type=&quot;text&quot; id =&quot;InputText&quot; value=&quot;&quot; name=&quot;InputText&quot;&gt; 
 &lt;input type=&quot;button&quot; value=&quot;入力&quot; name=&quot;Input&quot;&gt;&lt;/br&gt; 
 
 
&lt;br&gt;タグは改行を表します。(br=Breakの略) 
input要素のtype属性に&quot;text&quot;を指定します。
id属性は、要素を一意に示すIDです。
要素にアクセスしたいときに分かりやすい名前を付けてください。


-ドム
HTMLの要素にアクセスするときは、DOMを使います。
DOMはDocument Object Model の略で、
id属性やname,tag属性等から要素にアクセスして、様々な操作を行うことができます。

今回はID属性を指定して、テキストボックスの要素にアクセスし、
入力されている値(value)を取得します。


Input.vbs
 Sub Input_OnClick
 
 Dim Text 
 Text = Document.GetElementById(&quot;InputTetx&quot;).value
 MsgBox(Text) 
 
 End Sub

変数TextにDOMで取得した値を代入し、メッセージ出力します。
GetElementById(&quot;任意のID属性値&quot;)で、IDを指定して任意の要素にアクセスできます。
同様に、GetElementsByNameやGetElementsByTagName等でもアクセスできますが、
ここでは省略します。


-おまけ
Document.GetEle…とかなんとか、やたらと長いですよね。

このながーいスペルは別に記憶する必要はありません。
なんとなく感覚でこういうのがあると知っていれば、
ggrってコピペするだけでいいです。

あるいは、あらかじめコピペ用のテキストを作るとか(スニペットとか)
自分専用の関数を作成するのも手です。

ここでは詳しく述べませんが、
こういったノウハウはいろいろあるので、
なるべく楽な方法を考えるといいですね。

#comment    </description>
    <dc:date>2011-06-16T15:18:59+09:00</dc:date>
    <utime>1308205139</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takeeasy/pages/14.html">
    <title>ゆっくりでもできる If文</title>
    <link>https://w.atwiki.jp/takeeasy/pages/14.html</link>
    <description>
      -概要
If文を使った条件分岐を行います。


-If文
If 条件 Then
処理１
Else
処理2
End If

上記は、
「もし 条件が正しいなら、処理1を行い」
「それ以外の場合は処理2を行う」
という意味になります。

GameMessage.vbsはIf文の実装例です。


GameMessage.vbs
 Dim MsgBoxResult 
 MsgBoxResult = MsgBox(&quot;世界の半分をお前にやろう&quot;, vbYesNo) 
 
 Dim Msg 
 If MsgBoxResult = vbYes Then 
 Msg = &quot;GAME OVER&quot;
 Else 
 Msg = &quot;おろかものめ！ おもいしるがいい!&quot;
 End If 
 
 MsgBox(Msg) 


DimはDimension (次元) の略で、
変数を宣言するのに使われます。

変数とは任意の値を保持する領域です。
例えば、変数MsgBoxResult には MsgBoxの実行結果が保持され、
変数Msgには任意の文字列が代入されます。

MsgBoxの実行結果は、
vbYes(はいが選択された場合)かvbNo(いいえが選択された場合)が入ります。
なぜこの値が代入されるかというと、
関数の戻り値を受け取っているためですが、ここでは省略します。

If文では変数MsgBoxResultの値が、
vbYes(はいが選択された場合)か、それ以外かを判定し、
変数Msgに任意の文字列を代入します。

変数Msgに代入された文字列を出力確認して終了です。


-おまけ
Ctrl + z 元に戻す

時を操る強力なショートカットキーです。

#comment    </description>
    <dc:date>2011-06-16T15:17:48+09:00</dc:date>
    <utime>1308205068</utime>
  </item>
  </rdf:RDF>
