SSブログ

指定した間隔でカラーコードを作成する関数(再帰的プログラム)のサンプル VBScript [VBScript]

各桁が3,9,Fの16進数で組み合わされたカラーコードを作成し配列で出力する関数の例です。Sub(サブルーチン)で作成されるのが多い再帰的プログラムをFunctionで作成してみました。

スポンサーリンク

サンプルプログラム



Function hex39F(cmpS,c)
	Dim	numS
	Dim	num6, d
  ReDim	num6(0)		'配列の宣言
	Dim	m
		m	= -1

	For	d = 3 To 15 Step 6
		cmpS(c)	= hex(d) & hex(d)	'数字を16進数に変換する

		If	c < UBound(cmpS) Then	'まだ3回ネストを繰り返していなければ
			numS	= hex39F(cmpS,c+1)
'd			objLOG.WriteLine(Join(numS,";"))
			If	UBound(num6) = 0 Then	'最初の出力であれば
				num6	= numS					'連結処理なし→配列を代入する
			Else
				num6	= concatARY(num6,numS)	'2回目以降は配列を連結していく
			End	If
		Else
			If	cmpS(0) <> cmpS(2) Then		'前後2桁のコードが同じものは弾く
				m		= m + 1
				ReDim	Preserve num6(m)	'配列の大きさを1つずつ大きくしていく
				num6(m)	= "#"& Join(cmpS,"")
'd				objLOG.WriteLine(m &":"& Join(cmpS,""))
			End	If
		End	If
	Next

	hex39F	= num6
End	Function



concatARY関数は、2つの1次元配列を連結する独自関数です。

出力結果


#333333
#333399
#3333FF
#339933
#339999
#3399FF
#33FF33
#33FF99
#33FFFF
#993333
#993399
#9933FF
#999933
#999999
#9999FF
#99FF33
#99FF99
#99FFFF
#FF3333
#FF3399
#FF33FF
#FF9933
#FF9999
#FF99FF
#FFFF33
#FFFF99
#FFFFFF

スポンサーリンク

concatARY関数


2つの1次元配列をの結合する関数です。

・inARY1:結合する配列1
・inARY2:結合する配列2
・outARY:戻り値。結合した配列

Function concatARY(inARY1,inARY2)
	Dim UB1, UB2
		UB1	= UBound(inARY1)
		UB2	= UBound(inARY2)

	Dim	outARY
  ReDim outARY(UB1+UB2+1)
	Dim a
	For a = 0 To UB1
		outARY(a)	= inARY1(a)
	Next

	For a = 0 To UB2
		outARY(UB1+1+a)	= inARY2(a)
	Next

	concatARY	= outARY
End Function


スポンサーリンク


関連記事


指定した間隔でカラーコードを作成する関数(再帰的プログラム)のサンプル VBScript


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

グーグルチャート 折れ線グラフ(2本) [Google]





nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

別ページ(同サーバー内)情報の自動表示テスト [テスト]






nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

JavaScriptで別ページの一部の要素を読み込む方法 [テスト]

下記のJavaScriptを実行すると、同一サーバーにある'vbs-re0001'というページにある、最初のh3ヘッダー「連続する数字を取得する」を取得し、このページでタイトルを表示する。

<script type="text/javascript"> <!-- setTimeout("funalert()",0); function funalert(){ var objXHR = new XMLHttpRequest(); objXHR.open('GET', 'vbs-re0001', true); //true:非同期通信 vbs-re0001ページを対象にして objXHR.onreadystatechange = function(){ //読み込みの状態が変化したときの処理 if (objXHR.readyState === 4 && objXHR.status === 200){ var res = document.getElementById('xhr-div'); var str = objXHR.responseText; //読み込んだHTMLをHTMLで処理 res.innerHTML = str.match(/<h3 id="1" class="h3bar">.+?<\/h3>/); } }; objXHR.send(null); //リクエストの送信 }; //--> </script> <div id="xhr-div"></div>

【実行した結果】




nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

グーグルチャート 折れ線グラフ(1本) [Google]





nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

グーグルチャート 折れ線グラフ(2本) [Google]





nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

カラーローソクチャート2a [テスト]




nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

カラーローソクチャート2 [テスト]





nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

カラーのローソクチャート [テスト]




nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。