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
ありゃ。ちゃんと書いてあったのか。失礼しました。
561:デフォルトの名無しさん
05/01/11 20:48:23
開発環境が変わったんだけど、C#なしのVB.NETだけ、VSSも入ってないマシンになっちゃったから、
とりあえずSubversion + AnkhSVNを試してみた。
……VC++.NETがないと動作しないってマジですか ○| ̄}_
(正確にはVCProjectEngine.dllだかが必要らしい)
Subversion + TortoiseSVNでがんがるべき?
NTCVS + Iglooってどうなのかな。
562:デフォルトの名無しさん
05/01/12 05:33:22
ツールバーをウィンドウから独立させる方法教えてくだちい!
普通フォームの端につくか、枠内で動くかしかできませんよね。
そこをなんとか。
ツールバー自体がアプリの実体に見えるようなものを作りたいんです。
563:デフォルトの名無しさん
05/01/12 10:57:34
>>562
PhotoShopみたいなフローティングのツールバーってこと?
空のフォーム生成してDockしちゃえば?
クリレポがうまく配布できない
あるPCでは動くのにあるPCでは動かない
{XXXXX~XXXX}のCOMが何とかってエラーが出る
何かファイルが足りないんだろうか
564:プログラマ初心者
05/01/12 11:35:29
.netでversion番号を入力したいんですがどういった方法を用いればよろしいですか?
565:デフォルトの名無しさん
05/01/12 11:38:49
>>565
AssemblyInfo
566:564
05/01/12 12:32:58
>>565
すんません。
参考になりました。
567:デフォルトの名無しさん
05/01/12 15:48:01
フォームに大幅に変更を加え、実行したところ、変更途中のものがビルドされて
出てきて、実際にビルダーで作ったものとは異なる状態で表示されます。
エラーのある状態で実行すると、こうなるのでしょうか?途中経過を見たいので
最新の状態でビルドして画面を見たいのですが、どうすればよいですか?
568:567
05/01/12 16:07:55
すみません、エラー部分に片っ端から ' をつけることで解決しました。
もうひとつ、教えていただきたいのですが、frmAというフォームをそっくりそのままコピーして
同じプロジェクト内でfrmBというフォームを作りたいんですが、どうすればよいのでしょう?
別名で保存しても、プロジェクトからは見えないのですが。
569:デフォルトの名無しさん
05/01/12 16:18:56
>>568
既存項目の追加
570:デフォルトの名無しさん
05/01/12 17:00:06
VB6のDirListBoxを使うにはどうすればいいんですか?
571:デフォルトの名無しさん
05/01/12 17:02:23
URLリンク(www.google.co.jp)
572:570
05/01/12 17:39:28
VB6で作ったプログラムにDirListBoxがあるんですが、これをウイザード
で自動変換すると、NETに上手く変換してくれます。ところが、ツールボックスに
はDIRListBoxが見当たらない。
.NETのデザインエディターでコピーして貼り付けると自動的にDirListBox2が
できます。
ということで、デザインエディターはVB6のDirListBoxもサポートしているわけです。
どうすれば、ツールボックスにDirListBoxを追加できるのかが知りたいのです。
どなたか分かりませんか?
573:デフォルトの名無しさん
05/01/12 17:44:49
ツールボックスで右クリックして
574:デフォルトの名無しさん
05/01/12 17:47:02
571の3つめ辺りにある宇宙仮面のとこに書いてるっての。
575:570
05/01/12 18:06:04
>574
おっーサンクス。でけたー。
帰りにMSに石なげてかえろっと。
576:デフォルトの名無しさん
05/01/12 21:26:19
10秒後とにファイルを読み込むということをしたいんですが
どのようにしたらよいでしょうか?
577:デフォルトの名無しさん
05/01/12 21:27:29
System.Windows.Forms.Timerを使えばいいんじゃない?
578:576
05/01/12 21:56:43
タイマーコントロールをフォームに貼り付ける
その中にファイルを読み込むコード入れればよいんですよね?
でも、ボタンをクリックしたときにタイマーを使ってその処理
をしたいんですがどうすれば?
579:デフォルトの名無しさん
05/01/12 22:00:50
>>578
> でも、ボタンをクリックしたときにタイマーを使ってその処理
> をしたいんですがどうすれば?
ボタンをクリックしたらタイマをスタートさせるという事?
ならその通りにコーディングすればいい。
貼り付けただけじゃタイマはスタートしないぞ。
580:noname
05/01/12 22:34:50
リストボックスに表示されている項目において、マウスでクリックした
項目のテキストを取得するにはどうしたらよいのでしょうか。
例)
リストボックスに、「A」「B」「C」と表示されているとする。
2番目をクリックすると、「B」という文字が取得できる。
サイトをさがしてみたのですが、マウスでクリックした項目が何番目
であるのかを取得する方法はのっていましたが、テキストの取得方法は
のっていませんでしたので、どうしたらよいのか分かりません。(汗
URLリンク(vbdotnet.fc2web.com)
基本的な質問ですみませんが、よろしくお願いします。
581:デフォルトの名無しさん
05/01/12 22:38:24
まあ項目のインデクスからでも取得はできるけどね。
SelectedItemプロパティ。
選択アイテムの文字列なら.ToString()メソッドも。
582:noname
05/01/12 22:45:31
>>581
すばやい回答ありがとうございます!!
助かりました。
583:デフォルトの名無しさん
05/01/12 22:54:19
nprofって日本語対応だれかやってないのかなあ。
パスに日本語が入ってるとエラーが出る。
しかし、ちゃんと動作しても、情報のうまい見方がいまいちよくわからないのであった。
devpartnerなんかはわかりやすいけど、50万円か……
URLリンク(www.atmarkit.co.jp)
ANTS Profilerってのも見やすそうだけど、$295... URLリンク(www.red-gate.com)
584:デフォルトの名無しさん
05/01/12 23:49:25
質問よろしいでしょうか
Web上を探し回ってUSBカメラの映像をフォーム上に表示させることには成功しました。
VFWとDirectShowを使ったやり方、表示はどちらもうまくいったのですが、DirectShow
のほうで、スナップショットの扱いがどうもうまくいきません。
スナップショットを静止画として別フォームに表示、ではなく、それをBMPかJPGとして
保存したいのです。
VFWではそれをクリップボードに取り込んだうえ、Doodle2というフリーのdllを使って
BMPに出力できたのですが、DirectShowでそのやり方を無理にとると、モニター全体の
PrintScreen状態の画像になってしまいます(欲しい画像は隅にちょこっとうつってる
だけ。VFWでは画像部分だけが取れた)
やりたいことはすでにVFWで実現できており、これは後学のためにという程度の
質問なので、誰かひまなとき教えてください。
585:デフォルトの名無しさん
05/01/13 00:04:52
ようわからんが、取りあえずそれっぽいところ
URLリンク(www.google.com)
URLリンク(mobiquitous.com)
586:デフォルトの名無しさん
05/01/13 00:34:11
>>585さん
ありがとうございます
後のほうのリンク、内容はすごく面白そうなんですけど、読解できないのが
なさけない。
Cってのはこういう書き方をする言語だったんですか、とか、新たな発見を
してしまうレベルの素人だったりするので・・・
587:デフォルトの名無しさん
05/01/13 12:50:48
昨日書いた者ですが、タイマーが作動してないのですが・・・
588:デフォルトの名無しさん
05/01/13 12:56:00
そうか頑張れ。
真面目な話それだけじゃ何も分からないのでせめて
・何をどうしたか
・例外が出るならどんな例外か
・できれば関連部分のコード
を書かないと答えようがないよ。
589:587
05/01/13 13:41:58
とりあえずタイマーが動いてるかどうか見たいんで
ラベルに、1秒ごとに表示させたいのですが。
とりあえずタイマー貼り付けてそのなかに
i = i + 1
Label1.Text = i
iは、タイマーの外で宣言してます
としたのですがラベルが0のまま動きません・・・
590:デフォルトの名無しさん
05/01/13 13:43:21
VB.NETで作ったものって、VB6で動かせますか?
591:デフォルトの名無しさん
05/01/13 13:50:33
>>589
で、その貼り付けたタイマのインスタンスに.Start()はしたの?
って言うところから質問を一問一答で繰り返していくというのは掲示板というシステム上歓迎できない。
>>590
VB6で動かすという意味が分からないのだが。
VB.NETで作ったものは.NET Frameworkが必要だよ。
//統合開発環境の名前と言語の名前が同じだとややこしいな。
592:デフォルトの名無しさん
05/01/13 14:17:23
してないです。どうするんですか?
593:デフォルトの名無しさん
05/01/13 14:36:03
>>592
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Integer
i += 1
Label1.Text = Convert.ToString(i)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Interval = 1000
Timer1.Start()
End Sub
594:デフォルトの名無しさん
05/01/13 14:51:11
>>593
タイマーの定義の部分を見せてください。昨日の流れから別のタイマーに代えたりしてませんか?
Label1にアクセスしてますからSystem.Windows.Forms.Timer以外では問題が出るはずです。
595:デフォルトの名無しさん
05/01/13 15:26:23
なんかびみょーに話がずれてないか?
596:デフォルトの名無しさん
05/01/13 15:49:12
うん、始めから話が変だな。
大体System.Windows.Forms.Timerだったら
Start() Stop() でも Enableでもどちらでも
スタート&ストップ出来るじゃん。
597:デフォルトの名無しさん
05/01/13 16:07:04
はじめのコードはタイマーより別のところが突っ込みどころ満載だったんだよね。
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
598:デフォルトの名無しさん
05/01/13 16:28:26
配列をリッチテキストボックス(もしくは、ラベルかテキストボックス)に1行ずついれたいのですが、
どうやればできるでしょうか?
配列はstring型で10個です。配列の0~9を一行ずつ表示させたいです。
調べましたが、簡単すぎるのかヒットしませんでした。お願いします。
599:デフォルトの名無しさん
05/01/13 16:37:05
String.Join()だな。
600:デフォルトの名無しさん
05/01/13 16:38:41
>>598
改行を入れたいって話かな?だったら改行文字で区切ればよい。
VBだとvbCrLfって定数が使えたはず。
601:デフォルトの名無しさん
05/01/13 16:39:10
一番簡単なのはRichTextBoxのLinesプロパティにそのまま文字列配列を代入する事。
ただし上書きになる。
602:599
05/01/13 16:47:15
1番取った記念にサンプル乗っけちゃお。
Dim str() As String = {"aa", "bb", "cc", "dd", "ee", "ff", "gg", "hh", "ii", "jj"}
TextBox1.Text = String.Join(vbCrLf, str)
603:ディフォルトの名無しさん
05/01/13 20:51:19
ADO.NETのDataSetの使い方がいまいち分からないです。。
ADOでの、ADODB.RecordsetでopenしてFilterでデータをしぼりこんで、
movenextしながらデータ取得。という手順をやりたいんですけど、
DataSetではFilterにあたるものがみあたりません。。。
どうしたらよいのでしょうか?
よろしくお願いいたします。
604:デフォルトの名無しさん
05/01/13 21:00:21
>597
なんで意味わかんないの?
605:デフォルトの名無しさん
05/01/13 21:30:34
>>603
DataSetは、端的に言えばDataTableのコレクションとそれぞれのDataTableのリレーションを管理するためのクラス。
データそのものはDataTableの中に入ってる。
DataTableのSelectメソッドが目的のものだろうね。
606:デフォルトの名無しさん
05/01/13 21:46:55
>>603
System.Data.DataViewがそれにあたるのだが、それ以前のところで悩んでそうですね。
System.Data.DataSetは高機能のデータトランスファオブジェクトであって、
データベースのテーブルとは直接の関係はないのですよ。
読み込んだデータをまとめて溜め込んでおいたり、持ち運んだりするためのものなのです。
unixとlinuxの間をみるといいことがあるかも、それからキーボードのuからqを続けて見る。
607:ディフォルトの名無しさん
05/01/13 21:55:31
>>605>>606
ADO.NETは、リファレンスとか読もうとしても、
情報量が膨大でどこを読めばいいのか良く分からなかった
ところもあったので、読み方の糸口が見つかった気がします。
早速調べてみます。
ありがとうございます。
608:デフォルトの名無しさん
05/01/13 23:12:37
ついでに便乗質問。
Datatable.Select()は便利だけど、戻り値がDatarow()になる。
ソートのために使うときなんか、結果はDatatableで欲しいんだけど、
Datarow()をFor Eachかなんかで回して1行ずつDatatableを作り直すしかないの?
ADO.NET 2.0だと、Dataview.ToTable()ってのが使えるみたいなんだけど……。
あと。
SQLを発行してDatatableを作ったあと、そのテーブルに対して操作を行ないました。
その結果、いっぱい重複行ができちゃったのでDISTINCTしたいんだけど、そういうのはさくっと簡単には書けない?
とりあえず、Datatable.Copy()で同じスキーマの空テーブルを作り、全ColumnをUniqueにして、
Tryで例外無視してむりやり全行ぶっこんでみたい。遅い。
全Columnを複合主キーにして、Findできなければ追加、ってやったらちょっとマシになった。
もうちょいスマートに書けないのかなぁ
609:デフォルトの名無しさん
05/01/13 23:20:07
あ、テーブルに対して操作したのは、単にちょっと便利な配列として使ってただけで、
DBに書き戻すためじゃないからね。
だからキーやら行数やらを変えたりしても問題なし。
610:デフォルトの名無しさん
05/01/13 23:33:36
初めまして。学生ですが最近企業実践に行っている者です。
JavaとかPHPやPerlなどのWebブラウザ向けの言語は多少かじって
いるのですが、企業実践に行っている会社でVB.netをやることになって
しまい、いろいろ分からないところがあるので教えてください。
System.IO.StreamReaderとか言うのを使い、テキストファイルから
一行ずつ読み込んで、テキストボックスなどに出力し、また次の行を
読み込んで出力するみたいのを作らなきゃダメなんですが、ファイル
の終わりまで(EOF)行ったらファイルの先頭からまた一行読み込んで
出力するようにしてくれと言われました。
つまり、OpenFileDialogで選んだファイルを延々と一行出力しEOFになったら
また一行目から出力するものにしなきゃだめらしいです。
んで、私はファイルポインタをファイルの先頭に戻すやり方が良くわかりません。
seekメソッドとかそれらしきモノはあったのですがいかんせんVB.netに
慣れていないので使いかたがよく分かりません。
自分でも説明が下手だと分かるくらい駄文で申し訳ないのですが、真剣に困っています。
どなたか分かる方がいらっしゃいましたらやり方を教えていただけないでしょうか?
611:デフォルトの名無しさん
05/01/13 23:35:46
一旦クローズして開き直し。
……ところでその仕様じゃ無限ループにならないのか。
612:610
05/01/13 23:38:06
無限ループになりますが、いいらしいです。
タイマーイベントをかまし何秒間に一回出力、それを繰り返すモノ
が作れればいいらしいです。
613:デフォルトの名無しさん
05/01/13 23:43:27
LAN内の共有フォルダの一覧を取得するには、どうしたらいいか誰か教えてください。
最悪の場合、VB.NETじゃなくても構いません。あたりがつけば自分でも調べますので
614:610
05/01/13 23:53:51
>>一旦クローズして開き直し。
>>……ところでその仕様じゃ無限ループにならないのか。
開き直すときにまたOpenFileDialogを使わずに継続して
開きたいのですが、何かいい方法とかソースはないでしょうか?
ほんと質問してばっかで申し訳ありませんがよろしくお願いします。
615:デフォルトの名無しさん
05/01/13 23:55:36
>>613
DOSでNET VIEW
616:デフォルトの名無しさん
05/01/13 23:58:54
>>613
URLリンク(www.gdncom.jp)
>>614
ファイルのパスをどっかに保存しておけば良いだけだろ。
617:デフォルトの名無しさん
05/01/14 00:00:34
>>610
A:
(処理)
goto A
でいいんじゃないの?
618:613
05/01/14 00:12:53
>>615,616
レスありがとうございました。本当に助かりました。
619:デフォルトの名無しさん
05/01/14 13:09:45
>>610
全く関係ないが
久々にまともな日本語を読んだ気がする
620:598
05/01/14 13:59:36
>>599さん
ありがとうございます。joinを使うとできました。
>>600さん
改行文字で区切るっていうのがわかりません。すいません。
>>601さん
ファイルから呼び出して使うので無理でした。
621:デフォルトの名無しさん
05/01/14 14:35:12
Sub threadMain()
Do
thread1.Sleep(100) <-なんか寝てたり
If Now.Second = 0 Then <- 意味わかんなかったり
Timer1.Interval = 100
Timer1.Start()
picBar.Height = 500
End If
Loop
この説明が気になります。これは1分に一回Timer1を起動するものですね。
>thread1.Sleep(100) <-なんか寝てたり
この行はあった方がいいのでしょうか? それとも何かまずいのですか。
意図としては、
Now.Second = 0 のチエックは、常時チェックすると
CPUのロスになるのでSleepしています。ただし1秒以上スリープすると
最悪0をチエックできないタイミングが発生します。
本当は thread1.Sleep(990)でも十分だと思いますが、判定中に長い処理が
割り込んだ場合、10msecを超える場合があるかもしれません。それで100msec
にしています。
しかしこれでも、900msec以上も時間がかかる割り込みが入ると問題があります。
I/O制御ですので一回でも0の判定をミスするとまずいのですが、大丈夫でしょうか?
622:デフォルトの名無しさん
05/01/14 14:39:05
質問よろしいでしょうか。
指定したHTMLタグを抽出する.NETのクラスライブラリはありますか。
一応自分で探しましたが見つける事ができなかったので
よろしくお願いします。
623:デフォルトの名無しさん
05/01/14 14:50:56
>>621
なんていうか、泥の台の上で彫刻を作ろうとしている感じだ。
まず一から整理し直して、「なにをするのにこうした、しかしこれこれでうまくいかない」をはっきりさせるべき。
624:デフォルトの名無しさん
05/01/14 15:00:41
>>621
ワーカスレッドから、Windows.Forms.Timerの操作はしてはいけない。
正常動作する保証はないし、たぶん正常に動作しない。
picBarが Windows.Forms.Control の類だとすると、同じくワーカスレッドからの操作はしてはいけない。
正常動作する保証はない。正常に動作することもある。
そもそもTimer1のイベントハンドラはUIスレッドと同期的にしか実行されないわけだから、
フォームにTimer2でも置いて1分毎にTimer1.Start()でもすれば十分。
625:デフォルトの名無しさん
05/01/14 15:12:12
フォームのアイコンを非表示にする方法はありますか?
探しても見つかりませんでした。
626:デフォルトの名無しさん
05/01/14 15:41:39
フォームのアイコンってのが、何を示しているのかわからん。
フォームタイトルの左にある小アイコンのことか?
コンパイル時に適用される既定のアイコンのことか?
フォーム上にPictureBoxか何かで貼り付けたアイコンのことか?
627:デフォルトの名無しさん
05/01/14 15:42:45
>>626
>フォームタイトルの左にある小アイコン
説明が足りませんでしたそれです。
628:598
05/01/14 15:47:12
またわからないことがありました。
Dim mySR As New StreamReader(a.txt)(仮)としてファイルを読み出しました。
Dim mystring As String
Dim name(), rank(), ten() As String
Dim i As Integer = 0
mystring = mySR.ReadLine()
rank = Split(mystring, ",")
ten(i) = rank(1)
name(i) = rank(0)
ファイルの中身は
あ,47
い,92
う,39
といった感じです。これを実行させると
ten(i) = rank(1)の部分で
オブジェクト参照がオブジェクト インスタンスに設定されていません。
と表示されます。
rankの値は1が「47」となっています。0は「あ」です。
rank(0)とrank(1)をそのままlabel.textに入れると表示はされます。
点と名前を分割してファイルから読み出し配列にしたいのですが、なんとかなりますでしょうか?
ながったらしくなってすみません。お願いします。
629:デフォルトの名無しさん
05/01/14 15:56:23
配列もオブジェクトなのでNewが必要。
が宣言時に要素数を指定する事でNewは省略できる。
Splitしたのを入れるrankはSplit内で配列が初期化されているからこちら側でどうこうする必要は無し。
Dim name(1) As Stringとか書けばいいわけだな。
630:デフォルトの名無しさん
05/01/14 15:58:48
省略というかそもそもVBでは配列はNewを使わないけどな。概念的にはともかく。
631:598
05/01/14 16:17:45
>>629-630さん
すばやいレスありがとうございます。
要素数をいれることでできました。
632:デフォルトの名無しさん
05/01/14 16:46:31
>>628
前の方にもあったが
ten(i) = rank(1)
↓
Redim ten(i)
ten(i) = rank(1)
こう変えてやってもできる。
633:デフォルトの名無しさん
05/01/14 16:49:53
初めて書き込みます。VB6ではbasモジュールで宣言すればよかったグローバル変数ですが、
VB.NET 2003でグローバル変数を宣言するには、どうすればいいのでしょうか。
ヘルプや参考書にも載っていなくて・・・。
よろしくお願いいたします。
634:デフォルトの名無しさん
05/01/14 17:03:33
>>633
同じだよ
635:621
05/01/14 17:11:08
>624
>ワーカスレッドから、Windows.Forms.Timerの操作はしてはいけない。
>正常動作する保証はないし、たぶん正常に動作しない。
そうでしたね。上で指摘いただいてました。すいません。
>picBarが Windows.Forms.Control の類だとすると、同じくワーカスレッドからの操作はしてはいけない。
>正常動作する保証はない。正常に動作することもある。
そうなんですか? それではthreadの中で何が動作可能なのでしょうか?
たとえばNow.Second=0のチェックは問題ありませんか?
DIM I as Integer
I=I+1とかはOKですよね。Iが保証されなくてSleepから復帰すると時々11から50
にJumpしてしまうなんてことはないですよね。
問題となるのはContorolと名のつくもの全部ですか?
636:621
05/01/14 17:13:40
>まず一から整理し直して、「なにをするのにこうした、しかしこれこれで
>うまくいかない」をはっきりさせるべき。
あんましはっきりしませんが。
>なにをする
thread内のdo loop内でNow.Second=0のチエックをしたい。
>こうした
リスト参照
>しかしこれこれでうまくいかない
疑問がある。
1)threadないのDoLoopの1loopの時間保証があるか?
確認する方法はあるか?
2)そのた色色
637:デフォルトの名無しさん
05/01/14 17:16:57
>>635
申し訳ないけれども、もう少し・・・ではなくもっとちゃんとドキュメントを読んだほうがいいような気がします。
URLリンク(www.microsoft.com)
難しげな用語も出てくるけど、無視しないでちゃんと読んでみてください。
こういうちゃんとしたドキュメントを無視して誰かに「もっと簡単な説明」を求めても、
もっといい加減で不適切な説明しか得られないと思います。
638:デフォルトの名無しさん
05/01/14 17:20:13
もっと根元的なところの話だがね >なにをする
>>552のコードなら、わざわざスレッドを用意する必然性が全くない。
picBar.Height-1を行うタイマとpicBar.Height = 500を行うタイマの2つを用意すれば済む話。
//1つでも済むかもね。
639:621
05/01/14 17:31:35
>637
>こういうちゃんとしたドキュメントを無視して誰かに「もっと簡単な説明」を求めても、
>もっといい加減で不適切な説明しか得られないと思います。
ご指摘ありがとうございます。チラッと読みかけましたがかなり解りにくそうですね。
他の参考書を探してみます。
とりあえずの考え方として、
threadないでは使ってはいけないものがあるのですね。
キーワードはthreadSafeという言葉でしょうか?
ビルドする時になにかスイッチの設定をするとthreadSafeでないものをthread内部で使うと
ワーニングがでるのでしょうか?
なにか確認する方法はないですか?
640:デフォルトの名無しさん
05/01/14 17:46:28
C♯相談室 Part20(スレリンク(tech板))の
659から同じような話題で盛り上がってるから参考にどうぞ。
676にワーカスレッドの使い方のサンプルコードがあります。C#だけどVB.NETでも
考え方はさほど変わらないから見てみるといいです。
とりあえずワーカースレッドから使えないのはSystem.Windows.Forms配下のオブ
ジェクトと思ってれば間違いないです。
641:621
05/01/14 18:27:54
>640
ありがとうございます。確認してみます。
少し読んでみましたが、色々と問題があるみたいですね。
642:デフォルトの名無しさん
05/01/14 20:47:59
>619
自演乙
643:デフォルトの名無しさん
05/01/14 22:25:01
>>642
俺の日本語がおかしいことに気がつかないのか
644:621
05/01/15 00:14:24
>>552のコードなら、わざわざスレッドを用意する必然性が全くない。
>picBar.Height-1を行うタイマとpicBar.Height = 500を行うタイマの2つを用意すれば済む話。
>//1つでも済むかもね。
そうですね。問題があるときに回避する手立ては重要です。しかし、スレッドぐらい
まともに動いてもよいと思いませんか?
「まともに」と言うのは、thread内で動作が保証されないものがあるなら、コンパイル
時にエラーを出すなり、注意をだしてもいいではないですか。
しごく、当たり前のことだと思いますが。
645:デフォルトの名無しさん
05/01/15 00:22:50
ライブラリの仕様や制限をコンパイルエラーに出来るかボケ
646:621
05/01/15 00:39:30
>ライブラリの仕様や制限をコンパイルエラーに出来るかボケ
ライブラリの仕様の制限を判断できればよいだけです。
方法はいくらでもあります。ライブラリの先頭に「できるかボケ」と入れとけは
OK。
ましてVBなら勝手に仕様を作ってるわけだから言語仕様に組み込むことさえできる。
647:デフォルトの名無しさん
05/01/15 00:59:24
マルチスレッドのサンプルプログラムがきまってコンソールアプリなのは
この制限のため。System.Console系は複数スレッド共有できます。
648:デフォルトの名無しさん
05/01/15 02:29:18
ライブラリの先頭ってどこだ。
ライブラリのヘルプには書いてあるが。
※分かりにくいのは確かなのでもっと分かりやすいとこに書いといて欲しいのは事実だが。
ついでだがThread内からは使えないと言う意味不明の理解は正しておく事をお奨めする。
649:デフォルトの名無しさん
05/01/15 04:14:40
VBの人って何でこんなにレベル低いの?
650:デフォルトの名無しさん
05/01/15 05:24:47
>649
2ちゃん全体がそうだよ。
651:デフォルトの名無しさん
05/01/15 07:03:13
>>625
だれもわかんないか
652:デフォルトの名無しさん
05/01/15 07:22:04
>651
どこをどう探したか書かないと誰も答えてくれないよ。
653:デフォルトの名無しさん
05/01/15 07:27:11
>651
ただのネタだと思って普通にスルーしてたけど、難しいのかと
思って今やってみたら1分でできたよ。
でも>651みたいな書き込みしちゃー、もう誰も教えてくれないわな。
残念だったね。
654:デフォルトの名無しさん
05/01/15 09:28:53
InstallShieldの質問はここでしてよいでしょうか。
655:633
05/01/15 10:28:06
>>634
ソリューションエクスプローラ見ても、basモジュールはありませんでした。また、ヘルプでbasモジュールで検索かけても
basモジュール自体については何も書かれていません。質問を変えます。basモジュールを作成するには
℃の様にすればよいのでしょうか??何度もすみません。
656:621
05/01/15 10:49:25
>マルチスレッドのサンプルプログラムがきまってコンソールアプリなのは
>この制限のため。System.Console系は複数スレッド共有できます。
そうなんですか? それは無茶苦茶制限ですね。
Console.Write("hello")くらいしかできないとしたら寂しいかぎりですよ。
System.Objectの派生クラスで
OK... System.Console
NG... System.Windows
その他不明
これがMSの公式見解ですかね? 実際に使ってみないと解らないので経験則で
判断してほしいってことでしょうか?
しかし「任意のスレッドから安全に呼び出すことができる関数として、コントロールには、
InvokeRequired、Invoke、BeginInvoke、EndInvoke、および CreateGraphics の 5
つがあります。ほかのメソッドを呼び出す場合は、Invoke のメソッドの 1 つ
を使用します。」
とありますので、Invokeを使えば、System.Windows.Formsも問題ないと
いうことらしいですね。
657:621
05/01/15 10:55:19
>ライブラリのヘルプには書いてあるが。
どこにかいてあるんですか?
>ついでだがThread内からは使えないと言う意味不明の理解は正しておく事をお奨めする。
解りません。おしえてください。お願いします。
「threadサブルーチン内でコントロールにアクセスすると変な挙動を示す。」では
だめ?
そもそも必ず誤動作するのにコンパイラエラーがなぜでないのかが不思議です。
658:最凶VB厨房
05/01/15 11:06:51
>>621
ウザイ
659:最凶VB厨房
05/01/15 11:25:59
>>622
System.Text.RegularExpressions
660:デフォルトの名無しさん
05/01/15 11:31:44
まぁ、621 が馬鹿なのはおいておいても、せっかく属性があるんだから、
スレッドセーフかどうかを示す属性があってもいいな。
661:デフォルトの名無しさん
05/01/15 11:33:25
>>655
.bas も .vb に置き換わってる。ということで、.bas モジュールを作成する
ことは不可能。.vb で .bas 相当のものを作ればいい。
662:デフォルトの名無しさん
05/01/15 13:19:06
ある一定時間ごとに、ファイルを読み込みたいのですが、
ただ、まだ読み込みたいファイルは存在せず、作成されるまで
数秒おきに読み込みを行い、読み込みに成功したら
ループを抜け出すというものを作りたいのですが
ループの中をうまく作れません。
とりあえず、countという変数を5秒ごとに1増えるというよう
にしました。
663:デフォルトの名無しさん
05/01/15 13:29:25
>>655
ここで書き込んでる連中もC#中心に使ってるやつらはたまに知らないことがあるんで正解を
書いとこう。項目の追加でクラスというのとモジュールというのがあるだろう。
どっちも拡張子は.vbだがモジュールのほうはModule Module1 - End Moduleのブロックが出
てくるだろう。それがBASにあたるわけで、ここでPublicにしたものは他のクラスからその
まま使える。モジュールで定義したものはModule1.の修飾も省略できる。
Public NotInheritable Class GConst
Private Sub New()
End Sub
Shared Sub New()
TESTCONST = "Hello"
End Sub
Public Shared ReadOnly TESTCONST As String
End Class
こういう得体の知れないコードを書いてるやつがいたら間違いなくC#かJava厨なので気をつけろ。
おれも実は最近までこうやってたよぉ~~
664:デフォルトの名無しさん
05/01/15 13:51:25
>663
脳内乙。
665:デフォルトの名無しさん
05/01/15 13:54:32
サービスに登録するにはどうすればいいのでしょうか。
666:デフォルトの名無しさん
05/01/15 14:26:55
URLリンク(www.microsoft.com)
667:デフォルトの名無しさん
05/01/15 14:45:52
>666
ありがとう。
668:デフォルトの名無しさん
05/01/15 14:52:04
>>633
おしい、Imports プロジェクト名.GConst をほかのモジュールの先頭に入れれば完璧。
>>664 乙厨? 乙であります。 >>430 >>642と同一犯かなアンカーの付け方が一緒。
他でいじめられたんだろうな。
669:668
05/01/15 14:55:41
上記の>633は >>663 のミスです
670:デフォルトの名無しさん
05/01/15 15:08:32
>668
俺のアンカーの付け方って特殊?
>100 か >>100 の2通りあるだけだと思うんだけど。
自分が >>100 だから俺を特殊と言ってるの?
671:670
05/01/15 15:10:08
ちなみに430や642は俺じゃないよ。
672:デフォルトの名無しさん
05/01/15 15:11:06
>>668
乙厨に文句言うのはいいんだけど、実際君の書き込みが脳内だから
いまいち説得力ないねw
673:デフォルトの名無しさん
05/01/15 15:13:15
だれか662よろしくお願いします
674:デフォルトの名無しさん
05/01/15 15:16:58
>>662
書き込みの続きがあるのかと待ってたのですけど
675:デフォルトの名無しさん
05/01/15 15:18:56
>>662
タイマーとDIRを使って、ファイルが存在するか調べる。
ファイルが存在すれば、ファイルの読み込みを行い、タイマーを止める。
つーやり方でいいんじゃないの?
676:デフォルトの名無しさん
05/01/15 15:19:33
>>674
スマソ。あれだけです。
よろしくお願いします
677:デフォルトの名無しさん
05/01/15 15:24:33
>>675
ループでやってる以上、存在しない間は他の処理をしてはいけないんじゃないか?
しらんけど。
678:663っす
05/01/15 15:27:01
663の脳内書き込みは俺なんだが、匿名版は誰が書いてるかわからんからややこしいな。
ここもIDを出して欲しいよ。書き方はあれだがうそは書いてないつもりだぞ、脳内な部分は
指摘してくれ。受けてたつぞい。
679:デフォルトの名無しさん
05/01/15 15:35:37
>>675
ファイルが存在しなかったら
またループさせるとこが、うまく作れないんですorz
680:最凶VB厨房
05/01/15 15:38:28
While Not File.Exists("読み込みたいファイル")
End While
681:& ◆R7PNoCmXUc
05/01/15 15:49:05
インスタンス変数でフラグを持たせて処理が必要ならONにします。
同時にタイマーは数分おき切り替えし起動にします。
タイマーの処理ルーチン内で
フラグチェックOFFならルーチン終了
ファイルの存在チェック、無いならルーチン終了
読み込み、エラーならルーチン終了。読まなかったことに。
ファイルを処理済み用の名前に改名、エラーならルーチン終了。読まなかったことに(できるか??)
フラグをOFFにしてルーチン終了
タイマーは回り続ける。
ファイルは書き込み途中で読みにいくことがあるから、書き込んでから
処理対象の名前にリネームかけてもらうとよいです。
682:デフォルトの名無しさん
05/01/15 15:51:14
>>679
>>680のやり方でいいとおもうけど、数秒おきにしたいなら
While Not File.Exists("読み込みたいファイル")
i = DateTime.Now.Second + "待機したい秒数"
While DateTime.Now.Second < i
End While
End While
683:デフォルトの名無しさん
05/01/15 15:54:48
へんなコテハンになってしまった orz
ロジックがわからないのか、具体的な命令の書き方がわからないのか
教えてください。
誤)切り替えし 正)繰り返し
684:デフォルトの名無しさん
05/01/15 15:58:33
待機用のループには是非ともThread.Sleepを入れていただきたい。
685:デフォルトの名無しさん
05/01/15 16:00:39
タイマーでやれって。
686:デフォルトの名無しさん
05/01/15 16:02:21
>>683
具体的な命令の書き方です
687:662
05/01/15 16:06:24
もしかして、ループとかタイマーとか使わなくても
ファイルが作成されたら、イベント発生させるような
ものがVB.NETにあったりするんですか?
688:デフォルトの名無しさん
05/01/15 16:11:35
System.IO.FileSystemWatcherクラスがそうだが、NT系限定。
689:662
05/01/15 16:17:29
NT系限定とは??
690:デフォルトの名無しさん
05/01/15 16:27:14
>>689
FileSystemWatcherクラスのヘルプ嫁。
691:デフォルトの名無しさん
05/01/15 16:36:43
マニュアル読んでもよくわからないのは FileSystemWatcherが
今回の案件に使えるかどうかですね。今ひとつ使いどころが不明。
イベントがもれたり、逆に多すぎたりがないか不安ですね。
素直にタイマーでポーリングのほうが簡単じゃないかな。
692:デフォルトの名無しさん
05/01/15 17:04:05
>>680
こんなやり方したらメッセージループが固まらないのか?それともそれでも無問題?
まあ無問題にしてもSleep(1)は是非入れないとな。
693:デフォルトの名無しさん
05/01/15 17:36:43
予定のファイルがなかなかこなかったらずっとループしてますね。
ワーカースレッドやSystem.Timers.TimerならSleepを入れればいいかもしれ
ませんが、Windows.Forms.Timerだと画面が固まってしまいます。
それにマルチスレッドだとちょっと前の論争が復活しそうで怖い。
694:デフォルトの名無しさん
05/01/15 17:36:49
Thread.Sleep(5000)とすれば、タイマいらないんじゃないか?
695:デフォルトの名無しさん
05/01/15 17:55:53
>>674
どんな続きを期待したの?
>>678
アッヒャッヒャッヒャッヒャッヒャ。腹いてー!!こいつおもしれーよ!!
今度から名前欄に「僕はピエロ」って書いてくれ!
アーーーーッヒャッヒャッヒャッヒャ!!
696:最凶VB厨房
05/01/15 17:59:20
>>695
ワロタ
が、放置プレイよろ
697:デフォルトの名無しさん
05/01/15 18:01:55
>>696
え?どこか面白かった?
698:僕はピエロ
05/01/15 18:06:40
>>695
期待通りに来てやったぞ。さあ、どこが具体的に脳内か具体例を挙げてくれ。
さぁ。笑うだけなら猿以下だぞ。明日も休みだ思い切ってつられてやるぞい。
699:デフォルトの名無しさん
05/01/15 18:12:43
>>698
えー、めんどくさいなぁ。他の人はみんな分かってるのに・・・
そのうちスレ違いって怒られるからイヤなんだ。
君が休みとかは全然関係ないんですわ。
例えば>>663の下から2行目とかな。
700:デフォルトの名無しさん
05/01/15 18:14:36
>>695-699
いい加減にしろ。ピエロ君が>>663の件を謝罪して
終わりにしとけ。
701:699
05/01/15 18:15:44
>>698
あとは↓のサイトで自習してもらえると(私も他の皆さんも)助かります。
URLリンク(www.media-k.co.jp)
702:& ◆R.0ARCa5Ow
05/01/15 18:19:35
>>699
そこは当然主観だ。サンプルコード以下は最後の1行の笑いを取るための
レトリックって気づけよ。
あげ足取りにもならん、もっと骨のあるやつを頼む。
703:デフォルトの名無しさん
05/01/15 18:22:31
>>702
意味不明な開き直りはやめてください。
まともな反論もできない方のようですので、もういじめるのは
やめておきます。
きっとあなたはこの後捨て台詞を吐くのだと思いますが、
私が呆れ果て、スレが汚れるのを防ぐために相手をするのを
やめたことは(あなた以外の)誰の目にも明らかですので
構いません。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
さあ、どうぞ!捨て台詞&勝利宣言を!!
704:703
05/01/15 18:23:42
↓が変な位置に入ってしまいましたが、捨て台詞&勝利宣言を
次に書き込めよ、という指示事項です。
705:デフォルトの名無しさん
05/01/15 18:24:21
>>702
>>701はスルーですか?w
706:デフォルトの名無しさん
05/01/15 18:27:23
>>702
すげー開き直りだな。お前専用の別スレ立てな。遊んであげるから。
707:703
05/01/15 18:28:14
なんか誤解されそうでイヤだけど、>>705-706はオレじゃないよ。
708:デフォルトの名無しさん
05/01/15 18:28:46
まだか?
709:デフォルトの名無しさん
05/01/15 18:29:14
誰か代わりに捨て台詞書けよ。それで次の質問行こう。
710:デフォルトの名無しさん
05/01/15 18:32:01
まだ?
711:デフォルトの名無しさん
05/01/15 18:32:47
>>693
ループ内にDoEventsを入れることで画面が固まるのは回避できるが、ループから抜けるコードの作成はしておいた方がいいぞ。
712:デフォルトの名無しさん
05/01/15 18:44:30
まだ?
713:デフォルトの名無しさん
05/01/15 20:52:30
While Not File.Exists("読み込みたいファイル")
i = DateTime.Now.Second + "待機したい秒数"
While DateTime.Now.Second < i
End While
End While
↑これやったんですが、Fileのとこでエラーでるんですが・・
714:デフォルトの名無しさん
05/01/15 21:04:19
エラーは実行時かコンパイル時か?エラーの内容は?
715:デフォルトの名無しさん
05/01/15 21:14:16
コンパイル時にFileが宣言されてませんと
なんでや~わからん
716:デフォルトの名無しさん
05/01/15 21:20:02
System.IO.Fileだから次の1文がソースの先頭に必要。
Imports System.IO
それか
While Not System.IO.File.Exists("読み込みたいファイル")
717:デフォルトの名無しさん
05/01/15 21:30:41
まだ?
718:デフォルトの名無しさん
05/01/15 21:47:47
>>716
thanks
719:デフォルトの名無しさん
05/01/15 21:53:55
ここは質問スレなので、無意味な揚げ足取り等はやめて頂けると助かります。
みんな、分かってて無視してたんだったらごめんなさい。
720:デフォルトの名無しさん
05/01/15 21:56:06
>>719
どれのこと言ってるの?
721:デフォルトの名無しさん
05/01/15 21:58:24
>>719
荒らしやあおりは完全スルーが良い。
俺は2ch専用ブラウザを使っているので、
目に付く煽りレスや嵐レスは片っ端から透明アポーン。
これで全然気にならなくなるよ。
722:デフォルトの名無しさん
05/01/15 22:03:22
While Not Sstem.IO.File.Exists("読み込みたいファイル")
i = count + 5
While count < i
End While
End While
Label1.text = "test" 'とりあえずできてるどうか試すため
countは1秒ごとに1増えるとタイマを
使ってやってみたのですがうまくいかないorz
コンパイルはできるのだが、 testが表示されない
砂時計がずっとでてる状態です。
なにを付け加えればいいですか?
723:719
05/01/15 22:09:25
>>720
>717
>712
>710
>708
想像つきそうなものだが・・・。
724:デフォルトの名無しさん
05/01/15 22:10:03
このループでスレッドが占有されてるから、同じスレッドで動くSystem.Windows.Forms.Timerはカウントできない。
カウントにタイマを使うんじゃなくて、ループの中でSystem.Threading.Thread.Sleepを使って時間を稼ぐとか。
というかUIを止めてていいの?
ループを使わずに、タイマで発生するイベント内で存在チェックをするべきだと思うんだけど……。
725:デフォルトの名無しさん
05/01/15 22:11:41
Windows.Forms.Timerを使ってるならそのプログラムがループしてる間は
イベントは発生しない。つまり、countは永遠に加算されない。
根本的にロジックを見直したほうがよいが、あえていうなら、内側の
ループにDoEventsをいれる。
726:デフォルトの名無しさん
05/01/15 22:13:12
>>723
バカが。せっかくオレがスルーの練習させようと思ったのによ。
あっさりレスすんなよ。
727:デフォルトの名無しさん
05/01/15 22:20:06
>>722
While count < i
system.Windows.Forms.Application.DoEvents
End While
こうやれば、countに数値が加算されるので、できないこともない。
が、普通はそう言うやり方はしない。
728:デフォルトの名無しさん
05/01/15 22:26:26
>>727
普通のやり方を教えてください!
729:デフォルトの名無しさん
05/01/15 22:31:25
>>728
sleep()使えよ。
730:デフォルトの名無しさん
05/01/15 22:32:25
>>729
えええええ、一体どうやれば。ソースコードを掲載してくださいよ。
731:デフォルトの名無しさん
05/01/15 22:34:24
ワーカースレッド内ならThread.Sleepでいいが同一スレッド内だとUIが固まる。
732:デフォルトの名無しさん
05/01/15 22:39:11
>>722
結局何がしたいのかをもう少し明確にしないとまともな人の回答は得られないよ。
DoEventsとか書いてる人はまともなプログラマじゃないから。
733:デフォルトの名無しさん
05/01/15 22:40:49
>>732
え?DoEvents使っている人は全てまともじゃないって意味ですか?
734:デフォルトの名無しさん
05/01/15 23:42:36
>>733
お前が学生なら違うやり方を考えたほうがいい。
お前が働いててVB使ってるなら先輩に相談しろ。
735:デフォルトの名無しさん
05/01/15 23:57:09
俺は先輩からループ構造はifしか使うなって叩き込まれたなぁ。
736:デフォルトの名無しさん
05/01/16 01:09:58
ListViewで選択されているアイテムのインデックス番号を取得する方法はないのでしょうか?
調べてみても、インデックス番号を指定して選択や
ListBoxのインデックス番号取得しか見つかりませんでした。
737:デフォルトの名無しさん
05/01/16 01:14:21
ListView.SelectedIndices
738:デフォルトの名無しさん
05/01/16 01:25:41
namespaceを利用してパッケージ化したいんですが、
何かサンプルになるようなページ知りませんか?
基本的な機能をもつクラスをライブラリ化したいです。
739:736
05/01/16 01:32:45
>>737
出来ました!ありがとうございました。
それも先ほど見つけたのですが、経験不足故少し勘違いしてたみたいです。
740:デフォルトの名無しさん
05/01/16 02:39:45
すいません。変数名.ControlChars.NextLineで改行文字が付加できますよね?
今度は改行文字があるかないかを判定してあれば削除したいのですが
どうすればできるんでしょうか?すいませんが教えてやってくださいまし。。。
741:デフォルトの名無しさん
05/01/16 06:34:42
>え?DoEvents使っている人は全てまともじゃないって意味ですか?
そんなことはないと思うよ。DoEventを使ってシーケンシャルに書く方が
処理の流れがわかって解りやすい。DoEventを使うのが正解。
レベルの低い先輩はDoEventを使わない。
さらにレベルの低い先輩はDoEventを多用する。
こういう性質があります。
742:デフォルトの名無しさん
05/01/16 06:51:35
>>741
だよな。>>734みたいなのが前者の先輩ってことかな。
>>735
これはどういうこと?
743:MSのバグ発見?
05/01/16 07:37:21
'すいません。で改行文字が付加できますよね?
' 今度は改行文字があるかないかを判定してあれば削除したいのですが()
'どうすればできるんでしょうか?すいませんが教えてやってくださいまし。。。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strData As String
RichTextBox1.Text = "test" + ControlChars.NewLine + "A"
strData = RichTextBox1.Text
Dim src, dest As String, n As Int16
For n = 0 To strData.Length - 1
src = strData.Substring(n, 1)
If src = ControlChars.NewLine Then Exit For '判定できないBUGか?
dest += src
Next
RichTextBox2.Text = dest
End Sub
何で判定できないの? わーいバグ駄馬具
744:最凶VB厨房
05/01/16 08:27:00
>>743
改行文字が1文字だと決め付けているおまえがバグ
745:デフォルトの名無しさん
05/01/16 08:28:33
>>743
アホさ加減でギネスに認定されました。
おめでとう!!