スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
自転車と本とJS
[bthClr] 1から
[bthClr] 0に変更しておくと、
var IniData = function(p,x,c,t,b){オブジェクトを初期化しておいて
this.edtPth = p;
this.extNam = x;
this.cpyOpt = c;
this.pstTxt = t;
this.bthClr = b;
}
var ini = new IniData("未設定",["txt","ini","log","js","css"],parseInt(80),1,1);起動時のINIファイル読み込みでini.bthClrプロパティに格納します。
while(!f.AtEndOfStream){パラメータのflgは0:左、2:右、1:左右ですが、ini.bthClrプロパティが0ならflgを1に上書きせず、左か右のどちらかのみ処理するようになります。
ars = f.ReadLine().split(/\t/);
switch(ars[0]){
case"[bthClr]": if(ars[1]) ini.bthClr = parseInt(ars[1]);
}
}
function loadItms(flg){
if(ini.bthClr) flg = 1;
if(flg < 2){左ペイン処理...}
if(flg > 0){右ペイン処理...}
}
with(document.body) onkeydown = handleKeydown;textboxに入力された値をonkeydownで取得すると、htaではその入力が取れませんでした。
function handleKeydown(){そのsetTimeout、待ちを0秒でsetTimeoutするのはなぜかといと、たとえば画面に「loading中...」と表示させてから次の処理をsetTimeoutし、処理の順序を明示的に最後尾に指定することで、htaで非同期処理的に画面を更新されているように見せることができます。
setTimeout('loadItms()',0);
}
function loadItms(){
createItmsHtML();
}
function createItmsHtML(){検索入力textboxのfilterLstBoxが表示されていたら、その値をnew RegExp()してreに入れています。その後、ファイルやフォルダのコレクションでhtmlを組み立てるループの中でre.test()しています。
if(document.all.filterLstBox){
rhtStatsbar.innerText ="";
try{
var re = filterLstBox.value ? new RegExp(filterLstBox.value,'i') : /./
}catch(e){
filterLstBox.style.backgroundColor='#d8efff';
return rhtStatsbar.innerText = " "+e.description
}
filterLstBox.style.backgroundColor="";
for(var fc=new Enumerator(erfo.Items()); !fc.atEnd(); fc.moveNext()){
if(re) if(!re.test(itm)) continue;
...
}
}
}