SSブログ

JavaScriptのデータベースを作るVBS [スクリプト言語など]

'------------------------------
Dim fso,f,f1,fc,s,n,ps,NwStr,fph,exn,pfLen,Hp,nStr,UserExn
UserExn="jpg"

Function Rep(patrn, St,stx)
Dim A
Set A = New RegExp
A.Pattern = patrn
A.IgnoreCase = True
A.Global = True
Set C = A.Execute(stx)
For Each B in C
Rep = A.Replace(stx, St)
Next
End Function

Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
ps=objArgs(I)
Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(ps)
Set fc = f.Files
n=-1
For Each f1 in fc
exn = fso.GetExtensionName(f1)
if Lcase(exn) = Lcase(UserExn) then

pfLen=InStrRev(f1.ParentFolder,"¥")
fph=f1.Path
NwStr = Left(fph, pfLen)
fph = Rep("¥¥", "/",fph)
hnp=Len(fph)-Len(NwStr)
Hp=Right(fph,hnp)
n=n+1

s = s & "jsDB[" & n &"]=" & Chr(34) & "./" & Hp & Chr(34) & VbCrLf
end if
Next
nStr = Left(Hp, Len(f.Name))
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile(f.ParentFolder&"¥"&nStr&"_jsDB.js",True)
f1.WriteLine (s)
f1.Close

MBX = Msgbox (" ・・・ 合計 " & n+1 & " 個 の対象ファイルがありました。" & VbCrLf & VbCrLf & f.ParentFolder & "¥" & nStr & "_jsDB.js " & VbCrLf & VbCrLf &" への配列保存が完了しました。!!", 64,"■ JavaScriptのデータベース作成 by グッピー")
'---------------------------------

・・・以上をマルコピして 「 データベース作成.VBS 」ファイルに貼り付けて保存します。フォルダーをこのVBSファイルへドラッグすると、直層の "jpg" ファイルのみを検索し、配列し、そのフォルダ名でJavaScript のデータベースを作ってくれます。

このデータベースは、HTMLから呼び出しできるので、構文中で、例えば・・・

‹html›
‹body onload="chgBG()"›
‹SCRIPT Language="JavaScript"›‹!--
jsDB = new Array();
n=-1;
timerID=0;
function chgBG()
{ n = n+1;
var jsDBn=jsDB[n];
if(jsDBn == undefined ) status="更新すると再スタートしますよ。";
else status="★ " +n+" : "+jsDB[n];

BG.innerHTML = "‹img src="+jsDB[n]+" name=myIg ›";
clearTimeout(timerID);
timerID = setTimeout("chgBG()",3000); }
// --›‹/SCRIPT›

‹span id=BG›‹img src="hanayoridango.jpg" name=myIg ›‹/span›
‹Script Language='JavaScript' SRC='./○○○_jsDB.js'›‹/Script›
‹/body›
‹/html›

のようにすると順番に表示するビューアが完成します。timerIDによるもっとも簡単な構造です。エンドレスでループさせるにはもっと工夫が必要になりますですよね。ハイ!! 
                        グッジョブ (^0_0^)
 ・
 ・
 ・
 ・
 ・
として終わってしまうのもなんですので、では簡単に・・
undefined の条件文のところを

{ status="更新すると再スタートしますよ。"; }
から
{ window.location.href = window.location; }

とするだけでも、永久にループしてくれますよね。 (;一_一)
 ※くれぐれお気をつけて・・


nice!(3)  コメント(1)  トラックバック(0) 

nice! 3

コメント 1

うっぴぃ〜

(。・_・。)2kさま、marimariさま、keyさま、いつもナイスありがとうございます。
by うっぴぃ〜 (2007-04-30 05:40) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0