お前ら、wsh使ってますか? part6 at WIN
[2ch|▼Menu]
[前50を表示]
300:名無し~3.EXE
06/12/02 20:48:03 0XNYfzVD
WScript.ShellのPopup(,nSecondsToWait)が効かないってことありませんか?
HTMLやHTAのときは、そういう仕様か、と思っていましたが、WSHでも起こります。
どうもCPUが他の処理で忙しいときに抜けるみたいです。
さすがに、それは障害だと思いますが。使うときはご用心。

301:名無し~3.EXE
06/12/07 15:43:36 EC5LjnO7
>>282
こういうときは、WSHからIEを起こして操作するのが簡単。

302:名無し~3.EXE
06/12/09 18:45:02 P6CN1pgP
バッチファイルをリモートからWebに埋め込んで使う
ということをwsh使ってできますか?

303:名無し~3.EXE
06/12/09 19:13:49 pifhS49b
うん、出来る。。面倒だから普通はやらないけど。
どうしても面倒なことやりたいなら勝手にやればよい。

304:名無し~3.EXE
06/12/09 19:49:26 0qa9SSE3
>302
で、それを知って何をやりたいんだ?

305:名無し~3.EXE
06/12/10 00:08:13 UaBqXVVZ
>>296
それより、RunWithArgs.CMDを関連付けると、便利だわい。


306:名無し~3.EXE
06/12/11 22:02:52 YncVWVUZ
age

307:名無し~3.EXE
06/12/13 14:27:42 /++eaESB
WSHでDDE使う方法ないかな?

308:名無し~3.EXE
06/12/13 15:44:43 npJjnYln
>>307
DDE使えるCOMを探すか作る。

そんな回答アリかよ、と言うかも知れないが
拡張無しにWSH自身が出来る事なんてほとんど無いんだから
COMなどの外部拡張に頼らざるを得ないのは仕方ない。

309:名無し~3.EXE
06/12/13 16:38:28 5aDfYNEq
VBScript(.vbs)からExcelを操作して文字列の置換をしたいんですが、ループでセルを一つずつ見て置換していくしかないのでしょうか?

Excelの置換ダイアログみたいに一括でブック全体を置換したいんですが。

ちなみに優先順位としては
処理スピード > コードの複雑さ
です。

310:名無し~3.EXE
06/12/13 17:06:25 npJjnYln
>>309
RangeメンバのReplaceメソッドで置換すれば良いだけだよ。
Replaceメソッドの使い方はExcelVBAヘルプに載ってる。
因みに組み込み関数のReplaceじゃないので間違わないように。

ちなみに対象のシートオブジェクトを取得したら、置換は1行コードで終わる。
ループよりは速いが、どのくらい速いかはCPU依存。

311:名無し~3.EXE
06/12/13 17:48:44 5aDfYNEq
>>310
ありがとうございました!標準オプションなら↓だけで行けますね。

objApp.ActiveSheet.Range("A1").Replace <検索文字列>, <置換文字列>

後は各シートでコレを実行させました。十分実用に耐えるスピードです。

312:名無し~3.EXE
06/12/13 22:14:37 hw3Bn7Em
IEから右クリックで動作させるスクリプトなんですが、
その右クリックされた場所にある画像のURL(リンクではなくIMGタグ)
を取得するにはどうすればいいでしょうか?

313:名無し~3.EXE
06/12/13 22:49:12 qNFDZs3m
external.menuArguments.document.elementFromPoint(external.menuArguments.event.clientX, external.menuArguments.event.clientY).href
らしい。Irvine のスクリプトによると。

314:312
06/12/14 00:28:11 7FtNx5qL
>>313
ありがとうございます

315:名無し~3.EXE
06/12/14 00:29:42 DjAdsCMN
InternetExplorer.Applicationとかの情報ってWSHのリファレンスに
のってないけど、どっから情報獲ってくるんだ?

316:名無し~3.EXE
06/12/14 00:42:56 WjQ1wjr4
IE オブジェクトなら MSDN にいくらでもあるっしょ

317:名無し~3.EXE
06/12/14 01:39:10 XilSwh1W
>>315
つ OLEView.exe


318:名無し~3.EXE
06/12/17 09:32:44 A0dC8xU5
以下のようにした場合、メッセージボックス(?)が表示される前に
コマンドプロンプト・ウインドウが表示されるのですが、結果の
メッセージだけを表示させるにはどうすれば… ?

Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objExecCmd = objWshShell.Exec("ruby\bin\ruby -Ks search.rb")
WScript.Echo "検索結果:" & objExecCmd.StdOut.ReadAll


319:名無し~3.EXE
06/12/17 11:44:36 H95I1sD8
rubyw.exe

320:名無し~3.EXE
06/12/17 14:04:16 A0dC8xU5
>>319 ギガddd!

321:スレッドを超えたコテハン
06/12/17 15:02:58 EP+mDiGm
WSCの場合は、プロパティで定数を公開して、wsc.nameで定数を参照したほうが、
衝突の心配がないし、WSFだけでなく、VBSやJSでも使えてよさそうですが、
もし、nameだけで、参照したいときは、WSC側でreferenceメソッド作って、
function reference(Me){
Me['xxx']=111;
Me['yyy']=222;
}
VBS側で
wsc.reference me
WScript.Echo xxx
JS側で
wsc.reference(this);
WScript.Echo(xxx);
とすれば、WSFだけでなく、VBSやJSからも使えます。

322:名無し~3.EXE
06/12/18 14:59:23 P40MScLH
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。

今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
よろしくお願いします。

Set IE = WScript.CreateObject("InternetExplorer.Application","IE_")
Set sShell = WScript.CreateObject("WScript.Shell")
sShell.AppActivate("ブラウザのwebページのタイトル文字列")
sShell.SendKeys "ほげほげ"

参考にしたページ
URLリンク(www.atmarkit.co.jp)
> 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。



323:名無し~3.EXE
06/12/19 21:38:05 4I7Im65l
マルチするならせめて一言断り入れとけよ。あとリンク。

つか IE オブジェクト使うなら大凡の操作は可能だと思うのだが。わざわざ SendKeys 使わんでも。

324:名無し~3.EXE
06/12/20 02:32:54 mM03wtmE
>>323
ファイルの指定したいんじゃないかな?
予想だけど。

>>322
<input type="file">以外の入力をしたいのなら、SendKeysなんて不安定なもの使わなくても
Document.Allで取得したHTML要素のオブジェクトを直接操作できるよ。
DHTML関係で調べると情報が見つかると思う。

<input type="file">だけはセキュリティだか何だかで値を設定できないから仕方ないけど。

325:名無し~3.EXE
06/12/20 10:45:02 RqDSiDAq
>>324
そうです。
SendKeys "%(FA)"とかでセーブしたり印刷などダイアログ操作もしたいんです。


326:名無し~3.EXE
06/12/20 13:00:07 mrdk27Jg
>>322
WMI を使う。
URLリンク(www.microsoft.com)


327:名無し~3.EXE
06/12/20 14:15:14 RqDSiDAq
>>326
ありがとうございます。
IEが複数起動してた場合や別プロセスにチェックあった場合とかで試してレポートしますね。



328:名無し~3.EXE
06/12/20 19:15:52 AUSJGC40
あっちのスレで質問に答えてる人が、こっちのスレを見たらどう思うだろうね。逆はどうだろう。
マルチするやつは、想像力のかけらもない、人を思いやる事のできない、最低の人種。

329:名無し~3.EXE
06/12/20 21:56:05 hALWCcKZ
痛い人はっけん伝

330:スレッドを超えたコテハン
06/12/21 00:13:52 Agf2Nj7H
>>328
というか、マルチの問題は、回答者の善意が無駄に捨てられていることだと思う。
そして、それが、本人より、それを見ているひとを刺激するのだと思う。

331:名無し~3.EXE
06/12/22 15:58:35 JvRzts1c
パワーポイントに画像
1.jpg 2.jpg...
を並べて貼るのって自動化できないの?

332:名無し~3.EXE
06/12/22 23:04:54 jt8/BZlk
マクロ書けばいいんじゃないのか?

333:名無し~3.EXE
06/12/23 12:28:39 0ryoXlyK
html で書いて読み込みとか

334:名無し~3.EXE
06/12/23 14:14:29 N/gLsGdS
SendKeys()は?

335:名無し~3.EXE
06/12/26 16:17:49 MwEmWwE0
>>103
つ subst

336:名無し~3.EXE
06/12/26 19:21:31 YnXAl3Sk
質問させて下さい。

var obFS,obFOL,colFile;
var timestamp = "";

obFS = WScript.CreateObject("Scripting.FileSystemObject");
obFOL = obFS.GetFolder("f:\\");
colFile = obFOL.Files;

var x = new Enumerator(colFILE);

for(; !x.atEnd(); x.moveNext()){
timestamp = x.item().DateCreated
}

というコードを実行すると、
timestampに"Wed Nov 29 19:35:35 UTC+0900 2006"というようなのが返ってくるのですが、
ここからyyyymmddという形式の文字列を取り出すにはどうしたらよいのでしょうか。



337:名無し~3.EXE
06/12/26 19:23:16 YnXAl3Sk
↑環境はXPSP2、Windows Script5.6です。

338:名無し~3.EXE
06/12/26 19:55:35 TReychuT
>>336
Dateオブジェクトの扱い方について学びましょう。
リファレンスにも載ってますよ。

339:名無し~3.EXE
06/12/26 19:57:26 YnXAl3Sk
>338

var timestamp = new Date(x.item().DateCreated);
ですね。いろいろいじっていたら閃きました。

340:名無し~3.EXE
06/12/27 01:45:26 uErdji5h
既に開いてある IE のウィンドウのオブジェクトを、
子ウィンドウかどうかに関係なく所得するにはどうしたらいいでしょうか?

341:名無し~3.EXE
06/12/27 11:51:57 lsopXQRq
>>340
Set IEShell = CreateObject("Shell.Application")
num = IEShell.Windows.Count
For i = 0 to num - 1
WinName = IEShell.Windows.Item(i).LocationName
WinPath = IEShell.Windows.Item(i).LocationURL
Document.write "<tr><td>" & WinName & "</td>"
Document.write "<td>" & WinPath & "</td></tr>"
Next

こんなんでどお?


342:名無し~3.EXE
06/12/27 18:21:28 Z9+O0XhD
>>327
レポートはどうしたんだろう?

343:名無し~3.EXE
07/01/04 09:48:15 pQA4Aeed
少し前に、vbscriptをコンソール実行するのにcscript.exeに関連付けした.vbcというのを用意するという話があったけど
これと同じように.wsfのコンソール実行版として.csfをcscript.exeに関連付けしたいんだけど、どうしたらいい?

単純に%SystemRoot%\System32\cscript.exe "%1" %*じゃエラーになるし、//Eに何を指定したら良いのか解らずお手上げ状態
wsfにはcscript.exeも関連付けされてるが、右クリックメニューからの選択は煩わしいのでvbcみたいに既定関連付けにしたいし
cscript.exeで実行し直すスクリプト(>>294のvbs版のようなもの)を書いてみたりもしたけど、やはり関連付けしちゃったほうがスッキリするので

344:名無し~3.EXE
07/01/05 11:38:36 IRXk0L1E
普通に%SystemRoot%\System32\CScript.exe "%1" %*でいけるだろ?

ちゃんとREG_EXPAND_SZにしてるか?


345:名無し~3.EXE
07/01/06 22:39:45 5TwI70x6
>>344
.wsfをcscript.exeに関連付けするんじゃなくて.csf(独自拡張子)をcscript.exeに関連付けする場合ですよ
本当に%SystemRoot%\System32\CScript.exe "%1" %*でスクリプトとして実行される?

こちらはちゃんとREG_EXPAND_SZにしてるし、cscript.exeやwscript.exeに直接D&Dしても同じメッセージが出るので
パスはきちんと通ってるし、コマンドも渡ってる

346:名無し~3.EXE
07/01/07 02:58:46 Jlib32pI
>>345
D&Dならこれじゃないの。

[HKEY_CLASSES_ROOT\WSFFile\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

しかし、cscriptでD&Dとはこれ如何に…

347:名無し~3.EXE
07/01/07 06:47:22 bXPc+IQY
>>343
うちもエラーが出る。メッセージは↓だろ。
> ファイル拡張子 ".csf" を持つスクリプト エンジンはありません。
解決方法はわからん。

>>346
スクリプトファイルにD&Dしたいんじゃなくて、
「スクリプトエンジンにD&Dしても同じエラーが出るから
関連付けのパスは間違ってないですよ」ってことだろ。

348:名無し~3.EXE
07/01/07 14:19:39 sB9LNE5a
画像の容量やサイズを取得しJavaScriptで利用するにはどうしたらいいですか?

349:名無し~3.EXE
07/01/07 14:30:59 zkbC9oLK
>>348
>>3の doodle とか使えるんじゃない

350:名無し~3.EXE
07/01/07 17:31:26 F4E+azH/
'標準的なJPEGファイルの画像サイズ取得
GetJpegSize "sample.jpg", x, y
WScript.Echo "X=" & x & " Y=" & y
Function GetJpegSize(filename, ByRef x, ByRef y)
Set oStrm = CreateObject("ADODB.Stream")
oStrm.Open
oStrm.Type = 1 'adTypeBinary
oStrm.LoadFromFile filename
Do While (CvNum(oStrm.Read(1)) = &hFF)
Select Case CvNum(oStrm.Read(1))
Case &hD8 'SOI
Case &hD9 'EOI
Exit Do
Case &hC0 'SOF0
length = CvNum(oStrm.Read(2))
oStrm.Read(1)
y = CvNum(oStrm.Read(2))
x = CvNum(oStrm.Read(2))
Exit Do
Case &hDA 'SOS
Exit Do
Case Else
length = CvNum(oStrm.Read(2))
oStrm.Read(length - 2)
End Select
Loop
End Function
Function CvNum(bstr) ' BigEndian
For i = 1 To LenB(bstr)
CvNum = CvNum * 256 + AscB(MidB(bstr, i, 1))
Next
End Function

351:名無し~3.EXE
07/01/07 18:57:51 v/viW2rY
>>346
DropHandlerは既に設定してあるけど、問題はそこじゃないので

>>347
エラーメッセージはそれです

cscript.exe /?を見ても、//Eオプションの意味は書いてあるんだけど//Eオプションに設定出来る値とかは書いてないんだよね
.wsf形式は固定エンジンじゃないけど.vbcも//E無しで関連付けすると同じエラーが出て//E:VBSを付けると解決するから
これも//Eで解決しそうな気もするんだけど

352:名無し~3.EXE
07/01/17 20:07:13 0sN+rIEb
(・∀・∀・)
(・∀・)サテオシゴト・・・          ε三三三三(; ・∀・)鯖マデオツカイ
HTTP/1.1 304 Not Modified
( ・∀・)(・∀・ )オツカイオワリ 三三三三3
(・∀・∀・)
( ´∀`) 誰も書いてないよ
(・∀・)カンリョウ!!

353:名無し~3.EXE
07/01/19 16:29:22 e+OFGk5J
下のコードでVistaのファイルのプロパティ調べてみたら
266もあって笑った。
2000/XPだと40もなかったのに

--------------------------------
var WshShell = new ActiveXObject("WScript.Shell");
var oShell = new ActiveXObject("Shell.Application");
var oFol = oShell.NameSpace( "C:\\" );
var str= "";

for( var i = 0; i < 300; i++ )
{
    str += i + ":" + oFol.GetDetailsOf( null, i ) + "\n";
}

WshShell.Popup( str );


354:名無し~3.EXE
07/01/19 18:26:35 QaLFoFFk
WSFはデフォルトをCScript.exeにする。
WScript.exeで動かしたいときは、ショートカット(.lnk)を作って
リンク先の頭にWScript.exeを入れる。

355:名無し~3.EXE
07/01/19 18:56:22 QaLFoFFk
>>348
>>356の要領で26,27,28がサイズ

356:名無し~3.EXE
07/01/19 18:58:08 QaLFoFFk
訂正
>>353の要領で26,27,28がサイズ

357:名無し~3.EXE
07/01/20 00:20:12 GPpR1ytY
>>353

207:雰囲気


なんじゃこりゃ

358:名無し~3.EXE
07/01/20 02:42:29 ETgywjVO
envionment を直訳したのか?

359:名無し~3.EXE
07/01/20 12:57:54 N7R7pz3V
envionment (なぜか翻訳できない)

360:名無し~3.EXE
07/01/20 14:38:04 UE2i8MKk
//E:のエンジン名は可変だから、
ハードコーディングのcscript /?に書いてある訳ないわな
ヘルプぐらいででわざわざレジストリを検索するのも面倒だし

361:名無し~3.EXE
07/01/20 15:25:54 UE2i8MKk
>>359
ぐぐれ

362:名無し~3.EXE
07/01/20 16:16:36 XJ4mGjq5
>>359
つ r

363:Jscriptで
07/01/20 17:23:56 5Xd7S+Ct
Excel のブック中に、4月〜3月のシート名を持つワークシートがあり、
各シート名内の数字が全角か半角かはあやしいものとする。

セルA6から下方方向に半角数字で日付が記入してあり
対応する日の’C'から'G'のセルに行事予定が記入してある。

今日も含めて3日分の予定を WScript.Echo で表示する。
エクセル.xls ファイルとJscript.js ファイルは、d:\1 フォルダ内に置く。

という条件で、とりあえず動くものを作りましたが、

ここを直した方がスクリプトが簡素になるよとか、
「今日も含めて3日」間が、月の境界の場合は無視しているので
その処理のアイデアとか
コメントを下さい。

URLリンク(a-draw.com)

364:名無し~3.EXE
07/01/20 20:34:48 8DNLMKa6
JScript使い始めて2日目のおいらが、勉強がてらリファレンス読みながら調べたことを書いてみる。

var XLS_FILE = WScript.ScriptFullName.replace(/\\[^\\]+$/, "\\sample.xls");
にすれば"d:\1"以外でも、同一ディレクトリにsample.xlsがあれば動く。

曜日はyday = "日月火水木金土".charAt(yday)の1行で済む。

正規表現使って(reはmonthから"^(?:10|10)月$"のようなパターンを作る)
for(; !sub1.atEnd(); sub1.moveNext()){
  if (sub1.item().Name.match(re) != null){
    sh = sub1.item();
    break;
  }
}
という感じで対象シートを変数に取得しておけば、
while(sumSheatnc.indexOf("1")>-1){ 〜 sumSheatnc.indexOf("月"+month +"月")+1))).Select;
の約50行は不要だし
ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3) を
sh.Cells(i,3) と書ける。
半角数字はcharCodeAt+65248をfromCharCodeすれば全角数字になる

更に
if (ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)>"") event+= ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)+" ";
以下の5行に相当するものが
event = new VBArray(sh.Range(sh.Cells(i,3),sh.Cells(i,7)).Value).toArray().join("\t").replace(/\t+/, " ");
の1行で書ける。(join(" ")でもいいと思うけど)

月越えの処理は、「2007年month月date+1or+2日」のgetMonthがmonthより大きければ次のシートに移る処理を書けば良いのでは?
2007/2/28の場合なら、2007/2/30を指定すれば2007/3/2を返すから、末日が何日かとか考えなくても月を越えたかどうか判断できる。
次のシートはWorksheets(sh.Index+1)って感じで取得すればいい。末尾シートの場合の例外処理をお忘れなく。

365:名無し~3.EXE
07/01/20 23:24:24 slWIhDIN
Excel上にVBAで書いたモジュールを
jsやvbsから呼び出す方法ってあるんですかね?
ぐぐってみたんですけど、わからんのですorz

366:名無し~3.EXE
07/01/20 23:42:48 Lkiodn1p
ネット中毒なっている若者はオナニーでもしておれ!!

367:名無し~3.EXE
07/01/21 14:39:38 fTYEC1jK
>>365
kwsk

368:名無し~3.EXE
07/01/21 16:02:19 ilBf4mqg
>>364
ありがとうございます。参考にさせて頂きます。

正規表現のところは、こちらの能力の限界で、今分かっても数ヶ月のちには屁理屈を忘れてしまいそうなので
ブラックボックスのまま置いておくか、wsh HELP ページや参考となるところのURL までコメントとして詳しく書き入れるか
どうしよう。

ここも人が少なくなりましたね。サンプルソースコードは、2,3日後には消しますね。
でわ。

369:名無し~3.EXE
07/01/21 16:11:18 eMwqitJ2
>>365
URLリンク(www.vector.co.jp)
とか参考にならん?

370:365
07/01/22 00:19:18 o8eRiI+8
>>369
返信ありがとうございます。

なんとか解決できないだろうかと、
会社の帰りに本屋でExcelマクロの本を読み漁って、
Application.run ってのが探してたものだとわかりました。
お手数おかけしました。



371:名無し~3.EXE
07/01/23 01:49:09 15EbuWWs
回避策はわかったのですが、
どなたか知っていたら教えてください。

<やりたい事>レジストリの値名が\から始まっているデータをRegReadで取得する方法
<環境>WinXP SP2 Pro/WSH5.6

<例>キー[HKLM\HARDWARE\DEVICEMAP\SERIALCOMM]
値名 \Device\Serial0
データ COM1
この場合は、「COM1」を取得したい

<やった事>RegReadで簡単に取得できるだろうと思ったのですが、全然取れませんでした。
<回避策>reg.exeからはデータの取得が可能

Set objWSH = WScript.CreateObject("WScript.Shell")
'RegReadで取得失敗した例
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\Device\Serial0")

'回避策
WScript.Echo objWSH.Exec("reg query HKLM\HARDWARE\DEVICEMAP\SERIALCOMM /v \Device\Serial0")


372:名無し~3.EXE
07/01/23 01:51:52 dZzOJZ4W
\は全部\\にしろ

373:名無し~3.EXE
07/01/23 02:01:31 4m7yBxl6
自己解決能力低すぎ
ぐぐればわかるだろうに


374:371
07/01/23 02:26:27 15EbuWWs
>>372
\でエスケープしてみたがダメだった。
値名が\以外なら、アッサリ取得できるのだが・・・

WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\\Device\\Serial0")
WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\Device\\Serial0")

>>373
すまん。ぐぐってもRegReadで取得する方法がわからかった。
WMIでならやれそうな気もするが、教えてくれまいか

375:名無し~3.EXE
07/01/23 02:53:05 rRUN1PnK
ググれば解ることとはいえ、\のエスケープ方法はMSDNやダウンロード版ドキュメントのRegRead項目にに書いておくべきだよな。

でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。
\のエスケープは「可能なこと」だが、WScript.Shellのレジストリ操作はそれ以外に「不可能なこと」が多すぎる。
「不可能なこと」に直面したときにあたふたするよりは、WScript.ShellのRegRead、RegWrite、RegDeleteで出来ることも
全てWMIでやるようにしておいた方が遙かにいいだろ。数年前だとWIMの情報は少なかったが今はあふれかえってるし。

376:373
07/01/23 19:49:29 4m7yBxl6
ああ、勘違いしてたよ。
それなら俺もわからんわ。

wmiでやるならWin32_SerialPort*あたりだろ
サンプルなら
URLリンク(www.activexperts.com)
とかじゃない?


377:371
07/01/23 21:37:04 15EbuWWs
>>375>>376
RegReadで\をエンコードする方法はあるんですね。
私はわからんかったので、
WMIのEnumKeysとEnumValueで実装し直しておきました。
レスサンクスでした。

378:名無し~3.EXE
07/01/24 01:03:32 ww8gbHgn
だれか教えて下さい。
WSHでマウス移動の自動化って出来るんですか?
キー送信の自動化とか出来るんですか?
ディスプレイカラーの値を読み込む事って出来るんですか?
プリントスクリーンみたいな画像保存って出来るんですか?

379:名無し~3.EXE
07/01/24 01:59:45 Yau2S1mD
できる。
できる。
意味不明。
できる。

380:名無し~3.EXE
07/01/24 03:40:31 eGutPL5I
RegReadの代替、こんなのも
Set Installer=CreateObject("WindowsInstaller.Installer")
WScript.Echo Installer.RegistryValue(2,"HARDWARE\DEVICEMAP\SERIALCOMM","\Device\Serial0")


381:名無し~3.EXE
07/01/24 07:39:03 7G/RPQuZ
ありがとうございます。
ディスプレイカラーの値を読み込む事って出来るんですか?
→24ビットカラーのRGBの値です。

382:名無し~3.EXE
07/01/28 18:16:25 bulVaiB4
>>375
>でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。
>\のエスケープは「可能なこと」だが

ほんと?聞いたことないな〜

383:名無し~3.EXE
07/01/28 20:31:04 t8jFe24C
var str=prompt("str1","str2");
の代わりになるものが欲しいのですが、何かいい方法はないですか?

384:名無し~3.EXE
07/01/28 20:48:56 ce6F4Ah9
どういう時に何が欲しいのかさっぱりだ

385:名無し~3.EXE
07/01/28 23:02:41 Jx0Q5hq7
IEでは window.prompt が使えるけど WSH では使えないって
話じゃないか?
VBScript だと InputBox 関数が使えるが、JScript だと
相当するメソッドはない。



386:名無し~3.EXE
07/01/29 03:01:15 RMea5nPo
そんなときはIEオブジェクト作ってprompt使う

387:名無し~3.EXE
07/01/29 03:48:33 Zhbkzilw
wsfにしてvbscriptで関数書いたらだめ?

<job id="main">
<script language="VBScript">
Function vbinput( mssg, defi )
vbinput = InputBox( mssg, WScript.ScriptName, defi )
End Function
</script>
<script language="JScript">
function prompt( msasg, defd ) {
if ( !msasg ) msasg = "";
if ( !defd ) defd = "";
return vbinput( msasg, defd );
}
</script>
<script language="JScript">

388:名無し~3.EXE
07/02/02 14:06:21 io3AcPQD
htaでのjsでEnumeratorってつかえないの?

389:名無し~3.EXE
07/02/02 17:19:48 2buUxDcl
つかえとるがな。

390:名無し~3.EXE
07/02/02 17:30:37 l8a6AAPU
スレ違いと思うが、Enumeratorが使えるかどうかは、
コレクション側の仕様。HTMLでは使えないコレクションが多い
てぇことじゃないの。インデクス使え。

391:名無し~3.EXE
07/02/02 19:04:18 io3AcPQD
>>389-390
なるほど。
じつは、ファイル挙列したかったんだ。
インデックスつかえるのかー。ちょっとやってみる。

392:391
07/02/02 19:26:54 io3AcPQD
うーん。ファイル数はあってるんだけど。
なんでVBSのfor eachはできるのにjsはできないんだろう・・・。それとも、また勘違いなのか。。。

一応残骸をはってみるけど、あきらめたーー!

function EnumFileName(path){
    var Names = new Array();
    var Fso = new ActiveXObject("Scripting.FileSystemObject");
    var Fo = Fso.GetFolder(path);
    
//  alert(Fo.Files.Count);
    var i=0;
    for(var i=0;i<Fo.Files.Count;i++){
        var Fi = Fo.Files[i];
        Names.push(Fi.Name);
    }

    return Names;
}

393:名無し~3.EXE
07/02/02 19:34:39 2buUxDcl
>>392
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>quote</title><script type="text/jscript"><!--
while (1){ try{ resizeTo( 0, 0 ); break; } catch(e){} }
//--></script><HTA:APPLICATION id="hta" border="none" /><script type="text/jscript"><!--
//配列とオブジェクトの宣言
var strCmdLine = hta.commandLine, strHTADir
if ( strCmdLine.indexOf('"') == 0 ) strHTADir = strCmdLine.match( /"(.+?)[^\\]+?"/ )[1];
else strHTADir = strCmdLine.replace( /[^\\]+?(?: .+)?$/, "" );

var objSFS = new ActiveXObject("Scripting.FileSystemObject");
var list = new Array();
var inFiles = objSFS.GetFolder(strHTADir).Files;

//こうするとコレクションのすべての要素に対する繰り返しができるらしい
var enumInFiles = new Enumerator(inFiles);
while ( !enumInFiles.atEnd() ) {
list.push( enumInFiles.item().Name );
enumInFiles.moveNext();
}

//まとめて出力
var dialogMessage = new String( inFiles.count );
for (i in list) dialogMessage += "\n" + list[i];
alert( dialogMessage );
close();
//--></script></head><body></body></html>

学習用にスクリプトと同じディレクトリ内のファイルを列挙するWSHを作ったのが残ってたのでHTAにしてみた。
参考になるか知らないが。whileのところはforでもおk。

394:Adrienne ◆HI8ebVe8lo
07/02/02 19:50:11 fKLh6VfE
>>392
(ちょっと、>>393とかぶるけど)
7行目の var i=0; は不要。
それに、JScriptではforステートメントの制御変数は宣言しないのが流儀。
for( i=0; i<Fo.Files.Count; i++ )でOK.

↓みたいな感じでやるといいよ〜

var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(path)
var fc = new Enumerator(f.files);
var names = new Array();

for (; !fc.atEnd(); fc.moveNext()){
     names.push( fc.item() );
}

395:Adrienne ◆HI8ebVe8lo
07/02/02 20:08:35 fKLh6VfE
var f = fso.GetFolder(path); // →正
var f = fso.GetFolder(path) // →誤:文終了子がない

ね。わざわざ訂正する必要もないと思うけど、一応。

396:名無し~3.EXE
07/02/02 20:14:21 pU/AdnT5
i をグローバルで使うのってどこの流儀?

397:Adrienne ◆HI8ebVe8lo
07/02/02 20:29:13 fKLh6VfE
>>396
function test(){
     for( i=0; i < 5; i++ ){
     }
}

WScript.Echo( i );

試しに↑を走らせてみて。6行目の i は宣言されていないとエラーが出るはず。
つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。
もちろん、どうしても気持ち悪いなら for( var i=0; ……と書いても構わない。

398:392
07/02/02 21:33:58 io3AcPQD
>>393-395
おまえら!ほんとうにありがとう。できました!
後はエラーチェックとか必要に応じて追加すれば完了だ!!
で、以下のようになったよ。

function EnumFileName(path){
    var Names = new Array();
    var Fso = new ActiveXObject("Scripting.FileSystemObject");
    var Fo = Fso.GetFolder(path);
    var EnFiles = new Enumerator(Fo.Files);
    
//  alert(Fo.Files.Count);
    var i=0;
    for(; ! EnFiles.atEnd();EnFiles.moveNext()){
        Names.push(EnFiles.item().Name);
    //  alert(EnFiles.item().Name);
    }
    return Names;
}

399:名無し~3.EXE
07/02/02 22:56:36 4UL0tw6S
Enumerator の作成を for の初期化節でやるのって少数派なんだろうか
for (var e = new Enumerator(list); !e.atEnd(); e.moveNext()) {

400:名無し~3.EXE
07/02/02 23:04:02 2buUxDcl
省略が好きな人はやるんじゃない?

自分の場合はそのときの気分。

401:名無し~3.EXE
07/02/02 23:07:19 KzBlSYpP
htmlをぶっこ抜く時に

1.CreateObject("MSXML2.XMLHTTP.4.0")
2.CreateObject("InternetExplorer.application")

とかあると思うんだけど、君らならどっち使う。
それとそれぞれのメリット・デメリットあれば教えて下さい。

402:名無し~3.EXE
07/02/03 00:12:55 ZQXI4k07
>>397
あまり知ったかはしない方がいいよ。ボロが出るから。

> つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。

実行コンテキストが違うからだろ。
悪いことは言わん、スコープチェーンの勉強でもして出直して来い。

ちなみに>>398の var i=0; はマジで余計だな。単なる消し忘れだろうけど。

403:名無し~3.EXE
07/02/03 00:26:29 ZQXI4k07
いや、俺は俺で変なこと書いてるな。

>>397の例で、最終行で i を参照出来ないのは
そもそも関数 test() を1度も呼び出していないからだよ。

試しに

function test(){
     for( i=0; i < 5; i++ ){
     }
}
test();
WScript.Echo( i );

でやって味噌。これでもエラー出る?

この時 i は立派にグローバル変数になっているよ。
スクリプト中のどこからでも参照出来る。

404:Adrienne ◆HI8ebVe8lo
07/02/03 00:44:08 yTQ/iH6h
>>403
試しに
var i=100;
function test(){
    for( var i=0; i < 5; i++ ){
     }
}
test();
WScript.Echo( i );

でやってみた。うん、明らかにグローバルになってるね。一つ利口になった。ありがとう。
ってか、ドキュメント等で悉く宣言省略されてるから無意識にローカル変数になるものと思ってたよ。

なんか、自宣言省略できたり勝手に型変換されたりといったJScriptの仕様は、
逆に難解だよね。

405:名無し~3.EXE
07/02/03 03:11:51 pDHMAoqQ
>>404
「変数の宣言を明示的に行わなければグローバル変数になる」と覚えておけば
問題ないよ。

ややこしいのは for なんかのブロック内で宣言したとき。JavaScript では
変数のスコープはグローバルか関数内かの2つしかない。
(最新版では違うらしいけど。)

for(var i=0; ... みたいにブロック内で var を書いても、これは関数あるいは
スクリプトの先頭でvar したのと同じこと。

>ドキュメント等で悉く宣言省略されてるから

は、宣言したらブロック内スコープを持つものと開発者が勘違いしてバグるの
を心配してのことかも。
横着するには便利んだけどね。関数内で for ループ書くときに、いちいち
関数の先頭でカウンタ変数を宣言しないですむから。


406:名無し~3.EXE
07/02/03 03:36:27 5xiUQTdM
letが使えんからな。

407:名無し~3.EXE
07/02/03 20:43:52 In8o1+SV
匿名関数の中から外部のローカル変数を参照してるクロージャとかもややこしい。

408:名無し~3.EXE
07/02/04 09:01:18 pYYZVU6i
MSXML2.XMLHTTPで
Open "GET", URL, True
と非同期実行した場合、readyStateで通信状態を取得できますが、これをWinHttp.WinHttpRequestで
実行した場合、通信状態はどのようにして取得したら良いのでしょうか?
主要なメソッド、プロパティは共通のようですが、readyStateに該当するものが見つけられずに困ってます。
OSはWindowsXP SP1、WSHは5.6、WinHttp.WinHttpRequestは5.1です。

409:名無し~3.EXE
07/02/04 13:16:16 XUYfkIsH
試してないしドキュメントにもどうなるのか書いてないけど、
WaitForResponse をタイムアウト 0 で呼び出してみるとか?

410:名無し~3.EXE
07/02/04 14:49:19 /70Bq45h
誰か>>401お願いします

411:名無し~3.EXE
07/02/04 16:38:11 Lw9wofTu
>>410
2だと画像などの付属品もダウンロードしてしまう。

412:名無し~3.EXE
07/02/04 21:47:54 MbUYtnwe
こんちわー。
htaで揮発性環境変数(PATH)の設定をするために以下のようにコードを書きました。
ネットを回って得たものなので根拠とかが欠落してます。@@;
それで、ですね。
tagに環境変数名をいれてParhに場所を記述したものをOSに登録したいのですが、下のコードではうまくいきませんでした。
どのように書けばうまくいきそうですか?

function AddSystemPath(tag,path){
    //var WshShell = WScript.CreateObject("WScript.Shell");
    var WshShell = new ActiveXObject("WScript.Shell");
    var WshEnv = WshShell.Environment("VOLATILE");
    if( tag.toUpperCase() == "PATH" ){
        WshEnv.Item(tag) = WshShell.ExpandEnvironmentStrings("%Path%") + ";" + path;
    }else{
        WshEnv.Item(tag) = path;
    }

}

これができたら次のステップにいけるんですー。
作ってるのは簡易版GUI似非Makeです。

413:名無し~3.EXE
07/02/04 22:12:37 JVVlKIId
>>411
1.だとhtml以外は取得しないということですね。ありがとうございます

414:名無し~3.EXE
07/02/04 23:37:47 3x53LZg+
>>412
よくわからんが、
pathに登録したいならレジストリ直接弄ればよいんじゃね?

415:名無し~3.EXE
07/02/05 00:29:38 vT9R2Dhh
>>414
うわ。それは勘弁してください。
"VOLATILE"指定すれば、遺恨も残らないということらしいので、便利だなーとおもったんですけど。
うーん、前途多難ですねぇ。基本機能はほぼできててあとこれだけなんですよ。

まぁ、いいや。またきます。
おやすみなさいー。

416:名無し~3.EXE
07/02/05 00:37:29 xw+mOdqs
勘弁も何も一番簡単だろ。

417:名無し~3.EXE
07/02/05 01:22:47 fqy0z/kI
揮発性の意味・意義をわかってない奴がいるな

418:名無し~3.EXE
07/02/05 01:59:52 ybbbBATF
揮発性環境変数も保持される場所はレジストリであることを知らないのかな?

419:名無し~3.EXE
07/02/05 02:19:32 xw+mOdqs
HKEY_CURRENT_USER\Volatile Environment

420:名無し~3.EXE
07/02/05 02:54:38 xw+mOdqs
function AddSystemPath(tag,path){
var WshShell = new ActiveXObject("WScript.Shell");
var WshEnv = WshShell.Environment("VOLATILE");
WshEnv.Item(tag) += ";" + path
}

いろいろやってみたけどこれで十分じゃね?

421:名無し~3.EXE
07/02/05 03:40:16 ttc4Lfai
>>412
MSDN見たら、PATHとかの予約されてる環境変数はVolatileは
使えないと書いてある。
URLリンク(msdn.microsoft.com)

けど、今試したらうまく動いた。(WinXP)
しかもわざわざ既存のPATHに追記しなくても、追加したいパスを指定
するだけでマージされる。
(考えてみればSystemとUserのPATH環境変数もそんな関係だ。)


うまくいかないのは、すでに動いてるプロセスに反映させたいと思ってるから
とかではない?
SystemだろうがVolatileだろうが、環境変数の反映は新しいプロセス
から有効だよ。


422:名無し~3.EXE
07/02/05 16:49:35 vT9R2Dhh
>416-421
皆さんありがとう!

えっと、VOLATILEでもレジストリに登録されるのは知りませんでした。
>>420をやってみたところ、>>419の場所に登録はされてるんですけど、
>>421にあるように、登録したHTAには反映されてないのかもしれません。

Terapadで書いてはメニューから起動って感じにやってるんですけど・・・。

あ!ってちょっと実験・・・。うげ!できた。
……なんか、起動もと(Terapad)のPath設定を受け継いでたみたいです。。。
エディタ再起動したらうまくいきました。なんてこった。

結局>>421の"すでに動いてるプロセスに反映させたいと思ってるからとか"の部分でした。

お騒がせしました。


・・・しかし、これはちょっと不便だなー。

423:名無し~3.EXE
07/02/05 19:47:41 0J0/Livg
普通に bat に書き出して実行した方が早いんじゃないかな・・・

424:422
07/02/05 21:50:23 vT9R2Dhh
結局それがベターなのかなー。

車輪を知るには車輪を再発明するのが一番!とかわけのわからんことをのこしつつ、
そっちの方向を模索してみますー。スクリプトいじりすぎて動かなくなったことだし。。。@@;

さて、皆さんどうもありがとう。;D

425:422
07/02/05 22:45:24 vT9R2Dhh
ああそうそう。
危険な残骸ほしい人います?

URLリンク(kansai2channeler.hp.infoseek.co.jp)
超危険だしめちゃくちゃ汚いから、扱いには注意してください。

そういうわけでまたどこかで!

426:名無し~3.EXE
07/02/07 16:45:15 AYyF197a
xmlhttpでsetRequestHeaderでIf-Modified-Since付けてsendすると何十分経っても応答こないサイトがあるんだけど、なんで?

427:名無し~3.EXE
07/02/07 20:48:05 CeKP5txc
URL プリーズ

428:名無し~3.EXE
07/02/07 21:51:07 0PYxyQ85
ダウンローダ対策かな

429:名無し~3.EXE
07/02/08 13:22:42 R1J4DUrt
「Volatile」(「揮発性の」という意味)は、現在のログオン・セッションのみに適用さ
れる。名前が示すとおり、Volatile環境変数は一時的に使われるもので、ログオ
ン中のユーザーがログオフしたり、コンピュータを再起動したりすると、変更した内
容は変更前の内容に戻る。


430:名無し~3.EXE
07/02/08 16:44:18 d3kjRTBg
で?

431:名無し~3.EXE
07/02/09 11:30:07 fnbavqX5
>>430

「Process」は、現在のプロセスにのみ適用される環境変数である。Process環境変数は、
コマンド・プロンプトが終了するなど、現在のプロセスが終了すると、変更内容が元に戻る。

変数 System User Volatile Process
NUMBER_OF_PROCESSORS ○ × × ○
PROCESSOR_ARCHITECTURE ○ × × ○
PROCESSOR_IDENTIFIER ○ × × ○
PROCESSOR_LEVEL ○ × × ○
PROCESSOR_REVISION ○ × × ○
OS ○ × × ○
COMSPEC ○ × × ○
HOMEDRIVE × × ○ ○
HOMEPATH × × ○ ○
PATH ○ × × ○
PATHEXT ○ × × ○
PROMPT × × × ○
SYSTEMDRIVE × × × ○
SYSTEMROOT × × × ○
WINDIR ○ × × ○
TEMP × ○ × ○
TMP × ○ × ○

環境変数の種類と利用できる変数(○=利用可、×=利用不可)


432:名無し~3.EXE
07/02/09 12:21:51 Z70kHm//
で?

433:名無し~3.EXE
07/02/09 16:47:48 /+8ALF64
コピペばかりで何が言いたいやら。

434:名無し~3.EXE
07/02/11 00:58:40 XFBIDHB0
おいらみたいなスクリプトをちょっといじるだけの人間には逆にありがたいが・・
検索してもちゃんとわかりやすく解説してるサイトとかなんか見かけないし(;´д`)
WSHのドキュメントには>>431みたいなこれが使える使えないの表とよく分からんコメントがちょろっとしかないし

435:名無し~3.EXE
07/02/11 12:30:23 tgvQIzzh
検索の能力が無いんじゃないか?

URLリンク(www.microsoft.com)

436:名無し~3.EXE
07/02/11 14:17:35 83xaTx2C
おせーてください。
var A = new Date(); ってやると
DateオブジェクトのインスタンスへのポインタがAに格納されるのかなと
思ってるんです。
だからもう一回
A = new Date(); をやると
新しいDateオブジェクトのポインタがAに入りますよね。
ということは1回目のDateオブジェクトの確保されたメモリの開放は
されてないんじゃないの?と思ったわけです。
メモリの開放はする必要はないのでしょうか? そもそも認識誤り?
ループで数万回newを実行するのが怖い・・。

437:名無し~3.EXE
07/02/11 15:10:40 XTg9OO+A
>>436
やってみれ

438:名無し~3.EXE
07/02/11 15:41:54 jfeZcFaS
>>435
そんな入り口じゃなくてSystemとUserとVolatileとProcessの違いを書いてるところを直接貼れですぅ
それかおまいがさっさとSystemとUserとVolatileとProcessの違いを「素人に毛が生えた程度のヤツにも」「わかりやすく」教えやがれですぅ

439:名無し~3.EXE
07/02/11 15:58:54 83xaTx2C
>>437
やってるんですよ、でリソースエラーで落ちてるんで
コードを見直しすと
もしかしてこのせいではと思ってるんです。
MSのサイトみてもdestroyメソッドなんてないし・・・

440:そのまま System User Volatile Process でググレ、カス。
07/02/11 16:29:15 tgvQIzzh
>>438
ググルこともできない奴は、「 あ き ら め れ 」

441:名無し~3.EXE
07/02/11 22:42:10 gLg6x3i4
>>436
参照が外れた時点で自動的に解放されるので大丈夫。

while (true) {
  var A = new Date();
}
とか実行してみればわかるけど、メモリ使用量は増えずに一定。

ただし、
var A = [], i = 0;
while (true) {
  A[i++] = new Date();
}
とかやったら、いつまで経ってもオブジェクトは解放されず、
メモリ使用量はガンガン増える。

442:名無し~3.EXE
07/02/11 23:18:15 GhIBrlc6
>>436
GCは自動
強制的にnull代入したり、deleteする必要があるのはまれ

443:名無し~3.EXE
07/02/12 02:04:02 3LVpBfdW
なんでここで GC の話がでてくるんだろうか...。

444:名無し~3.EXE
07/02/12 02:08:09 QgYwe6Xo
>>439
HTAでかけるならHTAで書いてみてみ。
実行速度云々のダイアログが出るなら何か間違ってるから。

445:436
07/02/12 08:05:03 731Di+ID
いやー、皆様ありがとうございます。
441さんのやり方でテストもしてみて確かに増えないですよね。
参照がはずれると自動開放ということで安心しました。
ということは、他の部分で落ちているということですので
444さんの教えどおりHTAで書いて試してみます。
助かります!

446:名無し~3.EXE
07/02/12 11:53:33 9qzGp9MR
>>443
勉強が足りない

447:名無し~3.EXE
07/02/12 12:00:38 0DSgfs+L
>>443
参照されていないオブジェクトのメモリを回収するのは
GCのお仕事だからだよ。

448:名無し~3.EXE
07/02/12 12:03:44 gVWGPkUz
GC を任天堂のゲーム機だと思ってしまった、とか

449:名無し~3.EXE
07/02/12 12:04:57 QgYwe6Xo
がべぃじこれくたー

450:名無し~3.EXE
07/02/12 17:24:26 Zi22y/xv
WSH、得意なのはバッチ代わり?
ちゃんとしたアプリは作れない?
んなことなくてVBで作れるようなものはたいがい作れる?
GAMEとかシューティングのようなものとか。

451:名無し~3.EXE
07/02/12 17:41:02 gVWGPkUz
まあ止めといた方が良いだろう

452:名無し~3.EXE
07/02/12 17:56:40 Zi22y/xv
ぶっちゃけ、これでGAMEとかRPGとか作れるのかなあと。

453:名無し~3.EXE
07/02/12 18:02:05 Zi22y/xv
>>451
レスありがとう。更新しなくて書いたのですれ違いすいません
これってある意味無料だから、修得したら便利かなって。
GAMEが作れるなら、シューティングとかRPGが作れるなら、たいがいのものは
作れるだろうと思ったんですよ。
GAMEにかぎらず、ちょっと目立つようにJPGを重ねたり動かしたりとかいうのは
良くあるでしょうから。

やめといたほうがいいんですね 有り難う御座いました

454:名無し~3.EXE
07/02/12 18:06:21 hmPAvRl0
>>450
jsやvbsなどのスクリプト言語でGUIツール使いたいならWSHではなくHTAの方がいいよ。
「GAMEとかシューティングのようなもの」というのがどの程度のものを想定してるのか知らないが
HTAならスキル次第でそこそこのGUIツールが作れる。WSHでもIEのインスタンス作ればどうにかなるけどね。

455:名無し~3.EXE
07/02/12 18:09:35 9qzGp9MR
>>453
できるけどEXEのほうが高速かつ無難
玄人じゃないと高速なゲームを作るのは難しい
JavaScript製のブラウザゲームがどの程度、同内容のEXEのゲームと張り合えているのか考えるとよろし

456:名無し~3.EXE
07/02/12 18:19:38 gVWGPkUz
VS すら無料の時代だぜ?

457:名無し~3.EXE
07/02/12 19:25:32 3LVpBfdW
>>447
論点はそこじゃないだろ。

しょぼい知識を披露したかったのか? (w

458:名無し~3.EXE
07/02/12 19:36:20 WOrUc4U6
ろっ、ろんてんはどこなの〜〜??

459:名無し~3.EXE
07/02/12 21:20:57 PkhDhK5r
オレ論点 w

460:名無し~3.EXE
07/02/12 21:28:27 QgYwe6Xo
ガベージコレクションは自動。って書いてりゃ良かったのだろう。
>>441と本筋は同じだすね。がべーじこれくたーってのを説明にまじぇただけで

461:名無し~3.EXE
07/02/13 02:30:05 Ep5PwYrj
意外と知られていないが、Microsoft JScript には
undocumented な CollectGarbage() なる関数が存在する。

ただ、よっぽどのことでもない限り、使用すべきではないでしょう。
(通常、生涯使う機会がないと思うけど)

URLリンク(support.microsoft.com)
URLリンク(support.microsoft.com)

462:名無し~3.EXE
07/02/13 02:36:55 Ep5PwYrj
> 関数

メソッドですた。

463:名無し~3.EXE
07/02/13 03:57:12 3QRyx/IL
なんかJavaScriptでFPS作るデモがあったような気がするが

464:名無し~3.EXE
07/02/13 10:24:15 h83QHOwZ
>>454
>>455
レスありがとう!
PDAのスマートフォンであるX01HTやシグマリ3やW-ZERO3で
動くWSH方式のNSBASICというのがあるんですよ。これがほとんどWSHと
文法も同じ。だからWSHを覚えようかなあと。WindowsCE上でも開発できるし。
GAMEを作るにしても作るレベルは、昔MSXで作っていたレベルです。出来れば
当時は線画で3DRPGやシューティングを作っていましたが、これをRPGなら面画で3D表示
できればいいなあと。
市販するとかシェアウエアレベルのものなんて求めていないですから、
当時のBASICなみに気軽にサンデープログラミング出来るのかなあとWSHが。

その程度のものなら出来るというのであれば、WSHアマサンデープログラマーの仲間入り
したいんですが。長々とすいません。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4790日前に更新/291 KB
担当:undef