1 名前:d mailto:age [2008/03/30(日) 09:01:59 ] このスレッドはVBについて、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 VB使いが優しくコメントを返しますが、 お礼はVBの布教はしなくてよいので、初心者の救済をお願いします 前スレ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/
907 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:24:06 ] ぐぐれば一番最初に出てきただろうに、なんなのこいつ
908 名前:899 mailto:sage [2009/05/29(金) 13:34:33 ] >>905 シェルの起動時間とはなんでしょうか? CreateObjectの事でしょうか? これは一度作成したのちずっと保持する予定なので気にしていません コマンドプロンプトのExec呼び出しの事でしょうか? こちらも一度しか呼び出さないようにして再利用する事を考えていて、その結果このような質問に至りました。 >何がしたいのか いくつかのCUIアプリケーション(コンソールコマンドの結果)のGUI化です ExecメソッドではStdIn、StdOutというもので制御が可能と知ったので、 これを使ってコマンドプロンプトもどきを作れないかと考えました。 これができればいろんなもののGUI化が出来るだろうと思いテストソースを書きました。 >>907 すいません
909 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:36:41 ] ほぼそのもののソースがググると出てくるんだが まだ不満があるのか
910 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:37:10 ] ごめんなさい、それはどこですか?
911 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:40:52 ] >>909 お前うぜーよ URL貼る気ねーならくるな
912 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:46:28 ] MSDNライブラリのStdInプロパティの説明くらい読めばいいのに
913 名前:899 mailto:sage [2009/05/29(金) 14:04:21 ] >>912 ありがとうございます このあたりの事でしょうか? ttp://msdn.microsoft.com/ja-jp/library/cc364385.aspx 一応MSDNのこのあたりは関連するキーワードのものを含め何度か読み返してはいたのですが、 前述の無反応になる件の答えが見出せず困っています・・・ アホですいません Do Until objExec.StdOut.AtEndOfStream の判定ではポインタが最後に到達していないはずなのですが StdOut.ReadLineメソッドを呼び出すと処理が戻らず(エラーも出ず)待機してしまう理由がどうしてもわかりません
914 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:33:52 ] いちいち自分でググってそのページを見てるくせに、 ここではほのめかしの回答しかしない屑。
915 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:46:09 ] 先にexitを送らない限り一生終わらない(AtEndOfStreamはFalseのまま) Dim objWShell Dim objExec Set objWShell = CreateObject("WScript.Shell") Set objExec = objWShell.Exec("%ComSpec%") objExec.StdIn.WriteLine "ipconfig" objExec.StdIn.WriteLine "exit" Do Until objExec.StdOut.AtEndOfStream MsgBox objExec.StdOut.ReadLine Loop
916 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 16:07:08 ] ipconfigの出力に[[hoge]]があると誤判定で終了してしまうが Dim objWShell' As Object Dim objExec' As Object Set objWShell = CreateObject("WScript.Shell") Set objExec = objWShell.Exec("%ComSpec%") objExec.StdIn.WriteLine "ipconfig" objExec.StdIn.WriteLine "echo [[hoge]]" Do Until objExec.StdOut.AtEndOfStream Dim sLine' As String sLine = objExec.StdOut.ReadLine If sLine = "[[hoge]]" Then Exit Do MsgBox sLine Loop If Not objExec.StdOut.AtEndOfStream Then objExec.StdIn.WriteLine "exit"
917 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 21:10:27 ] >>915 ありがとうございます 相手(コマンドプロンプト)が終了しない限り、そのTextStreamは「Endがない」動作をするのですね 私のサンプルで停止していたのは、この「現在まだない次の行」を取得中で待機している、という事でしょうか Exitを打たずともスマートな解決方法があるのではないかと思っていましたが、 簡単にはいかないようでその理由も大体把握できました 「Exec呼び出し先が動作中の時は、StdOutの最終行がAtEndOfStreamで検出できず、 またStdOut.Read系で現在の最終行を超えて読もうとしてもエラーも出ず新たな行が入るまで待機してしまう」 と言う事ですね。 サンプルまで付けて頂いて、アホでも理解しやすく配慮していただき助かりました >>916 回避策ありがとうございます なるほど、未知の最終行を読むこと自体を回避するのですね 番兵を置いているところで目から鱗でした! これならコマンドプロンプトをExitさせずに逐次StdOutを監視できそうです
918 名前:デフォルトの名無しさん [2009/06/07(日) 13:02:33 ] 誘導されてきました 何年か前の話です、バカでも使える簡単な言語を紹介してくれと知り合いに聞いたところ 「VBが良い、中学生でも扱える言語」といわれ家電量販店でVBを購入。 たしか「N88ベーシックと難易度は変わらない」とも言われました。N88ベーシックがなんなのか よくわかりませんが似たようなベーシック言語は触ったことがあるのでVBもそんなものだと思って買いました 購入してそのまますっかり忘れて押入れの中に放置していたのですが、今日引っ張り出してきてインストール しようとしたのです、するとIISとフロントベージと言うものがインストールされていないので インストールできないとの表示が・・・ IISはアパッチのようなものだとしてフロントページが何なのか良くわかりません、調べてみると ホームページビルダーのようなものらしいけどこれは買わないといけないのでしょうか?。 そもそも知り合いの説明がずいぶん間違っているようにしか思えないのですが。 昔のベーシックの難易度ってフォートランぐらいだったと思うのですが。 VBとやらはインストールの段階で知らない専門用語だらけです。 これはいったいどういうことなのでしょう?えらい人教えてください。
919 名前:デフォルトの名無しさん [2009/06/07(日) 13:04:28 ] ヴァージョンは2003 OSのバージョンはWindows2000です
920 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 13:04:32 ] 気にせずインストールを続ければOK
921 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 13:40:47 ] そのFrontPageはOfficeのFrontPageではなく、FrontPage 2000 Server Extensionsの方だな ASP.netをやらないなら入れる必要なし IISとFrontPage 2000 Server Extensionsを入れるなら コントロールパネル→プログラムの追加と削除→Windowsコンポーネントの追加と削除 から、インストールが出来る VB6スレだから、誘導が間違ってたんだろうけど 質問する場合は最初からバージョンは書いておいた方がいいよ
922 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:50:22 ] FrontPage 2000 Server Extensions てそもそも何のために導入しなきゃいけないんだ? いまいちよくわからずに入れていたんだが気になってきた
923 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:59:25 ] WebDAV ではないんだけど、あんな感じで Web サイト上の コンテンツを更新するのに必要なんじゃなかったかな。