VB.NET質問スレ(Part25) at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
08/02/22 12:14:02
前スレ

VB.NET質問スレ(Part24)
スレリンク(tech板)

テンプレは2〜5くらいまでの間にある予定

2:デフォルトの名無しさん
08/02/22 12:14:48
MSDN
URLリンク(msdn2.microsoft.com)
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
Insider.NET
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング
URLリンク(uchukamen.com)
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
匣の向こう側
URLリンク(www.ne.jp)
WisdomSoft
URLリンク(wisdom.sakura.ne.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
どっとねっとふぁん - C# Tips And Samples -
URLリンク(homepage3.nifty.com)
URLリンク(dotnetfan.org)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)

3:デフォルトの名無しさん
08/02/22 12:15:22
CodeProject
URLリンク(www.codeproject.com)
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)
HIRO's.NET
URLリンク(vbdotnet.fc2web.com)
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
URLリンク(www.atmarkit.co.jp)
.NETでいきまっしょい!
URLリンク(santamartadotnet.hp.infoseek.co.jp)
これがほしかった!厳選サンプルツール集
URLリンク(anetm.com)
ぬーやんのdotNET講座
URLリンク(www.geocities.jp)
PINVOKE.NET
URLリンク(www.pinvoke.net)
WinAPI Database for VB Programmer
URLリンク(www.winapi-database.com)

4:デフォルトの名無しさん
08/02/22 12:15:54
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
URLリンク(custom.programming-in.net)
CodeZine
URLリンク(codezine.jp)
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
@IT:.NET Tools
URLリンク(www.atmarkit.co.jp)
SharpLibrary Redirector
URLリンク(www.sharplibrary.com)
MSDN アカデミック アライアンス 技術資料
URLリンク(www.microsoft.com)
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
(VS2005) URLリンク(www.microsoft.com)
(VS.NET 2003) URLリンク(www.microsoft.com)
PAPA'n VB
URLリンク(papanvb.i-love-vb.net)
(旧コンテンツ) URLリンク(www.mitene.or.jp)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)

5:デフォルトの名無しさん
08/02/22 13:00:22
VB.NETにおいて、Tips系とは違う方向で、主要なコントロールの紹介と
使い方をまとめたサイトはないでしょうか。

6:デフォルトの名無しさん
08/02/22 13:21:42
VB使いはキモイイと効いたのですが本当ですが

7:デフォルトの名無しさん
08/02/22 13:23:21
>>5
@IT

8:デフォルトの名無しさん
08/02/22 13:25:31
VBは初心者向け言語と効いたのですが本当ですgか??_

9:デフォルトの名無しさん
08/02/22 13:27:13
本当だからどっかいけ、もうくんな

10:デフォルトの名無しさん
08/02/22 13:30:32
ここは初心者に優しくないと聞いたのですが本当ですgか??_

11:デフォルトの名無しさん
08/02/22 13:32:40
確かにVBは初心者向けかもしれないが、第二言語としてこれほど適しているのはないと思うが

12:前スレ968
08/02/22 13:38:17
前スレの>>989ー990

VBでデリゲートを呼び出すのはInvokeメソッドを使うということか。
俺がただ知らなかっただけでした。すんません。
C#と違って、たかだかデリゲートを扱うのにAddHandlerとかAddressOfとかInvokeとか、
VB用の新しいキーワードが必要になるんだなあ。
ちなみにVBだと
(デリゲート名).Invoke(引数)
C#だと
(デリゲート名)(引数)
で呼べる。
やっぱり俺はC#のシンプルなコーディングの方が好きだわ。

まあとにかくVBの勉強にはなったわ、ありがとう。

13:デフォルトの名無しさん
08/02/22 13:40:31
>>7
kwsk

14:前スレ968
08/02/22 13:41:19
お礼といってはなんだが、新スレ建てておいた。
VBスレの住人は新スレ誰も建てないのにビックリw
C#erの俺が建てちまったよ。

15:デフォルトの名無しさん
08/02/22 13:46:41
>>13
断る。
何をもって"主要なコントロール"と言っているのかがまず不明。
とりあえずツールボックスに出ているすべてのコントロールを片っ端から勉強するべき。

MSDNが読めるレベルになるまでは、@ITとかTipsとかで調べるのが定石だと思うが。
ローマは一日にしてならず。努力する姿勢がないやつにはプログラミングなんて無理。


16:デフォルトの名無しさん
08/02/22 14:11:11
>>14
テンプレに「○番超えたら話し合って次スレを立てて下さい」
と入れてくれればよかったのに。

17:12
08/02/22 14:24:55
あーごめん、頭こんがらがってる。
てかInvokeとかC#にもあるし。

C#でいうところの
(デリゲート名)(引数)
と同値なのはVBの
RaiseEventだったし。

なんかやっぱり俺デリゲートがよく分かってないわ。
前スレで指摘された通りでした。
俺の発言は全部スルーしてくだされ。
もうちょっとデリゲートを勉強してみます。
スレ汚し失礼しました。

>>16
そうだね、気付かんかったスマソ

18:前862
08/02/22 15:09:38
お礼が遅くなりました。レスくれた方方ありがとう。
抱きしめてキスしたい気分です。

19:デフォルトの名無しさん
08/02/22 15:18:22
人前だぞぉ

20:デフォルトの名無しさん
08/02/22 15:48:23
VB#ってなんでないですか

21:デフォルトの名無しさん
08/02/22 15:50:53
>>20
これならある
URLリンク(www.geocities.co.jp)

22:デフォルトの名無しさん
08/02/22 16:05:42
VB.Netで設定を保存する場合どの形式を使うべきですか?

いままでVB6だったんでINIを使おうかなと思ったのですが、
NetになってXMLが準備されているのでMSが望むようにXML形式で作ったほうがいいんでしょうか?

それとも自由なんでしょうか?

23:デフォルトの名無しさん
08/02/22 16:10:27
>>22
基本的には自由だと思うよ。設定を保存するのをクラスにまとめて
しまえば、後々変更するのも容易になるからね。
ただ、.NET FrameworkにはXMLに保存する機能が充実しているから、
そっちを使った方が早いから推奨しているのだと思う。
URLリンク(dobon.net)

24:デフォルトの名無しさん
08/02/22 16:58:50
ありがとうございます、XMLを試してみます、
m(_ _)m

25:しんじん
08/02/22 19:34:40
すみません、急ぎでの質問です(VB2005)

string型のデータ "200802010030" を
なんとかして "2008/02/01 00:30"という文字列に変換できないものでしょうか?

FormatやCDate等をつかってもやはりうまくいきませんでした。
よろしくお願いします

26:デフォルトの名無しさん
08/02/22 19:49:16
駄目だったコードぐらい書け

27:デフォルトの名無しさん
08/02/22 21:28:54
Excelのセルに値を入れるのはわかってるんですけど、
Excelのセルに例えば<A>と書き込んで、プログラムから
その<A>があるセルに値を入れたい場合、いい方法ってありますか?


28:デフォルトの名無しさん
08/02/22 21:52:12
VBって関数型言語みたいにアルゴリズムの評価もできるのですか?

29:デフォルトの名無しさん
08/02/22 21:54:15
>>25
アホか
文字列でいいなら
Dim a As String = "200803011030"
a = a.Insert(4, "/").Insert(7, "/").Insert(10, " ").Insert(13, ":")
だけど本当に文字列でいいのか?

30:デフォルトの名無しさん
08/02/22 22:02:31
まわりくどいのがいいならw
a=
datevalue(a).tostring("yyyy/MM/dd HH:mm")

31:デフォルトの名無しさん
08/02/22 22:22:50
VisualStyleをXpスタイルで使用しているときの TabControl のTab
の出ている位置についてですが、これを「上」以外の位置にしたとき、
Tab の表示されている向きが上向きになっていて違和感がありました。

これがVisualStyleをクラシックスタイルにしてあると、表示される向き
が、位置に対して逆向きになってくれて正常でした。VisualStyleがXp
スタイルの場合でも正常な向きにしたいのですが、方法はありましたら
教えてください。よろしくお願いします。


32:デフォルトの名無しさん
08/02/22 22:28:37
>>31(すみません訂正します)>方法はありましたら→方法がありましたら


33:31
08/02/22 23:07:18
VisualStyleに関係する現象としてもうひとつあるのですが、
ListViewでのIconの表示についてです。

アイコンがStrechされるのかアイコンの画像がぼやけてしまうこと
があり、どうもVisualStyleをXpスタイルにしてタイトルバーの幅を細く
するとなることがわかりました。もしこの現象を経験された方で解決
の方法知っておられる方いらっしゃったらどうか教えてください。

IconのImageがStrechされないようにする方法があればお聞きしたい
です。PictureBoxのようなそうしたプロパティはばいようで、しかも
これがVisualStyleがクラシックスタイルだと起きず、Xpスタイルのとき
にだけ起こるようでした。

34:しんじん
08/02/22 23:27:04
>>29-30
おお〜ありがとうございます!
時間なくて結局普通に&で連結しちゃいましたが
そういうやり方やっぱりあったんですね〜
ど素人なものですみません

35:31
08/02/23 07:58:27
>>31ですが、

Tabの位置が左と右の場合、VisualStyleがクラシックスタイルだと
Textが表示されるのに、XpスタイルだとTextが表示されない状態
になります。

TabControlのTabをXpスタイルで正常に表示するテクニックはある
でしょうか・・・。

36:デフォルトの名無しさん
08/02/23 09:19:01
ListViewから値の取得方法を教えてください。
たとえば
01 02 03 04 05
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
のようなListViewから4列3行目の(24)を取得したい。
また、4列3行目の(24)の値を変更したい。

VB2005です
よろしくお願いします。

37:デフォルトの名無しさん
08/02/23 11:07:48
ListView.Items
ListViewItem.SubItems

38:31
08/02/23 17:15:59
VisualStyleについては、一応

<System.STAThread()> _
Public Shared Sub Main()
Application.EnableVisualStyles()
Application.DoEvents()
System.Windows.Forms.Application.Run(New frmTaskTypeManager)
End Sub 'Main

も入れてみましたが、このTabControlのTab表示が対応しない状況は
直りませんでした(OSはXpPro(32Bit)なので、Helpによれば効かない
のかもしれません)。

仮にOwnerDrawするとしたら、Tabの表示Rectangle自体を描画する
必要があるかと思いますが、そういうことは可能なのでしょうか?
どうもGetTabRect()はあるのですが、このRect自体を描くことは
可能なのでしょうか、ご指導くださればありがたいです。

39:デフォルトの名無しさん
08/02/23 19:00:42
なにそのDoEvents

40:デフォルトの名無しさん
08/02/23 19:34:39
>>39
どうもです。一応、
VisualStyle有効時にTabControlのタブに画像が表示できないことがある
URLリンク(forums.microsoft.com)
を参考にして入れてみました。

ところで、TabControlのTabAlignmentは、みなさんXpでVisualStyle
を使っているときに、「上」以外にして正常に表示されているでしょうか、
その辺まず知りたいのですが、いかがでしょうか?


41:デフォルトの名無しさん
08/02/23 19:43:52
Win32APIのmouse_eventでマウスのホイール操作をしようと思い次のコードを書いたのですが、うまく動作しません。

'宣言
Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
System.Threading.Thread.Sleep(2000)
Call mouse_event(&H80, 0, 0, 120, 0)
End Sub

このコードを動作させると、例えばブラウザをアクティブにしておいても、スクロールされません。(マウスのホイールではスクロールされる)
他のクリックなんかは問題なく動作するんですけど…。
mouse_eventではホイールはサポートされてないんでしょうか?
それとも、値が間違っているのでしょうか?

42:デフォルトの名無しさん
08/02/23 19:51:47
定数間違えてる

43:デフォルトの名無しさん
08/02/23 20:09:21
>>42
どこが間違っているのでしょうか…。
MOUSEEVENTF_WHEELで検索しても、スクロールする定数は&H80でdwDataの値は120となっているものが多いのですが…。
色々な値で試してみても、ミドルクリックがされるくらいで、スクロールされるものはありません。

44:デフォルトの名無しさん
08/02/23 21:23:10
URLリンク(www.google.co.jp)
おいらの目には80には見えない

ていうかWin32API呼び出すならWindows SDK入れろと
ヘッダ見るのが一番確実なんだから

45:デフォルトの名無しさん
08/02/23 22:22:43
>>44
Call mouse_event(&H800, 0, 0, 120, 0)
にしたら無事動作致しました。

ただ、最初のテストコードではスクロールできなかったので、次のようなコードでテストしました。
Dim i As Integer = 0
Do
System.Threading.Thread.Sleep(500)
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, 120, 0)
i += 1
Loop Until i = 10
&H80はXButtonを押す動作でしたね…。
今、Windows SDKをダウンロードし終わったので、以後Windows SDKで調べるようにします。
Windows SDKでWin32APIの詳細がわかることは知りませんでした、勉強になりました。
大変ありがとうございました。

46:31
08/02/24 08:52:39
>>40>>38 (自己レス)
やってみると、TabControlのAlignmentによってTop以外の位置に来たときは
OwnerDrawで普通にRectangleをe.Boundsから取得してそこを適当な
BrushでFillすれば、その形は正常な向きのTabになってくれるようでした。
この件は解決とします。

後は>>33ですが、これもまさかOwnerDrawで解決とかでしょうか・・・
(一応、タイトルバーの幅には一定の許容限界があるようで、18より
小さくするとNGのようです)

47:デフォルトの名無しさん
08/02/24 23:08:31
初心者です。よろしくお願いします。

i = 0 J = 0
if aryData(i,j) = aryData(i+1,j) then

(0,0) = (1,0)
(0,0) = (1,1)
(0,0) = (1,2)
(0,0) = (1,3)
(0,0) = (1,4)
という感じで表で言うと斜めに比較を繰り返して行きたいのですが
(同じ数があるかを1つ1つ調べたい)
j = j+1 をすると左のaryData(i,j)のjも+1されてしまいます。
どうすればよいのでしょうか。




48:デフォルトの名無しさん
08/02/24 23:30:05
もう一つkでも用意すりゃいいんじゃねって言うか正直意味分からん

49:デフォルトの名無しさん
08/02/24 23:31:05
つFor〜Next

50:デフォルトの名無しさん
08/02/24 23:38:22
書き方悪くてすいません。
     i , j i,j
if aryData(0,0) = aryData(1,0) then
if aryData(0,0) = aryData(1,1) then
if aryData(0,0) = aryData(1,2) then
というように、       ↑
   同じaryDataって配列のここの数値だけを動かしたいんです。


51:49
08/02/24 23:38:45
Dim r As Integer = 0
Dim c As Integer = 0

If aryData(r,c) = aryData(r + 1,c) Then
For j As Integer = 0 to 9
(0,0) = aryData(r,c + j)
Next j
End If

こういうことだと思うが1行目がなんか気持ち悪い

52:デフォルトの名無しさん
08/02/24 23:39:09
ずれた orz

53:デフォルトの名無しさん
08/02/24 23:40:55
>>51
そうやればいいんですか!ありがとうございました!


54:デフォルトの名無しさん
08/02/24 23:46:46
>>51
すいません。もう1つ質問いいでしょうか。
(0,0) = aryData(r,c + j)
で、次に(0,0)を(0,1)にして
(0,1) = aryData(r,c + j)
としていくにはどうすればいいのでしょうか。。

55:デフォルトの名無しさん
08/02/25 08:54:24
>>54
応用もできないならプログラム辞めた方がいいよ。

56:SIN
08/02/25 11:30:50
すみませんVB2005でWebページを作成しているのですが
とある条件のときに、例えば

・TextBox1の入力内容が「A」ならそのまま処理実行
・TextBox1の入力内容が「B」ならばメッセージボックス(OK/キャンセル)を表示してOKのときだけ処理を実行する

といったことはどう記述すれば良いのでしょうか?

☆Botton1.Attributes("onclick") = "return confirm('実行します 宜しいですか?')"

といった記述を
Protected Sub Botton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Botton1.Click

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub
に入れてみましたが、ボタンクリック2回目以降はメッセージボックスが表示されるのですが
1回目に表示されません。(Botton1_Click内は押されたあとなので当然ですが・・^^;)

なにか良い方法がありませんでしょうか?

57:デフォルトの名無しさん
08/02/25 12:21:30
VS2005Proでイミディエイト・ウインドウが出せずに困りました。
[デバッグ]−[ウインドウ]でもその中にイミディエイト・ウインドウが
ありません。オプション設定が必要なのでしょうか?

58:57
08/02/25 12:36:53
>>57
設定でした、解決。
URLリンク(tukaenai-pg.cocolog-nifty.com)


59:デフォルトの名無しさん
08/02/25 14:13:22
>>56
こっちの環境では1度目のボタンクリックでメッセージボックスは表示されたぞ。

これとは違う話で、テキストボックスでenterキーが押されたときの処理
などが関係してるのでは、と思ったけど、どうかな?
VB2005+VWD2005

60:SIN
08/02/25 15:12:23
>>59
あ、すみません、説明がわうかったです^^;
ベタでPageLoadに
☆Botton1.Attributes("onclick") = "return confirm('宜しいですか?')"
を書いちゃうといつボタンを押しても必ずMsgBoxでちゃうんですけど
そうじゃなくて特定のIF条件のときだけMsgBoxをだしたかったんです。

ちなみに今 難しくて頭おかしくなりそうですがJavaScriptを使って

Protected Sub Page_Load(・・・) Handles Me.Load
 Dim sc As String
 sc = "<SCRIPT LANGUAGE='JavaScript'>"
 sc &= "function aaa(){"
 sc &= " var str='';"
 sc &= " with(document.form1){"
 sc &= " if(条件式){"
 sc &= " str = 'OK?\n';"
 sc &= " return confirm(str);"
 sc &= " };"
 sc &= " }"
 sc &= "}"
 sc &= "</SCRIPT>"
 Page.ClientScript.RegisterStartupScript(Me.GetType, "InputChk", sc)
 Me.Button1.Attributes.Add("onclick", "return aaa();")
End Sub

みたいな感じでやろうとしてます
もっと簡単な方法があればよかったんですけど・・・

61:デフォルトの名無しさん
08/02/25 15:19:12
>>60
Webアプリである以上、ある条件を満たした時のメッセージボックスは
JavaScript等を使わないと無理だね。
JavaScriptなしで実現しようとするのならば、メッセージボックスにあたる
ページを別でページを作り、とかしか方法は無いね。

ASP.NETは、検証コントロールを使えば良いという考え方があるから、
そういう機能がついてないのかもしれない。

62:デフォルトの名無しさん
08/02/25 15:41:59
>>60
Me.Button1.Attributes("onclick") = "if(document.getElementById('" & Me.TextBox1.ID & "').value == 'A'){return confirm('宜しいですか?');}"
といった感じでいいんでない?

63:デフォルトの名無しさん
08/02/25 15:58:52
ああ、そうだな。javascriptって改行関係ないぞ。
試しにメモ帳使って書いてみたら分かる。

64:SIN
08/02/25 16:01:17
>>61-62
ありがとうございます
参考にさせていただきます〜もっと簡単にできる機能つけてくれないかな〜VS2009とかで^^;

65:SIN
08/02/25 16:02:41
>>63
thx!そうなんですね

66:デフォルトの名無しさん
08/02/25 16:19:47
あるフォームAから別のフォームBを呼び出して、Bが閉じられたら Aで特定の処理をしたくて、
↓みたいにやってんだけど、この場合もRemoveHandler しとかないとないとまずいのかな?

フォームA
Private Sub ButtonA_Click
    with new フォームB
       .Show
       AddHandler .OnCloseB, AddressOf A
    End With
End Sub

Private Sub A
           ← ここでRemoveHandler は必要?
End Sub


フォームB
Public Event OnCloseB(ByVal sender As Object, ByVal e As EventArgs)
Private Sub B_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    RaiseEvent OnCloseB(Me, New System.EventArgs)
End Sub


67:デフォルトの名無しさん
08/02/25 16:31:06
ShowDialogじゃだめなのか?

68:デフォルトの名無しさん
08/02/25 16:48:07
フォームAでは、リアルタイムで変わる状況をモニタリングしてるから
ShowDialogじゃまずいんですよね
現状、特に動作には問題ないんだけど>>66 は少し気になってて、
プログラミングに詳しい人からすると、まずいやり方なのかな?と思って聞いてみた

69:デフォルトの名無しさん
08/02/25 17:22:15
起動中に何万回とShowCloseするなら問題あるね。

70:デフォルトの名無しさん
08/02/25 22:41:09
Timerって同時にどれくらい使えるんだろ。 制限とか注意事項とかあんのかな?

71:デフォルトの名無しさん
08/02/25 23:26:47
スペックが許す限りb

72:デフォルトの名無しさん
08/02/25 23:42:53
Timerは一定時間ごとにコードを実行するだけだから、同じ間隔で複数実行するようにしても、一つ終わって次ってなるだけ。
わかってると思うがBackGroundWorkerみたいに別スレッドで処理するわけじゃないから、Timerのコードを処理してる間は同じスレッドの処理は止まる。
スペックっていうより、処理の重さでGUIの反応が無くなるのに耐えれる限りだと思うな。

73:デフォルトの名無しさん
08/02/26 00:03:51
別にInterval自体は長くできるわけで、
そういう意味ではスペックだとおもうけどなー

74:デフォルトの名無しさん
08/02/26 00:05:58
Timerって安全なDoWorkって意識だったけど違うの?

75:デフォルトの名無しさん
08/02/26 00:11:40
処理が瞬時に終わるならね。

76:デフォルトの名無しさん
08/02/26 00:14:59
Timerってどのタイマの話だよw
どのタイマの話としても72の話はナンセンスに思うけど。

77:デフォルトの名無しさん
08/02/26 00:16:33
当然、ポトペタで落とせるタイマでそ。
System.Windows.Forms.Timer

78:デフォルトの名無しさん
08/02/26 00:18:02
だとしたら「同じスレッドの処理は」ってくだりは何?

79:デフォルトの名無しさん
08/02/26 00:18:33
っていうか、System.Timers.Timerもポトペタできるよw

80:デフォルトの名無しさん
08/02/26 00:22:29
今、LABEL継承して、内部にTimerかませて時刻表示するユーザコントロールつくって
テストしてみた。配置したら自動で時計になるやつね
で、フォームに180個貼り付けて実行してみたら、CPU頑張ってたけど無事に使えてた
画面は圧巻だったよ

81:デフォルトの名無しさん
08/02/26 01:28:31
System.Net.Sockets.UdpClientを使って指定したIPにデータを送信する事を試しているのですが、byte型以外のデータを送る事って可能でしょうか?

と、言いますのも、"-1"の値を送りたくて色々と試しているんですが、どうしても"45,49"という形になってしまうのです。

82:デフォルトの名無しさん
08/02/26 02:08:42
-1という文字列を送りたいわけ?ASCIIで?

83:81
08/02/26 02:47:29
>82様
出来れば数字として送りたいです。
byte型だと0〜255しか使えなかったので、それ以外の型ならなんとかなるかな?という安易な発想で調べてます。

色々と調べて試していますが、正直解らずじまいで困ってます…。

もうちょっと調べてみます。
って、こんな時間ですね orz

84:デフォルトの名無しさん
08/02/26 03:09:23
コンピュータ上では、どんなデータも1か0のビットの並びでしかない。
そして.NETのByteはビットを8つ並べただけの型。
故に、UdpClientはByteの配列しか扱えないが、
(8ビット単位という制約付で)どんなデータでも送れる。

あるバイト(もしくはビット)の並びがどういう意味を持つかは、
情報の送り手と受け手の解釈次第。

-1を表すのに45, 49というデータを送ったとして、受け取った側が-1と解釈すれば、
それは立派に-1という情報を送ったことになる。

さて、MemoryStreamとBinaryWriter使えば83の考えていることに近いのかな。

85:83
08/02/26 04:37:36
>84様
MemmoryStreamとBinaryWriterで調べなおしたら「構造体へのポインタからByteの一次元配列へのキャスト方法」という所にたどり着き、そこを参考にしてテストPGを起こしています。

とりあえず理解しながらやらないといけないと思うので、ここを参考にして、どこで何をやっているかをじっくり学びながらやっていきます。

ありがとうございました!

86:デフォルトの名無しさん
08/02/26 10:10:26
いや、ポインタとかこの件では関係ないんじゃないか

87:デフォルトの名無しさん
08/02/26 14:03:33
Vistaのエクスプローラにあるアドレスバーって、中にコンボボックス
とか配置してるようだけどあれって.NET標準では無いよね?
ユーザーコントロールとかで作ってるんでしょうか??すげーえぐい
動作するんだけど・・・

88:デフォルトの名無しさん
08/02/26 15:03:25
>>87
コントロールを配置してそれで終わりってわけじゃないみたいだね。
こういうのは見つけたけれど、内部的にどうやって実現しているのかまでは
分からなかった。
URLリンク(www.forest.impress.co.jp)

89:デフォルトの名無しさん
08/02/26 17:36:18
すみません初心者ですがVB.NETでの質問です

あぁあああああああああぁあ〜〜ああああぁ〜〜あ〜ああ〜〜あああ!!!

どうすればいいでしょうか?

90:デフォルトの名無しさん
08/02/26 17:44:34
VBAで遊ぶ

91:デフォルトの名無しさん
08/02/26 17:55:26
>>89
それVB.NETじゃなくてC#じゃね?

92:デフォルトの名無しさん
08/02/26 20:58:39
>>89
スレ違い
スレリンク(tech板)

93:デフォルトの名無しさん
08/02/26 21:19:30
>>88
おぉ!情報サンクスです。やっぱし手練の人は自作してたんですね。

94:デフォルトの名無しさん
08/02/26 23:14:43
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2

たとえばこのように定数を定義するときに&H0と指定するのはどういう意味があるんでしょうか?
Hが16進数を示していることだとは思いますが、C言語だと&を使うとアドレスを使うのでそれに近いことでしょうか

95:デフォルトの名無しさん
08/02/26 23:17:42
ヘルプで &H 引け
あと型を明示しろ

96:デフォルトの名無しさん
08/02/27 03:48:45
BindingSource.Insert(index,value)

↑のvalueはヘルプを見るとObject型らしいのですが
実際にvalueには何を指定すればよいのでしょうか?
null(VisualBasicではNothing)も設定できるようですが
わかる方教えてください。お願いします。

97:デフォルトの名無しさん
08/02/27 08:20:43
好きなもの入れれば。

98:デフォルトの名無しさん
08/02/27 08:25:07
>>96
それだけの内容では答えようが無い。
もっと具体的な事を言わないと。

ソースコードなり、自分のやりたいことなり。

99:デフォルトの名無しさん
08/02/27 11:53:14
>>96
好きなもの入れて使う。
StringでもIntegerでもString()でもなんでもいい。
使うときにObject型から元の型にキャストするべし。

100:96
08/02/27 23:13:24
言葉足らずですみません。
やりたいことは現在DataGridViewのDataSourceにDataTableを設定して
DataTableの行を操作(クリックした位置に新しい行を挿入等)を行っているのですが
その操作をBindingSourceを使って出来ないか考えていました。
メソッドを見ていたらInsertというのを見つけたので使ってみたんですが、
valueの部分だけ何を指定しても"外部のデータは挿入できません"みたいな
エラーが出て困ってました。

BindingSource.Insert(BindingSource.IndexOf(BindingSource.Currect),value)

これって使い方間違えてるでしょうか?

101:デフォルトの名無しさん
08/02/27 23:43:13
System.Windows.Forms.TabControlで作ったタブって、
違うタブが選択された直前にイベントを起こすことってできませんか?
SelectedIndexChangedだと、タブが選択されて他のタブが表示されてからイベントが起きますが、
タブがクリックされる→クリックされたタブの内容が表示される
の内容が表示される前にイベントを実行して、その後タブ移動をしたいのです。

その間を補うイベントって作ったりする方法があれば教えてください。

102:101
08/02/27 23:49:43
いまmsdn見たら、deselectingイベントとかは全部2.0で追加みたいですね・・・
1.1じゃどうしようもないのかなぁ・・・

103:デフォルトの名無しさん
08/02/28 00:11:33
>>102
初期バージョンは変なバグもあるから、なるべくなら新しいのをお勧めする。

104:デフォルトの名無しさん
08/02/28 00:27:35
コントロール関係のバグは2.0の方が多い印象があるけどね個人的にはw

105:デフォルトの名無しさん
08/02/28 05:34:25
どっちでもいいじゃない

106:デフォルトの名無しさん
08/02/28 06:09:19
親のWndProcでWM_NOTIFY/TCN_SELCHANGING

107:デフォルトの名無しさん
08/02/28 16:06:54
MSDN を見ると ActiveDirectory の (LDAP の場合の) Path の書式でいくつかあるようですが、
たとえばこの二つは同じだと思っていいでしょうか?

書式A: "LDAP://onecity/CN=Users,DC=onecity,DC=corp,DC=fabrikam,DC=com"
書式B: "LDAP://CN=Users,DC=onecity,DC=corp,DC=fabrikam,DC=com"

(書式Aは、MSDN=DirectoryEntry.SchemaClassName プロパティ の項にある例、
 書式Bは、MSDN=DirectoryEntry.Path プロパティ の項の説明での書式から書ける
 はずの例です)


108:107
08/02/28 16:38:54
また、
URLリンク(msdn.microsoft.com)
では、
書式A: “LDAP://host1/OU=Sales, DC=ArcadiaBay,DC=COM”

のようになっている場合は、host1ドメインは、必ず ArcadiaBay.COM ドメイン
の上位ドメインということなのでしょうか?それとも下位ドメインなのでしょうか?

>>107のように、onecityドメイン=onecity.corp.fabrikam.comドメインで
 あっても、それを LDAP://onecity/〜 のように重複するように書くことも
 あるのでしょうか?)

109:デフォルトの名無しさん
08/02/28 16:42:49
すみません。DataGridViewの使い方に関する質問です。

以下のプログラムは、Formのnew()メソッドにコードを記述する形式としていますが、
フォーム上にコマンドボタンを配置し、このコードをそのままButton1_Click()に移しても、
DataGridViewには、データが表示されません。一番下に、「DataGridView1.Refresh()」という
コードを付け加えてみても、表示はされませんでした。
ボタンをクリックした時にデータが表示されるようにするにはどうしたらよいのでしょうか。
(Accessの場合はRequeryというメソッドがあって、こういう場合はそれを追加するだけで
いけたのですが。)
URLリンク(www.microsoft.com)

110:12
08/02/28 18:20:21
>>109
リンク先全部読んだのか?
コード移しただけじゃだめだ。

リンク先の”図3 列の追加”という準備が必要。
要するに列が一個もないから行を追加しても表示されないってこと。

111:デフォルトの名無しさん
08/02/28 18:40:29
>>110
レスありがとうございます。

列の追加作業はやっています。
Formのnew()にコードをかいたら、データが表示されるところまでは確認しています。
そして、そのコードをそのままButton1_Click()に移すと、列見出しのみが表示されるだけで、
実データが表示されないのです。

112:110
08/02/28 19:51:09
>>111
それは失礼した。

コンストラクタ内とButton1クリックイベント内で動作が違うというのはおかしいね。
FormのLoadイベントか何かでDataGridView1のプロパティを書き換えてたりしない?
コンストラクタ以降でButton1_Clickイベント以前のイベントで何かやらかしてる悪寒。

113:109
08/02/29 10:21:40
>>112
レスありがとうございます。
アドバイスをいただいたので、とりあえず昨日動かしてみて
動かなかったプロジェクトを開いて実行してみると、きちんと動作しました。
あれから設定は何も触っていませんし、別なプログラムも組んでいません。
コードもいじっていないので、これは、IDEの不具合の可能性が高いと
思われます。どうしてデータの表示だけが出来なかったんでしょうね。
ご迷惑おかけしました。

114:デフォルトの名無しさん
08/02/29 11:57:23
質問させてください。
VB2003で他のアプリケーションにファイルを送ることは可能でしょうか?
やりたいことはフォームでユーザーが指定したフォルダにある画像ファイルを、ひとつのビューアーでまとめて閲覧するという動作です。
よろしくお願いします

115:デフォルトの名無しさん
08/02/29 12:04:41
他のアプリケーションってのは自作?
それとも他人の作品?

116:デフォルトの名無しさん
08/02/29 12:05:33
自作ではないフリーのビューアーです

117:デフォルトの名無しさん
08/02/29 13:31:09
Process使ったらどうだったの?
例えば、
Process.Start(@"C:\Program Files\free_viewer.exe", @"C:\guro001.jpg");
とか。

118:デフォルトの名無しさん
08/02/29 14:27:12
そのビューアはファイルのD&Dにしか対応していないのか、
もしくはコマンドライン引数でパス渡せば開いてくれるのか、その辺は調べた?
後者なら>>117

119:114
08/02/29 14:28:01
>>117
ビューアーによってはそのやり方で開きますが、今回使用するビューアーはダメみたいです。
ちなみに開く画像ファイルは医療用のDicom画像ファイルなので、使えるビュアーは限られています

120:デフォルトの名無しさん
08/02/29 15:54:35
>>119
VBで表示するところまでを作りこむ検討をするか、
もしくは、別に、その医療用のなんとかという画像を自動で
jpgに変更するバッチ処理させるのを検討するかになるだろうね。
ビューアーが対応してないんだから。

121:デフォルトの名無しさん
08/02/29 17:06:34
>>114
ここみるとVBでDicomとやらを開けなくもなさそうだぜ。
URLリンク(www.nbrains.net)

使い慣れたビューワで表示したいってのなら見当違いなレスですまんが。


122:114
08/02/29 17:41:20
VBでDICOMを表示するのはできなくはないですが、
viewerの細かい機能まで実装するとなると、作業量が膨大になるので一介の病院勤務PGもどきにはちっと厳しいです。
いろいろ調べていたらsendMessageで何とかなりそうな気もするのでもう少し調べてみます。
ありがとうございました

123:デフォルトの名無しさん
08/02/29 17:50:07
業者に頼まないのか・・・

124:114
08/02/29 18:07:29
医療用ソフトウェアは非常に高価かつ病院独自のいろいろなカスタマイズが必要なため、
自分で作れる範囲ではすべて自作しています。
今は病院の経営も楽ではないようです。

>>121の openDICOM.NET のこれに非常に興味を持ちましたが当然日本語の解説なんてないよなー
とりあえず紹介ありがとうございました

125:デフォルトの名無しさん
08/02/29 20:54:46
すみません、型変換について教えてください。
Integer型のNumericUpDownカスタムコントロールを作成していて気になったのですが、
内部でどういった型変換をしているのでしょうか?

作成した自作コントロールは以下の構文を追加したのみ。VB.2005で作成。
ValueにSetしたときにTextにもSetしています。

  Private _Value As Integer
  Public Shadows Property Value() As Integer
    Get
      Return _Value
    End Get
    Set(ByVal value As Integer)
      If _Value = value Then Return
      _Value = value
      MyBase.Text = value.ToString ・・・(ア)
      'MyBase.Value = value ・・・(イ)
    End Set
  End Property

この自作コントロールと標準コントールの速度比較をしてみました。
方法はValueに代入する値を変化させながら100件ループ。
結果、標準コントロールでは約100ミリ秒、自作コントロールの(ア)では約250ミリ秒、
(イ)では約100ミリ秒となりました。
自分でTextにSetする(ア)よりもMyBase.Valueを介した(イ)が2.5倍ほど速いとなると
ToStringの変換が遅いというよりMyBase.Valueの中でどのようにTextにSetしているかが
気になるところです。
型変換の方法?もしくはTextにSetされるタイミングの問題?なのか分かりませんが
何かご存知の方いらっしゃいましたら教えてください。よろしくお願いします。

126:デフォルトの名無しさん
08/02/29 22:03:22
baseのText使えば文字列を数値にパースするんだもの
より遅いに決まってるだろjk

つまりbase.Textに設定する意味はない

127:デフォルトの名無しさん
08/02/29 22:09:05
NumericUpDown.Textはインフラストラクチャだぞ

128:125
08/02/29 22:15:50
>>126
>>127
レスありがとうございます。

それでは画面に表示させるにはどのように設定したらよいのでしょうか?

129:125
08/02/29 22:54:07
MyBase.Text = value.ToString

Me.Controls(1).Text = value.ToString
に変更したら約100ミリ秒まで短縮することができました。
この方法でよいのでしょうか?

130:125
08/03/01 00:17:14
なんか基本からダメみたいです。
ボタンクリックから入力したときにValueプロパティにSetしてくれないみたいです。
MyBase.ValueプロパティがSetしているプライベートフィールドの変数名は何ていうんでしょうね。
側だけIntegerにしてGet Return MyBase.Value、Set MyBase.Value = Valueってするのが手っ取り早そうな気がしてきました。

131:デフォルトの名無しさん
08/03/01 00:23:39
>Integer型のNumericUpDownカスタムコントロール
というものの存在意義がまずないからね

132:125
08/03/01 00:38:06
>>131
受取り側の変数がDecimal型以外の場合に使用する予定です。
専用コントロールを用意しておけば変換を意識しなくていいので。

133:デフォルトの名無しさん
08/03/01 00:57:44
VBとは関係ないんですが「自動修復情報の保存」の頻度って変えられないでしょうか?
デザイン画面弄ってると頻繁に作業中断させられて困ります

134:デフォルトの名無しさん
08/03/01 01:31:05
>>133
メニューバーから「ツール」-「オプション」を選択して「環境」-「自動バックアップ」

135:デフォルトの名無しさん
08/03/01 01:35:42
>>134
ありがとうございました。5分から15分にしてみました。

136:デフォルトの名無しさん
08/03/02 09:59:45
MonthCalendarの色がVistaで変更されないのはなんで?

MonthCalendar.TitleBackColor = System.Drawing.SystemColors.Control
MonthCalendar.TitleBackColor = System.Drawing.SystemColors.ControlText
MonthCalendar.BackColor = System.Drawing.SystemColors.Control
MonthCalendar.ForeColor = System.Drawing.SystemColors.ControlText

こんな感じでセットしてもXpでは変更されるがVistaでは変更されない。


137:デフォルトの名無しさん
08/03/02 13:59:25
VS2005の[ツール]-[オプション]の「デバッグ」の設定で、
「出力ウインドウへの出力をすべてイミディエイトウインドウにリダイレクト」
にすると、
 Debug.Print("・・・")
 Console.WriteLine("・・・")
 TraceSourceオブジェクトのTraceEventなどの出力
も全部イミディエイトウインドウにリダイレクトされていましたが、これを
イミディエイトウインドウに出したいものだけを出すようにしたい場合の
設定がありましたら教えてください。

138:デフォルトの名無しさん
08/03/02 15:35:34
>>136
事故解決しました。

「Xp Visualスタイルを有効にする」を無効にしたらVistaでも変更されました。
なんだよ、コモンコントロールなのにVista未対応かよw

139:デフォルトの名無しさん
08/03/03 01:30:12
半月ほど前からプログラミングを勉強し始めてVB2008を使ってるんですが、
iniファイルからの数値の読み取りはできたんですが、
文字列の読み取りが上手くいきません。
ググって出てきた、iniからの読み取り方法を紹介してる
いくつかのページとにらめっこしならがら試しているのですが、
コピペしつつ何度試してみても、
読み取れなかった場合のデフォルトの文字列が返されてしまいます。
VB2008だと何か仕様が違うとかなのでしょうか?
参考になりそうなページがあれば教えてもらえると助かります・・・。
ちなみにOSはXPです。

140:デフォルトの名無しさん
08/03/03 01:44:52
URLリンク(homepage1.nifty.com)
VisualBasic中学校

141:デフォルトの名無しさん
08/03/03 01:48:14
それかコレ
URLリンク(jeanne.wankuma.com)
iniファイルの読み込みまたは書き込みの提供するクラス

142:デフォルトの名無しさん
08/03/03 04:10:50
>>140-141
VBプログラミングに関してはVisualBasic中学校で勉強してました。
VB.NET以降でのAPIの扱い方のページがまだ書かれてなかったため、
今回紹介してもらったページも含め各所で調べてたのですが上手くいかなかったので、
今回質問させていただきました。

前置きはこのくらいにして、>>141で紹介してもらったライブラリを使用したところ、
数値も文字列も問題なく読み込むことに成功しました。
どうもありがとうございました。

ライブラリの使用方法がわからず調べまわってる内に、気付けばこんな時間・・・。

143:デフォルトの名無しさん
08/03/03 22:05:20
.net 1.1です。
数字のみ入力可能のテキストボックスが20個ある画面で、
その入力値に重複がある場合
重複しているテキストボックスをすべて黄色にする。
というものをつくりたいのですが、
何かスマートなアルゴリズムはありますか?

現在のところ、入力値をキーにハッシュテーブルに格納していき、
重複ができたらそのキーのテキストボックスを黄色にするという案を思いつきましたが、
もっとスマートなのがあれば教えてください。

144:デフォルトの名無しさん
08/03/03 22:13:48
入力しているかいないかを判別するための変数を20個作り、
入力されていれば他の入力されているデータと比較してみる手はどうですか?
20個のTextAlignChangedイベントに書いておいたら逐次判断するよ

今すぐに考えたらこんなものしか思い浮かばない・・・

145:デフォルトの名無しさん
08/03/03 22:14:57
それかバックグラウンドでずっとデータを見張らせるとか
そっちの方がお手軽かな

146:デフォルトの名無しさん
08/03/03 22:28:44
そういえばラッピングってどうやるのですか?
Cなどで書いたコードをVB.NETの処理系を用いて実行形式に変換するらしいのですが、
どういう処理をしているのか分かりません。
詳しく知っている方教えてください。

147:デフォルトの名無しさん
08/03/03 22:29:00
>>143
List(of TextBox)を継承して同じテキストを持つテキストボックスのグループを
あらわすクラスをとりあえず作ったら?

っていうか「グループ」が複数あっても全部黄色でいいの?w

148:デフォルトの名無しさん
08/03/03 22:39:23
>>146
ラッピングって言葉自体はサランラップと同じ意味しかない

149:デフォルトの名無しさん
08/03/04 11:49:34
>>146
言ってることがむちゃくちゃだけどP/Invokeのこと?
ヘッダ見ながらひたすらDllImport宣言を書きまくるだけ

150:デフォルトの名無しさん
08/03/04 12:08:49
そうなんですか
Thxです

151:デフォルトの名無しさん
08/03/05 00:09:41
デザイナの読み込み時に 1 つ以上のエラーが発生しました。エラーは以下に一覧表示されます。
コードの変更が必要なエラーもありますが、プロジェクトを再度ビルドすると解決できるエラーもあります。


VB2005で開発していたら突然このようなエラーが発生しました。
リビルド、再起動と試しましたがダメでした。
検索しても困ってる人は多いということが分かったのですが、
それらしい答えが見付かりませんでした。
デザイナは開けるが実行は出来るという人もありましたが実行も出来ません。

解決方法教えてください。

152:デフォルトの名無しさん
08/03/05 00:51:42
>>151
情報が足りないからなんともいえんな。
フォーム内のコントロールの種類とか、Designer.vbをいじってないかとか、
継承コントロールを使ったりしてないかとか。

それすらも書けないようなやつはプログラミングやめとけ。
向いてないから。

153:デフォルトの名無しさん
08/03/05 01:18:49
>>151
それってVB.NETの頃からの致命的なエラーだよ。
2008になっても修正されていないと聞く。

154:デフォルトの名無しさん
08/03/05 09:15:37
VB.NET 2003なのだが
画面をロードしたときにフォーカスの設定をしたいのだがやり方が解らない。

Me.ActiveControl = Me.フォーカスを移したいコントロール名.Focus

をやろうとしても、「Me.」の後に「ActiveControl」が出ない
無視して入れたとしてもエラーになる
だれか解る方いらっしゃいます?

155:デフォルトの名無しさん
08/03/05 09:27:37
Me.フォーカスを移したいコントロール名.Focus
だけじゃだめかい?

156:デフォルトの名無しさん
08/03/05 09:35:30
>>151
経験ある。その時はデザイナ系触ってなくてロジック層のクラスを触ってただけなのにフォームに表示を戻しただけでそうなったんだよな。
どうにもならなかったら新しいプロジェクトを作成して、そこに元のファイルを順に追加するしかないのかな?

>>154
Call Me.フォーカスを移したいコントロール名.Focus()
でいけると思う。

157:デフォルトの名無しさん
08/03/05 09:41:22
>>156
「フォーカスを移したいコントロール名」の後にfocusが出てこない。
無理やり入れたとしてもエラーになる

使えないのかな

158:デフォルトの名無しさん
08/03/05 09:44:56
>>157
そのコントロールはなんですか?

159:デフォルトの名無しさん
08/03/05 09:52:48
>>157
ボタンです

バージョンが古いからできないのかなって思った
version.7.1.6030です



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

4543日前に更新/174 KB
担当:undef