VB.NET質問スレ (Part8) ..
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やサンプルコード
を検索したり組み合わせたりして、自分がやりたい処理に持って行
く。
大まかな線引きとしては、「やりたいこと」だけを質問するんじゃ
なくて、「まずコードを書く」ことからやってみそ。
506:デフォルトの名無しさん
05/01/10 20:06:45
>505
ギャハハハハ。やってみそだって!ギャハハハハハ
507:デフォルトの名無しさん
05/01/10 20:07:28
>>505
ということは、コードをまったく書けない場合は質問するな、
ということですね。他の方もそうなんですか?
508:デフォルトの名無しさん
05/01/10 20:24:22
>>507
コードがまったく書けない人に質問されても
答えることは難しいわな。
入門書である程度勉強するしかないのでは。
特にここは長い説明は嫌われるしな。
509:デフォルトの名無しさん
05/01/10 20:28:52
>508
それはあなたのルールですか?
このスレのルールですか?
510:デフォルトの名無しさん
05/01/10 20:29:52
コードが全く書けないのにプログラム板に来るのはなんで?
ここはコードやアルゴリズムを突き合わせて切磋琢磨するところ
だと思ってるんだが。
511:デフォルトの名無しさん
05/01/10 20:30:55
>510
切磋琢磨してるのですが全く書けないので、こういう
掲示板を利用してみようかと思って辿り着きました。
512:デフォルトの名無しさん
05/01/10 20:31:24
>510
それはあなたのルールですか?
このスレのルールですか?
513:デフォルトの名無しさん
05/01/10 20:32:49
>510
そういうスレ立てれば?>>1には「VB.NETの質問全般です」としか
書かれていないので、別にレベルが低い質問もあっても
仕方ないのでは?
514:デフォルトの名無しさん
05/01/10 20:33:27
まず、カイジの利根川のセリフを頭に叩き込まなければなりませんね。
少なくともコードの書き方(配列変数は文法的にどう書くのなど)は、自分で
勉強するものだろう。まさかそんなことまで人に教えてもらおうなんて奴は
居ないと思うが。
515:俺ルール
05/01/10 20:33:38
ルールっぽいことを書く人は、「名前」欄に「俺ルール」や「スレルール」と
書くことにしましょう。何もない場合は「俺ルール」ということにしましょう。
516:デフォルトの名無しさん
05/01/10 20:34:04
>514
それはあなたのルールですか?
このスレのルールですか?
517:デフォルトの名無しさん
05/01/10 20:34:31
>>514
カイジの利根川のセリフって何ですか?
専門的すぎてよく分かりません。
518:俺が職場で学んだルール
05/01/10 20:42:33
自分がやりたい処理がある。
↓
テンプレに載ってる数多のサンプルや手法を読んでみる。
↓
流用できそうなのをうまく編集してコードにしてみる。
↓
うまくいかなかったら、ここor識者に具体的な質問をする。
‥‥つか、学生にしろ社会人にしろこれくらいは常識だと思う。
教えて君は本人にとっても回りにとっても良くないだろ。
URLリンク(myu.daa.jp)
519:デフォルトの名無しさん
05/01/10 20:43:02
>>516
よほど難しい文法でない限り文法事項なんて独習が常識だろう。
I am a student in that high school. を訳せません教えてくださいって聞くアホは
いないでしょ。
520:508
05/01/10 20:43:51
>>509
どこにルールなんて書いたの?
コードが全くかけない人に、どのように説明するの。
それともコードは全くかけないが、人のコードは
理解できるとでも言うの。
521:デフォルトの名無しさん
05/01/10 20:44:35
>518-519
あのぅ、さっきからずっと釣ってるのですが、いつまで反応してくれるのですか?
いい加減釣りも飽きてきたのでやめたいのですが。
522:デフォルトの名無しさん
05/01/10 20:45:16
>520
>521
523:デフォルトの名無しさん
05/01/10 20:46:50
>>521
立場が悪くなったら釣りの振りして逃げる。雑魚っていうかゴミの典型ですね。
恥ずかしい
524:デフォルトの名無しさん
05/01/10 20:52:49
>>513
質問したっていいさ、ただ答えたくても、全くコードをかけないやつに
どうやって説明したらいいか、困ったな。といっているの。
525:デフォルトの名無しさん
05/01/10 20:53:56
>523
うわ、まだ反応してるよ。
526:デフォルトの名無しさん
05/01/10 20:54:35
>523
ゴミの定義は?
527:デフォルトの名無しさん
05/01/10 21:00:00
明日から学校なんだし、ここも静かになるだろ。
枯れ葉も山のにぎわい程度に流しておけばいいじゃん。
528:デフォルトの名無しさん
05/01/10 21:02:07
>>527
うんだ。
529:デフォルトの名無しさん
05/01/10 21:06:32
>527-528
私に関して言えば引きこもってるので変わらないですよ。
530:デフォルトの名無しさん
05/01/10 21:22:51
意味のわからない質問、答えにくい質問はスルーされる。
自然の摂理だ。
質問者が思っている以上に答えるのにはエネルギーを使うもんだ。
531:デフォルトの名無しさん
05/01/10 21:44:09
>530
質問に回答するのはあなた方の自由のはずですが。
532:デフォルトの名無しさん
05/01/10 22:08:41
別に、質問者の質問内容の程度なんてどうでもいいんでない?
答える側は、質問の意図を聞き返したりスルーしたり出来るし。
答えたい奴が答えるでいいじゃん。
533:超初心者
05/01/10 22:14:15
なんかすいません。僕のせいで荒れてしまいましたね。
自分で検索したんですがさっぱり出てこなくて。
もう少しがんばってみます。それでもわからなかったら
ここで質問します。そん時はよろしくお願いします!
534:超初心者
05/01/10 22:25:35
あともうひとつ、>>473-475は468の答えでは
ないんですか?なんか釣りとか書いてたから・・・
535:デフォルトの名無しさん
05/01/11 01:00:14
URLリンク(jp.thespoke.net)
あの似顔絵ウィザードも含めて、HomeStyle+ って
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.NET Framework で書かれてるんですね。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
逆アセンブルしてみたら気づきました・・・・。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ああいうのを作品に組み込むのも面白いかも(笑)
MSの製品を逆汗するような奴をMSはMVPに選んでいるんです。MSは逆汗を認めていると
536:デフォルトの名無しさん
05/01/11 01:25:32
ちょい荒れ気味のところすまんけど、
VBCommenter + NDoc って使ってる?
試しに入れてみたけど、VBCommenter出力がいまいちうまくいかなかったり、
NDocが異常終了したり。どっか設定おかしいのかなあ。
でもうまくいったら便利そう。ちなみにC#未経験。
537:デフォルトの名無しさん
05/01/11 08:24:04
上に便乗して質問w
VB.netで勉強の為に簡単なチャットプログラムを作ろうと思ってるんですが、
VB6.0の資料はぐぐっても出てくるのですが、VB.net用の資料は全然ないのです。
VB6.0のソースを参考にして自分なりに書いてみたのですがどうも動かない・・・
一応、
URLリンク(www.comel.or.jp)
こちらのVB6.0用のソースを参考にして自分で作ったソースが↓です。
URLリンク(cdrtest.hp.infoseek.co.jp)
ソースをUpして「見て下さい」っていうのは失礼だとは思うのですが
どうか宜しくお願い致します。
538:デフォルトの名無しさん
05/01/11 10:04:01
ソースを見ずにカキコ
非同期サーバー ソケットの使用
URLリンク(www.microsoft.com)
Google 検索: C# Socket
URLリンク(www.google.co.jp)
539:デフォルトの名無しさん
05/01/11 10:41:33
とりあえずMSWinsockLib.dllとか見えた時点で読むのを止めた。
540:デフォルトの名無しさん
05/01/11 11:01:38
vb.netでおなじLAN内のファイル転送の仕方が色々調べましたが分かりません 教えてください
541:デフォルトの名無しさん
05/01/11 11:03:11
>>540
何を調べたのか書いてみろ。
542:デフォルトの名無しさん
05/01/11 11:14:36
imports system IO file.copyでマシンネームを入れるやり方だったと思うのですがよく分からずできずにあきらめ、
色々サイトを見て回ったのですがそれらしい物すら見つからずです
543:デフォルトの名無しさん
05/01/11 11:19:29
さっきの追加です チャットするまではできます
そこにファイル転送も加えたいです
544:531
05/01/11 12:06:56
>532がいいこと言った
545:デフォルトの名無しさん
05/01/11 13:48:19
取りあえずチャットのプロトコルとしてUDP使うのはやめとけ。ファイル転送もやりたいなら
なおさらTCP使った方がいいぞ。
俺は4年前から自宅サーバでチャットプログラム動かしてて内輪でチャットやってるから
チャットプログラムを本格的に作る気ならノウハウぐらいは提供できる。C#だが。
>>539
俺はいつもSystem.Net.Sockets名前空間のSocket使ってるから知らないんですけど
MSWinsockLibてなんですか?Winsockのラッパー?
546:デフォルトの名無しさん
05/01/11 14:10:02
>>545
> 俺はいつもSystem.Net.Sockets名前空間のSocket使ってるから知らないんですけど
> MSWinsockLibてなんですか?Winsockのラッパー?
そう。
そりゃ.NETでWinsockのサンプルなんて無いだろ(System.Net.Socketsがあるんだから)、
まず>538でも見て.NETにおけるソケットの扱い方を勉強しろ、と。
そう思った次第。
547:デフォルトの名無しさん
05/01/11 14:29:58
>546
勉強しろ、じゃなくて、勉強してください、ね。語尾は正確にお願いします。
548:デフォルトの名無しさん
05/01/11 14:43:54
>>547
何様?
549:デフォルトの名無しさん
05/01/11 14:45:10
殿様ん
550:デフォルトの名無しさん
05/01/11 17:00:12
勉強しなくなけりゃしなくても
喪れは困らないので勉強しなくてもいいですよ。
551:デフォルトの名無しさん
05/01/11 17:26:59
>550
なんでタイプミスするの?
552:デフォルトの名無しさん
05/01/11 17:28:40
timer1のを一度disableするとenableにしてもEVENTかかりません。
なぜでしょう。?
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If picBar.Height > 0 Then
picBar.Height = picBar.Height - 1
Else
Timer1.Enabled = False ’ここで切ると二度と飛んでこない?
End If
End Sub
Sub threadMain()
Do
thread1.Sleep(100)
If Now.Second = 0 Then
Timer1.Enabled = True
Timer1.Interval = 100
Timer1.Start()
picBar.Height = 500
End If
Loop
End Sub
553:デフォルトの名無しさん
05/01/11 17:36:19
>552
System.Windows.Forms.Timerを使っているのであればムリ。
他のTimer使ってみてはどうでしょう。
554:デフォルトの名無しさん
05/01/11 18:10:52
えっ、他にもタイマーがあるの?
ちなみにバグってことでしょうか?
555:デフォルトの名無しさん
05/01/11 18:31:57
>>552
MSDN読んだら、Start()の替わりにEnabledにtrueを設定することでもスタートさせることができると
書いてあったのだが二重起動にならないか?多分Timer内部でハネてるから大丈夫とは思うが。
他のタイマーとしてはSystem.ThreadingのものとSystem.Timersのものがある。
使い分けはMSDN読んだら書いてある。
556:デフォルトの名無しさん
05/01/11 18:40:37
二重起動は気にする必要はない。
Start()はEnabledをtrueにしてるだけだし、
Enabledを変更した時に値が同一なら以降の処理をしないようにしてる。
557:デフォルトの名無しさん
05/01/11 18:46:01
>555
ありがとう。
良く分からんが、System.windows.forms.timerってのはComインターフェース
なのかな? vb6.0で作ったActiveXなんかもNETでは動作がおかしい。
VB6.0のときはEnable=trueだけで制御できた。
結論:flgを追加して、ディスエーブルするようにした。timerはFalseにしない。
558:デフォルトの名無しさん
05/01/11 19:00:55
バグかどうかよくわからんけど、System.Windows.Forms.Timerは
マルチスレッド環境でうまく動かないことがあったな。
559:デフォルトの名無しさん
05/01/11 19:04:45
>Timer は、ユーザー定義の間隔でイベントを発生させるために使用されます。
>この Windows タイマは、UI スレッドを使用して処理を実行するシングルスレッド環境に合わせて設計されています。
>ユーザー コードには利用できる UI メッセージ ポンプが必要です。
>また、このコードは必ず同じスレッドから操作し、別のスレッドに対する呼び出しをマーシャリングする必要があります。
いかにもお手軽に使う以外は使うべきでなさそうじゃないか。
560:デフォルトの名無しさん
05/01/11 19:08:28
>559
ありゃ。ちゃんと書いてあったのか。失礼しました。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4949日前に更新/258 KB
担当:undef