VB.NET質問スレ (Part8) ..
310:デフォルトの名無しさん
04/12/31 00:23:56
>>309
VSのIDEの動作は、確かにセロリン+遅いHDみたいなショボイ環境だと激しく重い。
しかし、恐らく>>309はIDEから実行したアプリを終了したときにIDEのエディタが
編集可能になるまでに時間を言っているんだと思うが、30秒もかかるというのは
開発環境のせいとは思いにくい気がする。
アプリの終了処理に問題があるんじゃないの?
それとも、例えばフォームだけの空っぽのアプリでも同じように遅いの?
311:309
04/12/31 01:20:13
>>310
フォームだけの空っぽのアプリで試したところ、遅くなることは
ありませんでした。
再度、終了時に重くなるプロジェクトファイルで以下の3つの終了の仕方
を何度か行ってみました。
1.フォームの右上の×印をクリックする。
2.application.exit() のみを書いたボタンをクリックする。
3.VBの■[停止ボタン]をクリックする。
1と2は遅くなりましたが、3は遅くなることはありませんでした。
どうやらおっしゃるように終了処理に問題があるようです。
調べてみます。スペックを高くすべきかなと本気で思ったりしていた
ところでした。汗
ありがとうございます。
312:デフォルトの名無しさん
04/12/31 12:39:35
>310
今時のセロリンは全然遅くないですよ。
313:デフォルトの名無しさん
04/12/31 14:06:16
>>312
日本語不自由な人?
314:デフォルトの名無しさん
04/12/31 14:09:55
>313
あれ?広い意味ではセロリンも遅いって意味かなと思ったんだけど。
315:デフォルトの名無しさん
04/12/31 14:32:40
帯に短したすきに長し、ってことですよ。
物差しを替えれば「短い」ものが「長い」ものになるのは当たり前。
316:デフォルトの名無しさん
04/12/31 16:29:01
>315
で?
317:302
05/01/02 16:21:56
あけましておめでとう
>>303
ぐぐってみましたけども、どこにも答えが見当たりません。
当方の見落としでしょうか?
>>304
やはり、出来ないのでしょうか?
知る限りとおっしゃれているようなので、まだ可能性はあると言う事ですよね・・・
>>305
いや、ヘルプでもかなり調べてみましたが分からず
八方塞がりでここに書いた次第であります。
318:デフォルトの名無しさん
05/01/02 17:52:19
こちら VB.NET 2002 Standerd 、.NET Framework 1.0 SP3 ですが、
System.Web名前空間がありません。
なぜですか?
319:デフォルトの名無しさん
05/01/02 18:16:33
>317
お亡くなりになった方がいいですよ。
320:デフォルトの名無しさん
05/01/03 01:49:05
ある特定のファイルの状態を監視するようなことって出来ますか。
状態というか変更の監視です。
VB.netでつくったアプリ、これはずーっと起動した状態です
そいでもって別な操作、たとえばWSH(VBS)によって、ある特定のテキストファイルに
何か文字が書き込まれたとか、内容の変更を察知したら、VB.netアプリが
あらかじめ仕込まれたアクションを起こす、みたいにしたいんです。
321:デフォルトの名無しさん
05/01/03 01:54:55
またか。過去ログ嫁。
322:デフォルトの名無しさん
05/01/03 02:22:49
>>321
すみません
言われて、もしかしたらFAQなのかと慌ててググったら、それっぽいのが
ぞろぞろ出てきました
323:デフォルトの名無しさん
05/01/03 09:01:15
>322
そういうこともあるさ。
324:デフォルトの名無しさん
05/01/03 16:49:35
URLリンク(www.uploda.org)
こんなツールチップはVB.NETでは
どうやって表示するのでしょうか
おねがいします
325:最凶VB厨房
05/01/04 06:30:58
それと完全に同じにするには標準のコントロールではできない(はず)。
ToolTipコントロールをはりつけて
例えばFormのLoadイベントハンドラ内に
ToolTip1.SetToolTip(CheckBox1, "Winny Utilsのログがなんたらかんたら")
を書いて
Private Sub CheckBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.MouseEnter
ToolTip1.GetToolTip(CheckBox1)
End Sub
こんな感じで呼び出す。
326:デフォルトの名無しさん
05/01/04 09:57:37
>325
1行目はともかくその後のサンプルは何の意味があるの?
327:最凶VB厨房
05/01/04 10:02:35
すまん。勘違いしてた。GetToolTipはいらんね。
>>326ども
328:最凶VB厨房
05/01/04 10:06:29
>>320
FileSystemWatcherクラス
ツールボックス→コンポーネントから貼り付ければ簡単にできそう。
帰ってきたらためしに作ってみるかな。
329:デフォルトの名無しさん
05/01/04 10:09:01
>328
お、そんなんあんのか。サンクス
330:最凶VB厨房
05/01/04 14:54:54
>>318
参照の追加
System.Web.dll
331:!omikuji
05/01/04 15:24:24
最凶ってのはおみくじ機能じゃなくてHN?
332:超初心者
05/01/04 17:16:04
ボタンクリックで、htmlファイル
を別のフレームで表示したいんですけど
どうすればよいですか?
333:デフォルトの名無しさん
05/01/04 17:23:12
抽象的すぎて貴方の考える状況を想定するのも困難なのでもっと詳しく書け。
334:超初心者
05/01/04 17:38:00
単純に、ボタンクリックした時に、
既にHTMLファイルがあるので(index.htmという名前の)
それを、ボタンのあるフォームとは別に、表示させたいんですが
どのようにすれば?
本来は、いろいろ他の処理してからなのですが
とりあえず、HTMLファイルを開いて表示させたいんで・・
335:デフォルトの名無しさん
05/01/04 17:46:00
>>334
読み書き保存ができる程度の簡易エディタを作ったことある?
テキストボックス付きの新しいフォームを開いて、そこにファイル
の中身を流し込めばいいだけじゃないかと。
336:デフォルトの名無しさん
05/01/04 17:48:44
HTMLを表示するだけなのかレンダリングしてなのかも分からないし。
337:超初心者
05/01/04 17:58:40
>>その方法がわからないと
338:デフォルトの名無しさん
05/01/04 18:01:29
>333
>335
>336
基本を理解できていない人間は初心者の質問にはうまく
回答できないといういい例です。
339:超初心者
05/01/04 18:07:53
>>338
回答よろしくです!!
340:デフォルトの名無しさん
05/01/04 18:08:58
>>338
じゃ、うまく回答してもらおうか。
341:デフォルトの名無しさん
05/01/04 18:28:13
>>339
なあ、もしかしてVB.NETと言うよりASP.NETの質問じゃないのか?
342:超初心者
05/01/04 18:33:51
VB.NETですよ
343:デフォルトの名無しさん
05/01/04 22:02:14
>340
いや、俺わかんないけど知ったかぶって回答はしないってこと。
344:デフォルトの名無しさん
05/01/04 22:14:30
わかんないけど煽ってみたかった。
自分がわからないのは関係ないと思った。
いまも反発してみる。
345:デフォルトの名無しさん
05/01/04 22:39:59
>344
誰に何を?
346:デフォルトの名無しさん
05/01/04 23:31:57
正月早々ご指導いただきたいのですが。。
WinフォームのComboboxなんですが、
DataSourceを設定してタブコントロール上に置くと、
Comboの載ったタブを選択したとたんselectedindex=-1から
強制的にselectedindex=0になっちゃいます。
ここまではM$のサイトで
"This behavior is by design."
などと書いてあったのであきらめるとして、
今度はDatatableの各DataRowをそれぞれ
ComboboxにAddしていくことにしてみました。
今度は"System.Data.DataRow"っていうのが追加した分だけ
表示されるんですが、なんとかDisplaymemberみたいのを設定できないものでしょうか?
偉い人お願いします。
347:346
05/01/04 23:35:26
ちなみに
items.Addでselectedindexが勝手に変わるのを回避できるのは
調べてわかったんですが。。
348:324
05/01/05 03:08:54
できなそうですね、ありがとうございますた
349:デフォルトの名無しさん
05/01/05 03:12:01
VS2002ですが、きちんと Namespace A.B.C…としているのに
IntelliSenceの自動メンバ名補完では、A,B,Cともにリストに出てしまいます。
これは正常な動作なのでしょうか?
350:デフォルトの名無しさん
05/01/05 07:21:23
>324
できないわけじゃないでしょ。単にこのスレの住人レベルでは
分からないというだけ。
351:デフォルトの名無しさん
05/01/05 08:17:18
>>334
別のフォームに WebBrowserを貼り付けておいて、それにHTMLを、
読み込ませれば良いだけでは。
352:デフォルトの名無しさん
05/01/05 08:23:53
>>324
よく読んでないがここに書いてないか?
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1041/shellcc/platform/commctls/tooltip/usingtooltips.htm
というか、ちょっとググってみた感じ結構情報みつかるように思えるが。。
とりあえず人に聞いとけってか?こういう人はPG向かないよな。
353:デフォルトの名無しさん
05/01/05 08:55:27
>>350
自演z
354:デフォルトの名無しさん
05/01/05 08:56:38
IPアドレスの文字列
127.0.0.1を数値に変換する関数はありませんか?
355:デフォルトの名無しさん
05/01/05 09:15:48
その数値というのはSystem.Net.IPAddressクラスで扱われるLong値でいいのかね。
それならSystem.Net.IPAddressのParse静的メソッドとAddressプロパティを組み合わせればいいが。
356:デフォルトの名無しさん
05/01/05 09:21:59
>>355
ありがとうございます。
いただいたヒントを元に
Dim le As New IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1").Address, 10000)
とやってみたのですが
Dim le As New IPEndPoint(Dns.Resolve(System.Net.Dns.GetHostName()).AddressList(0), 10000)
ですとacceptできるのですが上だとできませんでした。
どこが問題なのでしょう。
357:最凶VB厨房
05/01/05 09:47:05
127.0.0.1をipconfigなんかで出したIPアドレスに変えるか、
System.Net.IPAddress.Parse("127.0.0.1").AddressをIPAdress.Anyかにして
やってみて
358:デフォルトの名無しさん
05/01/05 10:01:36
単にサーバとクライアントで使ってるIPが違うだけという話じゃないか?
あとIPEndPointのコンストラクタは(IPAddress, Integer)って引数のオーバーロードもあるから、
わざわざ.Addressを取得する必要はないよ。
359:最凶VB厨房
05/01/05 10:02:03
>>349
URLリンク(www.microsoft.com)
360:デフォルトの名無しさん
05/01/05 10:16:26
>>357
IPAdress.Anyでacceptできました。ありがとうございました。
>>358
すみません。
勉強します。
361:.NET初心者
05/01/05 13:11:06
はじめまして
ASP.NETを使用し、Webアプリケーションを作りたいのですが、サーバPCのスペックはどれくらいを推奨しているのでしょうか?
教えてください。
362:デフォルトの名無しさん
05/01/05 13:24:04
>>361
Pentiumシリーズ推奨。
363:324
05/01/05 13:35:21
>>352
探してもなかなか見つかりませんでした。
英語わかんないけどやってみます。
>>350は違う人です。
364:デフォルトの名無しさん
05/01/05 13:56:42
初めまして。
VB.NETにて複数のテキストを読み込み、一つのテキストファイルにまとめるたいと思います。
ファイルをひとつづつ、read to endメソッドで読み込むプログラムを作ったのですが、他にもっとスマートな方法がありますでしょうか。
恐れ入りますが、ご教示頂ければ、幸いです。
365:デフォルトの名無しさん
05/01/05 14:19:06
>>361
老婆心ながら、初心者って書くのはやめとき。
言い訳がましくとられる。
366:デフォルトの名無しさん
05/01/05 15:48:43
>>364
Process.StartでDosのCopyコマンドで連結すれば。
367:364
05/01/05 17:53:36
366様
早速のご回答、ありがとうございました。
おかげさまで、スッキリさせることができました。
本当に感謝致します。
368:超初心者
05/01/05 18:27:06
>>351
別のフォームに WebBrowserを貼り付けておいて、それにHTMLを、
読み込ませれば良いだけでは。
このやり方が、わからんとです。
だれか丁寧に教えてください。
369:351
05/01/05 18:37:44
>>368
どの部分がわからんとですか。
370:超初心者
05/01/05 18:46:24
WebBrowserの貼り付けかたと、HTMLの
読み込ませかたとです。つまり全部ですorz
371:デフォルトの名無しさん
05/01/05 19:26:33
>365
死ねば?
372:デフォルトの名無しさん
05/01/05 19:29:29
System.Windows.Forms.Help.ShowHelp()でヘルプを表示できますが、
親コントロールとして Me(フォーム) を指定すると、ヘルプがフォームの
前面に表示されてしまいます。別プロセスとして起動したときのように、
フォームがアクティブになったらフォームがヘルプの上に来るように
したいのですが、ShowHelp()では無理でしょうか。
なお、Nothing を指定した NullReferenceException が発生して
しまいました。
373:デフォルトの名無しさん
05/01/05 19:30:06
>372
訂正します。
Nothing を指定した → Nothing を指定したら
374:デフォルトの名無しさん
05/01/05 20:17:24
>>370
あなたの代わりに私が探しておきました。
URLリンク(support.microsoft.com)
ただし[ツールボックスのカスタマイズ]が無い場合は、
[ツールボックスアイテムの追加と削除]と読み替えてね。
375:デフォルトの名無しさん
05/01/05 20:46:25
>>372
Controlクラス辺りのインスタンスを適当に作って、それをShowHelpの引数にするとか。
376:372
05/01/05 21:02:40
>372-373に補足
>372ですが、一応別プロセスとして起動する方法で回避しました。
が、もしShowHelp()のパラメータで回避する方法があったら
教えてください。
別プロセスにすると、
・ヘルプを開いて本体を閉じる→ヘルプも閉じる。
・ヘルプを開いてヘルプを閉じて本体を閉じる→ちゃんと閉じるw
・ヘルプを二重に開かせない。
とかちょろっと書かなくてはならなくて、ちょっとイヤなので・・・
377:デフォルトの名無しさん
05/01/05 21:08:07
375は鮮やかにスルーか。
378:デフォルトの名無しさん
05/01/05 22:09:42
>>374 神ありがと〜
379:デフォルトの名無しさん
05/01/06 00:30:17
C#で恐縮です。よろしくおねがいします。
以下のようなメソッドがあると仮定します。
メソッド {
if (略) {
bool a
result1 = true;
}
if (略) {
bool result2;
result2 = true;
}
if (result1 == true || result2 == true) {
(終了);
}
}
result1 とresult2 がtrueになったときに
一番下の(終了)という部分を実行したいのですが、
ビルドをすると「未割り当てのローカル変数が参照されました。」と
表示されエラーになってしまいますが、何が原因なのでしょうか。
よろしくおねがいします。
380:デフォルトの名無しさん
05/01/06 00:33:20
…
381:デフォルトの名無しさん
05/01/06 00:33:57
ふらっとC♯(Part5)
スレリンク(tech板)
382:デフォルトの名無しさん
05/01/06 00:46:21
>result1 とresult2 がtrueになったときに
> ||
?
383:デフォルトの名無しさん
05/01/06 03:29:19
質問です
Windowsが起動するたびに実行される
(スタートアップ)アプリケーションは
どう殺ったら出来るんでしょうか
レジストリ操作が必要なんでしょうか
384:デフォルトの名無しさん
05/01/06 07:20:47
スタート→プログラム→スタートアップの中にショートカットを作ればできます。
385:デフォルトの名無しさん
05/01/06 07:37:48
>>379
『 bool a 』は何なの?
386:デフォルトの名無しさん
05/01/06 07:46:57
「どう殺ったら」
ろくなもんじゃねーな
387:超初心者
05/01/06 13:31:50
>>374
WebBrowserの貼り付けかたわかりました。
でもhtmlファイル読み込ませて表示できません。
どうやるのでしょうか?
388:366,369,374
05/01/06 13:51:17
>>387
おいおい
URLリンク(support.microsoft.com)
ちゃんと読んだ。
AxWebBrowser1.Navigate("スレリンク(tech板)l50")
389:388
05/01/06 13:55:01
お!ふぁいるか?
AxWebBrowser1.Navigate("c:\a\index.html")
390:超初心者
05/01/06 14:07:44
>>389
ありがとうございました。
こんな事も分からない自分が恥ずかしいorz
391:389
05/01/06 17:28:06
>390
VB.NETだって誰かが勝手に考えて作ったものだから、
始めは分からなくて当たり前、少しやってりゃ
勘で分かるようになるさ。
392:デフォルトの名無しさん
05/01/06 17:37:16
質問をさせて頂きます。
正規表現を使って文字列の中にある、複数個の4桁の数字をすべて取り出したいのですが、
どうも正規表現の使い方が理解できずにいます。
皆様のお力をお貸しくださいませ。宜しくお願いします。
393:デフォルトの名無しさん
05/01/06 17:41:39
URLリンク(www.google.com)正規表現&ie=UTF-8&oe=UTF-8
394:デフォルトの名無しさん
05/01/06 17:44:04
どうせなら。
URLリンク(www.google.com)
395:デフォルトの名無しさん
05/01/06 17:49:20
>>392
動くかどうか知らんが
Imports System.Text.RegularExpressions
Dim m As Match = Regex.Match(inString, "[\d+-]")
While (m.Success)
if len(m.Value)=4 then
(略)
end if
end while
396:デフォルトの名無しさん
05/01/06 19:28:14
膣門です。
VB.NETでwavファイルを再生するにはどうしたら
いいですか?
397:デフォルトの名無しさん
05/01/06 19:30:32
じゃあ>>395をふまえて動くことを確認したコード
Imports System.Text.RegularExpressions
Dim strText As String = "元の文字列"
Dim m As Match = Regex.Match(strText, "\d{4,}")
While m.Success
If m.Value.Length = 4 Then
'〜ここに必要なコードを書くこと〜
'〜m.Valueに欲しいデータは入っている〜
End If
m = m.NextMatch()
End While
398:デフォルトの名無しさん
05/01/06 19:35:12
>>396
PlaySound APIを使え。
399:392
05/01/06 19:52:36
>>395さん、>>397さん、ありがとうございます。
397記述のコードで動作しました。
VB.netのTipsがあるHPをまわったりMSDNを読んだりしたのですが、
結局どうしたらいいのか理解できず困っておりました。
お力添え大変感謝いたします。ありがとうございました。
400:デフォルトの名無しさん
05/01/06 20:45:27
>>398
できましたありがとうございました
401:デフォルトの名無しさん
05/01/06 21:13:50
指定したIPアドレスに到達可能かどうか調べるには
どうすればいいでしょうか。
402:デフォルトの名無しさん
05/01/06 22:25:09
ping
403:デフォルトの名無しさん
05/01/06 22:30:32
>402
それはVB.NET?
404:デフォルトの名無しさん
05/01/06 22:31:49
>>401がVB.NETの質問なのか?っていう気もするな(笑
405:デフォルトの名無しさん
05/01/06 22:37:34
>404
すいません。VB.NET質問スレなのでその辺ははしょってしまいました。
.NET Frameworkのクラスを使って実現したいです。
例えばSocket.connect してみてSocketExceptionが出たら
到達不可、とかはできると思うのですが、どうもスマートで
なくて・・・
406:デフォルトの名無しさん
05/01/06 23:04:44
>>405
途中のFirewallやらルータやらの設定うんぬんを考えると、
確実なのは実際に行いたい操作を行ってみるってことだと思う。
Connectするなりなんなり。
外部からのPingに応答しないホストもあるし (ex. www.yahoo.co.jp)。
407:デフォルトの名無しさん
05/01/06 23:17:43
>406
>外部からのPingに応答しないホストもあるし (ex. www.yahoo.co.jp)。
そうなの?普通にコマンドプロンプトから
ping www.yahoo.co.jp
って打つと普通にReplyあるけど・・・
そういう意味じゃないのかな?
408:デフォルトの名無しさん
05/01/06 23:21:57
>>407
さっきは応答しなかったけど今やって見ると応答する ヽ(@д@)ノ
DNSラウンドロビンで応答しないサーバに当たってたのか?
409:デフォルトの名無しさん
05/01/06 23:35:07
>408
どんまい
410:デフォルトの名無しさん
05/01/06 23:40:01
つっても、pingはじく設定はできるのでやはり繋ぎたいプロトコルで繋いでCatchするのでいいんじゃね?
つーか、それ以外あるまい。
411:デフォルトの名無しさん
05/01/07 00:47:06
>410
サンクス
412:デフォルトの名無しさん
05/01/07 01:49:00
一つ質問。
EXEでビルドしたアセンブリは、COMClass属性を適用して、RegAsmで
タイプライブラリ吐かせても参照できないの?
413:デフォルトの名無しさん
05/01/07 02:11:39
>>412
.vbprojをいじってやれば.exeも参照できるよ。
414:デフォルトの名無しさん
05/01/07 02:41:37
なんで実行ファイルがこんなに遅いのかと
415:デフォルトの名無しさん
05/01/07 07:22:48
>414
Debugだから。もしくはお前のプログラムがダメだから。
ソース公開してみ。
416:デフォルトの名無しさん
05/01/07 11:32:21
>>414
中間言語だから遅いのよ。
速いの必要な人は、C++をどーぞ。
417:デフォルトの名無しさん
05/01/07 12:18:28
>>417
だったらngen使えばいいじゃん。
中間言語だからって、(ネイティブコード生成以外で)遅いということは基本的には無いはず。
418:デフォルトの名無しさん
05/01/07 13:41:30
中間言語を使用すればオーバーヘッドって物が増えるだろう。
C.NETがC++より遅いのは世界の常識、議論の余地無し。
以下この件打ち切り。
419:412
05/01/07 13:42:41
>>413
VB6ではうまく参照できたのですが、.NETだとうまくいきません。
VS.NET 2002, Microsoft .NET 1.0.3705 です。
*.vbproj は、唯一 COM と関係ありそうな RegisterForComInterop を "true"
にしましたが、書き換える場所を間違えてしまったのでしょうか?
[ビルド後、COM-EXE.exeへ参照]
S:\COM-EXE\bin\COM-EXE.exe への参照を追加できませんでした。
これは有効なアセンブリまたは COM コンポーネントではありません。
拡張子 '.dll' を持つアセンブリまたは COM コンポーネントのみを
参照することができます。
[regasm.exe]
C:\>regasm s:\COM-EXE\bin\COM-EXE.exe /tlb:s:\COM-EXE.tlb /verbose
Microsoft (R) .NET Framework Assembly Registration Utility 1.0.3705.0
Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
型は正常に登録されました。
型 TestClass がエクスポートされました。
型 _TestClass がエクスポートされました。
アセンブリは 's:\COM-EXE.tlb' にエクスポートされ、タイプ ライブラリは正常に登録
されました。
[regasm 後、COM-EXE.tlbへ参照]
'COM-EXE' への参照を追加できませんでした。
タイプ ライブラリを .NET アセンブリに変換できませんでした。
タイプ ライブラリ COM-EXE は CLR アセンブリからエクスポートされたため、
CLR アセンブリとして再度インポートすることはできません。
420:デフォルトの名無しさん
05/01/07 13:57:05
アセンブリなら.vbprojのReferences要素の中に、.exeを指定したReference要素を追加すればよし。
COMもregasmもいらない。
.exeの配置に気をつけてな。
421:412
05/01/07 14:20:12
>>420の方法で見事参照に成功しました。
今まで長い間Googleなどで検索してきて、正直諦めようかと思っていたところでした。
本当にありがとうございました。
# EXEでもきちんと参照できるのに、なんでVSは参照設定ダイアログでEXEを弾くんだろう…?
422:デフォルトの名無しさん
05/01/07 16:27:23
>>421
EXEを参照せざるを得ない状況ってのがいまいち想像出来ないんだが。
なんでDLLにしないんだ?
423:デフォルトの名無しさん
05/01/07 21:53:27
>422
言葉遣いが悪いですよ。
424:デフォルトの名無しさん
05/01/07 22:04:31
DataGridColumnStyle.GetColumnValueAtRow()の戻り値って
NULLチェックしないとダメ?
425:デフォルトの名無しさん
05/01/07 22:07:10
>>423
嫌なら2chなんかに来るなよ。
426:デフォルトの名無しさん
05/01/07 22:24:43
MSペイントみたいに、指定した座標の色と同じ色の領域を塗りつぶすような処理をしたいのですが
探してみても指定矩形領域塗りつぶしとか指定楕円領域塗り(ry だったりとかで、どうにも方法が思いつきません。
一般のグラフィックソフトで言う”塗りつぶし”の処理を行うにはどうしたらよいでしょうか?
427:デフォルトの名無しさん
05/01/07 22:34:13
>425
理由は?
428:デフォルトの名無しさん
05/01/07 22:46:55
ここはネットの海にたゆたうチラシの裏だから。
429:デフォルトの名無しさん
05/01/07 22:56:03
>>428
その表現もらった!
430:デフォルトの名無しさん
05/01/07 22:59:17
>428-429
自演乙。別に悪いことじゃないけど。
431:429
05/01/07 23:04:18
んじゃー>>428とケコーンする!
432:428
05/01/07 23:10:30
>>431
おまいさんが新成人±4歳で美処女なら喜んで。(w
433:デフォルトの名無しさん
05/01/08 00:45:53
>>426
APIのFloodFillかFloodFillEx
434:429
05/01/08 01:02:23
>>432
残念!おいらは新成人±10歳のオサーンでつw
435:デフォルトの名無しさん
05/01/08 01:22:44
>>433
調べてみたんですが、どうやらVB→VB.NETの仕様変更で(型が合わんとかGDI、GDI+云々)
.NET上でどうExtFloodFillを扱っていいものかよく分かりませんです…。
もしよろしければご教授を…(つД`)
436:デフォルトの名無しさん
05/01/08 01:26:33
>>435
URLリンク(custom.programming-in.net)
437:デフォルトの名無しさん
05/01/08 01:35:11
すいません、VB.NETでサービスを作ろうとしたのですが、VBのみを買ってきたせいか、サービスプロジェクトがありません。
どなたか、よい方法をご存知ないでしょうか?
よろしくご教授願います。
438:デフォルトの名無しさん
05/01/08 01:36:36
自分のIPアドレス文字列(192.168.1.1)を取得するには
どうしたらいいでつか・・・?
439:デフォルトの名無しさん
05/01/08 01:44:04
>356の下のコード(の一部)を使ってIPAddressクラスを取得して.ToString()。
440:435
05/01/08 02:07:44
グラフィックからHDCを取得したところ( g.GetHDC( ) )IntPtr型が戻り値になっているため
FloodFillの引数のHDC( Int型 )と型が合わないといわれます。
色の値もIntegerとの事ですが、これはColorTranslatorによる変換でよろしいのですかね?
そして現在のブラシの色で塗りつぶすとありますが、このブラシの色をどこで設定するのかが分からずまともに動きません…orz
Dim b as New SolidBrush(ry では無さそうですし…。
ちなみに今
Dim bmp As Bitmap = New Bitmap(256, 256)
Dim g As Graphics = Graphics.FromImage(bmp)
Dim hdc As IntPtr = g.Gethdc()
(゚Д゚)??
g.ReleaseHdc(hdc)
( bmpはonPaintをオーバーライドして描画 )
こんな感じで詰まっております(´・ω・`)
441:デフォルトの名無しさん
05/01/08 02:21:04
ExtFloodFillの定義のhDCをIntPtrで宣言してやればよし。
色はColorTranslator.ToWin32でOK。
描画にWin32APIを使うならグラフィクスオブジェクトもWin32APIの作法に則ってやらないといけない。
以下の関数は全部Win32API。Declareで宣言する必要があるぞ。
CreateSolidBrushでブラシを作成。
SelectObjectで作成したブラシを選択。
ExtFloodFillで描画。
SelectObjectで作成したブラシから元々選択していたオブジェクトに戻す。
DeleteObjectで作成したブラシを削除。
442:デフォルトの名無しさん
05/01/08 03:11:13
User Agentを自分独自のものにカスタマイズしたいのですが、どうすればいいいのですか?
443:435
05/01/08 04:20:49
>>441さん他に教えていただいたことをもとに以下の様なソースを書いてみたのですが動きません…orz
Private bmp As Bitmap = New Bitmap(256, 256)
Private Graph As Graphics = Graphics.FromImage(bmp)
Public Function Fill(ByVal FillColor As Color, ByVal x As Integer, ByVal y As Integer) As Integer
Dim hdc As IntPtr = Graph.GetHdc()
Dim brs As Integer = CreateSolidBrush(ColorTranslator.ToWin32(FillColor))
Dim old As Integer = SelectObject(hdc, brs)
Dim CrColor As Integer
Dim ret As Integer
'Me.GetPixel():マウスダウンされた座標点の色
CrColor = ColorTranslator.ToWin32(Me.GetPixel(x, y))
ret = ExtFloodFill(hdc, x, y, CrColor, 1)
SelectObject(hdc, old)
DeleteObject(brs)
Graph.ReleaseHdc(hdc)
End Function
どこかご指摘点ありますでしょうか(´;ω;`)
444:デフォルトの名無しさん
05/01/08 05:37:48
日本語おかしい奴おおすぎ
445:デフォルトの名無しさん
05/01/08 05:39:50
>439
ありがとうございます。
ちなみに似たような方法でサブネットマスクも取得できますか?
446:デフォルトの名無しさん
05/01/08 12:01:20
クリレポのシリアル付きインストーラつくったのだが
インストールしたら実行時「COMコンポーネント〜エラー」が出る・・・
必要なファイルは全部含めてるんだが・・・
447:デフォルトの名無しさん
05/01/08 21:00:40
すいません。>445なんですが、どなたかご存知ないでしょうか。
448:デフォルトの名無しさん
05/01/09 01:52:21
>>443
GetDCするだけじゃ無理らしくて調べてたら説明するよりコードを書いた方が分かりやすくなったのでサンプルクラスをかいとく。
基本はイメージのサイズ指定してのNewすることで一つ四角を描画、あと任意にDrawRectangleで四角を追加。
FillFloodで指定位置の色の連続している部分を塗りつぶし。Bmpフィールドで描画結果を取得。
本文長杉だそうなのでインデントも無きが如し。
Public Class FillFloodTest
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As IntPtr) As IntPtr
Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal color As Integer, ByVal filltype As Integer) As Boolean
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As IntPtr, ByVal obj As IntPtr) As IntPtr
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal color As Integer) As IntPtr
Private Declare Function DeleteObject Lib "gdi32" (ByVal obj As IntPtr) As Boolean
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As IntPtr) As Boolean
Public Bmp As Bitmap 'Getのみのプロパティにしたいけど行がもったいないのでフィールド直接Public
Public Sub New(ByVal width As Integer, ByVal height As Integer)
Bmp = New Bitmap(width, height)
Clear(Color.Brown) '何となく決めうちで茶色でクリア
DrawRectangle(Color.Red, 100, 100, 100, 100) '何となく決めうちで初めの四角を描画
End Sub
Public Sub DrawRectangle(ByVal line As Color, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer)
Dim g As Graphics = Graphics.FromImage(Bmp)
Dim p As New Pen(line)
g.DrawRectangle(p, x, y, width, height)
p.Dispose()
g.Dispose()
End Sub
Public Sub Clear(ByVal back As Color)
Dim g As Graphics = Graphics.FromImage(Bmp)
g.Clear(back)
g.Dispose()
End Sub
449:デフォルトの名無しさん
05/01/09 01:54:56
Public Function FillFlood(ByVal fillColor As Color, ByVal x As Integer, ByVal y As Integer) As Boolean
Dim baseColor As Integer = ColorTranslator.ToWin32(bmp.GetPixel(x, y)) 'ほんとはGetPixelで例外処理が必要
Dim filler As Integer = ColorTranslator.ToWin32(fillColor)
Dim g As Graphics = Graphics.FromImage(bmp)
Dim originalDC As IntPtr = g.GetHdc()
Dim hBitmap As IntPtr = bmp.GetHbitmap() 'BmpのWin32APIで扱えるビットマップ表現HBITMAPを取得
Dim compatibleDC As IntPtr = CreateCompatibleDC(originalDC) '元DCとExtFloodFillで扱うDCに互換性がないので、互換DCを作成。以後描画するのはこの互換DCになる
Dim oldSelectedHbitmap As IntPtr = SelectObject(compatibleDC, hBitmap) '互換DCにHBITMAPをセット。互換DCの描画対象が元画像になる
Dim brush As IntPtr = CreateSolidBrush(filler)
Dim oldSelectedGraphicsObject As IntPtr = SelectObject(compatibleDC, brush) '互換DCにブラシをセット
Dim result As Boolean = ExtFloodFill(compatibleDC, x, y, baseColor, 1) '互換DCで塗りつぶし
450:デフォルトの名無しさん
05/01/09 01:55:55
Dim newBitmap As Bitmap
If result Then newBitmap = Image.FromHbitmap(hBitmap) '塗りつぶせたら、描画したHBITMAPから.NETのBitmapオブジェクトを作成
DeleteObject(SelectObject(compatibleDC, oldSelectedGraphicsObject)) '互換DCのブラシを元に戻し、返ってきた自分で作ったブラシ(brush)を削除
DeleteObject(SelectObject(compatibleDC, oldSelectedHbitmap)) '互換DCのHBITMAPを元に戻し、返ってきた"既にImageオブジェクトを作って用済みのhBitmap"を削除
DeleteDC(compatibleDC) '不要になった互換DCを削除
g.ReleaseHdc(originalDC) '使い終わったDCを解放
g.Dispose() '使用済みGraphicsオブジェクトをDispose
If result Then '塗りつぶしに成功していたら
Dim originalBitmap As Bitmap = Bmp '描画前の画像を持つBitmapは後でDisposeするために待避
Bmp = newBitmap 'Bitmapを描画後の画像のものに差し替え
originalBitmap.Dispose() '以前のBmpだったビットマップはDispose
End If
Return result '成功したらTrueを返す
End Function
End Class
こうなるって分かってたらインデントとかまともにすべきだった……。
451:デフォルトの名無しさん
05/01/09 02:13:19
ていうかなんか>>443のソース見る限り>>435の場合Win32APIとか以前にグラフィックの基本が分ってないようだから、
>>448-450みたいなの書かれても理解できないと思う。
グラフィックの基本が分ってないとしか思えないでしょ。
どう考えてもBitmapとかGraphicsが概念的に理解できてない人のコードだよ。
こんなの人に聞くよりMSDNでも読んだほうが100倍早いのになんでそういう
手間を惜しむんだろうねえ。。
それに恐らくこういうコード書く人はクラスもわかんない可能性高い。
ていうかBitmap返すクラスってなんか使いにくそう。
私だったらGraphicsをメソッドの引数に取るかコンストラクタで食わせるかするなたぶん。
452:デフォルトの名無しさん
05/01/09 02:28:15
>>451
> ていうかBitmap返すクラスってなんか使いにくそう。
> 私だったらGraphicsをメソッドの引数に取るかコンストラクタで食わせるかするなたぶん。
あーうん。
元々はもうちょっとクラスとして意味のある構成を考えてたんだが、
掲示板に貼るのに最低限の部分だけにしたらクラスにする意味がすっかり薄れてしまったのさね。
ただGetHbitmapの為にBitmapインスタンスも必要というのが悩ましい。
//BitmapのHdc>BitmapのHdcにBitBltするにもこの操作が必要だし。
//なんかないかなー。
453:デフォルトの名無しさん
05/01/09 02:29:42
>>451
>それに恐らくこういうコード書く人はクラスもわかんない可能性高い。
VB.NETへの移行過程でその手の厨房は淘汰されるので今しばらくのご辛抱を。
454:デフォルトの名無しさん
05/01/09 02:34:22
.NETになって格段に日本語ドキュメントが充実したからなあ。まず読め、読みまくれ。
宝の山ですぞ!
455:435
05/01/09 03:10:18
まったくもって頭が上がりません…。
>>448さん他非常にありがとうございました
謝罪のしようもありません。
>>452さん、>>454さんの仰るとおりMSDN穴が開くほど読み倒してきます(`・ω・´)
456:435
05/01/09 03:11:33
そしてアンカーを間違える_| ̄| ...○
>>452→>>451
457:デフォルトの名無しさん
05/01/09 04:31:45
すいません、VB.NETでサービスを作ろうとしたのですが、VBのみのやつを買ってきたせいか、サービスプロジェクトがありません。
どなたか、よい方法をご存知ないでしょうか?
よろしくご教授願います。
458:最凶VB厨房
05/01/09 04:36:21
>>457
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
459:デフォルトの名無しさん
05/01/09 07:27:54
すいません。>445なんですが、どなたかご存知ないでしょうか。
460:最凶VB厨房
05/01/09 10:09:44
Imports System
Imports Microsoft.Win32
Public Class SubnetMaskGetter
Shared Sub Main(ByVal args As String())
Dim interfacekeys As String = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey(interfacekeys, False)
If rk Is Nothing Then
Console.WriteLine("キーはなさげ")
End If
Dim s As String() = rk.GetSubKeyNames()
Dim sk As String
For Each sk In s
Dim rrk As RegistryKey = Registry.LocalMachine.OpenSubKey(interfacekeys & "\" & sk, False)
Dim v As String() = CType(rrk.GetValue("SubnetMask"), String())
Console.WriteLine(sk)
Console.WriteLine(v(0))
Next
End Sub
End Class
URLリンク(support.microsoft.com)
461:最凶VB厨房
05/01/09 10:25:39
>>442
HttpWebRequestクラス
Imports System
Imports System.IO
Imports System.Net
Public Class UAHttpAccess
Shared Sub Main(ByVal args As String())
Dim hr As HttpWebRequest = WebRequest.Create("URLリンク(127.0.0.1:10000)")
hr.UserAgent = "SaikyoVBChubo"
Dim wres As WebResponse = hr.GetResponse()
Dim st As Stream = wres.GetResponseStream()
Dim sr As StreamReader = New StreamReader(st)
Dim s As String = sr.ReadToEnd()
Console.WriteLine(s)
End Sub
End Class
462:デフォルトの名無しさん
05/01/09 10:55:43
>460
うーん、レジストリから取得するってことですよねぇ。
他の方法をお願いします。もっとスマートなやつ。
463:デフォルトの名無しさん
05/01/09 11:16:18
すみません,質問です.
ListBox に現在のプロジェクトにあるフォームをリストアップし,
そこから選んだアイテムに対応するフォームを開く,という処理を行ないたいのですが……
まず,現在のプロジェクトにあるフォームのリストを取得する方法がわかりません orz
で,とりあえず固定でフォーム名のリストを持たせてやってみようと思ったのですが,
今度は,ListBox から取得した文字列で示されるクラスを作る方法がわかりません orz
Dim f = New Form1() の「Form1」とかの部分を変数で指定できれば……と思ったのですが,
この発想自体が無理っぽいでしょうか?
464:最凶VB厨房
05/01/09 11:53:50
Imports System.Reflection
-----------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly()
Dim t As Type
For Each t In asm.GetTypes()
If t.IsSubclassOf(GetType(System.Windows.Forms.Form)) Then
ListBox1.Items.Add(t.FullName)
End If
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim s As String = CType(ListBox1.Items.Item(ListBox1.SelectedIndex()), String)
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly()
Dim f As Form = CType(asm.CreateInstance(s), Form)
f.Show()
End Sub
'Button1,Button2,ListBox1配置
465:463
05/01/09 12:17:40
おぉー
とても感謝です.ありがとう!
# Assembly までは辿り着けたんですが GetExecutingAssembly() まで行けてませんでした orz
466:デフォルトの名無しさん
05/01/09 12:30:56
>463
おお、なんかかっこいいな。
467:デフォルトの名無しさん
05/01/09 14:42:12
>>462
何様?
468:超初心者
05/01/09 17:39:44
質問です!
あるものを処理し(具体的にはJavaなのですが)、その結果をhtmlで作成
もしくは元からあるhtmlファイルに上書き、それをVBで表示さ
せたいのですが、そのhtml作成(更新)されてから、読み込んで
表示させるにはどのようにすればよいのでしょうか?
469:デフォルトの名無しさん
05/01/09 17:51:37
>467
いや、気持ちは分かるんですが、もっとスマートな方法を
知りたかったので。他の方、分かりませんか?
470:デフォルトの名無しさん
05/01/09 20:10:33
WMI使うとか
471:デフォルトの名無しさん
05/01/09 20:35:00
>470
どうも。
ところでみんなわりぃ、サブネットマスク取得する必要
なくなっちゃったよ。まぁよくあることだわな。
472:デフォルトの名無しさん
05/01/10 03:52:18
ばかじゃないの
473:最凶VB厨房
05/01/10 06:39:35
Private Sub FileSystemWatcher1_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
Dim fi As FileInfo = New FileInfo(e.FullPath)
While fi.LastAccessTime = DateTime.Now
System.Threading.Thread.Sleep(1000)
End While
AxWebBrowser1.Navigate(e.FullPath)
End Sub
'FileSystemWatchr1,AxWebBrowser1(Microsoft Web Browser)配置
474:最凶VB厨房
05/01/10 07:20:50
Dim query As ObjectQuery = New ObjectQuery("Select IPSubnet FROM Win32_NetworkAdapterConfiguration")
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(query)
Dim share As ManagementObject
For Each share In searcher.Get()
Dim o As Object = share("IPSubnet")
If Not o Is Nothing Then
If o.ToString() = "System.String[]" Then
Dim d() As String = CType(o, String())
Console.WriteLine(d(0))
End If
End If
Next
URLリンク(ukamen.hp.infoseek.co.jp)
URLリンク(msdn.microsoft.com)
475:最凶VB厨房
05/01/10 07:26:18
補足追加
Imports System.Management
参照の追加
System.Management
476:デフォルトの名無しさん
05/01/10 09:29:16
>474
お前色々ソース出してるけど、その読みにくさなんとかしろ。
全角スペースでインデント付けろ。
477:デフォルトの名無しさん
05/01/10 10:20:58
分かってると思うけど↑みたいのいちいち構うのよそう。
こういう人はそのうち自作自演で「構い」だすだろうが、そっちも含めて放置で。
478:476
05/01/10 11:05:07
>477
なんで?ソースを読みやすくしてほしくないの?
479:476
05/01/10 11:06:36
While fi.LastAccessTime = DateTime.Now
System.Threading.Thread.Sleep(1000)
End While
こう書いたほうが読みやすいとは思わんのかね?
480:デフォルトの名無しさん
05/01/10 11:32:14
Thread.Sleepを使うとフリーズしちゃうでしょ(笑)
481:デフォルトの名無しさん
05/01/10 11:32:23
>>477の↑は「最凶VB厨房」に向いてると思われ。
482:超初心者
05/01/10 11:53:19
>>474
は468への答えでいいの?
483:デフォルトの名無しさん
05/01/10 12:59:27
>482
いいの?じゃなくて、いいのですか?くらい書いてもらえますか?
484:超初心者
05/01/10 13:13:59
>>483
ゴメンナサイ、いいのですか?
485:デフォルトの名無しさん
05/01/10 14:09:02
すいません、MainMenuでヘルプメニューを作って、
それをクリックすると、txtファイルをよび出すようにしたいのですが、
どうすればいいのですか?
486:デフォルトの名無しさん
05/01/10 14:15:15
txtファイルをどうしたいのかによるけれど。
関連づけられたエディタで開きたいのなら、System.Diagnostics.Procss.Start
487:デフォルトの名無しさん
05/01/10 14:15:53
む、eが抜けた。System.Disgnostics.Process.Start
488:デフォルトの名無しさん
05/01/10 14:16:15
>>485
呼び出すって?
489:485
05/01/10 14:34:42
>>486
どうもです。できました。
>>488
すみません、なんと表現していいのか分からなかったもので^_^;
486さんの解釈の通りです。
490:デフォルトの名無しさん
05/01/10 14:35:41
>>485
ヘルプテキストをhtml化して、ブラウザに投げるのが簡単。
491:デフォルトの名無しさん
05/01/10 15:21:55
>490
はぁ?
492:超初心者
05/01/10 15:27:08
>>473〜475
ありがとう。でも、馬鹿すぎてよくわからんとです。
どこで何やってるのか誰か解説キボンです。
493:デフォルトの名無しさん
05/01/10 15:36:30
>492
あなたは馬鹿じゃないですよ。質問者のレベルに合わせた
回答をできない方が馬鹿なんです。
494:デフォルトの名無しさん
05/01/10 15:37:33
>>493
自演乙
495:デフォルトの名無しさん
05/01/10 15:51:18
>494
根拠は?そうでないと証明もできませんが。
あなたは出来るの?
496:493
05/01/10 15:52:34
自演じゃないですが、自演だったとして何か不都合がありますか?
どちらにしろあなたが馬鹿だという事実は変わりませんよ。
497:デフォルトの名無しさん
05/01/10 15:59:12
うんそう、満足に初心者に一から教える事もできない、自演と決めつけて心の安寧を貪る馬鹿の巣窟の日記帳だから。
賢いあんたはこんな芥溜め痰壷に近づかない方が良いよ。
498:デフォルトの名無しさん
05/01/10 16:13:06
>>492
あなたに対する解答は473だけ
474〜475は471に対するもの、もういらないようだけど。
そのくらいは分かるよね。
499:デフォルトの名無しさん
05/01/10 16:43:09
|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
|| 図星だと Λ_Λ いいですね。
|| こうなります。 \ (゚ー゚*)
||________⊂⊂ |
∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄|
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ | |
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄
〜(_( ∧ ∧_(∧ ∧ _(∧ ∧ は〜い、先生。
〜(_( ,,)(_( ,,)(_( ,,)
〜(___ノ 〜(___ノ 〜(___ノ
500:デフォルトの名無しさん
05/01/10 17:58:46
質問スレで「初心者」を免罪符にする香具師の典型的パターンだな
501:超初心者
05/01/10 18:35:47
>>498
そうでしたか。
やさしい人、468お願いします!!
502:デフォルトの名無しさん
05/01/10 18:40:43
ここにも釣り師登場か。
503:デフォルトの名無しさん
05/01/10 18:46:26
>>501
>>334,>>337,>>368,>>378,>>387,>>390
これ皆あなたでしょ、少しは自分で考えないと。
504:デフォルトの名無しさん
05/01/10 19:46:55
>503
どこまで考えればいいの?線引きしてください。
505:デフォルトの名無しさん
05/01/10 20:04:40
答えを丸写ししてるだけじゃダメだから、MSDNやサンプルコード
を検索したり組み合わせたりして、自分がやりたい処理に持って行
く。
大まかな線引きとしては、「やりたいこと」だけを質問するんじゃ
なくて、「まずコードを書く」ことからやってみそ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4843日前に更新/258 KB
担当:undef