VB.NET質問スレ(Part25)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ

VB.NET質問スレ(Part24)
http://pc11.2ch.net/test/read.cgi/tech/1197507828/

テンプレは2〜5くらいまでの間にある予定
2デフォルトの名無しさん:2008/02/22(金) 12:14:48
MSDN
http://msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://uchukamen.com/
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
http://dotnetfan.org/
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
3デフォルトの名無しさん:2008/02/22(金) 12:15:22
CodeProject
http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.winapi-database.com/
4デフォルトの名無しさん:2008/02/22(金) 12:15:54
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
(VS2005) http://www.microsoft.com/japan/msdn/thisweek/300x10/
(VS.NET 2003) http://www.microsoft.com/japan/msdn/thisweek/wednesday/
PAPA'n VB
http://papanvb.i-love-vb.net/
(旧コンテンツ) http://www.mitene.or.jp/~sugisita/index_old.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
5デフォルトの名無しさん:2008/02/22(金) 13:00:22
VB.NETにおいて、Tips系とは違う方向で、主要なコントロールの紹介と
使い方をまとめたサイトはないでしょうか。
6デフォルトの名無しさん:2008/02/22(金) 13:21:42
VB使いはキモイイと効いたのですが本当ですが
7デフォルトの名無しさん:2008/02/22(金) 13:23:21
>>5
@IT
8デフォルトの名無しさん:2008/02/22(金) 13:25:31
VBは初心者向け言語と効いたのですが本当ですgか??_
9デフォルトの名無しさん:2008/02/22(金) 13:27:13
本当だからどっかいけ、もうくんな
10デフォルトの名無しさん:2008/02/22(金) 13:30:32
ここは初心者に優しくないと聞いたのですが本当ですgか??_
11デフォルトの名無しさん:2008/02/22(金) 13:32:40
確かにVBは初心者向けかもしれないが、第二言語としてこれほど適しているのはないと思うが
12前スレ968:2008/02/22(金) 13:38:17
前スレの>>989ー990

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

まあとにかくVBの勉強にはなったわ、ありがとう。
13デフォルトの名無しさん:2008/02/22(金) 13:40:31
>>7
kwsk
14前スレ968:2008/02/22(金) 13:41:19
お礼といってはなんだが、新スレ建てておいた。
VBスレの住人は新スレ誰も建てないのにビックリw
C#erの俺が建てちまったよ。
15デフォルトの名無しさん:2008/02/22(金) 13:46:41
>>13
断る。
何をもって"主要なコントロール"と言っているのかがまず不明。
とりあえずツールボックスに出ているすべてのコントロールを片っ端から勉強するべき。

MSDNが読めるレベルになるまでは、@ITとかTipsとかで調べるのが定石だと思うが。
ローマは一日にしてならず。努力する姿勢がないやつにはプログラミングなんて無理。
16デフォルトの名無しさん:2008/02/22(金) 14:11:11
>>14
テンプレに「○番超えたら話し合って次スレを立てて下さい」
と入れてくれればよかったのに。
1712:2008/02/22(金) 14:24:55
あーごめん、頭こんがらがってる。
てかInvokeとかC#にもあるし。

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

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

>>16
そうだね、気付かんかったスマソ
18前862:2008/02/22(金) 15:09:38
お礼が遅くなりました。レスくれた方方ありがとう。
抱きしめてキスしたい気分です。
19デフォルトの名無しさん:2008/02/22(金) 15:18:22
人前だぞぉ
20デフォルトの名無しさん:2008/02/22(金) 15:48:23
VB#ってなんでないですか
21デフォルトの名無しさん:2008/02/22(金) 15:50:53
22デフォルトの名無しさん:2008/02/22(金) 16:05:42
VB.Netで設定を保存する場合どの形式を使うべきですか?

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

それとも自由なんでしょうか?
23デフォルトの名無しさん:2008/02/22(金) 16:10:27
>>22
基本的には自由だと思うよ。設定を保存するのをクラスにまとめて
しまえば、後々変更するのも容易になるからね。
ただ、.NET FrameworkにはXMLに保存する機能が充実しているから、
そっちを使った方が早いから推奨しているのだと思う。
http://dobon.net/vb/dotnet/programing/storeappsettings.html
24デフォルトの名無しさん:2008/02/22(金) 16:58:50
ありがとうございます、XMLを試してみます、
m(_ _)m
25しんじん:2008/02/22(金) 19:34:40
すみません、急ぎでの質問です(VB2005)

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

FormatやCDate等をつかってもやはりうまくいきませんでした。
よろしくお願いします
26デフォルトの名無しさん:2008/02/22(金) 19:49:16
駄目だったコードぐらい書け
27デフォルトの名無しさん:2008/02/22(金) 21:28:54
Excelのセルに値を入れるのはわかってるんですけど、
Excelのセルに例えば<A>と書き込んで、プログラムから
その<A>があるセルに値を入れたい場合、いい方法ってありますか?
28デフォルトの名無しさん:2008/02/22(金) 21:52:12
VBって関数型言語みたいにアルゴリズムの評価もできるのですか?
29デフォルトの名無しさん:2008/02/22(金) 21:54:15
>>25
アホか
文字列でいいなら
Dim a As String = "200803011030"
a = a.Insert(4, "/").Insert(7, "/").Insert(10, " ").Insert(13, ":")
だけど本当に文字列でいいのか?
30デフォルトの名無しさん:2008/02/22(金) 22:02:31
まわりくどいのがいいならw
a=
datevalue(a).tostring("yyyy/MM/dd HH:mm")
31デフォルトの名無しさん:2008/02/22(金) 22:22:50
VisualStyleをXpスタイルで使用しているときの TabControl のTab
の出ている位置についてですが、これを「上」以外の位置にしたとき、
Tab の表示されている向きが上向きになっていて違和感がありました。

これがVisualStyleをクラシックスタイルにしてあると、表示される向き
が、位置に対して逆向きになってくれて正常でした。VisualStyleがXp
スタイルの場合でも正常な向きにしたいのですが、方法はありましたら
教えてください。よろしくお願いします。
32デフォルトの名無しさん:2008/02/22(金) 22:28:37
>>31(すみません訂正します)>方法はありましたら→方法がありましたら
3331:2008/02/22(金) 23:07:18
VisualStyleに関係する現象としてもうひとつあるのですが、
ListViewでのIconの表示についてです。

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

IconのImageがStrechされないようにする方法があればお聞きしたい
です。PictureBoxのようなそうしたプロパティはばいようで、しかも
これがVisualStyleがクラシックスタイルだと起きず、Xpスタイルのとき
にだけ起こるようでした。
34しんじん:2008/02/22(金) 23:27:04
>>29-30
おお〜ありがとうございます!
時間なくて結局普通に&で連結しちゃいましたが
そういうやり方やっぱりあったんですね〜
ど素人なものですみません
3531:2008/02/23(土) 07:58:27
>>31ですが、

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

TabControlのTabをXpスタイルで正常に表示するテクニックはある
でしょうか・・・。
36デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/23(土) 11:07:48
ListView.Items
ListViewItem.SubItems
3831:2008/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デフォルトの名無しさん:2008/02/23(土) 19:00:42
なにそのDoEvents
40デフォルトの名無しさん:2008/02/23(土) 19:34:39
>>39
どうもです。一応、
VisualStyle有効時にTabControlのタブに画像が表示できないことがある
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=822024&SiteID=7
を参考にして入れてみました。

ところで、TabControlのTabAlignmentは、みなさんXpでVisualStyle
を使っているときに、「上」以外にして正常に表示されているでしょうか、
その辺まず知りたいのですが、いかがでしょうか?
41デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/23(土) 19:51:47
定数間違えてる
43デフォルトの名無しさん:2008/02/23(土) 20:09:21
>>42
どこが間違っているのでしょうか…。
MOUSEEVENTF_WHEELで検索しても、スクロールする定数は&H80でdwDataの値は120となっているものが多いのですが…。
色々な値で試してみても、ミドルクリックがされるくらいで、スクロールされるものはありません。
44デフォルトの名無しさん:2008/02/23(土) 21:23:10
ttp://www.google.co.jp/search?lr=lang_ja&oe=utf8&ie=shift_jis&q=MOUSEEVENTF_WHEEL
おいらの目には80には見えない

ていうかWin32API呼び出すならWindows SDK入れろと
ヘッダ見るのが一番確実なんだから
45デフォルトの名無しさん:2008/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の詳細がわかることは知りませんでした、勉強になりました。
大変ありがとうございました。
4631:2008/02/24(日) 08:52:39
>>40>>38 (自己レス)
やってみると、TabControlのAlignmentによってTop以外の位置に来たときは
OwnerDrawで普通にRectangleをe.Boundsから取得してそこを適当な
BrushでFillすれば、その形は正常な向きのTabになってくれるようでした。
この件は解決とします。

後は>>33ですが、これもまさかOwnerDrawで解決とかでしょうか・・・
(一応、タイトルバーの幅には一定の許容限界があるようで、18より
小さくするとNGのようです)
47デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/24(日) 23:30:05
もう一つkでも用意すりゃいいんじゃねって言うか正直意味分からん
49デフォルトの名無しさん:2008/02/24(日) 23:31:05
つFor〜Next
50デフォルトの名無しさん:2008/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って配列のここの数値だけを動かしたいんです。
5149:2008/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デフォルトの名無しさん:2008/02/24(日) 23:39:09
ずれた orz
53デフォルトの名無しさん:2008/02/24(日) 23:40:55
>>51
そうやればいいんですか!ありがとうございました!
54デフォルトの名無しさん:2008/02/24(日) 23:46:46
>>51
すいません。もう1つ質問いいでしょうか。
(0,0) = aryData(r,c + j)
で、次に(0,0)を(0,1)にして
(0,1) = aryData(r,c + j)
としていくにはどうすればいいのでしょうか。。
55デフォルトの名無しさん:2008/02/25(月) 08:54:24
>>54
応用もできないならプログラム辞めた方がいいよ。
56SIN:2008/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デフォルトの名無しさん:2008/02/25(月) 12:21:30
VS2005Proでイミディエイト・ウインドウが出せずに困りました。
[デバッグ]−[ウインドウ]でもその中にイミディエイト・ウインドウが
ありません。オプション設定が必要なのでしょうか?
5857:2008/02/25(月) 12:36:53
59デフォルトの名無しさん:2008/02/25(月) 14:13:22
>>56
こっちの環境では1度目のボタンクリックでメッセージボックスは表示されたぞ。

これとは違う話で、テキストボックスでenterキーが押されたときの処理
などが関係してるのでは、と思ったけど、どうかな?
VB2005+VWD2005
60SIN:2008/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デフォルトの名無しさん:2008/02/25(月) 15:19:12
>>60
Webアプリである以上、ある条件を満たした時のメッセージボックスは
JavaScript等を使わないと無理だね。
JavaScriptなしで実現しようとするのならば、メッセージボックスにあたる
ページを別でページを作り、とかしか方法は無いね。

ASP.NETは、検証コントロールを使えば良いという考え方があるから、
そういう機能がついてないのかもしれない。
62デフォルトの名無しさん:2008/02/25(月) 15:41:59
>>60
Me.Button1.Attributes("onclick") = "if(document.getElementById('" & Me.TextBox1.ID & "').value == 'A'){return confirm('宜しいですか?');}"
といった感じでいいんでない?
63デフォルトの名無しさん:2008/02/25(月) 15:58:52
ああ、そうだな。javascriptって改行関係ないぞ。
試しにメモ帳使って書いてみたら分かる。
64SIN:2008/02/25(月) 16:01:17
>>61-62
ありがとうございます
参考にさせていただきます〜もっと簡単にできる機能つけてくれないかな〜VS2009とかで^^;
65SIN:2008/02/25(月) 16:02:41
>>63
thx!そうなんですね
66デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/25(月) 16:31:06
ShowDialogじゃだめなのか?
68デフォルトの名無しさん:2008/02/25(月) 16:48:07
フォームAでは、リアルタイムで変わる状況をモニタリングしてるから
ShowDialogじゃまずいんですよね
現状、特に動作には問題ないんだけど>>66 は少し気になってて、
プログラミングに詳しい人からすると、まずいやり方なのかな?と思って聞いてみた
69デフォルトの名無しさん:2008/02/25(月) 17:22:15
起動中に何万回とShowCloseするなら問題あるね。
70デフォルトの名無しさん:2008/02/25(月) 22:41:09
Timerって同時にどれくらい使えるんだろ。 制限とか注意事項とかあんのかな?
71デフォルトの名無しさん:2008/02/25(月) 23:26:47
スペックが許す限りb
72デフォルトの名無しさん:2008/02/25(月) 23:42:53
Timerは一定時間ごとにコードを実行するだけだから、同じ間隔で複数実行するようにしても、一つ終わって次ってなるだけ。
わかってると思うがBackGroundWorkerみたいに別スレッドで処理するわけじゃないから、Timerのコードを処理してる間は同じスレッドの処理は止まる。
スペックっていうより、処理の重さでGUIの反応が無くなるのに耐えれる限りだと思うな。
73デフォルトの名無しさん:2008/02/26(火) 00:03:51
別にInterval自体は長くできるわけで、
そういう意味ではスペックだとおもうけどなー
74デフォルトの名無しさん:2008/02/26(火) 00:05:58
Timerって安全なDoWorkって意識だったけど違うの?
75デフォルトの名無しさん:2008/02/26(火) 00:11:40
処理が瞬時に終わるならね。
76デフォルトの名無しさん:2008/02/26(火) 00:14:59
Timerってどのタイマの話だよw
どのタイマの話としても72の話はナンセンスに思うけど。
77デフォルトの名無しさん:2008/02/26(火) 00:16:33
当然、ポトペタで落とせるタイマでそ。
System.Windows.Forms.Timer
78デフォルトの名無しさん:2008/02/26(火) 00:18:02
だとしたら「同じスレッドの処理は」ってくだりは何?
79デフォルトの名無しさん:2008/02/26(火) 00:18:33
っていうか、System.Timers.Timerもポトペタできるよw
80デフォルトの名無しさん:2008/02/26(火) 00:22:29
今、LABEL継承して、内部にTimerかませて時刻表示するユーザコントロールつくって
テストしてみた。配置したら自動で時計になるやつね
で、フォームに180個貼り付けて実行してみたら、CPU頑張ってたけど無事に使えてた
画面は圧巻だったよ
81デフォルトの名無しさん:2008/02/26(火) 01:28:31
System.Net.Sockets.UdpClientを使って指定したIPにデータを送信する事を試しているのですが、byte型以外のデータを送る事って可能でしょうか?

と、言いますのも、"-1"の値を送りたくて色々と試しているんですが、どうしても"45,49"という形になってしまうのです。
82デフォルトの名無しさん:2008/02/26(火) 02:08:42
-1という文字列を送りたいわけ?ASCIIで?
8381:2008/02/26(火) 02:47:29
>82様
出来れば数字として送りたいです。
byte型だと0〜255しか使えなかったので、それ以外の型ならなんとかなるかな?という安易な発想で調べてます。

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

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

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

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

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

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

ありがとうございました!
86デフォルトの名無しさん:2008/02/26(火) 10:10:26
いや、ポインタとかこの件では関係ないんじゃないか
87デフォルトの名無しさん:2008/02/26(火) 14:03:33
Vistaのエクスプローラにあるアドレスバーって、中にコンボボックス
とか配置してるようだけどあれって.NET標準では無いよね?
ユーザーコントロールとかで作ってるんでしょうか??すげーえぐい
動作するんだけど・・・
88デフォルトの名無しさん:2008/02/26(火) 15:03:25
>>87
コントロールを配置してそれで終わりってわけじゃないみたいだね。
こういうのは見つけたけれど、内部的にどうやって実現しているのかまでは
分からなかった。
http://www.forest.impress.co.jp/article/2007/06/11/qtaddressbar.html
89デフォルトの名無しさん:2008/02/26(火) 17:36:18
すみません初心者ですがVB.NETでの質問です

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

どうすればいいでしょうか?
90デフォルトの名無しさん:2008/02/26(火) 17:44:34
VBAで遊ぶ
91デフォルトの名無しさん:2008/02/26(火) 17:55:26
>>89
それVB.NETじゃなくてC#じゃね?
92デフォルトの名無しさん:2008/02/26(火) 20:58:39
93デフォルトの名無しさん:2008/02/26(火) 21:19:30
>>88
おぉ!情報サンクスです。やっぱし手練の人は自作してたんですね。
94デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/26(火) 23:17:42
ヘルプで &H 引け
あと型を明示しろ
96デフォルトの名無しさん:2008/02/27(水) 03:48:45
BindingSource.Insert(index,value)

↑のvalueはヘルプを見るとObject型らしいのですが
実際にvalueには何を指定すればよいのでしょうか?
null(VisualBasicではNothing)も設定できるようですが
わかる方教えてください。お願いします。
97デフォルトの名無しさん:2008/02/27(水) 08:20:43
好きなもの入れれば。
98デフォルトの名無しさん:2008/02/27(水) 08:25:07
>>96
それだけの内容では答えようが無い。
もっと具体的な事を言わないと。

ソースコードなり、自分のやりたいことなり。
99デフォルトの名無しさん:2008/02/27(水) 11:53:14
>>96
好きなもの入れて使う。
StringでもIntegerでもString()でもなんでもいい。
使うときにObject型から元の型にキャストするべし。
10096:2008/02/27(水) 23:13:24
言葉足らずですみません。
やりたいことは現在DataGridViewのDataSourceにDataTableを設定して
DataTableの行を操作(クリックした位置に新しい行を挿入等)を行っているのですが
その操作をBindingSourceを使って出来ないか考えていました。
メソッドを見ていたらInsertというのを見つけたので使ってみたんですが、
valueの部分だけ何を指定しても"外部のデータは挿入できません"みたいな
エラーが出て困ってました。

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

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

その間を補うイベントって作ったりする方法があれば教えてください。
102101:2008/02/27(水) 23:49:43
いまmsdn見たら、deselectingイベントとかは全部2.0で追加みたいですね・・・
1.1じゃどうしようもないのかなぁ・・・
103デフォルトの名無しさん:2008/02/28(木) 00:11:33
>>102
初期バージョンは変なバグもあるから、なるべくなら新しいのをお勧めする。
104デフォルトの名無しさん:2008/02/28(木) 00:27:35
コントロール関係のバグは2.0の方が多い印象があるけどね個人的にはw
105デフォルトの名無しさん:2008/02/28(木) 05:34:25
どっちでもいいじゃない
106デフォルトの名無しさん:2008/02/28(木) 06:09:19
親のWndProcでWM_NOTIFY/TCN_SELCHANGING
107デフォルトの名無しさん:2008/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 プロパティ の項の説明での書式から書ける
 はずの例です)
108107:2008/02/28(木) 16:38:54
また、
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnw2k/htm/ADSI/ADSI4.asp
では、
書式A: “LDAP://host1/OU=Sales, DC=ArcadiaBay,DC=COM”

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

>>107のように、onecityドメイン=onecity.corp.fabrikam.comドメインで
 あっても、それを LDAP://onecity/〜 のように重複するように書くことも
 あるのでしょうか?)
109デフォルトの名無しさん:2008/02/28(木) 16:42:49
すみません。DataGridViewの使い方に関する質問です。

以下のプログラムは、Formのnew()メソッドにコードを記述する形式としていますが、
フォーム上にコマンドボタンを配置し、このコードをそのままButton1_Click()に移しても、
DataGridViewには、データが表示されません。一番下に、「DataGridView1.Refresh()」という
コードを付け加えてみても、表示はされませんでした。
ボタンをクリックした時にデータが表示されるようにするにはどうしたらよいのでしょうか。
(Accessの場合はRequeryというメソッドがあって、こういう場合はそれを追加するだけで
いけたのですが。)
http://www.microsoft.com/japan/msdn/thisweek/300x10/Phase3/DataGridView/vb.aspx
11012:2008/02/28(木) 18:20:21
>>109
リンク先全部読んだのか?
コード移しただけじゃだめだ。

リンク先の”図3 列の追加”という準備が必要。
要するに列が一個もないから行を追加しても表示されないってこと。
111デフォルトの名無しさん:2008/02/28(木) 18:40:29
>>110
レスありがとうございます。

列の追加作業はやっています。
Formのnew()にコードをかいたら、データが表示されるところまでは確認しています。
そして、そのコードをそのままButton1_Click()に移すと、列見出しのみが表示されるだけで、
実データが表示されないのです。
112110:2008/02/28(木) 19:51:09
>>111
それは失礼した。

コンストラクタ内とButton1クリックイベント内で動作が違うというのはおかしいね。
FormのLoadイベントか何かでDataGridView1のプロパティを書き換えてたりしない?
コンストラクタ以降でButton1_Clickイベント以前のイベントで何かやらかしてる悪寒。
113109:2008/02/29(金) 10:21:40
>>112
レスありがとうございます。
アドバイスをいただいたので、とりあえず昨日動かしてみて
動かなかったプロジェクトを開いて実行してみると、きちんと動作しました。
あれから設定は何も触っていませんし、別なプログラムも組んでいません。
コードもいじっていないので、これは、IDEの不具合の可能性が高いと
思われます。どうしてデータの表示だけが出来なかったんでしょうね。
ご迷惑おかけしました。
114デフォルトの名無しさん:2008/02/29(金) 11:57:23
質問させてください。
VB2003で他のアプリケーションにファイルを送ることは可能でしょうか?
やりたいことはフォームでユーザーが指定したフォルダにある画像ファイルを、ひとつのビューアーでまとめて閲覧するという動作です。
よろしくお願いします
115デフォルトの名無しさん:2008/02/29(金) 12:04:41
他のアプリケーションってのは自作?
それとも他人の作品?
116デフォルトの名無しさん:2008/02/29(金) 12:05:33
自作ではないフリーのビューアーです
117デフォルトの名無しさん:2008/02/29(金) 13:31:09
Process使ったらどうだったの?
例えば、
Process.Start(@"C:\Program Files\free_viewer.exe", @"C:\guro001.jpg");
とか。
118デフォルトの名無しさん:2008/02/29(金) 14:27:12
そのビューアはファイルのD&Dにしか対応していないのか、
もしくはコマンドライン引数でパス渡せば開いてくれるのか、その辺は調べた?
後者なら>>117
119114:2008/02/29(金) 14:28:01
>>117
ビューアーによってはそのやり方で開きますが、今回使用するビューアーはダメみたいです。
ちなみに開く画像ファイルは医療用のDicom画像ファイルなので、使えるビュアーは限られています
120デフォルトの名無しさん:2008/02/29(金) 15:54:35
>>119
VBで表示するところまでを作りこむ検討をするか、
もしくは、別に、その医療用のなんとかという画像を自動で
jpgに変更するバッチ処理させるのを検討するかになるだろうね。
ビューアーが対応してないんだから。
121デフォルトの名無しさん:2008/02/29(金) 17:06:34
>>114
ここみるとVBでDicomとやらを開けなくもなさそうだぜ。
http://www.nbrains.net/php/pukiwiki/index.php?link%BD%B8%2FDICOM

使い慣れたビューワで表示したいってのなら見当違いなレスですまんが。
122114:2008/02/29(金) 17:41:20
VBでDICOMを表示するのはできなくはないですが、
viewerの細かい機能まで実装するとなると、作業量が膨大になるので一介の病院勤務PGもどきにはちっと厳しいです。
いろいろ調べていたらsendMessageで何とかなりそうな気もするのでもう少し調べてみます。
ありがとうございました
123デフォルトの名無しさん:2008/02/29(金) 17:50:07
業者に頼まないのか・・・
124114:2008/02/29(金) 18:07:29
医療用ソフトウェアは非常に高価かつ病院独自のいろいろなカスタマイズが必要なため、
自分で作れる範囲ではすべて自作しています。
今は病院の経営も楽ではないようです。

>>121の openDICOM.NET のこれに非常に興味を持ちましたが当然日本語の解説なんてないよなー
とりあえず紹介ありがとうございました
125デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/29(金) 22:03:22
baseのText使えば文字列を数値にパースするんだもの
より遅いに決まってるだろjk

つまりbase.Textに設定する意味はない
127デフォルトの名無しさん:2008/02/29(金) 22:09:05
NumericUpDown.Textはインフラストラクチャだぞ
128125:2008/02/29(金) 22:15:50
>>126
>>127
レスありがとうございます。

それでは画面に表示させるにはどのように設定したらよいのでしょうか?
129125:2008/02/29(金) 22:54:07
MyBase.Text = value.ToString

Me.Controls(1).Text = value.ToString
に変更したら約100ミリ秒まで短縮することができました。
この方法でよいのでしょうか?
130125:2008/03/01(土) 00:17:14
なんか基本からダメみたいです。
ボタンクリックから入力したときにValueプロパティにSetしてくれないみたいです。
MyBase.ValueプロパティがSetしているプライベートフィールドの変数名は何ていうんでしょうね。
側だけIntegerにしてGet Return MyBase.Value、Set MyBase.Value = Valueってするのが手っ取り早そうな気がしてきました。
131デフォルトの名無しさん:2008/03/01(土) 00:23:39
>Integer型のNumericUpDownカスタムコントロール
というものの存在意義がまずないからね
132125:2008/03/01(土) 00:38:06
>>131
受取り側の変数がDecimal型以外の場合に使用する予定です。
専用コントロールを用意しておけば変換を意識しなくていいので。
133デフォルトの名無しさん:2008/03/01(土) 00:57:44
VBとは関係ないんですが「自動修復情報の保存」の頻度って変えられないでしょうか?
デザイン画面弄ってると頻繁に作業中断させられて困ります
134デフォルトの名無しさん:2008/03/01(土) 01:31:05
>>133
メニューバーから「ツール」-「オプション」を選択して「環境」-「自動バックアップ」
135デフォルトの名無しさん:2008/03/01(土) 01:35:42
>>134
ありがとうございました。5分から15分にしてみました。
136デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/02(日) 13:59:25
VS2005の[ツール]-[オプション]の「デバッグ」の設定で、
「出力ウインドウへの出力をすべてイミディエイトウインドウにリダイレクト」
にすると、
 Debug.Print("・・・")
 Console.WriteLine("・・・")
 TraceSourceオブジェクトのTraceEventなどの出力
も全部イミディエイトウインドウにリダイレクトされていましたが、これを
イミディエイトウインドウに出したいものだけを出すようにしたい場合の
設定がありましたら教えてください。
138デフォルトの名無しさん:2008/03/02(日) 15:35:34
>>136
事故解決しました。

「Xp Visualスタイルを有効にする」を無効にしたらVistaでも変更されました。
なんだよ、コモンコントロールなのにVista未対応かよw
139デフォルトの名無しさん:2008/03/03(月) 01:30:12
半月ほど前からプログラミングを勉強し始めてVB2008を使ってるんですが、
iniファイルからの数値の読み取りはできたんですが、
文字列の読み取りが上手くいきません。
ググって出てきた、iniからの読み取り方法を紹介してる
いくつかのページとにらめっこしならがら試しているのですが、
コピペしつつ何度試してみても、
読み取れなかった場合のデフォルトの文字列が返されてしまいます。
VB2008だと何か仕様が違うとかなのでしょうか?
参考になりそうなページがあれば教えてもらえると助かります・・・。
ちなみにOSはXPです。
140デフォルトの名無しさん:2008/03/03(月) 01:44:52
141デフォルトの名無しさん:2008/03/03(月) 01:48:14
それかコレ
ttp://jeanne.wankuma.com/library/inifile/
iniファイルの読み込みまたは書き込みの提供するクラス
142デフォルトの名無しさん:2008/03/03(月) 04:10:50
>>140-141
VBプログラミングに関してはVisualBasic中学校で勉強してました。
VB.NET以降でのAPIの扱い方のページがまだ書かれてなかったため、
今回紹介してもらったページも含め各所で調べてたのですが上手くいかなかったので、
今回質問させていただきました。

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

ライブラリの使用方法がわからず調べまわってる内に、気付けばこんな時間・・・。
143デフォルトの名無しさん:2008/03/03(月) 22:05:20
.net 1.1です。
数字のみ入力可能のテキストボックスが20個ある画面で、
その入力値に重複がある場合
重複しているテキストボックスをすべて黄色にする。
というものをつくりたいのですが、
何かスマートなアルゴリズムはありますか?

現在のところ、入力値をキーにハッシュテーブルに格納していき、
重複ができたらそのキーのテキストボックスを黄色にするという案を思いつきましたが、
もっとスマートなのがあれば教えてください。
144デフォルトの名無しさん:2008/03/03(月) 22:13:48
入力しているかいないかを判別するための変数を20個作り、
入力されていれば他の入力されているデータと比較してみる手はどうですか?
20個のTextAlignChangedイベントに書いておいたら逐次判断するよ

今すぐに考えたらこんなものしか思い浮かばない・・・
145デフォルトの名無しさん:2008/03/03(月) 22:14:57
それかバックグラウンドでずっとデータを見張らせるとか
そっちの方がお手軽かな
146デフォルトの名無しさん:2008/03/03(月) 22:28:44
そういえばラッピングってどうやるのですか?
Cなどで書いたコードをVB.NETの処理系を用いて実行形式に変換するらしいのですが、
どういう処理をしているのか分かりません。
詳しく知っている方教えてください。
147デフォルトの名無しさん:2008/03/03(月) 22:29:00
>>143
List(of TextBox)を継承して同じテキストを持つテキストボックスのグループを
あらわすクラスをとりあえず作ったら?

っていうか「グループ」が複数あっても全部黄色でいいの?w
148デフォルトの名無しさん:2008/03/03(月) 22:39:23
>>146
ラッピングって言葉自体はサランラップと同じ意味しかない
149デフォルトの名無しさん:2008/03/04(火) 11:49:34
>>146
言ってることがむちゃくちゃだけどP/Invokeのこと?
ヘッダ見ながらひたすらDllImport宣言を書きまくるだけ
150デフォルトの名無しさん:2008/03/04(火) 12:08:49
そうなんですか
Thxです
151デフォルトの名無しさん:2008/03/05(水) 00:09:41
デザイナの読み込み時に 1 つ以上のエラーが発生しました。エラーは以下に一覧表示されます。
コードの変更が必要なエラーもありますが、プロジェクトを再度ビルドすると解決できるエラーもあります。


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

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

それすらも書けないようなやつはプログラミングやめとけ。
向いてないから。
153デフォルトの名無しさん:2008/03/05(水) 01:18:49
>>151
それってVB.NETの頃からの致命的なエラーだよ。
2008になっても修正されていないと聞く。
154デフォルトの名無しさん:2008/03/05(水) 09:15:37
VB.NET 2003なのだが
画面をロードしたときにフォーカスの設定をしたいのだがやり方が解らない。

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

をやろうとしても、「Me.」の後に「ActiveControl」が出ない
無視して入れたとしてもエラーになる
だれか解る方いらっしゃいます?
155デフォルトの名無しさん:2008/03/05(水) 09:27:37
Me.フォーカスを移したいコントロール名.Focus
だけじゃだめかい?
156デフォルトの名無しさん:2008/03/05(水) 09:35:30
>>151
経験ある。その時はデザイナ系触ってなくてロジック層のクラスを触ってただけなのにフォームに表示を戻しただけでそうなったんだよな。
どうにもならなかったら新しいプロジェクトを作成して、そこに元のファイルを順に追加するしかないのかな?

>>154
Call Me.フォーカスを移したいコントロール名.Focus()
でいけると思う。
157デフォルトの名無しさん:2008/03/05(水) 09:41:22
>>156
「フォーカスを移したいコントロール名」の後にfocusが出てこない。
無理やり入れたとしてもエラーになる

使えないのかな
158デフォルトの名無しさん:2008/03/05(水) 09:44:56
>>157
そのコントロールはなんですか?
159デフォルトの名無しさん:2008/03/05(水) 09:52:48
>>157
ボタンです

バージョンが古いからできないのかなって思った
version.7.1.6030です
160デフォルトの名無しさん:2008/03/05(水) 10:07:24
そのバージョンのボタンが見つからない、
VB.Net 2008だけど、バージョンは全部2.0になってる
161デフォルトの名無しさん:2008/03/05(水) 10:11:03
>>159
2003のリファレンス
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemwindowsformsbuttonmemberstopic.asp
Focus メソッドはあるけど、バージョン情報までは分からんな。
162デフォルトの名無しさん:2008/03/05(水) 10:15:08
フレームワークは
framework 1.1 バージョン1.1.4322 SP1
です

バージョンの問題か・・・。

163デフォルトの名無しさん:2008/03/05(水) 19:17:16
LINQに挑戦してるんだけど、SqlClientやレコードセット使ってやってたことを実現するのに一苦労です。
まだ時期尚早でしょうか。というかこれから流行るのでしょうか。
164デフォルトの名無しさん:2008/03/05(水) 22:35:41
LINQの目玉はデータベースじゃなくてコレクション操作
165デフォルトの名無しさん:2008/03/05(水) 23:18:19
>>151
こんなの日常茶飯事だよ
フォームを継承していると多いような気がする
たいていの場合はビルドして再表示で直るけどね

直らない場合はdesignerを修正しちゃう
修正しちゃうから日常茶飯事なのかもしれないがw
166デフォルトの名無しさん:2008/03/05(水) 23:29:41
日常茶飯事ってこともないけどね。
前にも書いたと思うけど、GUI部品は別のプロジェクトにしとけばまず起こらないわけで。
167デフォルトの名無しさん:2008/03/06(木) 00:13:12
>>163
一般論として、ver1はバグがたくさんあるとか、次ので仕様変更が、とか
あるので、今すぐやる必要がなければ、やらなくていいと思う。
168デフォルトの名無しさん:2008/03/06(木) 00:39:23
>>164
>>167
なるほど、今無理してやる必要もないですね。
変態SQLいじってるみたいで面白いんだけど、細かい部分が良くわからない。
169デフォルトの名無しさん:2008/03/06(木) 01:25:55
VB.NETもC#スレのように初心者スレほすいなぁ
170デフォルトの名無しさん:2008/03/06(木) 10:14:51
いまXMLファイルの書き出しをしているんですが、
10個の設定を書き出すのにシリアル化するべきか、
ドキュメントからXMLへの変換で書き出すか迷っています。

速度的にドキュメント変換の方が断然処理が早いですし、
コードも書きやすいです、

どっちにするべきですか?
171デフォルトの名無しさん:2008/03/06(木) 11:44:51
>>169
君が立てて告知
172デフォルトの名無しさん:2008/03/06(木) 18:09:45
>>170

どっちでも好きな方で
設定を格納するための型が既にあるとか値の型が色々あって面倒とかならシリアライズ
173デフォルトの名無しさん:2008/03/06(木) 20:25:32
シリアル化を挫折してしまったので
(見えない格納は意味不明w)
ドキュメント変換にしました

で、また問題にぶち当たったんですが
XMLファイルの要素を指定して、その要素のテキストを読み込むにはどのようにしたらいいのでしょうか?

<?xml version="1.0"?>
<Microg_Windows_Vista_UAC_RELEASED>
<UAC項目>
<UAC_Number_0>
<Message>OFF</Message>
<AD>TEST</AD>
</UAC_Number_0>
</UAC項目>
</Microg_Windows_Vista_UAC_RELEASED>

このようなXMLファイルの場合、<UAC_Number_0>の<Message>のテキスト「OFF」のみを読み込みたいんですが、
xmlRoot.ChildNodes(0).InnerText
のようにしてしまうと、OFFTESTになってしまって<Message>のテキストと混ざってしまいまいます。
174デフォルトの名無しさん:2008/03/06(木) 21:34:16
ノード辿ってけば良いじゃん
SelectSingleNode で XPath でもいいけど
175デフォルトの名無しさん:2008/03/06(木) 22:07:27
辿りかたがちょっとわからなくて・・・

xmlDoc.Load(XMLファイルパス)
Dim xmlRoot As XmlElement = xmlDoc.DocumentElement
msgbox(xmlRoot.SelectSingleNode("//UAC_Number_0/Message").Value)

としたんですがうまくいきませんでした。
(エラーではなく空白NULLが返ってくる)

XPathが間違っているのか、構文が間違っているのか全くわからない状態です。
何度もすいません。
176デフォルトの名無しさん:2008/03/06(木) 22:15:26
SelectSingleNode が XmlNode を返すのは分かるよな?
Value プロパティをヘルプで調べてみ
177デフォルトの名無しさん:2008/03/06(木) 22:29:17
エクセルのすぷれっと見たいにテキストが出てくる物だと思ってました。
(xmlRoot.SelectSingleNode("//UAC_Number_0/Message/text()").Value)
これで何とか「OFF」のみ排出されているので成功したと思います。
ありがとうございました!
178デフォルトの名無しさん:2008/03/07(金) 14:07:32
悪いこと言わんからシリアライズにしとけ…
179デフォルトの名無しさん:2008/03/07(金) 14:10:00
プリコンパイルしとけばXmlSerializerはヘタに自分でやるより速いよ
180デフォルトの名無しさん:2008/03/07(金) 15:25:13
VB.NETでデバイスドライバは書けますでしょうか
181デフォルトの名無しさん:2008/03/07(金) 16:56:18
>>180
宿題やったらしょんべんして寝ちまえ
182デフォルトの名無しさん:2008/03/07(金) 18:59:47
>>180
簡単に書けるけどお前には無理
183デフォルトの名無しさん:2008/03/07(金) 21:38:55
>>181-182
自演乙
184デフォルトの名無しさん:2008/03/07(金) 21:42:24
185デフォルトの名無しさん:2008/03/08(土) 13:37:09
186デフォルトの名無しさん:2008/03/08(土) 13:45:26
コピペ君って馬鹿だな、まで読んだ。
187デフォルトの名無しさん:2008/03/08(土) 17:17:56
WebBrowserで選択状態にする方法、または選択状態を取得する方法がわかりません。
私のほうで引き続き調べていますが、ご存知な方がいらっしゃいましたら、教えていただけると助かります。

よろしくお願いいたします。
188187:2008/03/08(土) 17:18:44
追記ですが、
選択状態とは、Webページ内の文字列の選択状態ということです。
189デフォルトの名無しさん:2008/03/08(土) 17:20:14
WebBrowserで選択状態
だけでも結構Googleに引っかかるようだが
190デフォルトの名無しさん:2008/03/08(土) 18:30:21
ようするにDOMじゃん
191デフォルトの名無しさん:2008/03/09(日) 18:45:20
       ∧ル∧
 ニ= ,, _/-@∀@)__
    〈ヘ_|i    Θ) ノ   ,,   ∧NY∧
  ̄=圧|__|ニ(二二(,ニニニ(二(),, _/-@∀@)__
 ニニ= ゝ9コア/ {ジ、  ~ .〈ヘ_|i     Θ) ノ   ,,  ∧朝∧ < オオニシ! フィリップ!
 =‐ ̄-=;/____|_|_〉   圧|__|ニ(二二(,ニニニ(二()_/-@∀@)__ ジェット・ストリーム・アタックをかけるぞ!
  ( ⌒ヾ,,〉几〈  〉0卩    ゝ9コア/ {ジ、   〈ヘ_|i     Θ) ノ   ,,
 (⌒ヾ,,γ/[]ヘ,)r'__/ヾヽ、 -=;;/____|_|_〉   圧|__|ニ(二二(,ニニニ(二()
   ̄ ̄  ̄ ̄   ̄ ̄ ̄(⌒ヾ,,〉几〈  〉0卩    ゝ9コア/ {ジ、   ~
             (⌒ヾ,,γ/[]ヘ,)r'__/ヾヽ、 -=;;/____|_|_〉
              ̄ ̄  ̄ ̄   ̄ ̄ ̄(⌒ヾ,,〉几〈  〉0卩
                         (⌒ヾ,,γ/[]ヘ,)r'__/ヾヽ、
192デフォルトの名無しさん:2008/03/10(月) 01:16:58
messagebox.show()と、msgbox()は、同じ動きをしますが、どのように違うのでしょうか?
193デフォルトの名無しさん:2008/03/10(月) 01:21:22
194デフォルトの名無しさん:2008/03/10(月) 08:08:21
>>193
さんくすこ
195デフォルトの名無しさん:2008/03/10(月) 18:11:56
アプリケーションの「軽い」「重い」は処理以外に「ソフト自体の容量」も関わりますか?
たとえば、フォームロードでは何も行わない「1000KBの*.exe」と「100KBの*exe」にはメモリ使用率などの違いがでるんでしょうか
196デフォルトの名無しさん:2008/03/10(月) 18:31:53
フォームに3つくらいタブ付けてそれぞれに40個くらいツリーボックス付けてみ
ソフト自体の容量はあまり無いが起動に1〜2分くらい掛かる

容量で重くなるって事はあることはあるな
197デフォルトの名無しさん:2008/03/10(月) 21:27:41
なんとなくわかったような気がしますw
ありがとうございました。m(_ _)m
198デフォルトの名無しさん:2008/03/11(火) 00:34:34
多分木を視覚的に表現するにはどうしたらいいの?
199デフォルトの名無しさん:2008/03/11(火) 01:26:31
Console.WriteLineの書式文字列の詳細な仕様はどこに載ってるのか。
標準入力はConsole.ReadLine(とRead)か。
数値を入力する手段は、まず文字列として代入してから、数値に変換する
しかないのかな。
200デフォルトの名無しさん:2008/03/11(火) 01:34:19
>>199
MSDN
201デフォルトの名無しさん:2008/03/11(火) 01:46:49
>>199
なに言ってのかわかんね
202sage:2008/03/11(火) 03:42:57
>>199
キーボードから文字でなく、数値を入力してみろよ
203デフォルトの名無しさん:2008/03/11(火) 06:36:47
>>201 >>202
何でお前らは頭が狂ってるのか
20412:2008/03/11(火) 10:59:07
>>203

>>202は只の突っ込みだろ?
条件反射レス恥ずかしいぞw
プログラミングの前に読解力を鍛えろ。
205デフォルトの名無しさん:2008/03/11(火) 12:05:49
>>199
http://msdn2.microsoft.com/ja-jp/library/txafckwd(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/427bttx3(VS.80).aspx

Stringから変換するのではなく直接数値型として読み取る方法はないのかという意味だろ
ない。
206デフォルトの名無しさん:2008/03/11(火) 15:34:48
起動されたアプリケーションを判断したいのですが、
プロセスのネイティブハンドルで判断するのは妥当でしょうか?

Dim hProcess As System.Diagnostics.Process
System.Diagnostics.Process.Start("メモ帳")

のとき

hProcess.Handle.ToStringで取ってきた整数で比較する方法で正確に判断できますか?
207デフォルトの名無しさん:2008/03/11(火) 15:44:00
プロセスハンドルはプロセスが生きてる限り一貫して同じ値
ただしそのプロセスが死んだ後そのハンドルは他のプロセスに再利用されうる
208デフォルトの名無しさん:2008/03/11(火) 15:49:57
>>207
書き込みありがとうございます。

メモ帳と同じハンドルで存在するアプリケーションは存在しないということでしょうか?

アプリケーションの終了を判断したいので、「〜後そのハンドルは他のプロセスに」
は問題ないです。
209デフォルトの名無しさん:2008/03/11(火) 15:57:57
>>208
ToStringでわざわざ文字列にする必要はないと思われる。
逆にToInt32()でInteger型にして比較するほうが妥当だと思われるが。
まあ、IntPtr型とInteger型(UInt32型)は直接比較することもできる。
Dim pi As New System.Diagnostics.ProcessStartInfo
pi.FileName = "c:\windows\notepad.exe"
Dim hProcess As IntPtr = System.Diagnostics.Process.Start(pi).Handle
Dim pHnd As UInt32 '取得したプロセスハンドル
If hProcess = pHnd Then '判断
MsgBox("メモ帳です")
Else
MsgBox("メモ帳じゃない")
End If

プロセスハンドルは、OSがそのプロセスを特定するための値なので同じ値は存在しない。
210デフォルトの名無しさん:2008/03/11(火) 16:01:00
わざわざ、訂正までありがとうございますw
無事解決しました。
ありがとうございました!m(_ _)m
211デフォルトの名無しさん:2008/03/11(火) 16:55:50
dsofile.dllで拡張情報のコメント読み書きしてみたのだけど、XPで書いたコメントは2000で読めず
2000で書いたものはXPで読めないというワケワカ状態です
(これはエクスプローラで見てもそうなので、書き込まれていないとかじゃ無いです)
2000とXPでは違う場所に書き込んでるんですかねえ…
212デフォルトの名無しさん:2008/03/11(火) 17:40:43
同じだと思うけど?
XPと2000の切り替えはデュアルブートとか?
213デフォルトの名無しさん:2008/03/11(火) 21:29:24
>>212
2000サーバのファイルを2台のXPマシンと2台の2Kマシンで見てみた
エクスプローラで同時に同じファイルのコメント表示してる筈なのに違ってるってもう…
一度iPropertyStorageで試してみるかな
214デフォルトの名無しさん:2008/03/11(火) 21:35:08
えーっと、ローカルじゃないドライブでもNTFSの機能って使えるんだっけ?
215210:2008/03/11(火) 21:38:42
またプロセス関係で躓きました。
「起動中のプロセスのハンドルを全て列挙して、
それらから記録していたハンドル整数を検索して見つからなかった場合、それが終了した」
といった風でさせているのですが、もっと簡単な方法があるのでしょうか?
>>216
216210:2008/03/11(火) 21:41:33
書き込めない
217210:2008/03/11(火) 21:45:45
'XMLファイルから読み込んだファイルを監視起動
Public Sub LoadedXML_EXE_MonitorShell()
AddHandler hProcess.Exited, AddressOf EXEShell_Exited
End Sub

'監視対象アプリが終了
Private Sub EXEShell_Exited(ByVal sender As Object, ByVal e As System.EventArgs)
'何が終了したか判断するために、今あるアプリケーションのハンドル一覧から、記録しているハンドルと比較する
@@@@@@@ここで比較しています@@@@@@@
End Sub

できれば、 hProcess.Exitedで終了したハンドルが取得できればスッキリするのですが、
どうすればいいのでしょうか?
218デフォルトの名無しさん:2008/03/12(水) 00:31:14
ハンドル整数(WIN32のProcessIDのことかな?)
からプロセスハンドルを開いて、終了を待てばいいじゃん。
219210:2008/03/12(水) 07:50:10
Process.Handleです、
非同期でやりたいので、できれば217のプログラム構造を壊さないで
終了したプロセスのハンドルを取りたいのですが、
イマイチ方法がわかりませんでした、
もう少しやってみます。
220デフォルトの名無しさん:2008/03/12(水) 08:54:07
>>209
IntPtr型のまま比較すべきでは?
64ビットではプロセスハンドルも64ビットなんだから、
pHndだってIntPtrであるべき。
221デフォルトの名無しさん:2008/03/12(水) 08:57:16
>>219
終了した後にハンドルを得るのは無理に近いから、起動したときに得たハンドルを取っておけ。
Process.HasExitedはだめなの?
222210:2008/03/12(水) 09:27:21
監視するアプリケーションは20を超える数になることがあるので、
的確に、何が終了したかをしりたいので
 |監視対象だった数個の内の、どれかが終了したときに
 |一体何が終了したのか?
を調べたかったんです。

起動したときに、ハンドルは取得できているので
現在のプロセスのハンドルを全て列挙して、記憶している数個のハンドル整数から比較、
消えているもので判断しようと思います。

Process.HasExitedでは一つを対象にした場合なので、
使えませんでした。
223デフォルトの名無しさん:2008/03/12(水) 10:12:45
20 程度、Process をコレクションでもっときゃいいじゃん
ハンドルも次の新規プロセスで再利用されうるんだから死んだ後使うのは危険
224デフォルトの名無しさん:2008/03/12(水) 11:06:45
>>220
WindowsAPI使ってプロセスハンドル取得してる場合も少なからず考えられるからさ、
一応、Integer型でも比較できるというのを言いたかったんだ。
225デフォルトの名無しさん:2008/03/12(水) 11:37:31
はぁ?
226210:2008/03/12(水) 11:41:07
一応コレクションは管理していますが、アプリケーションを監視している際にも、
そのアプリに関する情報も管理しないといけないので
膨大になっています。

これ以上増やすことはゴメンなんでw、
「現在のプロセスハンドル比較」の方法で行います。
ありがとうございました。m(_ _)m

またお世話になることがあると思うので、そのときも、またよろしくお願いします。
227デフォルトの名無しさん:2008/03/12(水) 11:45:48
断る
228210:2008/03/12(水) 11:48:24
工エエェェ(´゜д゜`)ェェエエ工
229デフォルトの名無しさん:2008/03/12(水) 16:19:28
>>222
Process.Exitedイベントとか、
監視用のスレッドを作ってWaitHandle.WaitAnyとかはどう。
230210:2008/03/12(水) 18:39:37
出来るだけループ処理は避けたいです、
長期間監視する場合や、スペックが低い場合
単純なタイマー監視などでも予期しないことが起こったりしてしまいそうなのでw

'何が終了したか判断するために、今あるアプリケーションのハンドル一覧から、記録しているハンドルと比較する
Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
'配列から1つずつ取り出す
Dim p As System.Diagnostics.Process
'全てのプロセスハンドルを取得する
Dim All_Process As String = ""
For Each p In ps
Try
'プロセス名を出力する
All_Process = All_Process & (p.Handle.ToString) & vbCrLf
Catch
End Try
Next p
'比較開始(正規表現****\r\n)記憶させたキー全てを検索する
Dim MoniPro_Count As Integer = nvc.Keys.Count - 1 'カウント数と実際のインデックス数は違うから「-1」
For i = 0 To MoniPro_Count
If Not Regex.IsMatch(All_Process, "\b" & nvc.GetKey(i).ToString & "\r\n") Then '正規表現で検索
Dim End_EXE_Pro As String = nvc.Keys(i).ToString '0番目から検索して消えていたハンドル
nvc.Remove(End_EXE_Pro) '登録から抹消
MoniPro_Count = nvc.Keys.Count - 1 'カウント調整
MsgBox(nvc.Count)
Exit For
End If
Next

成功しているので張っておきます
231デフォルトの名無しさん:2008/03/12(水) 19:01:16
>>224
そりゃDeclareが悪い。そっちをIntPtrに直せ。

ところで230はループを避けたいと言いつつ、
そこにあるコードはループして使うしかなさそうに見える件。
232210:2008/03/12(水) 19:12:46
監視しているアプリケーションがどれか終了したときだけ10回程度ループします、
秒間隔でループするのではないので、負荷は掛からないと思います。

>>217
233デフォルトの名無しさん:2008/03/12(水) 19:13:30
>>231
多分なんかのイベント発生のタイミングで検証させたいとかじゃね?
常に回っている必要は確かにないかもね
234デフォルトの名無しさん:2008/03/12(水) 21:25:15
各プロセスハンドル毎に
ThreadPool.RegisterWaitForSingleObject
使えばおしまいだとおもったけど・・・
235デフォルトの名無しさん:2008/03/13(木) 11:29:13
ちょっとおしえてください
VB.NETでもC#でもなんですが・・・

private sub aaa()
 dim a as new class1
 dim aa as new class1
 call XXX(a,aa)
end sub
private sub XXX(byval B as class1 , byref BB as class1)
 B = nothing
 BB = nothing
end sub
private class1
 public ABC as string
end class

このときに XXXを通過した後何故 変数aはNothingにならずに変数aaはNothingになるのかがわかりません。
オブジェクトなので両方参照っぽい動きになるのはわかるのですが・・・・
片側はポインタのポインタみたいな動きになっているのが関連しているのでしょうか…
出来れば詳しくしえていただけると助かります。

よろしくお願いします。
236デフォルトの名無しさん:2008/03/13(木) 11:46:57
ByRef だからとしか。
参照渡しで調べるといいよ。
237デフォルトの名無しさん:2008/03/13(木) 11:58:36
>>236
レスありがとうございます。
普通の値型のIntegerとかの動作でなら
ByValの時に変更できないByRefの時は直接変更される
というのも納得できるのですが
Objectのインスタンスを渡したときの動作がなんとなく違うと思うんです。

Objectを値型で渡し、渡した先でプロパティを変更すると渡したもとのプロパティも変更されているようになりますよね?
参照渡しでも同様だと思います。

ではなぜXXXで操作した結果が異なるのか・・・この場合
単純に参照渡しだから直接元の参照位置をNULLにする=渡した元のオブジェクト変数のメモリ参照がNULLになる としたら
値渡しの場合・・・・どうなるんでしょう?
23812:2008/03/13(木) 12:01:38
>>235
逆に聞くが、お前が何故疑問に思うのか分からない。
関数を経由させずに考えるんだ。

dim a1, a2 as class1
a1 = new class1()
a2 = a1 '現在のa1の参照を代入
a2 = nothing 'null参照を代入、つまりa2の参照するオブジェクトが変更されただけ

このときa1の参照がNothingになったらおかしいだろ?
参照渡しのときは
a1 = new class1
a1 = nothing
こういう結果になっているだけだ。


おそらく次のケースと混同しているんだと思うが、

dim a1, a2 as integer()
a1 = new integer() { 0, 1, 2, 3 }
a2 = a1
a1(2) = 5

このときというのは、a1及びa2が参照しているものが一緒。
んで、その参照しているオブジェクト自体を変更している。
ゆえに当然どちらの参照もinteger() { 0, 1, 5, 3 } となる。

239238:2008/03/13(木) 12:06:20
>>237
やっぱりそういうことか。
根本的なオブジェクトと参照という概念のとらえ方が違う。
オブジェクトの参照先を変更するのと、オブジェクトを変更するのとでは全く違うぞ。
240デフォルトの名無しさん:2008/03/13(木) 12:09:24
>>237
単純に、値渡しの場合 
新たにインスタンスがその処理内で作成される、
と考えればよいのでは。
コンパイラーがそう作られている。と
241デフォルトの名無しさん:2008/03/13(木) 12:15:38
>>238
あ〜!!!!!
すっごい納得がいきました。

素人みたいな質問で申し訳なかったですが・・・
スッキリしたんで助かりました
ありがとうございました。

PS.おっしゃる通り後者と混同してました
242デフォルトの名無しさん:2008/03/13(木) 12:20:08
>>239
>>240
遅くなりましたがレスありがとうございます。
完璧に勘違いしてました
すっごいお恥ずかしい話ですが…・
243デフォルトの名無しさん:2008/03/13(木) 12:39:19
> Objectを値型で渡し、
> 渡した先でプロパティを変更すると
> 渡したもとのプロパティも変更されているようになりますよね?

出来たことに驚き・・;
知らなかった。

素人が変なこと書いてすみません<(_ _)>
>>240は無視して下さい。
244デフォルトの名無しさん:2008/03/13(木) 15:24:01
引数のbyRef,byValの他にもこれが関係してるんじゃないの?
http://www.microsoft.com/japan/msdn/net/vbnetref/vbnetref3-2.aspx
245243:2008/03/13(木) 16:35:34
横からすみません。

>>244 参考にさせていただきました。
そして、
http://www.microsoft.com/japan/msdn/net/vbnetref/vbnetref3-6.aspx#3-6-4
図 3-18 値型と参照型の引数 (配列の例ですが)

参照渡しの場合
 呼び出し側で生成したインスタンス=ポインタ変数。
 で、ポインタ変数そのもののアドレスが渡される。

値渡しの場合
 ポインタ変数の中身(呼び出し元のインスタンスのアドレス)が渡される。
 渡されたアドレスの入れ物はSub内に作られる。
 
そこで
 参照渡しでも値渡しでも
 呼び出し側で生成したインスタンスのアドレスを扱うことになるので
 どちらの場合でもインスタンスのメンバーを操作できる。

しかし
 値渡しの場合、
 Sub側では、呼び出し元のポインタ変数の内容、をクリアすることは出来ない。

という事で・・・
余計な一言を追加します。すみません。<(_ _)>
246デフォルトの名無しさん:2008/03/13(木) 18:50:20
.NETでは参照渡し(参照型の値渡しじゃなくてByRefの方)は滅多に使わない
C#と違って呼び出し側から見分けがつきにくいし
247246:2008/03/13(木) 19:02:25
参照型の値渡しじゃなくて,参照型のオブジェクトへの参照の値渡し
(ByVal a As Objectみたいなの)というべきか
ややこしいなあ
248デフォルトの名無しさん:2008/03/13(木) 19:11:50
>>246
C#も.NETなんですが・・・
249デフォルトの名無しさん:2008/03/13(木) 19:15:03
c#にはoutってのがあってだなあ・・・
まあ調べれば分かると思うけど>>246の言うとおりだよ
250デフォルトの名無しさん:2008/03/13(木) 19:16:36
>>248
246の言う.NETはVB.NETの省略だろう。
251246:2008/03/13(木) 20:16:06
いや.NET全般のことを指して言ったんだ。C#でもあまり使われないよ。
コピーが嫌なら構造体じゃなくてクラスを使えばいい。
それに加えて,VBでは呼び出し側から参照渡しなのか値渡しなのか見分けられない欠点がある。
(C#ではメソッドを呼び出すときに参照渡しの引数にはrefやoutをつける必要がある)
Dictionary.TryGetValueみたいなのはあるけどあくまで例外。
252デフォルトの名無しさん:2008/03/13(木) 20:53:59
>>246の日本語が崩壊してる点
253デフォルトの名無しさん:2008/03/13(木) 21:02:30
>>251
どういう根拠でそんなこと言っちゃってんのよ。
初級程度のコーディングなら参照渡しはあまり使われないのかもしれんが、
"構造化プログラミング"というものを突き詰めていくと、参照型の参照渡しが必要になることは結構ある。

単純なプログラムしか書いたことない人間には想像つかんのだろうね。
OOPを理解できている奴の自作ライブラリとかで、しばしば参照型の参照渡しを見ることがある。
254デフォルトの名無しさん:2008/03/13(木) 21:25:59
それはちょっと信用できなさすぎる例ではないか
255デフォルトの名無しさん:2008/03/13(木) 21:31:10
中では必要に応じて使うけどライブラリで外に見せるのは格好悪い
256デフォルトの名無しさん:2008/03/13(木) 21:48:55
>>253
むしろ「可読的コーディング」を突き詰めればそんなことは「したくない」と思うのが普通だろうし、
そもそも必要になることもまず無いと思うけどねw

まあ確かに俺自身、「例外を起こす代わりに例外オブジェクトを返り値として返す」
といった場面でしばしば使ってるけど、メソッドの直感性を考えたらこんなことはしたくないのが本音。
257デフォルトの名無しさん:2008/03/14(金) 07:43:14
まぁ、世の中にはガベージコレクションがない言語もあるわけで。
258デフォルトの名無しさん:2008/03/14(金) 07:45:25
EVENTを自分で作る利点をWEBで調べたけどいまいち理解が難しい
管理が簡単になるってことかいな、関数を自分でつくってもやれそうなのに
259デフォルトの名無しさん:2008/03/14(金) 08:02:29
そりゃ何か状態の変化を通知したいからだろう
利点とかの問題ではない
260デフォルトの名無しさん:2008/03/14(金) 08:04:09
>>259
どうやって確認しますでしょか?
コードでのデバッグでしかわからないですかね
261デフォルトの名無しさん:2008/03/14(金) 08:09:21
・・・?
確認ってなにを?

色々説明が足りてない気がするので詳しく
262デフォルトの名無しさん:2008/03/14(金) 08:12:21
>>261
すません、
確認って言うのは状態の変化を確認するって言うことです
参考書とか見ても何かのイベント(たとえばClick)を実行して、それにつづけてRaiseEventを実行してるってのが多かったので
263デフォルトの名無しさん:2008/03/14(金) 08:28:49
>>258
多分、というか確実に、それは「イベントを自作する利点」が分かってないのではなく、
イベントそのものの意義が分かってないだけだね。

イベントの実態は確かに相手のメソッドを呼び出しているに過ぎないわけだけど、
イベントの利点は、イベントを起こすオブジェクトのコードを書いている時点で
「相手」のことを知らなくていい点。

イベントをモーニングコールに例えるとして、
ホテルに就職した時点でモーニングコールの相手がプログラムされてるホテルマンは使えないでしょw
モーニングコールを欲しい人自身が、ホテルマンの予定帳に自分の番号を「登録」できないと困る。
264デフォルトの名無しさん:2008/03/14(金) 09:24:27
もっと具体的な例を挙げるとすると、モードレスダイアログなんかがいいか。
ShowDialogじゃなくてShowで表示するサブフォーム。IEの検索ダイアログみたいな。
モーダル(ShowDialog)なら入力文字列プロパティを用意しておけばShowDialog呼出し後に呼び出し元が勝手に取っていくけど、
モードレスの方は「検索」ボタンが押されたことを通知する必要がある。
このときにイベントを発生させる。SearchClickとかそんな感じの。
呼び出し元はこのSearchClickイベントで検索を開始する。
265デフォルトの名無しさん:2008/03/14(金) 10:33:21
>確認って言うのは状態の変化を確認するって言うことです

オブジェクト自身が自分の状態の変化を見て、イベントデリゲートを実行するんだよ。
オブジェクト外から変化を確認するってのはナンセンス。それイベントじゃないよ
266デフォルトの名無しさん:2008/03/14(金) 10:43:00
WindowsServer2003には.NETFramework2.0はプレインストールされて
ましたっけ?(WindowsServer2008には確かにされているけど)
でもFrameworkのインストール自体はMicrosoftUpdateとかで簡単に
インストールされるからインストールの手間とか気にする必要はないのかね?
267デフォルトの名無しさん:2008/03/14(金) 10:43:41
>>258
デリゲートの概念が全く分かっていないからだ。
つか、利点が分からないようならイベントを自作する必要に迫られていないということだから、
別に作らなくていいじゃん。

カスタムユーザーコントロールを自作するようになったときに、イベントデリゲートが必要になるときがくる。
OOPが分かってくるようになったらそのときには分かると思うから、今は気にしないことだな。
26812:2008/03/14(金) 10:48:49
>>266
気にする必要なし。

うちの会社では俺がシステム管理者なんだが、HFSLIPでNFX20SP1と30SP1と35を
全部統合インストールするようにカスタマイズしているし。
そうじゃなくたってNFX20SP1のサイレントインストールパッケージを作っておいて
それを実行させるだけならワンタッチでいけるっしょ。
269デフォルトの名無しさん:2008/03/14(金) 10:57:02
>>268
おお、サンキュウ!そういうものなのか。
270デフォルトの名無しさん:2008/03/14(金) 11:46:41
イベントってデリゲートが隠されてるから余計分かりにくいんだよね
実体はデリゲート専用の特別なプロパティみたいなもの
271デフォルトの名無しさん:2008/03/14(金) 12:38:23
>>270
そりゃおかしい。
そもそもイベントとデリゲートでは概念の抽象度が違う。

List(of T)って配列が隠されてるから余計分かりくいとか、
配列ってメモリ確保とポインタ操作が隠されてるから余計わかりにくいとか
普通は思わないでしょ。
272デフォルトの名無しさん:2008/03/14(金) 12:46:08
>>264
それイベントの利点の説明になってないことないか?w

イベントの利点は263にあるとおり、依存関係を逆転させされることだよ。
273デフォルトの名無しさん:2008/03/14(金) 12:46:48
デリゲートとイベントの違いってフィールドとプロパティの違いみたいなもんだよ
どのみちデリゲートの存在を意識しないといけないでしょ
274デフォルトの名無しさん:2008/03/14(金) 16:11:43
deligateって、ただの引数の順列を定義しただけの「型」宣言だと腿ふんだが。
275デフォルトの名無しさん:2008/03/14(金) 18:28:00
>>273
だから抽象度が違うってw
イベントはデリゲートを「利用」してるだけで概念的には全く別物。
メソッドは内部で変数を使ってるから変数みたいなものだ、というぐらいトンチンカンな
物言いだぞそれ。

っていうかイベント使うときにデリゲート意識するかよ。
少なくとも意識「しないといけない」か?
276デフォルトの名無しさん:2008/03/14(金) 18:30:09
C#だとデリゲート型は意識しないといけないな
匿名メソッドや型推論で緩和されたが
VBだとHandlesがあるから意識度は一段低い
277デフォルトの名無しさん:2008/03/14(金) 18:33:14
>>275
AddHandlerとかAddressOfとか使うんだからデリゲート意識するだろ普通。
あ、そうですか。イベントハンドラ作成のときは全てIDEに任せる初心者でしたか、失礼しました。
278デフォルトの名無しさん:2008/03/14(金) 18:46:33
>>277
だからそれは「使ってる」だけでしょ。
Integerを引数にとるメソッド呼び出しを書くときに君は「Integerの存在を意識する」の?w

まあ言葉遣いの問題かもしれんが、
普通「意識」っていう言葉はそういう場面で使わないだろう。
279デフォルトの名無しさん:2008/03/14(金) 19:11:27
イベントを自分で作るときの話だろ
使う分には理解してなくてもいいけど作るなら仕組みをきちんと理解しないと
Public Event MyEvent As EventHandler
これだけ見たら「イベントはデリゲート型のPublicフィールドなんだ」と誤解しそう
280デフォルトの名無しさん:2008/03/14(金) 19:15:27
>>279
作るときは尚更意識しないと思うけどね。
カスタムイベントのことをいってるのなら同意するけども。
281デフォルトの名無しさん:2008/03/14(金) 19:15:57
Public Event MyEvent(sender As Object, e As EventArgs)
なら?
282デフォルトの名無しさん:2008/03/14(金) 19:18:39
今まであまりイベント作成時にデリゲート意識してなかった者なんですが、
イベントでデリゲート使ってるってことは、共通のリソースに対してイベントを
発生させた場合には競合状態も発生しうるっていう認識でよろしい?
危なそうならSynLockあたりかけておくのが基本なんですかね?
283デフォルトの名無しさん:2008/03/14(金) 19:21:59
>>278
>イベントはデリゲートを「利用」してるだけで概念的には全く別物。

VB脳の恐ろしさが分かる発言だな。
お前が何と言おうとイベントの実体はデリゲート。
「デリゲートを利用してるだけ」なんて発言からレベルの低さが見て取れる。
お前がデリゲートを意識しないでもイベントを扱えてるからといって、嘘を言ってはいかんよ。
284デフォルトの名無しさん:2008/03/14(金) 19:23:44
イベントハンドラ(デリゲートの呼び出し対象)は通常はそれを呼び出したスレッドで実行されるよ
カスタムイベントアクセサ使ったイベントを一度自分で作ってみたら
イベントとデリゲートの関係は完璧に理解できるからやってみるといいよ
285デフォルトの名無しさん:2008/03/14(金) 19:27:59
>>283
自分の無知と無分別を自覚できない君は幸せでいいね
VB脳ってお前のことじゃんw

というか、別の概念だから別の名前が与えられているんだけどね。
まあ君は抽象化ということの意味が分からないのだろう。
286デフォルトの名無しさん:2008/03/14(金) 19:39:52
イベントはデリゲートを登録解除する機能
だけどまあ根本的な概念の方が重要だわな
287デフォルトの名無しさん:2008/03/14(金) 19:40:45
デリゲート型のpublicフィールドを使ってもイベントは実現できそうだけど
それだとクラス外から好き勝手に書き換えたりできちゃうから
イベントハンドラを追加するメソッドや削除するメソッド(アクセサ)を使って仲介して
直接デリゲートに触らせないようにするんだよ
それらのアクセサをひとまとめにしたのがイベント
コンパイラがデリゲート型の変数やアクセサを自動生成してる
288デフォルトの名無しさん:2008/03/14(金) 19:44:54
>>285涙目wwww
289デフォルトの名無しさん:2008/03/14(金) 19:54:32
まあ正直いうとイベントとデリゲートの区別がつかない人の気持ちは一応わかる
俺も最初そうだったから。

そういう人は抽象化という発想が理解できてないこと以上に、
イベント以外のデリゲートの用途が想像できないんだろうな多分。

そういう人は匿名メソッドでも理解すれば自分の勘違いに気がつくんじゃないのかな。
290デフォルトの名無しさん:2008/03/14(金) 19:58:24
抽象化は抽象化でもカプセル化と言ったほうが適切
291デフォルトの名無しさん:2008/03/14(金) 20:05:29
graphicsつかって線引いたりしたのがウィンドウサイズとか変えると消えるのって
そのたび書き直さなきゃいけないの?
292デフォルトの名無しさん:2008/03/14(金) 20:06:55
うん
それが嫌ならBitmapに描いてPictureBoxにでも入れとけ
293デフォルトの名無しさん:2008/03/14(金) 20:22:35
>>289
カプセル化くらいで何を偉そうに。
カプセル化なんぞOOPの基本だろうが。
自分が中級プログラマだと勘違いしているやつの典型的口調だな。
最近匿名メソッドを覚えたことでちょっと優越感を覚えている感じかw
294デフォルトの名無しさん:2008/03/14(金) 20:29:48
ふーん偉そうに他人を「偉そうだ」と言うのは偉そうじゃないんだ。
本当馬鹿ってのはどうしていつでも自分自身の言葉を自分に適用できないんざんしょ不思議。

まあ基本であることに全然異議はないんだけど、その基本すら理解できない御仁がいらっしゃるから
「偉そうに」貴殿はまちがっておられるぞよ、と進言差し上げたしだいなんでございますがね。
295デフォルトの名無しさん:2008/03/14(金) 20:37:12
>>289
随分必死だなお前。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsbuttonclassclicktopic.asp

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemeventhandlerclasstopic.asp

どうみてもデリゲートです。本当にありがとうございました。
「全く違う概念」とか「デリゲートを利用してるだけ」とかいうから突っ込まれるんだよ。
>>283の言っていることは正しい。
定義を読んでみると間違いなく実体はデリゲートだな。
要するに外部からは追加削除を許可して、自由に呼び出したりできないように制限されたデリゲートなんだよ。
まあ目的がカプセル化だということは知っていたみたいだが、「全く違う概念」という発言は明らかに間違い。
296デフォルトの名無しさん:2008/03/14(金) 20:38:56
>>294涙目で逃走wwww
297デフォルトの名無しさん:2008/03/14(金) 20:48:10
Public Custom Event MyEvent As EventHandler
    AddHandler(handler As EventHandler)
    End AddHandler
    RemoveHandler(handler As EventHandler)
    End RemoveHandler
    RaiseEvent(sender As Object, e As EventArgs)
        Console.WriteLine("イベント発生")
    End RaiseEvent
End Event
やろうと思えばこういうこともできるが
// 意味があるかどうかは別
298デフォルトの名無しさん:2008/03/14(金) 20:48:51
>>295
まあ馬鹿がそう思いたいなら思うのは止めんよ別に。
好きにすれば?
まともなプログラマで君の意見に同調する人間がいるとは絶対に思えないけどw
本当に馬鹿だな。

カプセル化が基本とか言ってる割に物事を抽象化・概念化するってことの意味が全然わかってないじゃんw
299デフォルトの名無しさん:2008/03/14(金) 20:50:20
>>295
まあそういうことだな。
ただカプセル化されただけのデリゲートとそうでないデリゲートを
”根本的に違う概念”と言っちゃったのが間違いだったな。

public readonly Str as string

public str as string

この二つを全く違うと言っているようなもんだ。
どっちもStringには変わりない。
これと同様に、event修飾子があるかないかだけで実体はデリゲートには変わりないよな。
300デフォルトの名無しさん:2008/03/14(金) 20:51:46
引っ込みが付かなくなって発狂している>>298がいると聞いて飛んできました。
301デフォルトの名無しさん:2008/03/14(金) 20:53:08
>>298
完全に日本語が崩壊してるなw
302デフォルトの名無しさん:2008/03/14(金) 20:53:31
>>298の人気に嫉妬
303デフォルトの名無しさん:2008/03/14(金) 20:54:18
>>299
君もアホだなあ。。
イベントが「デリゲート」を使って実現されいるということと、
イベントという概念が何を意味しているかは全然別の問題。

だから前にも書いたが、配列の「実体」はメモリ確保とポインタ操作だが、
「配列」という概念はポインタという概念とイコールなのかよって

馬鹿な奴ってのはこういう抽象的思考ができないから馬鹿なんだよね。
304デフォルトの名無しさん:2008/03/14(金) 20:56:14
もっと低レベルなたとえが必要かもしれんね。

車の機能はエンジンを使って実現されているが、「自動車」という概念と
「エンジン」という概念はイコールなの?
305デフォルトの名無しさん:2008/03/14(金) 20:56:15
>>303
       巛ミヾヾ  \
       /   ミ     ヽ
       f,    ミ       }
     ┏v'┳_━━━ r、    |
     yバノ゙’' ̄ '''  } }゙    }
     ‘ーj`'    :  //   /
      L_ヽ  i  V   /
     ("  ` !      _/
      \ _,. -‐ '  ̄  !_
      /|~   /  ̄    \

    ヒッシ・ダナー [Hissy Danner]
     (1901〜1997 イギリス)
306デフォルトの名無しさん:2008/03/14(金) 20:59:03
そういうのは人に「必死だな」と言われれば傷ついちゃう弱っちい自分を語ってるだけだと思うよw
必死だったら何?
307デフォルトの名無しさん:2008/03/14(金) 21:01:34
>>303
何"イベントという概念"ってwwww
PGならイベントといったらEventHandler<T>のことを指すもんだと思っていたが・・・
VB脳恐るべし。
308デフォルトの名無しさん:2008/03/14(金) 21:03:57
>>304
論理のスリ替えにワロタw
そろそろ可哀想を通り越してあきれてきたぞw
309デフォルトの名無しさん:2008/03/14(金) 21:12:13
VBスレってガキオヤジが多くてこまるな
310デフォルトの名無しさん:2008/03/14(金) 21:19:12
用語の問題だったらたったこれだけのこと
デリゲート : 型の種類。クラスや構造体や列挙体と同列。
イベント : 型のメンバの種類。プロパティと同列。
311デフォルトの名無しさん:2008/03/14(金) 21:32:32
>>310
そういうのはただの分類学だね。
そういう分類上の問題じゃなくて概念の問題なんだけどね。

構造体は「構造体」という概念(概念が難しければアイデアと言い換えてもいいけどね)に意味があるのであって
「構造体とは型の種類である」などと言っても意味がないのと一緒で。
312デフォルトの名無しさん:2008/03/14(金) 21:35:37
>>292
そうか、産休
線を書き直すようにする
どうせ何度でも書き直すのはPCだし
313デフォルトの名無しさん:2008/03/14(金) 21:45:33
粘着キチガイが沸いてるな
314デフォルトの名無しさん:2008/03/14(金) 21:49:00
いろいろわかんないことありすぎるが、仕事は上流に近いことをするので最低限のことを覚えるつもり
仕様書とかネゴはきつい
315デフォルトの名無しさん:2008/03/14(金) 22:09:45
              ,r;;;;ミミミミミミヽ,,_
           ,i':r"    ノ(`ミ;;,
           彡     ⌒ ミ;;;i
           彡 ,,,,,、 ,,,,、、 ミ;;;!、
           ,ゞi" ̄ フ‐! ̄~~|-ゞ,  
          ヾi `ー‐'、 ,ゝ--、' 〉;r'
           `,|  / "ii" ヽ  |ノ
  ∧、        't ー―→ )/イ            ∧_
/⌒ヽ\        ヽ、  _,/ λ、       . . //~⌒ヽ
|( ● )| i\     _,,ノ|、  ̄/// / \     /i |( ● )|
\_ノ ^i | _,,..r''''" ノ | \`', /  /  / ̄`''ー | i^ ゝ_ノ
 |_|,-''iつl/´    ヽノ| /\   / 、│     l⊂i''-,|_|
  [__|_|/〉ヽ、  / |/ );;;;/\/   'く    /〈\|_|__]
   [ニニ〉  ',  ヽ. | /⌒| /   ゚/    / 〈二二]
   └―'                        '─┘

 ナン・トーユー・キティ GUY[Num tooyou kitty GUY]
            (1847〜 大韓民国)
316デフォルトの名無しさん:2008/03/14(金) 22:11:35
       ,,ィ≦テ三三テ≧ュ- 、
      ィ州ii} |!{ヾ(((ヾ(((ハ三ミミ 、
     〃/ノノリ |ヽ.._ノヽ   }}ミミミミh、
    〃//〃  |      ヽ=ノ ;'⌒ヽ}}ミl、
   ,}}| 川|{   ノ     ((⌒ ノ     }}}li
   /川||}!}i|           ̄      }州
   レ {!州!|     ,x‐  ̄ ヽ   ,.z==〃/
   l!( リノ川      <( ハ〉 ノ   { ,ィTヽ /
   トvソノ}}ハ)、        ̄ ノ    l ` ̄ {
   ))ト〃 }|::ヽ            i     ′
    /ノ》州}}}ィ::、     イ    l   ′
    ((∧  州}ソ,ノ   / ` = _ノ   ′
     }  \  ヾィ    ノー- __ -  ,'
    ′   \  ` 、    -‐-  イ
    ′       \   `   __ ,/ l
   ′        \ ヽ       |

  モーネ・アホカト[Maulnen Ahoccato]
     (1666〜1738 フランス)
317デフォルトの名無しさん:2008/03/14(金) 22:31:02
幼稚臭
318デフォルトの名無しさん:2008/03/14(金) 22:51:01
>>312
そのためのPaintイベント
319デフォルトの名無しさん:2008/03/15(土) 00:17:40
303と307が違うことを説明してるけど
俺はどっちも正しいこと言ってると思うよ。
303が言いたいのはプログラムにおけるイベントとデリゲートの違いで
307が言いたいのはVB.NETにおけるイベントとデリゲートの違いでしょ。
320デフォルトの名無しさん:2008/03/15(土) 03:53:34
>>319
正しい正しくない以前に、>>303は馬鹿とかアホとか連発してるところが幼稚すぎる。
どんだけ必死なんだと。

あと、.NETでイベントと言えば俺はbutton.Clickとかそういうイベントデリゲートを想像するけどな。
少なくとも本当に分かっている人間だったら捉え方の違いだってことはすぐに気づくだろうし。
「イベントとデリゲートを一緒の仲間と考えるなんてバカじゃね?」とか必死に連発するってのは
やっぱり意味不明だな。
それはすなわちイベントデリゲートという言葉の存在意義を100%否定していることになる。
321デフォルトの名無しさん:2008/03/15(土) 08:53:29
デリゲートの事を分かってない俺からすると、
お互い違う論点で争っているだけにしか見えない。

車は車であってエンジンが有るか無いか知らなくても運転できる、と言う主張と、
エンジンの事わかってなくて車の性能は引き出せないだろ、という主張

デリゲート童貞の俺を惑わせないでくれw
322デフォルトの名無しさん:2008/03/15(土) 09:50:12
dllのファイルバージョンを取得する方法がわかりません。
さっきからGoogleで調べてるのですが・・・。

ご存知な方がいらっしゃいましたら教えていただけると助かります。
323322:2008/03/15(土) 09:53:27
見つけました
失礼しますた^^

FileVersionInfo info = FileVersionInfo.GetVersionInfo("");
324デフォルトの名無しさん:2008/03/15(土) 10:55:45

やっぱり、deligateって、ただの引数の順列を定義しただけの「型」宣言だと腿ふんだが。
これって違うの?
325デフォルトの名無しさん:2008/03/15(土) 11:16:16
重要なのはそれを呼び出せること
326デフォルトの名無しさん:2008/03/15(土) 11:25:29
デリゲートは型
型だからインスタンスを作れる
そのインスタンス自体もしばしばデリゲートと呼ばれる
327デフォルトの名無しさん:2008/03/15(土) 11:50:41
>>325
もちろん宣言だから、そこに修飾子つきでスコープがあれば
それなりに使えてそれでその型になるようにインスタンスなりイベント
なりを宣言できるってだけかと

>>326
それで、たまたまあるイベントが「定義された」ときにそれがその型に
ある引数をもてるようになるってだけですよね、

でここまでの混乱した話って、要するに、その、
 「そのインスタンス自体もしばしばデリゲートと呼ばれる」
ってことにあるだけのように見えますよね。この受け取り方でOK
ですよね?
328デフォルトの名無しさん:2008/03/15(土) 13:22:18
イベントはデリゲート(型のことじゃなくて機構の意味で)を使って実装される
プロパティと違ってイベントの実装を変えることなんてあまりないから
VB.NETやC#ではイベントを定義したクラス内でなら通常はそのイベントを
あたかもデリゲートのフィールドのように扱える(実際はコンパイラが頑張ってる)
そのへんが混同しやすいところではあるけど混同してもなんとなく使えちゃうようになってる
329デフォルトの名無しさん:2008/03/15(土) 13:45:17
なんか倒錯してる奴が多いね
そもそもインスタンスが何者であるかを表現するときに
型名と違う呼称をする型ってあるのかよw

たぶんこういう人は、プログラムミング言語におけるデータ型であれなんであれ、
「機構」というものは、まず最初に概念なり理念なりアイデアなりがあって、それを実現されるために
生み出されたものだ、という物事の順番がわかってないんだろうね。

だからくだらない分類学にとらわれちゃう。
「整数型」とか「配列」とか「ポインタ」とか「FIFO」とか「デリゲート」とか「イベント」だとかは
概念なりアイデアの名前だってことがわかってないから、それが型だとか何だとかいう分類学に意味があるように
勘違いしてしまう。
330デフォルトの名無しさん:2008/03/15(土) 13:57:06
そうだね
331デフォルトの名無しさん:2008/03/15(土) 14:22:16
>>329
>なんか倒錯してる奴が多いね

でたよ勘違い思考が。
お前さ、自分一人が他の100人の主張と違う状況だったとしても
「周りの奴らはみんな馬鹿だ。俺が絶対正しいのに。馬鹿ばっかりで困っちゃうよ全く。」
という思考しかできないタイプの人間なんだな。
100人とは言わないまでも、多数の反論が出ているんだから少し自分の間違いの可能性を考えるのが普通。

ま、VB脳どうこうではなく、それ以前の「人間」としての資質の問題だったようだ。
こういう奴には何を言っても無駄だから以後スルーを推奨したい。
332デフォルトの名無しさん:2008/03/15(土) 14:38:10
御託はいいから具体的な反論は?
いやまあできんのなら無理すんなw

っていうか「スルーを推奨したい」だってさw
だからそういうのはみんな(そもそもどこの「みんな」なんだかw)に
仲間はずれにされれば傷つく弱っちいお前自身を語ってるだけ。
中学生かよホントw
333デフォルトの名無しさん:2008/03/15(土) 14:55:53
いやまあ土曜日の昼下がりから粘着キティが脂っこいこと。
ひきこもって俺的持論展開してないで外出ろと。
あ、俺?デスマーチ中で会社で徹夜明けだよ。
2chでキティ相手でもしないとやってられんわ。
334デフォルトの名無しさん:2008/03/15(土) 16:35:28
休みだから外出ろってのもどこの小学生だか
335デフォルトの名無しさん:2008/03/16(日) 14:28:54
ComboBoxへのデータ追加について教えてください。

1)DataSourceに接続して2000件程度セットすると表示に2秒ほどかかる。
 Select ID, Name From Table;

2)同じSQLで1レコードずつ読んでItems.Addすると1秒かからない。
 BeginUpdate
 ComboBox.Items.Add();
 EndUpdate;

2)でBeginUpdate, EndUpdateしないと遅くなるのは分かりますが、
1)の方法で速度を速くする方法はあるのでしょうか。
2000件ComboBoxにセットするのはテストのためですので・・・突っ込まれるといけないので念のため。
336デフォルトの名無しさん:2008/03/17(月) 05:12:14
VBからC#に転向しました。今までありがとうございました。
337デフォルトの名無しさん:2008/03/17(月) 10:05:14
両方使えて当たり前
338335:2008/03/17(月) 15:03:16
試行錯誤の結果、以下が判明しました。

1)ComboBox.DataSource = ...
ComboBox.DisplayMember = ...
ComboBox.ValueMember = ...

より、

2)ComboBox.DisplayMember = ...
ComboBox.ValueMember = ...
ComboBox.DataSource = ...

が断然速い。理由は不明。
339デフォルトの名無しさん:2008/03/17(月) 15:17:55
>>338
なんかわかった気がする

読み込みのタイミングかな
340デフォルトの名無しさん:2008/03/17(月) 17:42:30
ユーザーコントロールの作成についてお勧めの書籍なりサイトなりありませんか?
341デフォルトの名無しさん:2008/03/17(月) 17:45:17
>>340
http://www.atmarkit.co.jp/fdotnet/vblab/vb2005m_10/vb2005m_10_01.html

デリゲートとイベントが分かっていれば本なんてイラネ。
342デフォルトの名無しさん:2008/03/17(月) 18:55:20
ユーザーコントロールって結構奥が深いと思うけどね。
341はたぶん実用的なものを作ったことないんだろうけどね
イベントとデリゲートって、そんなの何作るにしたって必要な知識だろw

>>340
多分あまりないと思う。
今は亡きドトネトマガジンで連載があったんで、オクか何かでバックナンバーのpdfのDVD
(年間購読するとタダでもらえた)でも手に入れて読んでみるとか。

確かユーザーコントロール関連は二度連載があったけど、そのうちの一つは
一応webでも読める。
http://www.comrade.co.jp/component/dotnetroom/index.htm
343デフォルトの名無しさん:2008/03/17(月) 19:15:43
>>342
またお前か。
とにかく人に文句つけたがる性格とその幼稚な口調。そして必ず「w」が入っている文章。
どうにかならんのかねまったく。お前がいると荒れるんだよ。
344デフォルトの名無しさん:2008/03/17(月) 19:57:37
IDのない板で電波飛ばすなよw
語尾にwつけたら「またお前か」ってww
345デフォルトの名無しさん:2008/03/17(月) 21:08:14
多分「俺」に否定的な言葉を投げる奴はみんな「(また)お前」なんだよw
冗談抜きで最近こういう統合失調一歩手前って人間増えてる気がするね
346デフォルトの名無しさん:2008/03/17(月) 21:58:13
見えない敵と戦ってる男がいるんですよ。
347デフォルトの名無しさん:2008/03/17(月) 22:39:57
とりあえず句読点付けるヤツと付けないヤツがいるな
348デフォルトの名無しさん:2008/03/18(火) 00:57:19
句点と読点、それぞれ分けてクセ読んだ方がいいぜ

自演バレしてる現場を追うと、自演慣れしてる奴って
三点リーダーの扱い含めて使い分けてたりするから分析の意味は薄いと思うけど。
349デフォルトの名無しさん:2008/03/18(火) 01:15:19
2005でWEBアプリケーションを分散開発したいです。
業務ごとにWEBアプリケーションプロジェクトを分けたいのですが、
どのようにやるのがよいのでしょうか?
http://support.microsoft.com/kb/307467/ja
上記ページを見つけたのですが、2003の記事のようです。
350デフォルトの名無しさん:2008/03/18(火) 12:44:52
>>343
そうやって自分の落ち度を人のせいに転嫁するなよ恥ずかしい奴だな。

突っ込まれるとお前さんの気分が(このスレが、ではない)「荒れる」のなら
突っ込まれないような、あるいは突っ込まれてもちゃんと反論できるような
内容を書くように努力しろよ。
351デフォルトの名無しさん:2008/03/18(火) 21:17:49
VB初心者なんですが質問です
DataGridViewでドラッグアンドドロップを行うときに移動元のデータを
DataGridView.CurrentRows.Index
なんかで行番号を取得して要素を取得しているのですが、実行してみるとMouseDownイベントに入っているのにマウスを押すだけでは選択項目が変更されなくて違う所にあるデータがコピーされてしまいます
MouseDownで選択項目を変更できないんですか?
すみませんお願いします

つまり選択セル(行)を無理矢理マウスダウンの位置に設定する方法があればお願いします
過去ログを検索かけてみてもかからなかったので
352デフォルトの名無しさん:2008/03/18(火) 21:22:28
>>351
イベントの発生する順番
353デフォルトの名無しさん:2008/03/18(火) 22:59:29
>352
マウスを押した段階で反応するのがマウスダウンだからその頭にCurrentrowを指定したいのですが読み取り専用とかでエラー出てしまいまして…
354デフォルトの名無しさん:2008/03/18(火) 22:59:53
>>351
マウスを押して、そこから少し動かして初めてDrag開始とするようにする。
355デフォルトの名無しさん:2008/03/18(火) 23:05:58
>>353
Helpによると

# 現在の行を変更するには、CurrentCell プロパティを目的の行のセルに設定する必要があります。

とあるからCurrentCell を変更汁
356デフォルトの名無しさん:2008/03/18(火) 23:18:57
コードビハインドしているdefault.aspx.vbに
importディレクティブを書きたいのですけど
どこに書けばよいのでしょうか。
357デフォルトの名無しさん:2008/03/18(火) 23:23:14
あのーVB初心者なのですが、これからのことを考えてC#に移ったほうがいいでしょうか?まだ初学者程度です。
358デフォルトの名無しさん:2008/03/19(水) 00:06:18
359デフォルトの名無しさん:2008/03/19(水) 00:20:48
>354,355
ありがとうございます
試してみます
360デフォルトの名無しさん:2008/03/19(水) 10:38:08
>>357
両方やれ
361デフォルトの名無しさん:2008/03/19(水) 11:57:50
[アプリケーション トレース]で[このアプリケーションに対する要求]の一覧で
[要求の詳細]の[トレース情報]にエラーの項目があるものだけを
表示させるという事はできるのでしょうか?
できるならやり方を教えていただけませんか?
よろしくお願いします。

使用バージョンは
.NET 2003
framework 1.1
です。
362デフォルトの名無しさん:2008/03/20(木) 05:39:37
コンパイルは通るが、実行時エラー
PictureGmain.ImageをBMPで保存しようとしてます。保存ダイアログ=sfd

PictureGmain.Image.Save _
(sfd.FileName Imaging.ImageFormat.Bmp)
オブジェクト参照がオブジェクト インスタンスに設定されていません。らしい
VB2005です。
なんでですか?サンプルコード通りなのに
363デフォルトの名無しさん:2008/03/20(木) 11:21:11
>>362
PictureGmainかsfdのインスタンスが作られていない。
つまりnewしてないってこと。
364デフォルトの名無しさん:2008/03/20(木) 12:44:39
すまん。とんでもない初心者です。
入力項目の数値チェックってどのクラスつかえばいいの?
文字いれたら落ちるんです
365デフォルトの名無しさん:2008/03/20(木) 14:09:03
>>364
もっと具体的に。
Integer.TryParse()かDouble.TryParse()のことだとエスパー
366デフォルトの名無しさん:2008/03/20(木) 14:53:17
>>365
サンクス。Isnumericでも解決した。
どっちがベターなのかな。
367デフォルトの名無しさん:2008/03/20(木) 15:12:00
プログラミングに関して初心者なのは構わないかもしれないけど、
人からエスパー(召還)とか言われても自分の説明能力を反省しない
その無頓着さというか無神経さはどうにかしろよ
368デフォルトの名無しさん:2008/03/20(木) 15:42:00
>>366
TryParse()の方がベター。
理由はIsNumeric()がVB固有の関数で、TryParse()が.NET共通の関数だから。
369デフォルトの名無しさん:2008/03/20(木) 21:04:30
>>363
サンクス
bmp new image で
保存したら、ファイルできました。
bmp=picturebox.image
で読み込んだりdraw〜で書き込んで保存したら、真っ白でした。
勉強しなおしてきますorz
370デフォルトの名無しさん:2008/03/21(金) 01:09:56
VB.NETでコマンドプロンプトで実行するプログラムしか作ったことないし、
また作る気もないけど、恥か?
371デフォルトの名無しさん:2008/03/21(金) 02:04:35
>>370
コンソールアプリ以外作る気がないのに.NETを選択しているのが意味不明。
C++でいいじゃん。
372デフォルトの名無しさん:2008/03/21(金) 03:16:13
>>370
別に。
.NET環境オンリーでおkならそれで無問題。
373デフォルトの名無しさん:2008/03/21(金) 09:02:14
>>370
実務ではよくある。
374デフォルトの名無しさん:2008/03/22(土) 01:57:31
VBで質問です
DataGridViewでバインドされていないデータを使ってます
ある値の存在する位置にデータを挿入したいのです
つまり
dim i as integer'(iは全データ数)
'データを仮にDataA1、DataA2、DataB1・・・とします(DataAは2個でワンセット)これらをAddしておく
'DataA2の値を変更する
for j as integer = 0 to i
if datagridview1.rows(j).cells(0).value = DataA1 then
datagridview1.insert(j,DataA1,DataA2)
end if
exit for
next

というようにしてみたのですが、なぜか変な場所に挿入されてしまうのです。
どこかおかしいのでしょうか?
教えてください。
375デフォルトの名無しさん:2008/03/22(土) 14:51:22
DatagridViewの質問です。
tsvファイルをoleで読み込んで表示するプログラムを作っているのですが
困っていることがあります。

やりたいこと
@グリッドに表示するデータは、tsvから読み込んだデータとボタンを表示する
A検索機能を設けて、対象データのみを表示or対象データを先に表示する

@の手段として、DataSourceに読み込んだtableを指定したあとにボタン型のカラムを
足したのですが、検索機能としてRowFilterを使用すると、ボタンのキャプションが初期化
されてしまいます(Valueがnullになる)
そこで、DataSourceに指定するtable自身にカラムを足そうと思ったのですが、
tableにはボタン型のカラムを追加できない状況です。
解決するためのいいアイデアはないでしょうか?

Aについては、「対象データを先に表示」する機能ができなくて困っています。
この機能はJaneDoeStyleのスレ一覧で検索をしたときに、対象スレが赤文字で
上のほうに表示されるのと全く同じ機能になれば嬉しいです。

ご教示お願いします。
376374:2008/03/23(日) 01:25:22
自己解決しました
Arraylist使いました
ありがとうございました
377デフォルトの名無しさん:2008/03/23(日) 06:41:13
Win32APIのVB.NETからの利用方法を
30分でわかるように教えて下さい。
378デフォルトの名無しさん:2008/03/23(日) 08:00:39
>>377
30分睡眠してみて、神からの啓示が無ければ神が見放したとあきらめろ
379デフォルトの名無しさん:2008/03/23(日) 11:36:45
>>378
それはリアルでたまにやる
380デフォルトの名無しさん:2008/03/24(月) 21:28:04
OS:XP
VS2003
FlexGrid2.1.2で
環境が古くて申し訳ないのですが
グリッド内の文字をドラッグして選択して
その文字を取得するにはどのようにやればいいのでしょうか?
もしご存知の方いましたらお願いします。
テキストボックスの場合は
SelectedTextを使えば取得できるのですが・・・
381380:2008/03/24(月) 21:41:43
すいません、マニュアルにありました。
解決です。

Dim selText As String = ""
Dim ctl As Control = flxList.Editor

If (TypeOf ctl Is TextBox) Then
selText = (CType(ctl, TextBox)).SelectedText
End If
382デフォルトの名無しさん:2008/03/25(火) 20:12:09
Spread for .NET 1.0.6.0でスプレッドシートを作る時、
Column A 〜 Hぐらいまでのうち、
B, E, Gのなど一部のセルにはフォーカスが合わなくて(読み取り専用)
他の列は普通にシングルクリックで書き込みできる状態に設定するのって
どうやればいいんですか?
383デフォルトの名無しさん:2008/03/26(水) 08:48:28
正規品ならメーカーに電話すれば。
384デフォルトの名無しさん:2008/03/26(水) 13:26:16
VB初心者が質問です
http://homepage1.nifty.com/rucio/main/DownLoad/Index_dl.htm
で紹介されてる8x8のオセロに囲碁の持ち時間みたいな機能をつけたいのですが、どのような方法が考えられますか?
ご教授お願いします
385デフォルトの名無しさん:2008/03/26(水) 13:34:37
頻繁にタイマで時間を確認する
1秒ごとにタイマのイベントが発生するようにしてるから今10回目で10秒…みたいなやり方は
不正確になるのでよくない
386axa:2008/03/26(水) 13:50:44
すみません質問です
VB.NET2005を使用してWebサイトを作っています

大体の手順としましては

@FileUploadコントロールでjpg画像ファイルを参照(ローカルPC内画像データ)
ASessionなどに@のFileUpload.PostedFile.FileNameのパスを格納
Bボタンなどで別画面を表示
C別画面のImageコントロールのImageUrlにパスを設定してjpgを表示→【表示されない】
※aspxなどのプログラム自体はサーバ上にIIS指定で動作させています

といった状況なのですが解決方法はありますでしょうか?

ちなみに本当にしたかったのは

@FileUploadコントロールでjpg画像ファイルを参照(ローカルPC内画像データ)
ASaveAsを使用してサーバの指定フォルダへjpgデータをアップロード
Bボタンで別画面を表示
C別画面のImageコントロールのImageUrlにアップロードした画像パスを設定してjpgを表示

だったのですが
A〜Cのやり方だとアップロードがパス指定までに完了していないのか
画面を表示してからF5などで画面更新をしないと画像が現れてくれません・・・

なにとぞよろしくお願いします・・・
387axa:2008/03/26(水) 13:59:52
あ、すみません わかりやすく言うと
ローカルのjpg画像のフルパスをImageコントロールに指定して表示させたいってことです

C:/data/image/abc.jpgのようなローカルパスをImageUrlに設定してもだめなのでしょうか?
388axa:2008/03/26(水) 15:51:48
返事がないので質問をかえさせて頂きます^^;

画面AのボタンをクリックでFileUploadのSaveAsを使用してローカルのjpg画像をサーバの
指定フォルダへアップロードしてそのまま画面Bへresponse.redirectで移行し、
Image.ImageUrlにアップロードした画像パスを設定してjpgを表示したいのですが

アップロードがパス指定までに完了していないのか
画面Bを表示してからF5などで画面更新をしないとImageコントロールに画像が表示されません

どなたか解決方法をご存じないでしょうか?
389デフォルトの名無しさん:2008/03/26(水) 16:05:05
まず、WEBでのURLパスとファイルシステムのフォルダパスは違うことを勉強したほうがいい。
390デフォルトの名無しさん:2008/03/26(水) 16:42:28
VB.NET + Acrobat SDKで質問です。

OS :WinXP
開発:VB.NET 2005
.NET:framework 3.0

Acrobat SDKを使用し、Adobe LiveCycle Policy Serverで
セキュリティをかけたPDFファイルを固定ポリシーサーバへ自動ログインし
PDFファイルを開きたいのですが、どのようにすれば出来るのでしょうか?

セキュリティが掛かっていないPDFをAcrobatSDK使いファイルを開けるのですが
そのようなセキュリティが掛かっている場合開くことができません。

解決方法がご存知の方がいらっしゃったらご教授願いませんでしょうか?

参考となるサイトでも良いので何か情報があれば教えてください。
391デフォルトの名無しさん:2008/03/26(水) 19:22:49
けっ 使えね〜やつらばっかだぜここ
392デフォルトの名無しさん:2008/03/27(木) 13:40:59
おめーに使われてたまるか
393デフォルトの名無しさん:2008/03/27(木) 14:27:11
DataGridViewのCellPaintingでセルの中身を自前で描画しているのですが、
横スクロールすると行ヘッダーに隠れるセルでDrawTextした文字が、
行ヘッダーに被ってしまいます。
ヘッダーで隠れている部分の文字だけを表示しない方法をどなたか分かりませんか?
394デフォルトの名無しさん:2008/03/27(木) 19:07:50
>>388
早急なレスポンスを望むなら、にちゃんなんぞに頼らない方がいいと思う
ここで質問したいなら、お前の日本語わかりにくいし、
自前のソース貼ってくれた方が手っ取り早いと思うぞ
395デフォルトの名無しさん:2008/03/28(金) 02:56:03
VB.NET初心者スレ立たないと、C#に切り替える
396デフォルトの名無しさん:2008/03/28(金) 15:48:50
このスレって他の言語スレに比べて基礎的(簡単という意味ではなく)な質問が少ないよな
でも基礎的なことがわかってないことが原因の場合が多い
397デフォルトの名無しさん:2008/03/29(土) 01:39:01
Object型の変数の中のオブジェクトの実際の型を調べるには?
398デフォルトの名無しさん:2008/03/29(土) 06:08:26
初歩的な質問ってここでいいのかな?
VB.NET触って間もなくて質問の仕方とかおかしいかもしれないけどごめん。

テキストボックス内の文字列のバイト数を数えるプログラムを組んでるんだけど、半角文字を1、全角文字を2って数えるところまでは出来たんだ。
で、問題は改行なんだ。今の状態だと2バイトで計算されるんだけど、これを6バイトで計算する事って出来るかな?
出来なくはないと思うんだけど、色々調べてみたけど、どうにもマッチするサンプルがなくて困ってるんだ。
わかる人がいたら教えてもらいたい。
399デフォルトの名無しさん:2008/03/29(土) 06:45:54
> 今の状態だと2バイトで計算されるんだけど、これを6バイトで計算する事って出来るかな?

400398:2008/03/29(土) 07:10:08
>>399
わかりにくかったか、ごめん。

半角=1バイト
全角=2バイト
改行=6バイト
で計算をしたいんだ。2chってそういう計算してるみたいだし。
もう少し具体的に言うと、2chにレスをする前に、そのレスのバイト数を調べたいって事なんだけど。
401デフォルトの名無しさん:2008/03/29(土) 07:19:51
>>398
>半角文字を1、全角文字を2って数えるところまでは出来たんだ。 
これはどうやたんだ?
1文字ずつ判定しながら数えてるなら改行のバイト数を読みかえるだけだし、
一度SHIFT-JISに変換して総バイト数を調べてるなら、
あとから改行の数を別に数えて足しこむでいいだろ。
402398:2008/03/29(土) 07:21:55
>>401
一度Shift-JISに変換して総バイト数を調べる方法を取ったよ。

>あとから改行の数を別に数えて足しこむでいいだろ。
なるほど、その方法があったか。考えが及ばなかったよ、ありがとう。
403デフォルトの名無しさん:2008/03/29(土) 12:44:01
>>397
GetType()
404デフォルトの名無しさん:2008/03/29(土) 13:22:50
>>1
国際情勢@2ch掲示板

◆ベンジャミン・フルフォード◆3◆  (847)よりコピペ。
http://society6.2ch.net/test/read.cgi/kokusai/1202299523/847-

847 :名無しさん@お腹いっぱい。:2008/03/25(火) 06:51:07 ID:aBtS4tKV
    こんな説もあるみたい。

    ツァイトガイスト(時代の精神)日本語字幕版 パート1
    http://video.google.com/videoplay?docid=1431037135738418803
    ツァイトガイスト(時代の精神)日本語字幕版 パート2
    http://video.google.com/videoplay?docid=274762950234337392
    ツァイトガイスト(時代の精神)日本語字幕版 パート3
    http://video.google.com/videoplay?docid=2172429313954008035

● 上の動画( パート2 )の、最後の最後の部分に、緊急連絡?とする、「ケネディーの演説」が、
● 出てきますが、異例とも言える、【 アメリカの陰謀組織の存在 】に付いて、自ら語っています。

● この放送は、放映されたのか、或いは録画はされたものの放映はされないまま、結局のところ、
● 放映を阻止する目的で、暗殺されてしまった!と言うことなのでしょうか。

● それは兎も角、アメリカに巨大な陰謀組織が存在することを、当の「ジョン・F・ケネディ大統領」、
● 自身がハッキリと、認識していたことは、この演説でも証明されたと言えるのではないでしょうか。

● < 余りにも凄い内容 >なので、その日本語の部分は、時間が出来ましたらまた書いてみます。

ジョン・F・ケネディ (Wikipedia)
http://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BBF%E3%83%BB%E3%82%B1%E3%83%8D%E3%83%87%E3%82%A3
405デフォルトの名無しさん:2008/03/29(土) 13:34:18
コピペ君って馬鹿だな、まで読んだ。
406デフォルトの名無しさん:2008/03/29(土) 14:58:55
早く「VB.NET寺子屋スレ」作ってくれないと、C#に移っちゃうぞ
407.net初めて、、:2008/03/29(土) 23:02:05
こんにちは、いつも参考にさせてもらっています。

ひとつ質問させて頂きたいのですが、
.netで削除対象のデータをファイルに出力するという処理があります。
やろうとしている方法は、削除のものを一時ファイルとしてある固定パスに
書いておいて、ダイアログを開いてユーザに本当に落としたいパスを
選択させる。そして一時ファイルからそのユーザが選んだパスに選んだ
ファイル名としてコピーしておく。
そして一時ファイルを消しておく、、というような設計にしたいのですが、
コーディングがあまり浮かびません。

お忙しいとは思いますが、教えてください。
お願いします。
408デフォルトの名無しさん:2008/03/29(土) 23:11:14
まず.net以外で書いてみて、それを.netに書き換えると簡単だよ
409デフォルトの名無しさん:2008/03/29(土) 23:33:21
410デフォルトの名無しさん:2008/03/30(日) 02:49:24
さようなら、VB.NET
411デフォルトの名無しさん:2008/03/30(日) 03:26:01
VB.NET2003でリバーシのプログラムを組みたいのですけど
色々な要素が含んだプログラムが作れるサイトなどはないでしょうか
412デフォルトの名無しさん:2008/03/30(日) 03:46:47
連続ですみません
ttp://www.vector.co.jp/soft/cmt/win95/prog/se434865.html
これの待ったの機能を付けたいんですけど
どうすればよいうのでしょうか

ベースはこれで作って見ました
ttp://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard52.htm
413デフォルトの名無しさん:2008/03/30(日) 10:11:30
>>411
プログラムを作るのはWebサイトではなく、お前だ。
414デフォルトの名無しさん:2008/03/30(日) 14:54:27
VBでC++のconstに該当する機能はありますか?
void Hogehoge(const Hoge& foo)
みたいなの
415デフォルトの名無しさん:2008/03/30(日) 15:27:21
>>414
そういう使い方のconstはないよ〜。
つーかクラスのconstをまともにサポートしてる言語はC++以外にあったっけ?
416デフォルトの名無しさん:2008/03/30(日) 15:35:00
Dもそういうことができるみたい。
417デフォルトの名無しさん:2008/03/30(日) 16:09:54
VB2005で、データベースに接続できているか確認をしたいのですが
Dim Cn As New OleDbConnection
Cn.ConnectionString = (省略)

Try Cn.Open()

Catch ex As Exception

End Try

としたところ、なぜかCn.Open()のところに
ステートメントの終わりを指定してくださいと出るのですが、なぜでしょうか?
Cn.Open()単体だと問題なく書けるので、Try文の書き方に問題があるようですが、
他に書き方があるようには思えないのですが…
418417:2008/03/30(日) 16:15:35
すみません、久しぶりなのでIf文の構文と混同してしまっていました…
自己解決しました
419デフォルトの名無しさん:2008/03/30(日) 17:49:55
VB2008ex歴3日目の私の質問です
VB6のアップダウンコントロール、またはVBAの
スピンボタンコントロールのようなものはどれですか?
NumericUpDownのボタンだけのもので、
ボタンサイズがいじれるものです
420デフォルトの名無しさん:2008/03/30(日) 22:02:23
こんばんわ質問したいのですが、
ToolStripPanel.Joinで、指定した位置に配置するように引数渡したのですが、
指定した位置になってくれません。

ToolStripPanelは位置の自動調整をすることはわかっていますが
引数として渡した値は、特に問題のある値ではありません。
421デフォルトの名無しさん:2008/03/30(日) 22:11:35
>>415
やはりそうでうか・・・
参照型だとbyval, byrefに関係なく変更できるのは如何なものかと。
422デフォルトの名無しさん:2008/03/30(日) 22:11:38
>>420
>ToolStripPanel.Joinで、指定した位置に配置するように引数渡したのですが、
>指定した位置になってくれません。

プログラムは思ったとおりには動かない。書いたとおりに動くのだ。
ちゃんと指定しているつもりになっているか、他の部分でアホやってんだろ。
教えて欲しけりゃコード晒せよ。
423デフォルトの名無しさん:2008/03/30(日) 22:31:23
>>421
変更されたくないのならばパブリックフィールドで公開しないでプロパティで公開するべきだし、
たとえば配列とかを渡したいときなんかはコピーを作ってそれを渡せばいいだけじゃん。
OOPがしっかり分かってればその辺は工夫次第でどうとでもなるでしょ。
424デフォルトの名無しさん:2008/03/30(日) 22:43:06
constは面倒な割にメリットが少ないから捨てられたんだっけ
425デフォルトの名無しさん:2008/03/30(日) 22:52:10
CLIレベルでサポートが必要だしねー
426デフォルトの名無しさん:2008/03/30(日) 23:03:41
>>423
ファンクションの引数に参照型を渡すのは良くあることなので
いちいち、copyやcloneは面倒です。
C言語より退化している気がする。
427デフォルトの名無しさん:2008/03/30(日) 23:06:41
>>423
たぶん>>421は違う視点で物を言っているんだと思うけど。

確かにconstがなくても、(メソッドの実装が不明でも)メソッドによって
メソッドが引数にとるオブジェクトのデータが変更されないことを保障することはできる。
でもこれはメソッドを使う側の視点の話。

>>421が問題にしたいのは恐らくメソッドを設計する時の視点。
つまり、constがないことは、そのメソッドが引数に取るオブジェクトのデータを
変更しないことを明示的に保障する言語的な仕組みがないことを意味しているわけで、
そこに引っかかってるんだろう。
428デフォルトの名無しさん:2008/03/30(日) 23:08:24
保障じゃなくて保証だね一応訂正
429デフォルトの名無しさん:2008/03/30(日) 23:49:30
ネイティブリソースはどうすんの?
言語やILの範囲内ならできるだろうけどあんまり意味ないし混乱の元
430デフォルトの名無しさん:2008/03/31(月) 00:08:39
ネイティブリソースって何のこと?

>>421が言ってる話ならコンパイラがチェックすれば済むこと、要するにコンパイラの
仕様レベルの話のはずだと思うけし、全然話かみ合わないように思うけど
431デフォルトの名無しさん:2008/03/31(月) 00:10:59
やるならCLRレベルでサポートしないと意味無いよ
432デフォルトの名無しさん:2008/03/31(月) 00:13:33
ヘッダファイルの無いクロスランゲージな.NETでコンパイラがチェックすれば済むとか
433デフォルトの名無しさん:2008/03/31(月) 00:34:46
>>431
なんで?
434デフォルトの名無しさん:2008/03/31(月) 07:33:42
もともとC++のconstには2種類の用途があって、
ひとつは定数を作ること。
もうひとつは読み込み専用のポインタ/参照を作ること。

const Hoge& fooは読み込み専用の参照で、この参照を通してはfooの内容を変更できない。
(別のルートからは内容を変更できるかもしれない)

Hogeについてこういう参照の需要があるなら、
IReadonlyHogeみたいなインターフェイスを用意してそれを実装するという手があるかも。
C++でconstメソッドを作る感じ。
435デフォルトの名無しさん:2008/03/31(月) 10:46:45
>>433
  public sub NewRecord(ByRef ReadOnly table as DataTable) as DataRow  ' ReadOnly てのがあったとしても
    Dim result as DataRow = table.NewRow()  ' そのメソッド NewRow が table を変更しないかどうかは不明

ってことかと。
436デフォルトの名無しさん:2008/03/31(月) 11:25:03
質問です
AとBという2つのShort変数があって
Aは上位16ビットBは下位16ビットのInteger型へ変換したいのですが
論理シフトを使った場合、
Dim C As Integer = A
C <<= 16
C += B
これで変換できたのですが、
負数が絡む算術シフトをプログラムするときに
補数を保持しながらビットシフトを行う方法が思いつきません。
よろしくお願いします。
437デフォルトの名無しさん:2008/03/31(月) 11:27:40
一旦両方 UShort に型変換してやればいいよ
438436:2008/03/31(月) 11:42:47
>>437
ありがとうございます。
やってみます。
439デフォルトの名無しさん:2008/03/31(月) 11:47:49
よく考えるとVBだと既定ではオーバーフローが出ちゃうな。
Dim a As Short = -234, b As Short = -2434
Dim c As Integer = CInt(a), d = CInt(b)
Dim x As Integer = ((c And &HFFFF) << 16) Or (d And &hFFFF)
c,d は不要だけどこんなもんか。
440デフォルトの名無しさん:2008/03/31(月) 12:39:38
>>436
BitConverter使った方が明示的じゃないかな。
しかし、なんか妙な需要だね
441デフォルトの名無しさん:2008/03/31(月) 12:52:59
>>433
VBのコンパイラだけ単独でやるとしたら,拡張メソッドと同じように
引数にカスタム属性を付けることになると思うけど,
そんなのは他のconstをサポートしない言語から見たら何の拘束力も持たない
そういう言語で作られたクラスライブラリを使うときに混乱する
442436:2008/03/31(月) 13:59:51
>>439
ありがとうございます。
受けをUInteger型にしてInteger型に直す時にもオーバーフローでますね。
しかしUInteger型でも問題ない箇所だったので解決しました。
回答がすばらしいですね。たしかにANDしてORでできます。
聞くと簡単ですが、これが出てこないんですよね。

>>436
BitConverter便利ですね。
Byte配列ならこっちがいいですね。
今回はShortからByte配列へ変換そしてBitConverterですね。

こういう計算もクラス化されているんですね。
最初からBitConverter使っちゃうと中で何しているか
勉強しなくなりそうで怖いです。
443初心者:2008/03/31(月) 16:51:17
追加したデータセットモジュールに
SQLサーバーからセレクトで取得したデータを
入れたいんだがどうしたらいいかわかりません
教えてください
445デフォルトの名無しさん:2008/03/31(月) 18:26:01
>>426
C++でconstがどうしても欲しくなるところは、文字配列や文字列クラスなのだが
.NETの場合文字列は不変クラスだから問題ナッシングなんだよね。

>>421
参照型の場合はbyvalは参照渡し、byrefが参照の参照渡しで一応違いはある。
446デフォルトの名無しさん:2008/04/01(火) 01:04:25
>>445
値型でも参照型でもByValは引数に影響を与えないでほすいんだけどね。。
447デフォルトの名無しさん:2008/04/01(火) 09:49:31
引数の中身自体には影響を与えないよ
参照先は知らんけど
448デフォルトの名無しさん:2008/04/01(火) 20:31:42
VB中学校が目に優しくなったな
エイプリールフールだからか
449デフォルトの名無しさん:2008/04/01(火) 23:25:28
>>446
それは無理だ。
だってポインタなんだもの。
450助けて下さい。:2008/04/02(水) 00:07:27
現在、VB.netでReportViewer(*.rdlc)を使用し印刷を行っているのですが、
印刷時には、毎回プレビュー画面が表示されてしまいます。
プレビュー画面を表示させずにプログラムから印刷をしたいのですがどう
すれば良いでしょうか?
(つまり、既存コードを流用しつつプレビュー画面を表示せずにプログラムから
自動で印刷を行いたいです。)

次の通り、サンプルコードを参考にしてローカルのプロジェクト内で既に使用している
【HogeReport.rdlc】ファイルを指定した上で、レポートのデータソース(DataSources)
にインスタンス(クラス)をバインドしようとしているのですがエラーが発生してしまいます。
  report.ReportPath = @"C:/hoge/HogeReport.rdlc";
  'report.DataSources.Add(new ReportDataSource("Sales", LoadSalesData())); ← サンプル
  report.DataSources.Add(new ReportDataSource("Sales", InstanceClassMember)); ←私のコード

MSのドキュメントを見たところDataTableを指定しなくてはならない様なのですが
既存コードでは、インスタンスクラス.メンバがレポート(HogeReport.rdlc / テキストボックス等)に
バインド(DataSource)されている為に、データ構造をインスタンスクラス.メンバからDataTableに
置換するのは非常に大変なので避けたいです。

※次のサイトを参考にしローカルレポートを利用してサンプルデータの
印刷が出来るところまでは確認が取れています。

<参考にしているURL>
http://msdn2.microsoft.com/ja-jp/library/ms252091.aspx
451デフォルトの名無しさん:2008/04/02(水) 02:05:01
>>450
ReportViewerなんて使ったことないので想像でしかわからんが、
レポート内のテキストボックス等にバインドされているのであれば、
report.DataSource.Addは必要ないと思うんだが。
report.DeataSource.Addはせずにやってみたら?
452質問です。:2008/04/02(水) 02:16:27
>>451
>report.DeataSource.Addはせずにやってみたら?
レスをどうもありがとうございます。
実は、それも試してみたんですがするとエラーが発生してしまいました。
ちょっと、ちょっと会社に行ってから色々と試してみようと思います。


453デフォルトの名無しさん:2008/04/02(水) 03:44:01
イベントに独自引数を渡すにはどうすれば良いのでしょうか?
454デフォルトの名無しさん:2008/04/02(水) 03:47:17
>>453
独自引数を受け取るイベントを自作する
455デフォルトの名無しさん:2008/04/02(水) 22:01:24
Interface ITest : ReadOnly Property Hoge As Integer : End Interface
というインターフェイスがあってその実装クラスでは読み書き両方させたいのですが、
実装クラスのほうもReadOnly Propertyにしないとコンパイルエラーになります。
読み書き用と読み取り専用のプロパティを2つ準備する以外に何かスマートな方法が
あれば教えてください。
456デフォルトの名無しさん:2008/04/02(水) 22:27:10
インターフェイスの方の実装プロパティを別名定義すればOK
457デフォルトの名無しさん:2008/04/02(水) 23:13:08
>>456
なるほど、ありがとう。うまくいきました。
Public Property Hoge As Integer
    Get 略
    Set(Value As Integer) 略

Public ReadOnly Property Huga As Integer Implements ITest.Hoge
Get 略
458デフォルトの名無しさん:2008/04/02(水) 23:14:04
ボタンイベントの中でDropDownListを初期化して
そのDropDownListのSelectedChangeイベント(だっけ?)を
設定するにはどうすればいいでしょうか?
459デフォルトの名無しさん:2008/04/02(水) 23:28:53
データベースからSQLで取得したデータを一時的にデータセットに入れてるんだけど
入っているデータを視覚的に見る方法ってないですか?
460デフォルトの名無しさん:2008/04/02(水) 23:59:52
addhandler
461デフォルトの名無しさん:2008/04/03(木) 00:17:57
オススメの書籍おしえて
462デフォルトの名無しさん:2008/04/03(木) 01:46:36
ない
webでOK
463デフォルトの名無しさん:2008/04/03(木) 10:47:34
質問です。

プログラムからPDFを部数を指定して印刷する方法を探しています。
行いたいのはAdobeReader8を起動させてそこから部数指定分PDFを印刷させたいのです。

ただ単純に印刷する事はできました。
しかし部数を指定して印刷することが出来ないでいます。
色々と探してみましたが、見つけたのはループで部数分まわすという処理方法のみです。

ですが私が求めている処理方法はループで部数分まわすのではなく直に印刷部数を指定したいのです。

どなたか解かる方がいましたら教えてください。よろしくお願いします。
464デフォルトの名無しさん:2008/04/03(木) 12:10:23
>>459
デバッガでブレークしてデータセットが入っているフィールドの上にマウスカーソル置いたときに
表示される虫メガネのアイコンをクリックする
465デフォルトの名無しさん:2008/04/03(木) 12:36:18
>>463
ループ回数を受け取る関数を作ったら?
引数に印刷部数を渡せば直に印刷部数を指定していることになるけど。
466463:2008/04/03(木) 13:07:16
>>465
すみません。もうすこし噛み砕いてお願いします。
引数とはどの引数なのでしょうか?
467デフォルトの名無しさん:2008/04/03(木) 13:08:25
ToolTipコントロールの設定時間いっぱいになったら
表示が出なくなるバグとか直ってましたっけ?
もうFramework2.0のSP、出すつもりはないのかな??>MS
468デフォルトの名無しさん:2008/04/03(木) 13:18:00
>>457
インターフェイスの実装をPrivateにすることで余計な名前のHugaが外部から見えなくなりました。
改良版
Public WriteOnly Property Hoge As Integer
  Set(Value As Integer)
  略
Private ReadOnly Property Huga As Integer Implements ITest.Hoge
 Get
  略
469デフォルトの名無しさん:2008/04/03(木) 14:34:09
>>466
Private Sub PdfPrint(ByVal cnt As Integer)
  For index As Integer = 1 To cnt
   '印刷処理のループ...
  Next
End Sub

こんな関数を作っておいて、
呼び出すときは

Call PdfPrint(8)
とすれば直で部数を投げるだけで内部でループしてくれるってこと。
470463:2008/04/03(木) 14:58:27
>>469
すみません。説明が足りなかったようで。

えっとですね。ループで印刷すると、ループ分だけ印刷処理を行ってしまうのは避けたいのです。
例えば、5部印刷したい場合はループだと5回印刷処理をAdobeReaderからならReaderが5回立ち上がり印刷するような形になってしまいます。

そうではなく、1回の印刷処理にて5部を印刷したいのです。
印刷ダイアログの部数をかえるようなのをプログラム側から指定してあげたいのですよ。

なのでループで行うのは勘弁していただきたいです。
471デフォルトの名無しさん:2008/04/03(木) 15:38:41
>>470
ちっと調べてみた。AcrobatSDKによると、
.NETで完全に制御したければAcrobatReaderじゃなくてAcrobat完全版を買えと言っているようだ。
おそらくAcroRd32.exeにコマンドライン引数を渡して印刷しているんだろうけど、部数を渡せる機能はないみたい。
だから、どのサンプルみても毎回Readerのインスタンスを生成する方法しかないんだと思われ。
Acrobat完全版をインストールすれば、Acrobat.tlbを参照に追加してやれば、.NET上で
いろいろできるようなことが書いてある。
472デフォルトの名無しさん:2008/04/03(木) 15:58:27
確認もせずに逝ってみるけどプリンタのデフォルト部数を直前に変えるってのはダメだろうか
473463:2008/04/03(木) 16:52:46
>>471
Acrobatでなら出来るのはわかっているのですがなるべく買わない方向で行きたいので、Acrobat使用はないですね。

>>472
それが出来るならそれでも構わないです。
474デフォルトの名無しさん:2008/04/03(木) 18:00:35
>例えば、5部印刷したい場合はループだと5回印刷処理をAdobeReaderからならReaderが5回立ち上がり印刷するような形になってしまいます。

それはReaderを5回立ち上げるからだろ?
立ち上げは1回にして、ocxかddeで印刷依頼を5回しろよ。
475デフォルトの名無しさん:2008/04/03(木) 19:20:59
>>473
>Acrobatでなら出来るのはわかっているのですがなるべく買わない方向で行きたいので、Acrobat使用はないですね。

じゃー無理だな、あきらめろ。
476デフォルトの名無しさん:2008/04/03(木) 20:18:47
ところで、AcrobatReaderも買わないとイケナくなる
条件が存在するって知ってた?
477デフォルトの名無しさん:2008/04/04(金) 01:02:06
知らないけど知らなくっていいからお構いなく
478デフォルトの名無しさん:2008/04/04(金) 04:45:37
TreeViewのノードを保存・読み込みするためのメソッドって無いんだね・・・
自分でXMLのパーサ書くしかないか・・・
479デフォルトの名無しさん:2008/04/04(金) 08:39:21
ところで、VSのデバッグ中PDFをADOBE Reader8で起動すると高確率で
フリーズするのは、私だけですか?
480デフォルトの名無しさん:2008/04/04(金) 23:33:36
>>478
そんなメソッドあっても使えないだろ
481デフォルトの名無しさん:2008/04/04(金) 23:38:07
>>480
なんで?
482デフォルトの名無しさん:2008/04/04(金) 23:50:35
XMLの形式は?
バインドはできてもいいと思うけど
483デフォルトの名無しさん:2008/04/04(金) 23:57:36
>>482
形式?
ウェルフォームドとか検証済みとかそういうことですか?

WEB開発ってやったことないから詳しいこと知らないけど
例えばMSDNのツリーなんてXMLをバインドしてるんじゃないのかな?
ノード増えるたびにハードコードみたいな非生産的なことする?
484デフォルトの名無しさん:2008/04/05(土) 00:06:24
なんでそうなるんだよ
バインドできないのは確かに問題だけどXMLから自動で読み込む処理を自分で書けばいいだろ
485デフォルトの名無しさん:2008/04/05(土) 00:14:41
>>484
バインドできなくても、GUI名乗ってるんだからマウスからノード追加するような
プログラム作ったとき読み込み保存メソッドあれば便利だと思うんですが
使えない理由ってなんですか?
486デフォルトの名無しさん:2008/04/05(土) 00:18:15
そんなこと言い出したらキリがないだろ
バインドで一本化した方が綺麗
487デフォルトの名無しさん:2008/04/05(土) 00:27:46
使えない理由は意地でも答えないつもりですね
488デフォルトの名無しさん:2008/04/05(土) 01:27:10
理由?
数多くの場合に対応できるような汎用的なものを作ろうとすると、
結局、単純に使うのも大変なものになってしまう恐れがあると判断されたのだろう。
そんなものないほうがましだ。
489デフォルトの名無しさん:2008/04/05(土) 03:40:40
Dim dt As DateTime

DateTime.TryParse("昭和64年2月23日", dt)
↑これがTrueになってしまうのですが、非実在和暦を
検出するうまい方法はありませんか?
490デフォルトの名無しさん:2008/04/05(土) 04:04:51
ありません
和暦には未来があります
491デフォルトの名無しさん:2008/04/05(土) 04:35:06
>>489
そのdtを和暦に変換して"昭和64年2月23日"になればtrue
492デフォルトの名無しさん:2008/04/05(土) 08:45:18
AcroPDF使ってPDFの表示してるんだが、「アクロバットがインストールされてない」ことを
知るにはレジストリあさるしか無い?
newした時にエラーになるかと思ったらならないし…
(アクロバット無い時にPDF処理しないようにするため)
493デフォルトの名無しさん:2008/04/05(土) 08:57:05
>>491
ありがとうございます。それGoodです。
494デフォルトの名無しさん:2008/04/05(土) 10:54:30
>>492
遅延バインディングすれば?
495デフォルトの名無しさん:2008/04/05(土) 11:56:49
A3サイズでデザインしたActiveReportを
A4サイズに縮小して印刷したいのですが、
.Net側でサイズを制御することはできるのでしょうか?
496デフォルトの名無しさん:2008/04/05(土) 13:12:55
>>492
そのまま実行すればどこかでエラーになるので
それをCatchすれば良いだけでは?
497デフォルトの名無しさん:2008/04/05(土) 15:16:41
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
498デフォルトの名無しさん:2008/04/05(土) 18:00:39
コピペ君って馬鹿だな、まで読んだ。
499デフォルトの名無しさん:2008/04/05(土) 19:28:44
>>496
最初にListViewに対象ファイルだけピックアップして、さらにクリックで拡大表示
(PDFの場合はAcroPDFに渡す)してるんだけど、最初のピックアップは拡張子だけで
判別してるのでAcroPDFに渡して始めてエラーになる
ところがアクロバットが無い場合はListViewの段階で出さないようにしたい、と
まあアクロバットアンインストールしてみりゃいい話なんだが面倒くさくて…
それとインストールされていない環境とアンインストールした環境が同じかどうか
ちと自信ない(アドビのこったからレジストリ完全に綺麗にするとは思えなくて)
500デフォルトの名無しさん:2008/04/05(土) 20:06:55
PDFのアイコンを取得してみて、空なイメージと区別とか。
厳密にはAcrobatじゃないかもしれないけど。
501デフォルトの名無しさん:2008/04/05(土) 21:17:14
結局アンインストしてみた
実際やってみたら簡単な話でAxAcroPDF.GetOcxがNothingかどうか調べるだけで
OKだった

>>500
classrootの.pdfからたぐる方法は自分でアクロバット使ってないから(FoxIt使ってる)考えなかった
まあ案の定currentuser\software\adobeにはacrobatのキー残ってたけど
502デフォルトの名無しさん:2008/04/05(土) 21:53:26
ActiveX版Spreadを多用しているVB4のプログラムを
VB2005 & Spread 2.5J .NET版への移行を行っています。

なんとか移行はできたものの、Spreadをマウスのホイールを使って
スクロール(垂直、水平共に)させるとなんだか、ものすごく重たく感じます。
これってなんでなんでしょう???
どなたかご存知であれば教えてください。
開発用のPCは以下の仕様です。

OS            : Win200Pro
CPU           : Celeron 2.8GHz
Memory        : 1GB
.NetFrameWork : 2.0Sp1
503デフォルトの名無しさん:2008/04/05(土) 22:18:15
正規ユーザーなら開発元に聞(以下略

IEのスムーズスクロールをONにしたときみたいな動作なの?
504デフォルトの名無しさん:2008/04/05(土) 22:38:21
>> 503

はい、スムーズスクールをOFFにしたような、モッサリした感じの動きです。
開発元に聞いてみる前にどなたかご存知であればと思って質問させていただきました。
505デフォルトの名無しさん:2008/04/06(日) 00:21:13
>>504
SpreadじゃないけどWindowsの右クリックメニューのにょろっと出る視覚効果を
殺したらグリッド系のスクロールがまともに動くようになった事があるな。
506デフォルトの名無しさん:2008/04/06(日) 18:13:00
>>501
大ウソだったw
おかしいな…確かに出来た気がしたんだけどな…
結局レジストリ
507デフォルトの名無しさん:2008/04/06(日) 19:39:50
>>505

Win2000の視覚効果みたいなのは全てOFFにしているのですが・・・。
それでもモッサリした感じがします。
508デフォルトの名無しさん:2008/04/07(月) 14:17:06
プリンタの窓を開きたいのですが、どうすればいいでしょうか?
プリンタとFAXまでは開くことができます。
(コントロールパネルのプリンタとFAXを表示→特定のプリンタを開く)

一回で開くことができるのでしょうか?
それとも、「プリンタとFAX」の窓を開いてプリンタを開いて、「プリンタとFAX」の窓を
消す作業をしないといけないのでしょうか?

対処法お願いいたします。
509デフォルトの名無しさん:2008/04/07(月) 14:35:35
ふつうは片手で開けるw
510デフォルトの名無しさん:2008/04/07(月) 16:56:47
Dim dgv As DataGridView = DataGridView1
Dim tbl As DataTable = DirectCast(dgv.DataSource, DataTable)

これキャストできないんですが原因がわかりません
どんな原因が考えられるでしょうか
511デフォルトの名無しさん:2008/04/07(月) 17:08:34
dgv.DataSource が DataTable じゃないんだろう
512デフォルトの名無しさん:2008/04/07(月) 17:27:51
>>511
そういうことでしたか。
ちなみにDataSourceはBindingSourceだったんですが
そのままでDataTableを取得する方法ってないでしょうか?
513デフォルトの名無しさん:2008/04/07(月) 17:30:16
>>508
プリンタのショートカットを作って開けるのだからできるだろ
514512:2008/04/07(月) 18:14:29
すみません↓でいけました。

Dim dgv As DataGridView = DataGridView1
Dim tbl As DataTable = _
DataSet1.Tables(DirectCast(DirectCast(dgv.DataSource, System.Object), BindingSource).DataMember)
515デフォルトの名無しさん:2008/04/08(火) 00:21:10
課題でVB2005を使用してプログラムを作成してるのですが
ちょっとしたことで躓いています
Form1と2がある状態で2をShowメソッドで表示した際に
Form2がアクティブになりません
LoadやActivetedなどにActiveteメソッドセットしてみたのですが上手くいきません
モーダル使わずにForm2をアクティブにするにはどうすれば宜しいのでしょうか?
516デフォルトの名無しさん:2008/04/08(火) 00:25:08
ShowWindow
517デフォルトの名無しさん:2008/04/08(火) 00:42:12
>>513
知ったか乙。
518デフォルトの名無しさん:2008/04/08(火) 14:59:18
VB.net2003からプリンタの印刷設定を直接変える方法ってなんかないでしょうか?
519デフォルトの名無しさん:2008/04/08(火) 16:44:50
>>517
知らんのか乙。
520デフォルトの名無しさん:2008/04/08(火) 18:58:37
>>519
教える気のない奴は消えろよ
521デフォルトの名無しさん:2008/04/08(火) 19:36:04
バカに教える気は無い
522デフォルトの名無しさん:2008/04/08(火) 19:37:43
ふつう>>513で十分だが?
523デフォルトの名無しさん:2008/04/08(火) 19:39:38
コピペすれば動くコードがほしいよ〜
524デフォルトの名無しさん:2008/04/08(火) 20:11:06
Shell.ApplicationをCOM interopでつくって、
shapp.NameSpace(ssfPRINTERS).Items()を
ぐるぐるまわして、explorerで開きたいItemに
InvokeVerb("open")あたりでどーだ。
525デフォルトの名無しさん:2008/04/08(火) 20:44:34
プリンタのショートカットを作って開けるのってどうやるの?
ショートカットを組み込むとかわからん。
通常のアプリなら組みこめられるが、プリンタのドライバ?とか指定はどうやるの?
526デフォルトの名無しさん:2008/04/08(火) 21:29:34
>>525
まず文章を推敲するのが先。
正直君が何を言ってるのか、何をしたいのかサッパリ理解できないし、
それが俺の読解力の問題とは思えない。
527デフォルトの名無しさん:2008/04/08(火) 21:58:21
>>515
Form.Shown
528デフォルトの名無しさん:2008/04/08(火) 22:54:46
System.Diagnostics.Process.Start(プリンタのショートカット)
529デフォルトの名無しさん:2008/04/08(火) 23:54:23
530デフォルトの名無しさん:2008/04/09(水) 00:33:09
System.Diagnostics.Process.Start(Adobe PDF)
とかじゃだめなのか・・・

>>526
ボタンを押したらプリンタの詳細(印刷中とか)の窓を開きたい。
531524:2008/04/09(水) 00:39:09
・・・
532デフォルトの名無しさん:2008/04/09(水) 02:03:05
533デフォルトの名無しさん:2008/04/09(水) 09:18:19
馬鹿がバカをバカにするスレはここですか。
534デフォルトの名無しさん:2008/04/09(水) 14:15:35
535デフォルトの名無しさん:2008/04/09(水) 15:22:28
>>533
自覚してるのね
536デフォルトの名無しさん:2008/04/09(水) 15:34:23
ググっても出てこなかったのですかが、
すでにデータが入っているComboBoxのデータを
ほかのComboBoxにデータをコピーするやり方が
解りません。

エロい人教えてください。

バージョンは.NET Frameworks1.1です
よろしくお願いします。
537デフォルトの名無しさん:2008/04/09(水) 15:36:15
ComboBoxは配列だから配列ごとコピーすれば?
538536:2008/04/09(水) 16:01:01
>>537
虫が良すぎるかもしれませんが
コードを教えていただけませんか?
539デフォルトの名無しさん:2008/04/09(水) 16:02:11
虫の居所が悪いので無視
540デフォルトの名無しさん:2008/04/09(水) 16:45:41
Items.CopyTo で配列にして
Items.AddRange で追加。
541536:2008/04/09(水) 16:58:11
>>540
教えていただきありがとうございます。
542デフォルトの名無しさん:2008/04/09(水) 21:14:09
タブコントロールのタブを三角形(というか台形)にすることは可能ですか?
543デフォルトの名無しさん:2008/04/09(水) 21:19:16
>>542
継承して画像を貼り付ければできなくは無い。
それ以外でできるかどうかはわかんね。
544デフォルトの名無しさん:2008/04/09(水) 21:20:23
オーナードロー
545デフォルトの名無しさん:2008/04/09(水) 21:29:49
http://dobon.net/vb/dotnet/internet/webrequest.html
ここのやり方でHTMLを取得しようとした時に、IEとかWebBrowserでは見れるのに
上のやり方では取得できないページがあります。(大体は普通に取得できる)

有用な情報がありましたら教えて下さい。

取得できないのはhttp://imepita.jp/の画像ページです
http://imepita.jp/(HTML取れる)
http://imepita.jp/20080317/629360 (HTMLとれない)
546デフォルトの名無しさん:2008/04/09(水) 21:40:27
事故解決しました
547栗レポ初心者:2008/04/09(水) 22:15:33
CrystalReportについての質問です。
最近CrystalReportの使いかたをVB.netで勉強し始めた者です

やりたい事としてはDataTable内にあるレコードを(単純に)リスト(一覧)表示
したいのですが、その方法が分かりません。

***.rpc上にテキストボックスを配置し(パラメータフィールド)プログラムから
値を設定する方法は分かるのですが、(この)一覧表示の仕方が分からないのです。

何か参考になるサイト等をご存じの方がいらしましたらお教え願います。
548デフォルトの名無しさん:2008/04/10(木) 19:01:28
別スレで話題にあがったのだが、VB.NETってSQLは必須知識なんですか?
知っておいて損は無いと思うけど。
知らないと駄目であると言われたんだが本当でしょうか?
549デフォルトの名無しさん:2008/04/10(木) 19:23:38
>>548
Linqがらみの話しかいな?
550デフォルトの名無しさん:2008/04/10(木) 19:31:43
>>549
すまぬ、初心者プログラーゆえ。Linqが何かわからない。
知りたいことは要するに、プログラマーとして最初にいきなり
SQLの知識が必要になるのか知りたいのである。
別スレで「SQLを知らない人はプログラマーにはなれない」と言うような
ことを言われたので本当かどうか知りたかったのです。
551デフォルトの名無しさん:2008/04/10(木) 19:43:16
>>547
俺にはお前のしたいことがわからん。
絵にでも描いてこい。
552デフォルトの名無しさん:2008/04/10(木) 19:43:48
必要かどうか自分で判断できないならやっとけば?
覚えといて損はないって自分で言ってるんだからプラスになるとは思ってるんでしょ
553デフォルトの名無しさん:2008/04/10(木) 19:46:38
>>550
SQLはデータベースを操作する言語。
データベースってのはデータをためておくところ。
vbなどの普通のプログラム言語で作ったソフトにはデータは保存できない。
起動するたびに前回のことは覚えていないわけだ。

で、覚えてて欲しいことをどこかにおいておく必要があるわけだが、
それを貯めておくところの代表的なのがデータベース。

vbで使う場合は、データベースへSQLっていう命令文を送って、
データを入れたり出したりする。
vb以外の言語でもデータをアクセスするときに使えるので、
覚えておいて損は無い。

業務用ソフトを作る場合は覚えさせられるので
そんなに気にする必要はない。
554デフォルトの名無しさん:2008/04/10(木) 20:08:30
>>550
truncate table にだけは気をつけろよ
555デフォルトの名無しさん:2008/04/10(木) 20:17:14
>>553
詳細な説明ありがとう。
556デフォルトの名無しさん:2008/04/10(木) 20:24:35
>>551
> >>547
> 俺にはお前のしたいことがわからん。
> 絵にでも描いてこい。

自己解決しました。
557デフォルトの名無しさん:2008/04/10(木) 20:55:31
HttpWebRequest・HttpWebResponseで
http://imepita.jp/image/20080317/629360 の画像が取れない。(IEでも画像直では取れない。)

IEでhttp://imepita.jp/20080317/629360を開いてから同じ窓で画像URLへ行けば見れる
cookieかなにかだと思うんだけど、HttpWebRequest・HttpWebResponseにcookie反映しても無理だった

何で制御してるんでしょうか?

参考にしたもの
http://dobon.net/vb/dotnet/internet/usecookie.html
http://dobon.net/vb/dotnet/internet/webrequest.html


558デフォルトの名無しさん:2008/04/10(木) 21:05:55
事故解決したんじゃなかったのか
559デフォルトの名無しさん:2008/04/10(木) 21:06:40
リファラとか見てるんじゃねーの?
560デフォルトの名無しさん:2008/04/10(木) 21:08:50
ネットワーク絡みのを作る際はパケットモニタお勧め
561デフォルトの名無しさん:2008/04/10(木) 21:16:34
直で叩いてアクセスできないってことはリファラ見てるんだろ
562デフォルトの名無しさん:2008/04/10(木) 21:22:19
ドンピシャ!!
リファラすっかり忘れてました。
ありがとうございました
563デフォルトの名無しさん:2008/04/10(木) 21:34:33
Visual Web Developer 2008でFxcopを使おうとしてるんですが
WebサイトをビルドしてもDLLができません。

有償のVisual Studioを購入する必要がある?
564デフォルトの名無しさん:2008/04/11(金) 01:55:54
youtubeの閲覧URLからダウンロードできるURLを調べるにはどうやったらいいですか?
565デフォルトの名無しさん:2008/04/11(金) 20:03:28
htmやhtmlファイルを読み込んで特定のタグだけ削除したいのですが
HtmlDocumentクラス以外にHtml関係のクラスってありましたっけ?
566デフォルトの名無しさん:2008/04/11(金) 20:05:42
HtmlTextWriterなら
567デフォルトの名無しさん:2008/04/11(金) 20:19:34
削除対象によっては案外正規表現あたりで何とか出来たりしてw
568デフォルトの名無しさん:2008/04/11(金) 21:50:51
XmlDocumentとかでも普通に読めるんじゃないの?>HTML
569デフォルトの名無しさん:2008/04/11(金) 21:52:34
XHTMLならともかく普通のHTMLは無理
570565:2008/04/11(金) 22:16:36
みなさんどうも。
一度WebBrowserで読み込んでHtmlDocumentクラスを使えば
HtmlElementsとして操作できるんですが、ちょっとめんどくさいですよね。
正規表現でいこうかなぁ・・・
571デフォルトの名無しさん:2008/04/11(金) 22:47:21
WebBrowserコントロールののクッキーって削除できるのでしょうか?
方法を教えて下さい
572デフォルトの名無しさん:2008/04/11(金) 23:24:06
GetUrlCacheEntryInfo
573デフォルトの名無しさん:2008/04/14(月) 09:51:21
VBでd3d扱ってるサイトしりませんか?
とくにアニメーションを勉強したいんですがなかなか見つかりません。
574デフォルトの名無しさん:2008/04/14(月) 18:58:55
C#読めばいいじゃない
ほとんど変わらないのに片方しか使えないなんてもったいない
575デフォルトの名無しさん:2008/04/14(月) 21:07:45
2008だけどreleaseフォルダとかに勝手に作られる.xmlファイルを作らなくする設定ってないですか?
576デフォルトの名無しさん:2008/04/14(月) 21:18:47
3gpファイルから動画のサイズを取得する方法を知ってる人、教えて
577デフォルトの名無しさん:2008/04/15(火) 12:21:56
3gpについてはよく知らんけど
サイズってファイル容量とか画面の縦横の長さとか再生時間の長さとかあると思うが
578デフォルトの名無しさん:2008/04/15(火) 22:25:35
縦横の長さ。

Using video As New Microsoft.DirectX.AudioVideoPlayback.Video(File)
width = video.DefaultSize.Width
height = video.DefaultSize.Height
End Using
これでとれました
579デフォルトの名無しさん:2008/04/15(火) 22:57:03
初心者です。
非バインドでdatatableのフィールドに入っている値をdatagridviewに出したいんですけれど
ぐぐっても良いサンプルが見つからなくて困ってます。
そもそもバインドと非バインドの違いが調べてもよく分からないです。
データテーブル(アクセスで作ってます)のフィールドに入ってる値を
datagridviewに出すのはバインド?
データアダプタを使うコードを書くのが非バインド?
明日までに非バインドでdatatableのフィールドに入っている値をdatagridviewに出すというのプログラムを
完成させないといけないので困ってます。
言語はVBです。どなたか教えて下さい。よろしくお願いします。
580デフォルトの名無しさん:2008/04/15(火) 23:11:41
・DataTableからデータを取得
・そのデータをDataGridViewに設定して表示
これを別々に書けば非バインド
581デフォルトの名無しさん:2008/04/15(火) 23:24:23
>・DataTableからデータを取得
SQLとかでですか?
>・そのデータをDataGridViewに設定して表示
どうやって orz

でも考え方は分かりました。ありがとうございます。
何かサンプルないでしょうか?初心者でも分かりやすいようなサイトでもいいんですが。
さんざん調べたけどプログラムにコメントがないと
それがバインドか非バインドかさえ分からないんです・・。
582デフォルトの名無しさん:2008/04/15(火) 23:33:35
.NET VB 2005で、デバックのと時、呼び出し履歴はどうしたら表示できる?
583デフォルトの名無しさん:2008/04/15(火) 23:38:16
>581
それはSQLからDataTableに入れるのは、TableAdapterでしょ。
DataTableをfor eachに食わせると、DataRowがグルグルでてくるから、
そいつらのメンバ一つ一つを、DataGridViewのCellとして追加しろ、って話

 BindingSourceとかが出てくるのがバインド。一行一行ぐるぐるまわって
処理(登録)するなら非バインド。
584デフォルトの名無しさん:2008/04/16(水) 00:14:59
>>583
なるほど。ありがとうございます。

でも書き方が分かりません。VBはまだソートしか作ったこと無いんです。
もうだめだ 明日中なんて
誰かたすけてくれ
585デフォルトの名無しさん:2008/04/16(水) 01:04:19
>>584
学生なら自力でやれ
新社会人なら先輩や上司に聞くとかしろ
最低でもMSDN見るくらいはしろ

DataGridViewくらい簡単に使えるだろjk
586デフォルトの名無しさん:2008/04/16(水) 07:23:22
また宿題丸投げか
587デフォルトの名無しさん:2008/04/16(水) 07:32:37
>>585
上司なんて聞いても教えてくれないし5時間必死で調べたのに結果書き方さえ分からなかった。
俺が馬鹿なのは分かってる。
最初から最後までとはいかなくても、一部分でも書き方のヒントだけ欲しかった。
ここは質問スレだから最後の頼みと思って聞いた。
期限が来週ならここで聞かなかったさ。
588デフォルトの名無しさん:2008/04/16(水) 07:34:00
書き方のヒント>サンプルで欲しかったということです。
589デフォルトの名無しさん:2008/04/16(水) 07:40:02
VB DataTable

でググれカス
590デフォルトの名無しさん:2008/04/16(水) 16:22:35
ここを最後の頼みにしちゃダメだよw
591デフォルトの名無しさん:2008/04/16(水) 16:45:51
>datatableのフィールドに入っている値をdatagridviewに出す
  grid.DataSource = table
こんだけなのになあ。
592デフォルトの名無しさん:2008/04/16(水) 16:50:06
例外でもないのに例外をスローするのがナンセンスな理由を教えてくれ
593デフォルトの名無しさん:2008/04/16(水) 17:17:28
みんなが例外的なときにしか例外は投げられないと仮定しているから。
お約束というやつ。
594デフォルトの名無しさん:2008/04/16(水) 18:31:58
>>591
それバインド
>非バインドでdatatableのフィールドに入っている値をdatagridviewに出す
595デフォルトの名無しさん:2008/04/16(水) 22:26:48
C#でいう
public T this[int index]
{
 get{ return 〜; }
 set{ 〜;}
}
みたいなのってどうやるの?
596デフォルトの名無しさん:2008/04/16(水) 23:08:52
ヘルプで既定のプロパティ調べれ
597デフォルトの名無しさん:2008/04/17(木) 08:22:54
>>595
既定のプロパティにしてかつプロパティ名をItemにすると
C#のインデックサ互換になり相互に使える。
598デフォルトの名無しさん:2008/04/21(月) 11:37:12
コンボボックスのボタン(▼のボタン)の幅を変更することは
可能なのでしょうか?
開発環境は、vb.net 2005です。
599デフォルトの名無しさん:2008/04/22(火) 02:37:58
>>597
そうそう。君はそうやって人の言うことを聞いとくべきだよ。
中学生とは思えないほど稚拙な文章だったけど、面白かったよ。
600デフォルトの名無しさん:2008/04/22(火) 19:58:44
どこへの誤爆だw
601デフォルトの名無しさん:2008/04/23(水) 10:42:35
ウインドウを持たないシステムトレイに常駐する外部アプリを、一定の条件で終了させて再度起動させたいのですが、
強制終了(Kill)させると、システムトレイのアイコンが残ったままになります。

マウスポインタを当てれば消えるのですが、放っておくとアイコンがどんどん増えていきます。
なんとかいい対処法はないでしょうか?

よろしくお願いします。

602デフォルトの名無しさん:2008/04/23(水) 11:51:25

これは重大ニュースです!!

3.29リチャード・コシミズ東京講演会7/19
http://video.google.com/videoplay?docid=5748132005717544856&q=&hl=en

ここで興味深い事実が述べられている。イラクに行った自衛隊の隊員から35人が
死んでいた事実を知っていましたか?この35人のうち12人が「原因不明」とのこと!
原因不明なのでしょうね? さらに、イラクから戻ってきて死んだのが、なんと自殺と
交通事故さらに精神障害で、なんと100人が死んでいるということでした!

これは一体全体、なんなのだろう!みなさんが真実を知ることを望んでいます!!
603デフォルトの名無しさん:2008/04/23(水) 12:27:12
コピペ君って馬鹿だな、まで読んだ。
604デフォルトの名無しさん:2008/04/23(水) 13:38:30
FlexGrid.netでセルに改行が入力できないようにするには
どうしたらいいですか?
605デフォルトの名無しさん:2008/04/23(水) 14:20:29
>>604
TextChangedかValueChangedのイベントで改行を削除するようにするとか
606デフォルトの名無しさん:2008/04/24(木) 11:42:13
VB.netでアプリケーションの一覧を取得するPGを作成しています。

http://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#ECPAC
で以下のVBSのコードを発見したのですがこれを.net用で動くように変換したいのですが、、
知恵を貸してください。


strHost = "."
Const HKLM = &H80000002
Set objReg = GetObject("winmgmts://" & strHost & _
"/root/default:StdRegProv")
Const strBaseKey = _
"Software\Microsoft\Windows\CurrentVersion\Uninstall\"
objReg.EnumKey HKLM, strBaseKey, arrSubKeys

For Each strSubKey In arrSubKeys
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"DisplayName", strValue)
If intRet <> 0 Then
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"QuietDisplayName", strValue)
End If
If (strValue <> "") and (intRet = 0) Then
WScript.Echo strValue
End If
Next
607デフォルトの名無しさん:2008/04/24(木) 12:41:48
http://bbs.wankuma.com/index.cgi?mode=all&namber=17376
俺の目には全く同一の質問に見えるぜ
608デフォルトの名無しさん:2008/04/24(木) 13:12:36
うむ。同じだな。
まぁ、向こうの方がオレらより知識は上だし、
向こうで解決しなかった問題を
ここの住人が答えられると思ったのか?
609デフォルトの名無しさん:2008/04/24(木) 13:44:45
いや、単なるレジストリの値を取得するだけのことなんだが
Dim rkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall", False)
For Each subkeyName As String In rkey.GetSubKeyNames
Dim srkey As Microsoft.Win32.RegistryKey = rkey.OpenSubKey(subkeyName, False)
Dim objRet = srkey.GetValue("DisplayName")
If objRet Is Nothing Then
objRet = srkey.GetValue("QuietDisplayName")
End If
If Not IsNothing(objRet) Then
Console.WriteLine(objRet.ToString())
End If
Next
610デフォルトの名無しさん:2008/04/24(木) 13:48:16
>>606は自分で考えようと言うつもりは全くないだろ
お前ら良く答えるな
611デフォルトの名無しさん:2008/04/24(木) 14:04:29
意味不明・・・
612デフォルトの名無しさん:2008/04/24(木) 14:09:08
知恵を貸してくれもなにも
どこまで解釈していて、何が出来ないから解決するのに知恵を貸してくれってならわかるが
この質問じゃ解答できるのエスパーくらいじゃないか?
613デフォルトの名無しさん:2008/04/24(木) 17:53:13
まったく別のプロジェクトどうしで同じファイル(自分で作成した設定ファイル)を
参照したいのですが、VSで項目追加すると勝手にそれぞれのプロジェクトの
フォルダにコピーしてきてしまいますよね?そうすると、結局別々のファイルを
参照してることになってしまうのですが、
VB6.0のときのように、プロジェクト直下に無いファイルでもそのまま参照して
使用できるように
614デフォルトの名無しさん:2008/04/24(木) 17:54:18
ならないでしょうか?


すみません、途中で書き込みしてしまいました。
615デフォルトの名無しさん:2008/04/24(木) 19:24:37
>>613
「設定ファイル」なんかを参照設定する必要がどこにあるのか理解できません。
616デフォルトの名無しさん:2008/04/24(木) 19:33:59
>>613
> まったく別のプロジェクトどうしで同じファイル(自分で作成した設定ファイル)を
> 参照したいのですが、VSで項目追加すると勝手にそれぞれのプロジェクトの
> フォルダにコピーしてきてしまいますよね?そうすると、結局別々のファイルを
> 参照してることになってしまうのですが、
> VB6.0のときのように、プロジェクト直下に無いファイルでもそのまま参照して
> 使用できるように
馬鹿じゃない?
617613:2008/04/24(木) 22:18:13
参照設定という書き方がまずかったですね。
具体的に言うと、App.configファイル内の接続文字列の設定を外部ファイルに
外出ししてるんですが、アプリケーションのプロジェクトとそのテストプロジェクトで
この外部ファイルを共有して参照したいんですけど、
何かいい方法ないですかね。
618デフォルトの名無しさん:2008/04/25(金) 00:51:30
そのファイルがプロジェクトに属さないといけない理由がわからない
619デフォルトの名無しさん:2008/04/25(金) 01:20:36
>613
[プロジェクト]-[既存項目の追加]-[リンクとして追加]のこと?

既存ファイルを選ぶダイアログボックスの追加ボタンが
コンボボックスみたいになっててそこで選べる
620デフォルトの名無しさん:2008/04/25(金) 14:18:52
>>619
ありがとうございます。探してたのはまさにこういう機能でした。

直面していた問題の方は、実際にはリンクとして追加ではなく、
VisualStudioのテストツールの関係で
こちらの
http://msdn2.microsoft.com/ja-jp/library/ms182475.aspx
方法で解決しましたが、以前から、別のプロジェクト同士で同じファイル参照
できないかなと思ってましたので助かりました。
ありがとうございました。
621デフォルトの名無しさん:2008/04/25(金) 21:38:56
ソースセーフ使ってないの?
622デフォルトの名無しさん:2008/04/26(土) 20:18:12
vb2008のコードvc#2008に自動コンバートできないの?
623デフォルトの名無しさん:2008/04/26(土) 22:26:27
>>622
> vb2008のコードvc#2008に自動コンバートできないの?
簡単にやる方法がある。

でもおしえねー
624デフォルトの名無しさん:2008/04/26(土) 23:17:42
自己解決しました
625デフォルトの名無しさん:2008/04/26(土) 23:22:46
厳密でないデリゲート変換って何?
どうやるの?
わけわかんね
626デフォルトの名無しさん:2008/04/26(土) 23:33:19
MSDNに懇切丁寧に書かれてるジャン
627デフォルトの名無しさん:2008/04/28(月) 09:38:32
WebBrowserでの表示で、YouTubeのページを表示すると
どういうわけか、そのページ内のボリューム・バーやビデオの
プログレス・バーのつまみ、ビデオの開始、停止ボタンなどを
掴めるのが、最初の一回目だけになります。次にまた掴もう
としても掴めません。

ただ、一回他のFormやデスクトップをクリックしてFormのFocusを
一回外してからまた掴むと掴めます。
これをExplorerでのように普通に何回でも掴めるようにするには
どうすればいいでしょう?

例)吉野山 千本桜の全貌 http://jp.youtube.com/watch?v=RkQb85PVzS8
などで確認できます。
628627:2008/04/28(月) 09:42:57
すみません、訂正します。
>FormのFocusを一回外してから
これは、正確には、
>ビデオ装置の画面のFocusを一回外してから
のようでした。ビデオ装置の外を一度クリックすると
次に各ボタンやバーつまみが掴めるようでした。

629デフォルトの名無しさん:2008/04/28(月) 10:20:26
WebBrowserのバグ。
COM参照でAxWebBrowserの方使う。
630デフォルトの名無しさん:2008/04/28(月) 11:12:04
>>621
そういう問題ではない。
631デフォルトの名無しさん:2008/04/28(月) 11:24:56
>>629
さっそくのご回答、ありがとうございました。
>COM参照でAxWebBrowser
わかりました、これの使い方を調べて試してみます!
632デフォルトの名無しさん:2008/04/28(月) 20:43:55
掴めるよ。おまえらなにいってんの?
633デフォルトの名無しさん:2008/04/28(月) 22:10:27
>>632
それは>>627の件ですよね、本当ですか!
だとしたら何かのプロパティの設定か何かの差でしょうか・・・?
その辺もしわかれば知りたいです。
634デフォルトの名無しさん:2008/04/28(月) 22:16:26
多分OSとかIEとか.NETのバージョンの違いじゃないかな
あとこんなの発見
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=webbrowser+flash
WndProcオーバーライドで回避できるらしい
635デフォルトの名無しさん:2008/04/28(月) 23:44:48
>>634
うわー、こういう方法で直るのですか!!すごいです。
ありがとうございます!!これやってみます!!

とても助かりました、ありがとうございました!
636デフォルトの名無しさん:2008/04/29(火) 00:35:56
bin/debugやbin/releaseに生成されるアプリケーション名.xmlを生成しなくするにはどうしたらいいですか
637デフォルトの名無しさん:2008/04/29(火) 10:52:13
プロジェクトのプロパティ→ビルド→XMLドキュメントファイル
638デフォルトの名無しさん:2008/04/29(火) 13:09:12
vb2008exp だけどその項目なかった
639デフォルトの名無しさん:2008/04/29(火) 14:11:35

なんでこんなに泥棒されてるのにまだまだ税金くれてやるの???日本てなんなのorz
なんで役人に贅沢させるための税金分捕られて借金までつくってるわけ???

誰か答えろよ>腐れ国賊官僚と結託してうまい汁飲みだけで生きてる自民党の糞ども。

188 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/04/29(火) 12:20:25 ID:???
■ちゃっかり天下り退職ウハウハ元役人リスト■

以下のジジイだけでも総額44億1640万円!!!チーンwぜんぶ税金&年金だよw

●近藤純五郎(61歳)総合計5億3623万円 旧厚生省時代5億1148万円
(8423万円/年金資金運用基金理事長2475万円(371万円)
●丸山晴男(60歳)総合計4億5074万円 役所での報酬4億0200万円(6140万円)
/年金資金運用基金での報酬4874万円(732万円)
●丸田和生(57歳)総合計4億3640万円 役所時代3億8095万円(6998万円)
/厚生年金事業振興団常務理事5545万円(833万円)
●伊藤雅治(61歳)総合計5億3096万円 役所時代5億1033万円(6235万円)
/全国社会保険協会理事長2063万円(310万円)※伊藤氏は医師なのでキャリア官僚と同等として試算
●山下真臣(76歳)総合計8億0289万円 厚生省時代4億7135万円(8523万円)
/環境衛生金融公庫理事長時代2億0829万円(3127万円)
/全国社会保険協会連合会理事長7425万円(1115万円)/国民年金協会理事長4900万円
●吉原健二(72歳)総合計7億9238万円 厚生省時代4億8919万円(8588万円)
/厚生年金基金連合会理事長2億0419万円(3066万円)/(財)厚生年金事業振興団理事長9900万円(1486万円)
●加藤陸美(73歳)総額8億6680万円 厚生省時代4億0668万円(8588万円)/社会福祉・医療事業
団副理事長・理事長(1826万円)/公害健康被害補償不服審議会会長1億6138万円/健康力つくり事業団・
全国国民年金福祉協会理事長7712万円(1363万円)

(カッコ内は退職金)ttp://www.janjan.jp/special/sagi/list.php
640デフォルトの名無しさん:2008/04/29(火) 16:16:45
コピペ君って馬鹿だな、まで読んだ。
641デフォルトの名無しさん:2008/04/29(火) 21:47:33
vb2005初心者です。
テキストファイルからデータを読み込むとき、
カンマで区切られているならInputで読めるところまで分かったのですが、
スペースで区切られているときはどうすればいいのか分かりません。
どうすればいいのか教えてください。
642デフォルトの名無しさん:2008/04/29(火) 21:49:31
そんな旧時代の遺物は忘れてTextFieldParser
643デフォルトの名無しさん:2008/04/29(火) 21:49:54
String.Split(" ")
644デフォルトの名無しさん:2008/04/29(火) 21:53:49
いまどきVBAでもInputなんて使わないぜ・・・
645210:2008/04/29(火) 23:30:13
VBA自体ちょっとね
646デフォルトの名無しさん:2008/04/29(火) 23:35:06
>>642,643,644
ありがとうございます!
早速挑戦します。
647デフォルトの名無しさん:2008/04/29(火) 23:40:10
ここにいる人はみんなマルチスレッドとかデリゲートとかわかるの?
648デフォルトの名無しさん:2008/04/29(火) 23:55:29
全員はそりゃ無理だろう
649210:2008/04/29(火) 23:56:58
なにもわかってないw
650デフォルトの名無しさん:2008/04/29(火) 23:57:18
・・・
651デフォルトの名無しさん:2008/04/30(水) 00:51:49
VB2005でClickOnceを利用してホームページスペースからユーザーにソフトを起動してほしいのですが、
実際に発行を行い、FTPに乗ったことを確認してPUBLISH.HTMの実行リンクをクリックしても
ソフトは起動せずXMLのソース?が文字列でブラウザーに表示されるだけなんですがなぜですか?

解決方法教えてください
652デフォルトの名無しさん:2008/04/30(水) 00:55:34

Microsoft Visual C++ Toolkit 2003

VCToolkitSetup.exe

size 32952488
sha1sum 956c81c3106b97042c4126b23c81885c4b5211f4

edonkey checksum
ed2k://|file|VCToolkitSetup.exe|32952488|c534888fa7605403dcb183d2d15282d1|/


ftp://195.252.112.9/programiranje/programski-jezici/VCToolkitSetup.exe
653デフォルトの名無しさん:2008/04/30(水) 00:57:17
これはなあに?
654デフォルトの名無しさん:2008/04/30(水) 08:32:18
>>641
右クリック→スニペットの挿入→ファイルシステム→区切られたテキストファイルの読み込み
655デフォルトの名無しさん:2008/04/30(水) 11:11:24
RichTextBoxでh抜きのURLにもリンクを貼るにはどうしたらいいですか
656デフォルトの名無しさん:2008/04/30(水) 11:13:58
h付け加えればいいよ
657デフォルトの名無しさん:2008/04/30(水) 11:41:47
付け加えないと無理ですか
658デフォルトの名無しさん:2008/04/30(水) 12:26:26
リッチテキストにそんな機能あったっけ?w
659デフォルトの名無しさん:2008/04/30(水) 13:25:26
リッチだからな
660210:2008/04/30(水) 19:12:17
リッチはリンク張ってくれるね、
ワードと機能は殆ど同じのように思える
661NAME IS NULL:2008/05/01(木) 17:08:41
「ハードウェアの取り外し」を画面から行おうと思っています。
ググってみたらAPIを使えば出来ることまではわかったのですが、
APIの関数のヘルプ的なものが全く見つかりません。
(しかもC言語のページしか見つからない)
MSDNにAPI関数のヘルプはないのでしょうか?
662デフォルトの名無しさん:2008/05/02(金) 00:53:57
String の Replaceメソッドですが、これが効くときと効かないとき
があるような感じなのですが、こういうことはあるものでしょうか?

ユニコード文字列ではない場合は置換してくれないということなの
かもしれないんですが、とくにエンコードは変更してはいないのですが、
同じ場面で以前に効いていたものが、最近効かなくなりました・・・

同じコントロール上の入力値が、エンコード指定していないと勝手に
任意のエンコードになったりしてるんでしょうか??
663デフォルトの名無しさん:2008/05/02(金) 01:05:47
実に日本語でおkと言いたくなる文章だな
とりあえずエンコーディングなんて関係ない
664デフォルトの名無しさん:2008/05/02(金) 01:11:05
>>661
Windows SDK

>>662
コード書いたほうが文章だらだら書くより回答もらいやすい
665デフォルトの名無しさん:2008/05/02(金) 01:26:41
>>663
>とりあえずエンコーディングなんて関係ない

そうですか、わかりました、もう少し調べてみます。
ただ一応ヘルプによるとユニコード文字列の場合にとある
ようでした。

>>664
該当箇所は
sInfo.Groups.Replace(tn.FullPath & "; ", "")
のような感じでした。
666デフォルトの名無しさん:2008/05/02(金) 01:37:24
代入しなおしてないと言うオチじゃなかろうな
667デフォルトの名無しさん:2008/05/02(金) 01:39:05
メソッド書かれても答えようがない・・・
Stringに何がセットされてるのかが重要なんだが・・・
668デフォルトの名無しさん:2008/05/02(金) 01:57:34
質問させて下さい。

Default.aspx上の「検索」ボタンが押されるとSqlCommandを使用して
次のデータをDataTableに取得し、DataTableの値をGridViewに表示
しようと思っていますがやり方がわかりません。参考になるサイト・もしくは
コードをご伝授下さい。お願いします。

【DataTable内でのカラム名】
1.EMPLOY_NUMBER
社員番号
2.EMPLOY_NAME
名前
3.REGIST_DATE
登録日時

【教えて頂きたい事】
1.GridView上のカラムとDataTable上でのカラムを紐付ける方法。
  →どうすればDataTataTable上のEMPLOY_NUMBERをGridView上の特定カラム<GV_EMPLOY_NUMBER>
   に紐付ける事が出来るのか。恐らくDataSource / DataMemberを使うだろうとは思います。
2.コード無いでGridViewにハイパーリンクを貼る方法。
  →GridView上の社員番号(<GV_EMPLOY_NUMBER>)がクリックされると特定のページにジャンプする。 
669デフォルトの名無しさん:2008/05/02(金) 02:02:21
>>668
ttp://homepage1.nifty.com/rucio/main/VBdotNet/Database/Database4.htm

ここ読んで判らなければまたおいで。
670デフォルトの名無しさん:2008/05/02(金) 02:12:43
>>669
ありがとうございます。
私の説明が足りませんでした。

やりたい事は、検索ボタンが押されたタイミングで、
ASP.netで使用するリスト用コントロール [ GridView ](DataGridViewでは無い。)
にDataTableより取得した値を吐き出し(出力し)尚且つそのうちの1カラムに
ハイパーリンクも同時に付けるという事をコード(VB.net)側でやりたいです。

1※DataTabelへのデータの取得
2※GridView.Row(i).Column(j).text = "hoge"
  として値の設定までは出来ています。
671デフォルトの名無しさん:2008/05/02(金) 03:45:39
>>666-667
お世話になります。

「代入しなおしてないと言うオチ」

これでした、以前やったときは代入してあったのに今回は
忘れてました><。大変ありがとうございました。
672デフォルトの名無しさん:2008/05/02(金) 14:13:21
>>651
クライアントに.netフレームワークはインストールされてる?
673670:2008/05/03(土) 03:31:27
自己解決しました。
674デフォルトの名無しさん:2008/05/03(土) 08:04:09
675デフォルトの名無しさん:2008/05/03(土) 08:05:07
>>651宛てね
676デフォルトの名無しさん:2008/05/03(土) 11:10:39
binにいろいろ出来るけど配布する時はあれ全部配布せんといかんのかね
interop.vbide.dllとか無くても動いてるみたいな気はするのだが
677デフォルトの名無しさん:2008/05/03(土) 20:32:24
コンパイル済みのvbのtimerの間隔を伸ばせるツールってあったと思うんですけど、
ぜひ、ツール名教えて下さい。お願いします。
678デフォルトの名無しさん:2008/05/03(土) 23:33:08
>>651
自己解決
鯖によっては使えないらしい
.htaccessで設定できるとこならいけそうです
679デフォルトの名無しさん:2008/05/03(土) 23:57:50
VBを覚えようとVisualBasic2008ExpressEditionをインストールしました。
単にVBSを書きたいのですが、エディタだけ開くことにはどうすればいいのでしょうか。

フォームは要らないんです。
680デフォルトの名無しさん:2008/05/04(日) 00:15:07
何か大きな勘違いをしていることだけはわかる
VBとVBSは違う言語だけどどっちがやりたいの?
681デフォルトの名無しさん:2008/05/04(日) 00:21:53
>>679
VB→VisualBasic2008Express
VBS→メモ帳
VBA→Microsoft Office

VBでフォーム無しアプリケーションを作りたい
→新しいプロジェクト作成でコンソールアプリケーションを洗濯
682デフォルトの名無しさん:2008/05/04(日) 00:23:52
>>680

やはり勘違いしていましたか・・・
VBを覚えようとVBScriptサンプル大全集という本を買ってきました。
さて、やるべとVisualBasic2008ExpressEditionをインストールしたのですが、
プロジェクトとして作成することしかできません。←この辺も勘違い可能性大。

とにかくエディタでVBを書きたいのです。
だけど、関数を途中まで書くと候補が出てくる機能は使いたいんですよね。
683デフォルトの名無しさん:2008/05/04(日) 00:24:13
ゴシゴシゴシ
684デフォルトの名無しさん:2008/05/04(日) 00:25:48
  /'           !   ━━┓┃┃
-‐'―ニ二二二二ニ>ヽ、    ┃   ━━━━━━━━
ァ   /,,ィ=-;;,,, , ,,_ ト-、 )    ┃               ┃┃┃
'   Y  ー==j 〈,,二,゙ !  )    。                  ┛
ゝ.  {、  - ,. ヾ "^ }  } ゚ 。
   )  ,. ‘-,,'   ≦ 三
ゞ, ∧ヾ  ゝ'゚       ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧         三 ==-
/ |ヽ  \-ァ,          ≧=- 。
  ! \  イレ,、         >三  。゚ ・ ゚
  |   >≦`Vヾ        ヾ ≧
  〉 ,く 。゚ /。・イハ 、、     `ミ 。 ゚ 。 ・
685デフォルトの名無しさん:2008/05/04(日) 00:28:33
>>680、681

何かいろいろ勘違いしているっぽい!!!

SolidWorksというCADソフトのAPI講習を受けてきました。
SolidWorksのAPIはVBで提供されているため、まずはVBを覚えなくてはと思い
VBScriptサンプル大全集という本を買いました。
すでにこの時点で間違っているのかも知れません。

この場合はどの本を買って、どの環境で勉強するべきなのでしょうか。
686685:2008/05/04(日) 00:30:10
質問するスレ自体が間違っている場合は誘導お願いいたします。
687デフォルトの名無しさん:2008/05/04(日) 00:33:49
>>686
ここかな?

SolidWorks/ソリッドワークス 2
http://science6.2ch.net/test/read.cgi/kikai/1188825676/
688デフォルトの名無しさん:2008/05/04(日) 00:35:28
COMみたいだからVBSでもVB.NETでもVBAでもできるとは思うけど
VB.NETでやるのはちょっと難しいよ
689デフォルトの名無しさん:2008/05/04(日) 00:41:19
>>687
SolidWorksそのものの質問ではなく、このソフトのAPIを利用するために
VBを勉強したいと考えています。

そのためにはどの言語(VBS?VBA?すでにこれが分かっていません。)を勉強しなくてはならなくて、
どんな環境で勉強するのが望ましいのでしょうか。
690デフォルトの名無しさん:2008/05/04(日) 00:44:35
>>682
何で生きてるの?
691デフォルトの名無しさん:2008/05/04(日) 00:46:01
>>689
SolidWorksのAPIをVBで使っている奴はこのスレには居ないだろうよ
692デフォルトの名無しさん:2008/05/04(日) 01:04:21
>>689
http://ja.wikipedia.org/wiki/Microsoft_Visual_Basic
http://ja.wikipedia.org/wiki/VBScript

とりあえず、API講習で教えてもらったor実習で使ったのと同じ
言語で始めれば良いんでね?

693デフォルトの名無しさん:2008/05/04(日) 01:18:42
>>690
この世に生を授かったためですかね。
2人の子供のためにも生き抜いて飯を食わしてあげなくてはなりません。

>>691
今はSolidWorksことはいいんです。
もちろん最終的にはSolidWorksを使用するのですが、今は単にVBの勉強がしたいと考えています。

>>692
VBSは違うみたいですね。
とりあえずVBと書いてある簡単そうな本を購入したのが失敗でした。

その講習会では関数(?)を途中まで入力すると、その関数の候補が出てきたり、
全部小文字で記入して改行すれば大文字になることでコーディングミスが発見できると言った環境で勉強したため、
同じ様な環境で勉強したいと考えました。
694デフォルトの名無しさん:2008/05/04(日) 01:37:38
その講習にもう一回参加して、使っている環境を教えてもらえよ
695デフォルトの名無しさん:2008/05/04(日) 02:17:38
その講習会の配布物にでも環境ぐらい書いてあるんじゃないの?普通。
696デフォルトの名無しさん:2008/05/04(日) 08:57:06
>>693
この場合Excel VBAがいいんでね?
すでにPCにはいってるはずだし、コンパイルいらんし

まず標準モジュールにコード書く
ワークシートにテキストボックスを貼り付け、
右クリック→マクロの登録
でコードをそれに割り付ける
するとそのテキストボックスをクリックすると、
コードが実行される

てな感じで、外部dllの制御など調べるときよくやってるよ
VBA覚えといて損無し
ただ何の言語にしても少し習熟しないと
APIたたくのはうまくいかないと思う
697デフォルトの名無しさん:2008/05/04(日) 11:40:43
>>693
VB6とかいうオチだったら笑える
698デフォルトの名無しさん:2008/05/04(日) 14:29:53
インターネットのあるページを10分毎にリロードするようなプログラムってどうしたら作れますか?
699デフォルトの名無しさん:2008/05/04(日) 14:50:05
その通り書けばいいよ
700698:2008/05/04(日) 16:19:14
>>699
その通りの書き方が分からなくて困っています。
リロードの仕方ってどうやるんですか?
701デフォルトの名無しさん:2008/05/04(日) 16:26:05
画面の外へ向けて打て
702デフォルトの名無しさん:2008/05/04(日) 16:40:41
>>701
ガンシューですね、わかります
703698:2008/05/04(日) 16:50:57
>>701
何を打つんですか?
704デフォルトの名無しさん:2008/05/04(日) 18:46:13
F5
705デフォルトの名無しさん:2008/05/04(日) 18:47:33
流れを断ち切ってすみません。
帳票を作成するプログラムを作っています。
印刷ダイアログや
印刷の進行状況を表すミニウインドウ(1/2とか出てくるやつ)
を画面中央に表示したいのですが、
どのようなコードを書けば良いのかご存知の方教えてください。
お願いいたします。
706デフォルトの名無しさん:2008/05/04(日) 19:00:31
大抵の場合Rキーに割り当てられている
707デフォルトの名無しさん:2008/05/04(日) 20:27:34
環境はVB2005です。
自分とはまったく関係ないところで、FireFoxが立ち上がっています。
それがアクティブになったときに表示中のURLを取得する方法はありませんか?
手詰まり状態です。
よろしくお願いします
708デフォルトの名無しさん:2008/05/04(日) 21:12:57
手詰まりって何やったんだよw
709デフォルトの名無しさん:2008/05/04(日) 21:13:44
>>707
立ち上がってるFireFoxのウィンドウハンドルくらいは取れるとこまでいったのか?
710デフォルトの名無しさん:2008/05/04(日) 21:36:26
それはいきました。
URL入力部分のハンドル取得で文字列とってきたらいいんでしょうね。

ただそれだと火狐のバージョンチェンジなんかに対応できないなと…

IEであればIEHTMLDOCUMEMTかなにかで取得できるらしいのですが、

火狐では諦めるしかないですか?

言葉足らずですいません
711デフォルトの名無しさん:2008/05/04(日) 22:08:38
>>709
そんなの出来るんですか?
どうやってやるのか教えてください。
712デフォルトの名無しさん:2008/05/04(日) 22:11:03
消防ばかりかよw
713 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄:2008/05/04(日) 22:19:39
    と消防がいっております。
714デフォルトの名無しさん:2008/05/05(月) 12:23:32
>>710
バージョンチェンジに対応できないってどういう意味?
その方法ならもう出来てるってこと?
他の部分なら変わらないって保障でもあるの?

もうなにが言いたいのかさっぱりわからん・・・
715デフォルトの名無しさん:2008/05/05(月) 13:18:37
上手く説明できないならソース貼れよ質問者さんw
716693:2008/05/06(火) 13:55:38
>>696

ExcelのVBAの本を買って勉強中です。
お忙しい中、親切にご回答いただきありがとうございます。
とても感謝しております。
717デフォルトの名無しさん:2008/05/07(水) 10:12:39
WindowsSDKをクイックチュートリアル無しで参照したい場合はどのようにすればよいのでしょうか?
718デフォルトの名無しさん:2008/05/07(水) 12:39:10
そんな『ムー』の読者投稿みたいな質問されても。。
719デフォルトの名無しさん:2008/05/07(水) 13:49:23
<foo("")> Public Interface hoge 見たいな構文見かけたんだけど
この < と > で括られてる <foo("")> ってなに?
720デフォルトの名無しさん:2008/05/07(水) 14:18:26
>>719
アトリビュート(属性)とかアノテーション(注釈)とか呼ばれてるもので、
クラスやメソッド、アセンブリのメタ情報につける追加情報。
JITやランタイム、コンパイラ、その他の実行基盤が読み取って使用する。
721デフォルトの名無しさん:2008/05/07(水) 15:03:38
thx
アトリビュートとかアノテーションあたりでぐぐってくる
722デフォルトの名無しさん:2008/05/07(水) 15:44:04
属性をいくつも使うと継続行だらけになってかっこ悪いな
VBは行志向のコーディングスタイルだから仕方ないけど
723デフォルトの名無しさん:2008/05/07(水) 16:36:15
VB2008(Standard)を使用しています。フォントについて質問です。

OS(Vista/XP)によってフォームのフォントを切り替えたいのですが、
VBのフォームに該当するシステムフォントはどこで取得できますか?

Drawing.SystemFonts.DefaultFontやControl.DefaultFontはVista、XPともに
MS UI Gothicでした。
Drawing.SystemFonts.MenuFontならばVistaの場合メイリオでしたが、
これはメニューのフォントですよね。

OSごとに切り替えてみえる方はどこから値を取得しているのでしょうか?
それともVistaの場合→メイリオ、XPの場合→MS UIゴシックと決め打ちしているのでしょうか?
724デフォルトの名無しさん:2008/05/07(水) 16:55:54
VB2005(Pro)でインスコせずに
USB等から起動させるアプリを作成しました。
Frameworkが入ってないPCでは動かないのですが、
Frameworkが入ってないことが分かったらFrameworkを
インスコさせることは可能でしょうか?
また、どうすれば可能か教えていただけませんか?
725デフォルトの名無しさん:2008/05/07(水) 17:14:45
>>723
SystemFonts.MessageBoxFont かな
726デフォルトの名無しさん:2008/05/07(水) 17:54:14
>>724
いっそのことアプリのインストーラ付けたほうが簡単じゃね
727デフォルトの名無しさん:2008/05/07(水) 18:25:43
A: 「金庫の中に鍵を入れてしまいました、その鍵で金庫を開けたいのです!」
B: 「他の鍵を使えよ」
728デフォルトの名無しさん:2008/05/08(木) 00:23:17
A「自作映画をDVDに焼きました。Playerが無いお宅では見れないのですがどうすればいいですか?
B「Playerも一緒に配ればいいんじゃね
729デフォルトの名無しさん:2008/05/08(木) 00:25:11
コピペ君って馬鹿だな、まで読んだ。
730デフォルトの名無しさん:2008/05/08(木) 00:58:32
>>729
そんなのどこにも書いてませんよ?
731デフォルトの名無しさん:2008/05/08(木) 02:31:58
>>724
>Frameworkが入ってないことが分かったらFrameworkを
>インスコさせることは可能でしょうか?

それを実現させるのはアプリケーションであることは分かるな?
そして、そのアプリケーションは当然Framework無しで動くものでなければならない。

どうしてもインストーラを作成したくないのならばCでネイティブアプリでも作っとけ。
732デフォルトの名無しさん:2008/05/08(木) 09:53:05
質問があります。

現在、VB.net2003でクリスタルレポートを使用して帳票を作成しているのですが、
プログラムからテキストオブジェクトに値を入れその値をテキストオブジェクト内で縦方向に中央揃を行いたいのです。
横方向での中央揃はできるのですが縦方向がそうにもできないのでどなたかご助力のお願いします。
733723:2008/05/08(木) 11:30:37
>>725
ありがとうございます。
MessageBoxFontの値を使用したいと思います。
734デフォルトの名無しさん:2008/05/09(金) 09:28:34
VS2005Proを使ってます。どういうわけか、あるときから「ツールボックス」
内の各コントロールのアイコンがすべて同じものになってしまいました。
(そのアイコンは背景が黄緑でキューブ積み木が飛んでいくような絵です)
これを元の状態に戻すことができるでしょうか?
よろしくお願いします。
735デフォルトの名無しさん:2008/05/09(金) 10:12:56
リソース不足が原因かと。
コンベンショナルメモリーの空きを増やしましょう。
736デフォルトの名無しさん:2008/05/09(金) 11:46:29
>>735
ご指導ありがとうございます!
>コンベンショナルメモリー
そうだったのですか!!、これについて調べてみます。
DOSの頃にしばしばやっていたことがWindowsでもあったとは・・・
もう忘れてしまったので、ググッてみます、ありがとうございました。
737デフォルトの名無しさん:2008/05/09(金) 11:54:45
>>736
いや、ごめんなさい。嘘ですm(_ _)m

ツールボックス上で右クリック
ツールボックスのリセット
で如何でしょう。
738デフォルトの名無しさん:2008/05/09(金) 15:11:20
for each  みたいな形でenum xxxで列挙したxxxの全てを処理するって出来ない?
739デフォルトの名無しさん:2008/05/09(金) 15:55:33
enum xxxで列挙したxxxの部分ってコレクションじゃなくて型名だぞ?
For iでメンバのインデックス使って回せないか?
740738:2008/05/09(金) 16:31:59
今はxxxの配列作ってそれにメンバを入れてるんだけど
この一手間がスマートじゃないっつーか面倒くさい
741デフォルトの名無しさん:2008/05/09(金) 17:08:51
Enum.GetValues とエスパー
742738:2008/05/09(金) 17:27:36
おー、これこそ求めていたもの
For Each x As xxx In [Enum].GetValues(GetType(xxx))

Next
743デフォルトの名無しさん:2008/05/09(金) 18:37:28
>>737
>ツールボックスのリセット
このメニュー確かにありました!!
ただこれをするとネイティブでないコントロールが消えてしまう
とのことなので作業の区切り目の頃合を図ってやってみます。
貴重なご指導誠にありがとうございました!
744デフォルトの名無しさん:2008/05/10(土) 22:55:50
vb.net(2003)で、
dllファイルの中に埋め込まれたファイルってのがあるみたいなんですが、
それをすべて元のファイルとして取り出す方法ってありますか?
745デフォルトの名無しさん:2008/05/11(日) 11:11:31
>>744
Assembly.GetManifestResourceStream
746デフォルトの名無しさん:2008/05/11(日) 15:04:12
>>745
ありがとうございます。試してみます。
747デフォルトの名無しさん:2008/05/11(日) 22:32:32
Visual Stdio で、カーソル下の単語を検索するコマンドってありますか?
普通にF3を押下するだけだと、直近の検索結果で検索を始めてしまうのです。
748デフォルトの名無しさん:2008/05/11(日) 23:35:55
選択するかキーワード中にカレットがある状態でCtrl+F
749デフォルトの名無しさん:2008/05/12(月) 19:42:11
>>747

Visual Stdio にはそのような物はない!Visual Stdio にはなw
750デフォルトの名無しさん:2008/05/12(月) 19:47:50
>>748が正解
751デフォルトの名無しさん:2008/05/12(月) 22:41:27
アプリの起動時間について、Windowsアプリ(VB.net)よりASP.netでブラウザアクセス
した方が、全然速い気がするのはオレだけ?

Windowsアプリだと各クライアントマシンが最初にアプリを呼び出す際にコンパイル
が掛かる(その為に時間が掛かる)が、ASP.netだとサーバ側で既にコンパイルがされ
ている状態(最初に別のユーザよりアクセスがされたタイミングで)だから速いと
勝手に解釈しているのですが、オレにの認識は正しいでしょうか?
752デフォルトの名無しさん:2008/05/12(月) 23:48:20
>>751
もう一回アーキテクチャから読み直したらどうだ?
753デフォルトの名無しさん:2008/05/13(火) 00:26:29
>>752
わかるなら教えてやれよ、俺も知りたい
754デフォルトの名無しさん:2008/05/13(火) 07:56:47
IDでないっていいよねw
755デフォルトの名無しさん:2008/05/13(火) 10:53:59
わっふるわっふる
756デフォルトの名無しさん:2008/05/13(火) 13:08:39
まずコンパイルの意味が分かっていない。
VB.NETはインタープリタ型ではない。

>>751は感覚的には惜しい。
まあそんな印象でいいんでないの?
757デフォルトの名無しさん:2008/05/13(火) 15:41:16
Windows Formsの描画よりブラウザの描画のほうがめちゃくちゃ速いって可能性も考えられる。
758デフォルトの名無しさん:2008/05/13(火) 18:39:21
>>757
おまえも勉強し直した方が・・・
759デフォルトの名無しさん:2008/05/13(火) 20:55:44
>>756
> >>751は感覚的には惜しい。
> まあそんな印象でいいんでないの?
分かった振りしたレスは良いから、
ちゃんとした解答をしろ
760デフォルトの名無しさん:2008/05/13(火) 22:19:34
>>759
だから教えて欲しいならそれなりの言い方をしろって
761デフォルトの名無しさん:2008/05/13(火) 23:16:18
>>760
結局わからないんだね
762デフォルトの名無しさん:2008/05/14(水) 01:19:30
>>760
> >>759
> だから教えて欲しいならそれなりの言い方をしろって
じゃ、お願いですからあなたの叡智ある解答をお願い致します。



763デフォルトの名無しさん:2008/05/14(水) 08:27:14
>761ではないけど俺も知りたい

ASP.NETが早いように思える理由?
・プログラムがロードされている
・サーバ/ローカル双方でそれぞれキャッシュされる

こんな感じだと思うのだけど、どうだろう。
764デフォルトの名無しさん:2008/05/14(水) 10:51:50
VB2008で、アプリケーションの種類を「Windows フォーム アプリケーション」、
スタートアップオブジェクトを独自の「Sub Main」とし、
フォームを持たないアプリケーションを作成しています。

この場合、自アプリケーションのウィンドウハンドルを取得するにはどのようにすればよいのでしょうか?
お分かりになる方、お教えください。

(見当違いかもしれませんが、)
Process.GetCurrentProcess.Handleや
Process.GetCurrentProcess.MainWindowHandleの値を調べましたが
Spy++で確認した値と異なっていました。
765デフォルトの名無しさん:2008/05/14(水) 10:58:00
ウィンドウがなかったらウィンドウハンドルがないのは当然だが。
message-only window でも欲しいのか?
766デフォルトの名無しさん:2008/05/14(水) 15:59:35
>>756
インタープリタという言葉が出てくる時点で.NETFrameworkが分かっていない。
だから>>759のような突込みが入る
767デフォルトの名無しさん:2008/05/14(水) 17:58:41
>>764
フォーム = ウィンドウ
768デフォルトの名無しさん:2008/05/14(水) 22:04:39
ListBoxの項目を終了時に保存しておいて、
次回の起動時に復元したいです。

TextBoxの場合はApplicationSettingsの
PropertyBindingのTextを使ってできるのですが、
ListBoxの場合はどうすればいいのでしょうか?
769デフォルトの名無しさん:2008/05/15(木) 17:22:06
↓のような感じでリードオンリーのテキストボックスにログ表示のように
Messageを表示しているのですが、テキストボックスがフォーカスを
得ると上手くメッセージが表示出来ません。(入力待ちになるため)
当然といえば当然だと思いますが、コピー操作等はしたいため、何か良い
方法はないでしょうか。

Protected Overrides Sub WndProc(ByRef m As Message)
        Dim MSGwParam As String
        Dim MSGlParam As String
        MyBase.WndProc(m)
        If m.Msg = WM_KEYDOWN Then
            Select Case m.WParam.ToInt32
                Case 49
                    MSGwParam = m.WParam.ToString
                    MSGlParam = Convert.ToString(m.LParam.ToInt32, 16)
                    Me.TextBox1.AppendText("Key = [1] WM_KEYDOWN :wParam = " & MSGwParam & " " & "lParam = " & MSGlParam & vbCrLf)
                Case 50
                    MSGwParam = m.WParam.ToString
                    MSGlParam = Convert.ToString(m.LParam.ToInt32, 16)
                    Me.TextBox1.AppendText("Key = [2] WM_KEYDOWN :wParam = " & MSGwParam & " " & "lParam = " & MSGlParam & vbCrLf)
            End Select
    End If
End Sub

770デフォルトの名無しさん:2008/05/15(木) 17:29:18
フォーカスがいかないようにすればいい
771デフォルトの名無しさん:2008/05/15(木) 17:34:40
>>769
AppendTextしないで変数にもっておいたらだめ?
任意のタイミングでTextBox1.Textにログを代入するとか
772デフォルトの名無しさん:2008/05/15(木) 17:35:34
>>770
それじゃコピー範囲の指定とかいろんな面で不都合が起こりそうだが
773デフォルトの名無しさん:2008/05/16(金) 00:15:39
>>769
そもそもフォーカスもってても普通にAppendTextできると思うんだけど。
いや今確認したから間違いなくそのはず。
774769:2008/05/16(金) 07:43:22
WndProcでフォームに入力されたキーを拾っているため
テキストボックスでは拾えないという事でしょうか?
775デフォルトの名無しさん:2008/05/16(金) 18:52:44
>>773
テキストボックスにWM_KEYDOWNが流れてしまい、
769のフォームのWndProcにWM_KEYDOWNがやってこないので、
どうしたらいいのか、ということだと思う。
776デフォルトの名無しさん:2008/05/16(金) 20:42:52
まあ769は質問の意図をもっと明確に表現すべきだな。

こういう人に限って自分が「エスパー召喚質問」をしてる自覚がなかったりするんだけど、
どう好意的に見ても意味不明だし、それが俺の読解力のせいとも思えないんだよね。
777デフォルトの名無しさん:2008/05/17(土) 12:59:22
誰にでも分かるように要点絞って質問出来るなら
こんな所で質問しないだろjk
778デフォルトの名無しさん:2008/05/17(土) 13:07:11
お前馬鹿だろ
こんなところだろうがどんなところだろうが、
質問内容が正確に相手に伝わらない限り何も始まりようがないと思うが。
779デフォルトの名無しさん:2008/05/17(土) 17:11:07
いま、>>769にテレパシーで回答送ったよ
780デフォルトの名無しさん:2008/05/17(土) 20:20:08
VB2008では
ビルドごとにビルド番号を自動インクリメントすることはできない?
781デフォルトの名無しさん:2008/05/18(日) 01:30:17
テレパスでないのでパス
782デフォルトの名無しさん:2008/05/18(日) 14:45:28
>>780はないのですか? ちなみにExpressです
783デフォルトの名無しさん:2008/05/19(月) 19:31:20
>>780事故解決した
784769:2008/05/20(火) 11:43:13
ttp://msdn.microsoft.com/ja-jp/library/ms229644.aspx
↑を参考に、WndProcをオーバーライドしたカスタムテキストボックスを
作ることで目的は達成出来ました。お騒がせしました。
785デフォルトの名無しさん:2008/05/20(火) 16:50:31
ドライブ名(C:\)から、
そのドライブがUSB接続されているのかどうかを判断したいんですが方法が見つかりません。
WMIだと物理側の情報はとれるけど、それが論理ドライブのどれになるのか
結びつけることができませんでした。

786デフォルトの名無しさん:2008/05/20(火) 21:32:23
>>785
なんか難しそう。
とりあえずDDKでもダウンロードしてサンプルコードあさるとか。
787デフォルトの名無しさん:2008/05/20(火) 21:35:17
PublicでSharedな変数ってどういう用途で使うのが一般的ですか?

他人が作ったローカルのみで動くシングルスレッドのアプリを保守することになったのですが、
大量に出てきて戸惑っています。
今まで触ったソースにはほとんどstaticな変数って使わなかったので
何か意味があるのか、それとも単純に設計が悪いだけなのかが判断しにくいです。
788デフォルトの名無しさん:2008/05/20(火) 21:55:12
普通はあまり使わないと思う。
主な用途はシングルトンパターン的なものを作るときか?

まあたぶん設計が悪いんだろう。
VB.NETになって標準モジュールを使うなって言われたから
意味もわからずクラスフィールドやクラスメソッドにしてる可能性が高い気がする。
789デフォルトの名無しさん:2008/05/20(火) 22:48:37
my.settingsの保存ファイルuser.configを任意の指定の場所で運用させる方法を教えて下さい
790787:2008/05/21(水) 18:58:36
>>788
全体的に見た感じではクラスをモジュールと同じと考えてるようなので
設計ミスだと思います。

自分が無知なだけだったらどうしようと思ってましたが、
根本的に作りなおすことにします。
ありがとうございます。
791デフォルトの名無しさん:2008/05/21(水) 19:05:15
hashtableをxmlにシリアライズする方法ないですか?
直にxmlシリアライズ出来なくてもhashtableを保存してそのまま復帰させる方法であれば良いです
792デフォルトの名無しさん:2008/05/21(水) 20:03:05
>>791
List(OF String)なんかのXMLシリアライズできる型に一旦変換すればよいかと。
793デフォルトの名無しさん:2008/05/21(水) 20:48:54
>>792
Hashtableの中身はstringに限らないんです。
やりたいことはmy.settings内の設定値をxmlに出力したいので
794デフォルトの名無しさん:2008/05/21(水) 21:27:51
>>793
設定用クラス作ってXMLに書き出せば?
795デフォルトの名無しさん:2008/05/21(水) 21:33:03
やっぱりそれしかないですかね?
あくまでmy.settingsを元にしたかったんですよ
796デフォルトの名無しさん:2008/05/21(水) 21:44:56
ミジンコですいません。

Visual Basic 2008 Exp
で作ったソフト起動するには

.NET Frameworkのバージョンいくつ以上が必要か教えて下さい。
あと他に何か必須なものがあったらお願いします。
797デフォルトの名無しさん:2008/05/21(水) 22:11:03
>>796
最低限2
基本は3.5
798デフォルトの名無しさん:2008/05/22(木) 07:33:48
>>795
ん??
>>791>>793>>795でやりたいことがみんな違ってますね。
hashtableやxmlがどうのこうのじゃなくて、my.settingsを
元に戻したいって事ですか。

それなら、user.configをバックアップしておいて、元に戻したいときに
上書き&My.Settings.Reload()で元通りになるかと。
799798:2008/05/22(木) 07:47:35
あ、元通りにしたいんじゃなくて「元にしたい」か;;;
勘違い。

でも、ファイルを開いてみれば分かるけど、設定はすでにXMLで
保存されているから>>793の事はすでに実現されていますよ。
設定を変更したいだけなら、XMLの操作は必要ないですし・・・
(その為のsettingsクラスですから)。
800デフォルトの名無しさん:2008/05/22(木) 19:44:08
>>798
@my.settingsの値を任意の場所に保存→復帰をしたい。
Aそのためのアプローチとして設定値を全部HashTableにぶち込んでそれをシリアライズして保存しようとした。
Bしかし、hashtableはシリアライズ不可だった。

上のようになります。

>それなら、user.configをバックアップしておいて、元に戻したいときに
>上書き&My.Settings.Reload()で元通りになるかと。

そのアプローチも考えましたけど、保存先の取得法がわからなかったのと、
なによりexeと別の場所に保存することが嫌だったので断念しました

あとこれはもう妥協したんですけど、
settingsクラスは(というか設定クラスをシリアライズするアプローチは)難読化すると動作しなくなるので
一つのHashtableに設定値を放り込んでそれをシリアライズしたらいいかと考えたんですが駄目でした
setting.valueでなく、setting("value")で出来ればよかったんだけど・・・
あとiniファイルも考えたけど、sizeオブジェクトとか復帰させれなかったので
801デフォルトの名無しさん:2008/05/22(木) 21:25:07
>>800
HashtableやDictionaryはそのままだとシリアライズできないのはご存じでしょうか。
List型を使用すればご希望のことが可能かと。
ArrayListでもいいかな。でも使ったことがないや。
802デフォルトの名無しさん:2008/05/22(木) 21:35:43
>>801
エラー出たので調べて、出来ないことが判明したので
既知の代替手法がないかと思って質問しました。
key->valueで取りたいのでlistでは無理ですよね
803デフォルトの名無しさん:2008/05/22(木) 21:44:28
シリアライズん時だけ載せかえりゃいいだろ
DictionaryEntryのコレクション
804デフォルトの名無しさん:2008/05/23(金) 08:48:39
>>800
SettingsPropertyがシリアライズできないのでどうも無理っぽいですね。
素直にuser.configをXmlDocumentとして読み込んで操作する方がいいんじゃないかな。

DOBON.NETのところにファイルパスの取得コードがあります。
http://dobon.net/vb/dotnet/programing/mysettings.html
805デフォルトの名無しさん:2008/05/23(金) 11:58:13
みんな逆コンパイル防止のために.exe圧縮したりしてますか?
なんか、.NETはフリーソフトでソース丸見えみたいなんですが・・・

どなたかいい圧縮ソフト教えて下さい
806デフォルトの名無しさん:2008/05/23(金) 12:39:06
難読化でぐぐれ
807デフォルトの名無しさん:2008/05/23(金) 18:31:43
string配列の上限をRedim Preserveで拡張したところ、当たり前ですが
新しい配列はNothingになってます。
このNothingをまとめて"0"にできないでしょうか。
データベースに移すので、Nothingは避けたいのです。

For〜Nextを使えば実現しますが、そうではなく
ForEachメソッドでスマートに決めたいのです。
808デフォルトの名無しさん:2008/05/23(金) 19:53:45
そもそもForEachメソッドてList(Of T)にしか存在しないが。自作メソッドなのか?
809デフォルトの名無しさん:2008/05/23(金) 20:51:56
回答ありがとうございます。

Dim strData() as Stringと宣言しておくと、よくある候補に出てきたので
使えないかな、と思いまして。
810デフォルトの名無しさん:2008/05/24(土) 00:52:12
使えるだろ、普通に
811デフォルトの名無しさん:2008/05/24(土) 02:13:12
普通の使い方を具体例で示してくれると助かるのだが。
812デフォルトの名無しさん:2008/05/24(土) 20:21:30
ttp://
tttp://
ttp://
 ttp://
ttp://
http://

上を下に置換するコードを教えて下さい。

http://
thttp://
http://
 http://
http://
http://
813デフォルトの名無しさん:2008/05/24(土) 20:47:36
それだけでは条件がまったく足りないのでコードを示すことはできない
頑張って正規表現考えて置換すれ
814デフォルトの名無しさん:2008/05/24(土) 20:48:51
コードも書かずに○投げする奴ってなんなの?
815デフォルトの名無しさん:2008/05/24(土) 20:54:16
仕様として落とすなら
「対象文字列中の"http://"を除く"ttp://"を、"http://"に置換する。」

これの正規表現及び、その使用法を教えて下さい。
816デフォルトの名無しさん:2008/05/24(土) 20:57:54
"ttp://"を"http://"に置換したあとに"hhttp://"を"http://"に置換したらダメなのか?
817デフォルトの名無しさん:2008/05/24(土) 21:01:43
ありかとは思います。
ただ、大きい文字列に対して処理したときに2回より1回のが早かろうと思って、一発で出来る方法があるなら知りたかったです。

Dim regex As Regex = New Regex("[^h]?ttp://")
Dim str As String = regex.Replace(Text, "http://")
これだと下みたいになって6が変なので
ttp:// 1
tttp:// 2
ttp:// 3
 ttp:// 4
ttp:// 5
http:// 6
------------------------------------------
http:// 1
http:// 2
http:// 3
http:// 4
http:// 5
hhttp:// 6
818デフォルトの名無しさん:2008/05/24(土) 21:02:14
いや、違うな、「あ」とかも消えてるや・・・
819デフォルトの名無しさん:2008/05/24(土) 21:11:33

Dim str As String = Text.Replace("ttp://", "http://").Replace("hhttp://", "http://")

とりあえず、上でいきます。
あと、リッチテキストボックスで、貼り付け処理のイベントは取れないでしょうか?

貼り付け処理をするときに、貼り付ける文字列に対して上の処理を行いたいのですが
820デフォルトの名無しさん:2008/05/24(土) 21:15:40
それだと元々hhttpだったのまでhttpになっちゃうけどなー
WM_PASTE
821デフォルトの名無しさん:2008/05/24(土) 21:24:00
>>820
ならないよw

input : hhttp
temp : hhhttp
output : hhttp
822デフォルトの名無しさん:2008/05/24(土) 21:25:16
>>820
メッセージフックしろ、と?
それしかないですかね
823デフォルトの名無しさん:2008/05/24(土) 21:30:48
>>821
ごめん 違うパターンが頭を占めてた

フックて
クラス派生させてWndProcオーバーライドするだけじゃん
824デフォルトの名無しさん:2008/05/24(土) 21:36:50
試してみてるけど、今メッセージフックって楽に出来るんですね
ただ、ペーストイベント上手く拾えてないですけど
825デフォルトの名無しさん:2008/05/24(土) 21:40:12

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_CUT As Integer = &H300 'カット(P840)
Const WM_COPY As Integer = &H301 'コピー(P837)
Const WM_PASTE As Integer = &H302 'ペースト(P876)

Select Case m.Msg
Case WM_CUT
Debug.Print(m.WParam)
Case WM_COPY
Debug.Print(m.WParam)
Case WM_PASTE
Debug.Print(m.WParam)
End Select

MyBase.WndProc(m)
End Sub

上手く拾ってくれないのは、どこ間違ってますか?
826デフォルトの名無しさん:2008/05/24(土) 22:16:09
richtextbox ではWM_PASTE こない・・・?
827デフォルトの名無しさん:2008/05/24(土) 22:21:19
RichEditだとWM_PASTE来ないらしい
ttp://m--takahashi.com/bbs/pastlog/10100/10079.html
828デフォルトの名無しさん:2008/05/24(土) 22:36:52
CreateRichEditOleCallback の使い方がわからない
829デフォルトの名無しさん:2008/05/24(土) 23:08:09
OverridesしてIRichEditOleCallbackの自前実装クラスのインスタンスを返すの
830デフォルトの名無しさん:2008/05/24(土) 23:10:59

Dim RichEditOleCallback As Object = Me.CreateRichEditOleCallback

こいつただのオブジェクトで、煮ても焼いても食えない状況です
831デフォルトの名無しさん:2008/05/25(日) 01:13:54
tabcontrolのタブ上にボタンを配置するにはどうしたらいいですか
832デフォルトの名無しさん:2008/05/25(日) 01:34:38
オーナードローだが甚だ面倒なのでさっさとWPFに移っちゃいなよ
833デフォルトの名無しさん:2008/05/25(日) 10:05:44
ひょっとしてTabAppearance.Buttonsのことかな?
834デフォルトの名無しさん:2008/05/25(日) 11:43:03
超初心者です。二次元配列(例えば配列名pref)を宣言する際、

1  ○○県
2  ××府
3  △△県
…  …

のように1列目と2列目のデータ型が異なる場合には
Dim pref As *** = {}の***に何を指定すればいいのでしょうか?
835デフォルトの名無しさん:2008/05/25(日) 11:48:10
二次元配列を使わないのがベスト
NoとPrefectureの2つのプロパティを持ったクラスの配列とかDataTableにする
836デフォルトの名無しさん:2008/05/25(日) 13:15:04
Dim pref As Object
837デフォルトの名無しさん:2008/05/25(日) 17:17:20
WebBrowserコントロールで、現在のページから
GoBackでの戻り先が存在するか、またGoForwardでの進み先が存在するかを判断するにはどうしたらよいですか?
「戻る」「進む」ボタンを実装したいです。
838デフォルトの名無しさん:2008/05/25(日) 17:39:07
CanGoBackとかあるだろ
839デフォルトの名無しさん:2008/05/25(日) 17:46:44
ありがとうございました。
840デフォルトの名無しさん:2008/05/25(日) 19:09:00
例えば、ListBoxにディレクトリ構成を表示させるとして・・

ListBox1.DataSource = System.IO.Directory.GetFiles("C:/", "*.jpg")

こんな感じにしたんですが、表示されるとき、ファイル名ではなく
そのファイルまでのアドレスが表示されてしまいます。
(C:/test1.jpgみたいに)

ファイル名だけ(test1もしくはtest1.jpg)表示させるようにするにはどうすればよいでしょうかお願い致します。
841デフォルトの名無しさん:2008/05/25(日) 19:28:27
System.IO.Pathクラスで変換
842デフォルトの名無しさん:2008/05/25(日) 20:30:34
>>834
俺なら構造体の配列かな
843デフォルトの名無しさん:2008/05/26(月) 01:32:48
初歩的なことで申し訳ありません。
MSDNのクラスライブラリでBoolean構造体を見てみると

>スレッド セーフ
>この型のすべてのメンバはスレッド セーフです。インスタンスの状態を変更するように見えるメンバは、
>実際には新しい値を使用して初期化された新しいインスタンスを返します。他の型と同じように、
>確実なスレッド セーフを実現するには、この型のインスタンスを含む共有変数の読み取りと書き込みを
>ロックによって保護する必要があります。

この表記が今一よく分かりません。
スレッドセーフなんだけど、確実なスレッドセーフじゃないから排他制御の必要がある???
素直に読めば排他制御をしなさいって事なんでしょうけど、それなら最初の1文はどういう事なのかな。

これが構造体とクラスの違いって事なんですかね・・・プログラムの基本を勉強していないので、
今一良く飲み込めません。
844デフォルトの名無しさん:2008/05/26(月) 01:38:57
共有変数の場合ってことじゃね
845デフォルトの名無しさん:2008/05/26(月) 01:58:47
つうか、MSDNの珍訳を理解しようとする努力が涙ぐましい
俺は諦めた
846デフォルトの名無しさん:2008/05/26(月) 05:48:38
MSDNはわざと分かり難くしてるんだと思う
847デフォルトの名無しさん:2008/05/26(月) 16:01:52
エクスプローラ上でファイルをドラッグアンドドロップした
場合に、確認メッセージを出したいんですが、何か良い実装方法は
無いでしょうか。
848デフォルトの名無しさん:2008/05/26(月) 16:19:03
それは自分のアプリからってんじゃなくてエクスプローラ間の操作のことか?
なら無理と考えていいよ
849デフォルトの名無しさん:2008/05/26(月) 16:39:57
>>848
エクスプローラ上で、です。
グローバルフックとかで何とかならないかと思って
色々ググってみたんですが、無理そうですね。
あきらめます。有り難う御座いました。
850Sql Server大嫌い:2008/05/26(月) 21:10:42
Sql Serverに対してパラメータクエリを発行する方法について質問させてください。
(かなり困ってます。。。)

(ちょっと古いと思われるかもしれませんが)
現在DataAdapterをにパラメータ(@ or ? or :)を使用してSQL文を作成し
Sql Server2005に対してクエリを発行し抽出結果をDataTableに格納しようとしているのですが
<DataTable.Fille(DataTable)>

パラメータを使用して実行する方法が分かりません。
Oracleの場合だと普通に「@」をパラメータにつけて
Command.AddParameter("@hoge_param",char,"hogehoge")
で値を取得出来ていたのですがSqlServerに対しては出来ません。

どうすればSql Server2005に対してVB.net(VB2003)からパラメータクエリを実行させることが出来るか
コードを教えて下さい。

※パラメータクエリを使わずに直接文字列をSQL文と連結すると正常にDataTableにデータの
取得が出来る事は確認しています。

【環境】
・VS2003
・VB.net(ASP.net)
・Windows Server 2003
・Sql Server2005


851デフォルトの名無しさん:2008/05/26(月) 21:17:38
動的にSQL分組み立てたらいいじゃん
852デフォルトの名無しさん:2008/05/26(月) 21:38:21
>>851
Sql インジェクション(クロスサイトスクリプティング)対策に
どうしてもパラメータクエリを使いたいのです。

Oracleなら出来るのですがSql Serverに対してやる方法が分かりません。
853デフォルトの名無しさん:2008/05/26(月) 21:41:16
自前でエスケープすればいいだろ
854デフォルトの名無しさん:2008/05/26(月) 21:45:20
できませんとだけ言われても困るし
標準クラスライブラリのADO.NET系クラスにAddParameterなんてメソッドないし

取りあえず
ttp://www.google.com/search?num=20&hl=ja&q=SqlCommand+%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF&lr=lang_ja
855851:2008/05/26(月) 21:55:03
>>853 >>854
自前でやりたく無いんです。
Oracleに出来るのにSql Serverではなぜできないのでしょうか?

ぐぐっても見つからないんですよね。
856デフォルトの名無しさん:2008/05/26(月) 22:07:49
わがままだなあ
機能がない場合、自前でするしかないんだぞ
857デフォルトの名無しさん:2008/05/26(月) 22:10:47
>>856
やっぱりSql Serverにはパラメータクエリは使えないんですかね?
しゃーないので古典的にVBf.net(コード)で組み立てて実行します。

※でもでもでも、知ってる人がいたら教えてください。
(明日のAM3:00位まではこっそりこのスレを除かせていただきます。)
858デフォルトの名無しさん:2008/05/26(月) 23:47:08
出来ないはずはないのだが。ドライバはなに使ってるんだ?
こんな感じだぞ。
categoriesAdapter.SelectCommand.Parameters.Add(
    "@CategoryName", SqlDbType.VarChar, 80).Value = "toasters";
859デフォルトの名無しさん:2008/05/26(月) 23:52:42
>>857
SQLServerにパラメータクエリ投げるとか、VB6以来だなw
懐かしいw
860デフォルトの名無しさん:2008/05/27(火) 00:16:07
普通はadapterの生成のときにGUIで追加するからね
861デフォルトの名無しさん:2008/05/27(火) 00:24:42
>>858
多分それでいけると思います。
categoriesAdapter.SelectCommand.Parameters.Add("@CategoryName",SqlDbType.VarChar,80)
「80」の部分に値をセットすると勘違いしてました。。。
ありがとうございます。

>>859 >>860
面白いことに、今時VS2003で開発をしなくちゃならなくなっちゃたtんですよね。
VS2005ならTableAdapterとか色々使えるんだけど(無駄なコードが色々と生成されてしまいはするけど)

皆さんありがとうございました^^;
862デフォルトの名無しさん:2008/05/27(火) 00:25:20
>>843
俺はこう理解している。自信はないけど。

Boolean型の変数xがあったとして、
x = x.Hoge(...)
のようなことをやるときに、
適切に保護すれば、次の2つのどちらかになることが保証できる。
1. Hogeが成功し、xが新しい値に書き変わった。
2. Hogeが失敗し、xは以前の値のまま。
保護しないと、それに加え次の状態になることがある。
3. Hogeが成功したが、xが古い値のままである。

Hogeが成功して終わっても、
戻り値が代入される瞬間まではxに古い値が入ったまま。
もし、そのときに外部から非同期例外が起こるとそういうことがあり得るはず。
それが問題になるならロックして保護しろということだと思う。
863デフォルトの名無しさん:2008/05/27(火) 15:35:52
特定ドライブのCDトレイをOPENすることはできるのでしょうか?
APIのmciSendStringを使用するとOPENはできるのですが、
ドライブを指定しないため、CDドライブが2つあると
ドライブ名早い方のドライブが開いてしまいました。
864デフォルトの名無しさん:2008/05/27(火) 18:25:27
webbrowser で再生中の動画3gpとかをプログラムから停止する方法を教えて下さい
865デフォルトの名無しさん:2008/05/27(火) 18:57:48
事故解決

For Each obj As HtmlElement In WebBrowserEx.Document.Body.GetElementsByTagName("EMBED")
obj.DomElement.stop()
Next
For Each obj As HtmlElement In WebBrowserEx.Document.Body.GetElementsByTagName("OBJECT")
obj.DomElement.stop()
Next
866ami:2008/05/27(火) 20:02:55
Using parser As New TextFieldParser("c:\nipgp1.txt", _
System.Text.Encoding.GetEncoding("Shift_JIS"))

parser.TextFieldType = FieldType.Delimited
parser.SetDelimiters(",") ' 区切り文字はコンマ

While Not parser.EndOfData
Dim row As String() = parser.ReadFields() ' 1行読み込み

For Each field As String In row
field = field.Replace(vbCrLf, "CRLF") ' 改行をnで表示
field = field.Replace(Global.Microsoft.VisualBasic.ChrW(13) &_ _ Global.Microsoft.VisualBasic.ChrW(10), "CCCCC")
field = field.Replace(vbLf, "LF") ' LFをnで表示
field = field.Replace(vbCr, "CR") ' CRをnで表示
field = field.Replace(" ", "_") ' 空白を_で表示
Console.Write(field + vbTab) ' TAB区切りで出力
CSV_OutPut(field + ",")

Next
Console.WriteLine()

End While

今VB2005を使用して、CSVファイルの読み書きをしております。
そこでまず読み込みの部分で上記のようなコーディングをして
いるのですが、改行コードを認識してくれません。
ちなみにテキストは
あああ,あああ,あああCR+LF
あああ,あああ,あああCR+LF
のような形式になっております。
アドバイスの程よろしくおねがいします
867デフォルトの名無しさん:2008/05/27(火) 20:14:38
>>866
ReadFieldsが改行の直前までしか読み込まないからじゃない?
868デフォルトの名無しさん:2008/05/27(火) 20:39:54
初歩的な質問ですみません
VB2005でDataGridViewにTableAdapterでテーブルを表示させているのですが
レコードをDataGridViewで選択してテキストボックスに表示させるという処理のやり方を
教えてもらえませんか?
869デフォルトの名無しさん:2008/05/27(火) 21:26:54
>>863
出来るよ
870AMI:2008/05/28(水) 14:41:22
867さん
ありがとうございました。
的確なアドバイスのおかげで、解決しました。
それと、DATAGRIDVIEWコントロールについてですが、
列をコードでいれかえることはできるでしょうか?

AAAA  BBBBB  CCCCC



BBBBB  AAAA  CCCCC
のようにグリッドに表示したあとに、コマンドボタンをおして
上記処理をしたいと思っております。
ご教授よろしくおねがいします。

871デフォルトの名無しさん:2008/05/28(水) 14:55:03
>>870
カラム1の参照を一時変数に格納
カラム1=カラム2
カラム2=一時変数(元のカラム1)

とかでできるんじゃない?

余談だけど、TextFieldParserクラスなんて初耳なので調べてみたらVB名前空間なのねw
872AMI:2008/05/28(水) 15:30:39
>>871
早速のアドバイスありがとうございます
下記のようなイメージでしょうか?

Dim aaa As DataColumn
aaa = DataGridView1.Columns(1)
DataGridView1.Columns(1) = DataGridView1.Columns(0)
DataGridView1.Columns(0) = aaa

873デフォルトの名無しさん:2008/05/28(水) 23:49:50
初心者ですが、
つまらない質問ですが、みなさんVB.NETを勉強するとき何を参考にしました?
やっぱMSDNですかね?
874デフォルトの名無しさん:2008/05/29(木) 17:14:10
本ですね。

msdnはある程度基礎部分が理解してからじゃないと何言ってるか意味不明だった記憶が・・
って、俺の能力不足かw
875デフォルトの名無しさん:2008/05/29(木) 17:18:04
MSDNは基本的に辞書。
教科書なしに辞書だけで勉強は難しいだろ。
876デフォルトの名無しさん:2008/05/29(木) 18:20:19
まあ、ただ、特定の技術についてはそれなりに詳しく載ってたりもするんだよね。
どっちにしても基礎は出来てからだけど。
877デフォルトの名無しさん:2008/05/29(木) 19:58:17
Webbrowserで画像閲覧中、画像のドラッグでスクロールする方法を教えて下さい
878デフォルトの名無しさん:2008/05/29(木) 20:01:38
俺は比較的コンパクトに網羅してるマイコミでC#もVBも勉強したけど
デリゲートとかマルチスレッドとか載ってる参考書って見たこと無いよ
879デフォルトの名無しさん:2008/05/29(木) 20:02:10
MSのドキュメントはマジでアホ杉。
880デフォルトの名無しさん:2008/05/29(木) 20:04:55
MSDNの翻訳サイト作ったらアクセス数がすごいことになりそう
881デフォルトの名無しさん:2008/05/29(木) 20:05:18
それでもマシになったほうなんだよ
昔は嘘しか書いていなかった
882デフォルトの名無しさん:2008/05/29(木) 20:09:19
>>881
今でもMSのサイトには結構うそが多い。
MSの社員ってキチガイが多すぎ
883デフォルトの名無しさん:2008/05/29(木) 20:28:55
MSのフォーラムでたまに社員がレスすることあるけど
言ってること適当なときある
884デフォルトの名無しさん:2008/05/29(木) 21:52:55
質問させてください。
MSDNライブラリって印刷したもの売ってないんでしょうか?
リファレンス部分が欲しいんですけど。
辞書的な物って
プログラミング Microsoft Visual Basic 2005 言語編でも買えばいいんでしょうか?
よろしくお願いします。
885デフォルトの名無しさん:2008/05/29(木) 21:57:07
あんなん印刷しきれるもんじゃないって
886デフォルトの名無しさん:2008/05/29(木) 22:07:33
8万ページとかあったような…
今はもっと増えてるだろう…
887デフォルトの名無しさん:2008/05/29(木) 22:17:57
8万人が1枚印刷すれば
たった1日で終わるじゃん





と釣ってみる。
888デフォルトの名無しさん:2008/05/29(木) 22:17:59
壁一面に専用本棚か
889デフォルトの名無しさん:2008/05/29(木) 22:18:46
Webbrowserで画像閲覧中、画像のドラッグでスクロールする方法を教えて下さい
890デフォルトの名無しさん:2008/05/29(木) 23:22:55
広辞苑って何ページぐらいよ?
891デフォルトの名無しさん:2008/05/29(木) 23:24:06
1K22-0867-0795-66M4-5322-4750-2C54
892デフォルトの名無しさん:2008/05/29(木) 23:26:31
まるで炎があなたの髪で猛威をふるっているかのように、あなたは、毎日まで完全に自分をに集結して、奉納しなければなりません。 - Taisen Deshimaru
893デフォルトの名無しさん:2008/05/30(金) 01:38:22
クラスの共有メンバの初期化はどうすればよいでしょうか?
具体的にはこんな感じなのですが、
Public Class Shareds
 Public Shared col As New Collection
  Public Sub New()
  col.Add(〜〜)
  col.Add(〜〜)
End Sub
End Class
当然NewはSharedsクラスがインスタンス化されたときに呼び出されるので
初期化の位置としてはおかしいです。
Shareds.colが始めに参照される時既に初期化された状態でありたいのですが
どうすればよいでしょうか。
894デフォルトの名無しさん:2008/05/30(金) 02:12:08
895デフォルトの名無しさん:2008/05/30(金) 13:39:46
フォームで、
最大化・最小化ボタンは表示したまま閉じるボタンを非表示にしたいのですが
どのプロパティを使えばよいのでしょうか?
896デフォルトの名無しさん:2008/05/30(金) 14:10:16
非表示は無理だったはず
無効化なら「VB 閉じるボタン 無効化」
897デフォルトの名無しさん:2008/05/31(土) 01:18:58
>>862
そっちは例外セーフ系の話かな?

>>843はスレッドセーフの話だな。
基本的に4バイトを超える値の書き換えは、アトミックに実行できない。
64ビットマシンなら8バイトだがまあそれはおいといて。

で、例えばあるクラスのメンバにDateTimeのように4バイトを超えるメンバがあったとすると、
そのメンバを書き換えるのはアトミックにできないから、
例えば半分書き込んだところで別スレッドに切り替わってしまう可能性があるわけ。
マルチコアやマルチCPUのマシンでは、半分書き換えたところで別スレッドが読もうとするかもしれない。
※実際はキャッシュも絡むのでもっと話は複雑だが。

こうなると、スレッドセーフにするためには、そのメンバ全体が書き換えられるまで
他のスレッドがアクセスできないように保護しないといけない。
だから
>確実なスレッド セーフを実現するには、この型のインスタンスを含む共有変数の読み取りと書き込みをロックによって保護する必要があります。
となる。
ここでいう共有とは、複数スレッドで共有、複数スレッドからアクセスされる可能性がある、というような意味
898デフォルトの名無しさん:2008/05/31(土) 01:25:45
ああ、>>843はBooleanか
Booleanなら単体ではアトミックに操作できるが、Booleanひとつだけじゃなくて
Booleanを含むいくつかのメンバがある場合、
メンバ全部をアトミックに書き換えることはできない。
そうすると、メンバのうちの一部だけ書き換えた、中途半端な状態が発生するので、後は同じ話。
899893:2008/05/31(土) 07:36:26
>>894
ばっちりです。
ありがとうございます。
900デフォルトの名無しさん:2008/05/31(土) 08:33:35
>>862 >>897 >>898
詳しい解説有り難うございました。

この辺を、VB.NETを私より長くやっている友人に聞いてみたところ、
「理由はよく分からんが、VBなら共有変数は排他制御した方がええよ。
Boolean型といえでもスレッドセーフじゃないからね。」
との返答をもらって、MSDNの文には不可解さを感じつつ、とりあえず
納得してしまいました。

C#ですとvolatile修飾子なるモノがあって、それを付けることによって
問題が解決できるそうですが、VB.NETには残念ながらその機能が
ないとのことです。
901デフォルトの名無しさん:2008/05/31(土) 12:00:00
いあ、volatileはまたちょっと話が違う…
902843:2008/05/31(土) 12:25:10
あれ・・・違うんですか;;;

うーん、Boolean型がスレッドセーフなのか否か(=排他制御が必要か否か)
を知りたかったんですけど、MSDNにはスレッドセーフだけど排他制御が必要
なんて意味わかんないこと書いてあったので混乱してしまいました。

そもそも、「スレッドセーフ=排他制御の必要なし」という認識が間違っていた
って事なんですかね。
903デフォルトの名無しさん:2008/05/31(土) 12:41:46
スレッドセーフって言っても、一言で状況を言い表せるほどには単純じゃないのね。
.NET Framework 2.0上では、「Boolean変数単体」ならスレッドセーフといっても問題ないけどね。

ここらが詳しい(読めってのは無茶だとは思うけど)
ttps://www.microsoft.com/japan/msdn/msdnmag/issues/05/10/MemoryModels/default.aspx
ttps://www.microsoft.com/japan/msdn/msdnmag/issues/05/08/Concurrency/
904デフォルトの名無しさん:2008/05/31(土) 13:04:26
>>903
有り難うございます。
早速ブックマークさせてもらいました。

ざっと見てみただけで、まだ内容を理解できていませんが、
特に上のリンクの方は、ずばり知りたかった情報が載っているようで
凄く有り難いです。
こういう情報を自分で見つけられれば良かったんですが・・・感謝いたします。
905843:2008/05/31(土) 13:51:32
あとググっていたら、
「スレッドの同期を行わずに複数のスレッドから同じフィールドにアクセスする」
http://codezine.jp/a/article.aspx?aid=139&p=3#volatile
こちらに自分が悩んでいたコードとそっくりなものがありました。
.NET Framework 1.0の話のようで、2.0ではまた変わってくるのかな??

新規作成したスレッドをループさせて、リソースを解放したいときに
Boolean型の判断でループを抜けるコードを書いていました。

Boolean型に悩んでいたので、とりあえず今はBoolean型の使用を止めて、
Thread.Abortでスレッドを止めるように書き直しました。
今回はリソースの解放が目的だったので、終了のタイミングは気にしませんので。

いやはや、マルチスレッドプログラミングって難しいです。
基礎をちゃんと勉強していないので、情報を仕入れる度に後から後から
コードを直さないといけない;;;
906デフォルトの名無しさん:2008/05/31(土) 14:49:52
フラグを立てる、折るという操作なら、Interlockedを使うという手もある。
907デフォルトの名無しさん:2008/05/31(土) 15:13:53
>Thread.Abortでスレッドを止めるように書き直しました。
悩んだ挙句最悪の結論に至ったわけか
908デフォルトの名無しさん:2008/05/31(土) 22:24:31
.NET Framework 2.0ではvolatileつけなくても大丈夫にも思えるけどな。
>>903やその他読むと。

まあ気になるならSyncLockしとけばすむ話だ、Abortなんて本末転倒もいいとこだ
VolatileReadやMemoryBarrier使ってもいいけど、実質SyncLockと比べてそれほど利点はない。
ちなみにVolatileWriteはなくても大丈夫。

あと、この辺の話題は結構間違った情報もあふれてるので、
あまり下手に記事とかを鵜呑みにしないほうがいい。
909デフォルトの名無しさん:2008/06/01(日) 00:21:04
>>905
とりあえず
Private _bool As Boolean
Private Property bool As Boolean
 Get
  SyncLock(Me)
   bool = Me._bool
  End SyncLock
 End Get
 Set
  SyncLock(Me)
   Me._bool = Value
  End SyncLock
 End Set
End Property
ってすればいいんじゃね?

普段C#しか書かないとVBの構文ってなんか間違ってるのか不安になってくるなw
910デフォルトの名無しさん:2008/06/01(日) 00:37:18
うん間違ってる
911デフォルトの名無しさん:2008/06/01(日) 00:42:43
BackgroundWorkerの実装をみるとCancellationPendingにvolatileもlockも使ってないんだよな。
メモリモデル的にはOKなのだろうけどちょっと不安になる。
912デフォルトの名無しさん:2008/06/01(日) 00:43:18
>フラグを立てる、折るという操作なら、Interlockedを使うという手もある。
あんまり意味ない気がする
913デフォルトの名無しさん:2008/06/01(日) 00:50:16
>>911
まあ、
>メモリモデル的にはOK
てことなんだろうねやっぱり。
914デフォルトの名無しさん:2008/06/01(日) 00:59:23

'クリップボード監視
Select Case m.Msg
Case WM_DRAWCLIPBOARD
Me.DrawClipboard()
If CInt(Me.NextHandle) <> 0 Then
SendMessage(NextHandle, m.Msg, m.WParam, m.LParam)
End If
Case WM_CHANGECBCHAIN
NextHandle = DirectCast(m.LParam, IntPtr)
If CInt(Me.NextHandle) <> 0 Then
SendMessage(NextHandle, m.Msg, m.WParam, m.LParam)
End If
End Select
こんな感じでクリップボード監視してるんだけど、
Me.DrawClipboard()処理が貼り付け時にも4度くらい走る状態です。
コピー時にのみ1度走らせたいんだけど、どうしたらいいですか
915デフォルトの名無しさん:2008/06/01(日) 01:03:11
関係ないとこに突っ込むが
>CInt(Me.NextHandle) <> 0
こりゃまずいんでないの?
916デフォルトの名無しさん:2008/06/01(日) 01:04:41
WM_DRAWCLIPBOARDはクリップボード変更時に発生するので、他所で変更してたから4回走っていました。
My.Computer.Clipboard.SetText(tmp)でいじってました
それは良いのですが

コピー処理時のみを補足するにはどうしたらいいでしょうか

917デフォルトの名無しさん:2008/06/01(日) 01:05:45
事前に下をやっているので、おおむね問題ないかと、(拾ったサンプルにあったので
Me.NextHandle = SetClipboardViewer(Me.Handle)
918デフォルトの名無しさん:2008/06/01(日) 01:09:57
WM_COPYが取れればいいんだろうけど、とれない・・・
919デフォルトの名無しさん:2008/06/01(日) 01:16:03
>>917
64環境で破綻するんじゃね?
920デフォルトの名無しさん:2008/06/01(日) 01:17:19
おれ32環境だから無問題
921デフォルトの名無しさん:2008/06/01(日) 01:18:54
たしかrichtextboxではwm_copyとか発生しなかった(WndProcでとれない)
けど、グローバルフックすれば発生しているの??
922デフォルトの名無しさん:2008/06/01(日) 01:24:26
>>920
近い将来不可解なバグで悩むことになるぜw
923デフォルトの名無しさん:2008/06/01(日) 01:39:28
richtextboxのpasteってオーバライドできないの??
924デフォルトの名無しさん:2008/06/01(日) 01:56:04
別なやり方でなんとかした
925デフォルトの名無しさん:2008/06/01(日) 09:22:27
CreateObject("WScript.Shell").Popupを使って、何秒かおきに、メッセージBOXを表示させて自動で閉じたいのですが、
timerのなかでPopupを使うと、自動で閉じずに表示されたままになってしまいます。
自分でメッセージBOXを作って、それを表示させて閉じるしか方法はないですかね?
926デフォルトの名無しさん:2008/06/01(日) 11:04:00
ファイルのMIMEタイプ取得する方法を教えて下さい
927デフォルトの名無しさん:2008/06/01(日) 11:10:58
メッセージループが回ってると消すのが遅れたりすることがあるみたいだな
> 自分でメッセージBOXを作って、それを表示させて閉じるしか方法はないですかね?
の方がいいんじゃない
928デフォルトの名無しさん:2008/06/01(日) 11:28:10
>>909
外部から参照できるオブジェクトをSyncLockするのはあまり良くない。そのケースなら問題なさそうだけど。
Privateな同期オブジェクトを作って、それをSyncLockしる。
929デフォルトの名無しさん:2008/06/01(日) 11:30:28
>>926
取りあえずレジストリ漁れ
930デフォルトの名無しさん:2008/06/01(日) 12:07:57
エラーの原因が全然わからず、完全にハマッてしまったのでお助け下さい。
VB2008にてACCESS2000のテーブルをbindingしてDataGridViewに表示しております。
DataGridViewにてクリックした行のデータを各テキストボックスに表示させてます。
1列目は"ID"列でDataGridView上は非表示(プロパティで設定)。
最初にこのFormを開いた場合は特に問題なく動作しており、データ更新などやりたいことは
出来ているのですが、Formを×ボタンもしくはBackボタン(me.close処理記述)入力で戻り、
再度このFormに入りなおすと、GridViewの1列目の"ID"列が表示状態になっており、
コードで非表示にすると、GridViewから値を取得する際に例外エラーを吐いてしまいます。
(GridView.currentRows.cells.Item("列名").valueなどで値取得時にnull exceptionエラー)
今、手元にソースコードが無いので、上記のような説明になってしまいましたが悩んでます
のでお願いします。
931rt:2008/06/01(日) 16:45:16
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'x2乗値を計算して、書き出すだけの問題

Dim intA, intB, intC, intD, intN1, intN2, intM1, intM2, intT As Integer

intA =
intB =
intC =
intD =
intN1 =
intN2 =
intM1 =
intM2 =
intT =
TextBox9.Text =
'この問題で使う関数は絶対値を求めるMath.Absだけ

End Sub

visual basic 2003 です。=の後に入る答え教えてください。
932デフォルトの名無しさん:2008/06/01(日) 16:48:58
>>931
宿題は自分でやれ
933デフォルトの名無しさん:2008/06/01(日) 16:52:15
日本語も不自由そうだな
934デフォルトの名無しさん:2008/06/01(日) 17:00:09
頭も悪そうだな
935デフォルトの名無しさん:2008/06/01(日) 17:19:22
システムハンガリアンuzeeeeeeeeeeeeeeeeeeeeeeeeeeeee
936930:2008/06/01(日) 19:02:03
試しに新規のプロジェクト作成して、DataGridViewのプロパティで1列目非表示
にしてme.close後、再度、画面名.showdialogで画面に入ったら非表示のはずの
1列目が表示されてました。
現象再現できるのでバグっぽいのですが対処法があれば教えてください。
937デフォルトの名無しさん:2008/06/01(日) 19:35:30
>>936
何回やっても再現できないんだけど試したコードは書けないの?
938930:2008/06/01(日) 19:46:55
>>937
今テストした際に記述したコードは
初期画面のclassにてボタンクリック時処理 現象発生画面.ShowDialog() ←これしか書いてません。
処理の流れとしては
1.初期画面から現象発生画面に飛ぶ
2.現象発生画面にてDataGridViewにDBのデータが表示される(1列目はプロパティによって非表示設定済みの為表示されない)
3.×ボタンで現象発生画面を閉じる
4.再度現象発生画面を開く
5.DataGridViewの1列目が何故か表示されている ←いまここ
といった感じです。
この後、コードでcolumnに対してvisibleかけるとDataGridView.currentrow
に対する処理で例外エラーを拾ってしまいます。
会社と家の違う環境で試して同様の症状なので再現は可能だと思います。
どうか解決策を!!
939デフォルトの名無しさん:2008/06/01(日) 19:58:16
どっちでやっても再現できない
DataGridViewはColumn0〜2で0のVisibleプロパティをIDEでFalseにしてある
VisibleプロパティをForm2_LoadイベントでFalseにしても再現できなかった

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Dim f As New Form2
f.ShowDialog()
End Sub
End Class

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Form2.ShowDialog()
End Sub
End Class
940930:2008/06/01(日) 20:13:20
>>939
再現できませんか・・・何故だろう。
自分は100%の再現率です。
何度Form2に入っても1列目が表示されることはありませんか?
VBのVersionが関係あるのかもしれませんね。
自分の環境は以下の通りです。

Microsoft Visual Basic 2008 ExpressEdition
Version 9.0.21022.8 RTM
Microsoft .NET Framework Version 3.5
941デフォルトの名無しさん:2008/06/01(日) 20:29:46
VB初心者ですが、質問です。
Express editionで勉強しようとしてるのですが、
2005と2008の違いがわかりません。
2005でできなくて2008でできることって何でしょうか?
自分のパソコンはメモリーは224MBですが、2008を使ったら
重すぎますか?
どちらをつかうほうがいいでしょうか?
942デフォルトの名無しさん:2008/06/01(日) 20:34:26
2008の方が軽い
わざわざ2005を選ぶ理由はない
943デフォルトの名無しさん:2008/06/01(日) 20:42:42
>>942
マジですか?マイクロソフトのシステム要件を見ると、
2008は最低192MBで推奨が約300MB以上で、2005の推奨は256MBとなってるけど、
これはあてにならないんですかね?
Windows Liveも推奨スペックがあてにならなかったのですが。
944デフォルトの名無しさん:2008/06/01(日) 20:47:21
224Mでって自殺レベルだぞ。
もう我慢の限界、やっとこさ動いてる、で512MBくらいじゃないか?
何とかまあ動いてる、で1G
そこそこ動いてる、で2G
くらいじゃない?いやまじで。
945デフォルトの名無しさん:2008/06/01(日) 20:58:29
>>944
そんなおおげさな。VS2005を試しに使ったけど初学者がやる程度なら224MBでもそこそこ使えましたよ。
946デフォルトの名無しさん:2008/06/01(日) 21:02:48
昔メモリ256のしょぼいノートPCで仕事してた時、
ビルドに1時間以上かかって切れそうになったことあるw
947デフォルトの名無しさん:2008/06/01(日) 21:46:13
>>945
224MBって空きメモリの事?
256MB搭載:あり得ない、てか動くのか?
512MB搭載:ぎりぎり動作、かなり重い
1GB搭載:ちょっと重い、場面によってはフリーズ
2GB搭載:普通に使える
3GB搭載:快適、これが本来の動作なのかもしれない
948デフォルトの名無しさん:2008/06/01(日) 22:01:39
>>947
メモリ厨乙
949デフォルトの名無しさん:2008/06/01(日) 22:02:23
2GBでメモリ使い果たしてる事なんてないけど、それ以上
増やして早くなるなんてあるの?
950デフォルトの名無しさん:2008/06/01(日) 22:12:21
うそばっか書いてるといつかバチがあたるぞ。
951947:2008/06/01(日) 22:17:22
今まで1GBで使っていてデータセットデザイナが激重でたまに落ちたり
メモリが安かったから4000円で1GB2本買って検証した結果
952デフォルトの名無しさん:2008/06/01(日) 22:21:33
2GBと3GBの比較はしていないという事ですね。わかります。
953947:2008/06/01(日) 22:24:49
>>952
元々ついてたのが512MB2本
1GB2本購入
後は分かるな?
954930:2008/06/01(日) 22:27:26
何でもいいから私を助けてください。神様。
955デフォルトの名無しさん:2008/06/01(日) 22:58:42
コードも書かないで助けてくださいって馬鹿なの?
956デフォルトの名無しさん:2008/06/01(日) 23:12:32
>>954
改行覚えてから出直してこい
957デフォルトの名無しさん:2008/06/01(日) 23:19:38
vb.netでテクスチャの白い部分だけを透明にしたいんですが
いくらネットで探しても情報がないのでわからなくて困ってます。
どなたかわかる人いたら教えてください。
よろしくお願いします。
ちなみにdirectxのバージョンは9です。
958デフォルトの名無しさん:2008/06/02(月) 00:17:33
Click Onceの戻し方を教えてください。

環境
VisualStudio2005
VB .NET
更新の確認は、起動前に更新のチェックを行っております。

 Click Onceを発行してVer1.2.0.1がクライアントにインストールされた状態で、
Ver1.1.0.1に戻す方法を教えていただけないでしょうか?
@ITに書いてあった方法ではクライアントの方で新しいVerではない為
蹴られてしまいました。


板違いの場合は正しい板を教えてください。
そちらに参ります。


959デフォルトの名無しさん:2008/06/02(月) 08:02:29
>>956
もしかしてゆとりですか?w
960デフォルトの名無しさん:2008/06/02(月) 09:22:25
ListViewをクリックしたときにイベントを発生させたいのですが、
ListView.clickだとListView上の行をクリックした時しか反応しません。
行以外のスペースをクリックしてもイベントを発生させるには
どのイベントを使えば良いのでしょうか?
961デフォルトの名無しさん:2008/06/02(月) 13:26:34
>>957
ManagedDirectXでの話か?
もしそうならスレ違い。

Managed DirectX vol.2
http://pc11.2ch.net/test/read.cgi/tech/1061285378/

>>960
Viewプロパティは何でやってる?
情報がちと少なすぎる。
962デフォルトの名無しさん:2008/06/02(月) 15:08:40
>>961
ViewプロパティはDetailsにしています。
タッチパネルマシンで動かすので、行クリックではなく
ListViewのエリアをクリックすれば動作するようにしたいのですが・・・。
963961:2008/06/02(月) 16:45:16
>>962
ListView.MouseDownだとダメ?
964960:2008/06/02(月) 17:57:14
>>963
できました!
ありがとうございます!
965デフォルトの名無しさん:2008/06/02(月) 20:44:10
>>957
カラーキー
Managed DirectXならTextureLoader.FromFileのcolorKeyという引数に
Color.White.ToArgb()を渡す
966デフォルトの名無しさん:2008/06/02(月) 20:58:48
2008でプログラム組んでるところなのですが、
デバッグ実行で開始して、フォームを閉じて終了した際、
IDEのデバッグ開始のアイコンが灰色のままになっています。
おやっと思って、マウスのポインタをデバッグ開始アイコンの
上に持っていくとちゃんと緑に戻ります。
他のアイコンもデバッグ実行状態の表示のままです。
何だかツールバーの表示の更新が止まっているようなのですが、
気にしなくていいんでしょうか。
ちなみにIDEのウインドウサイズを変えると全て元に戻るのですが...
967デフォルトの名無しさん:2008/06/02(月) 23:04:30
>>958

クライアントで修復だっけ?するだけじゃないの?
それか、Ver1.2.0.1の次のバージョンとしてVer1.1.0.1を発行するとか
968930:2008/06/03(火) 00:14:59
>>955
DataGridViewを設定した画面を2回開くと現象が発生するんです。
コードを記載するので助けてください。

Public Class Form2

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
現象発生画面Frm.ShowDialog()
End Sub
End Class
969デフォルトの名無しさん:2008/06/03(火) 00:31:25
絶対舐めてるだろw
970デフォルトの名無しさん:2008/06/03(火) 00:34:06
軽いジョークということにしておこう
971デフォルトの名無しさん:2008/06/03(火) 00:35:56
>>968
>>936のソースをupしたらいいんじゃね
972930:2008/06/03(火) 00:59:16
舐めてません。
今、急遽テストで作ってみたんですが同現象発生するんです。
1列目のID列はDataGridViewのコントロールを右クリックして「列の編集」
からvisible=falseを設定しました。
データベースはAccessでもSQL Serverでも同現象。
適当に主キーのIDとテストという列を作って試したんですが同現象発生してます。
DataGridViewが設定されている画面を2回起動すると1列目が復活してしまいます。
973デフォルトの名無しさん:2008/06/03(火) 01:03:39
じゃあそのテストをさっさとうp
974930:2008/06/03(火) 01:09:11
>>973
だからマジで入れたコードは968だけです。
単純すぎてバグなんじゃないかと思ってるわけです。
975デフォルトの名無しさん:2008/06/03(火) 01:12:05
>>974
まずうpることから始めようぜ
会話にならん
976930:2008/06/03(火) 01:12:58
>>975
ソースまるごとうpればいいですか?
977デフォルトの名無しさん:2008/06/03(火) 01:13:18
プロジェクトごとさっさとうp
テストなら問題ないだろ
978930:2008/06/03(火) 01:21:19
979930:2008/06/03(火) 01:41:03
間違えました。
こっちです。
http://uproda11.2ch-library.com/src/1191270.lzh
980デフォルトの名無しさん:2008/06/03(火) 01:52:45
>>979
2008持ってないからわからないけど、
>>936のソースはないの?DBとバインドしてなかったらどうなるの?

一回目はよくて二回目はダメって事は前の何かが残ってるんじゃないの?
>現象発生画面Frm.ShowDialog()
じゃなくて
dim f as new 現象発生画面Frm()
f.ShowDialog()
にしてみたら?
981930:2008/06/03(火) 02:33:56
>>980
おお!!問題なく表示されます。
すごい。
何が悪かったんでしょうか?
普通はインスタンス作成しなきゃいけないんですかね?
982デフォルトの名無しさん:2008/06/03(火) 02:35:27
スピンボタンを押した時に、自作関数を呼び出してスピンボタンのvalueを加算したいのですが
Private Sub NumericUpDown_ValueChanged内で関数を呼び出すと、関数内で

Dim hogehoge As Decimal = NumericUpDown1.Value + NumericUpDown2.Value + NumericUpDown3.Value

という風に表記した場合、何故かボタンを2回クリックしないと値が増減しなくなりました(2回押して1増減する)
これはどういう事なんでしょうか・・・?
983デフォルトの名無しさん:2008/06/03(火) 04:23:09
>>981
アホすぐる。>>939とか真面目に読んでないだろ。
984デフォルトの名無しさん:2008/06/03(火) 08:08:31
>>968-969
素で笑ってしまった。愉快な朝を有り難うw
985デフォルトの名無しさん:2008/06/03(火) 11:38:01
ローカルDB接続で作成したアプリをネットワーク上において
複数の人間が扱えるようにしたいんですが、
DBの排他制御はどのようにすればよいのでしょうか?
複数で使う場合はリモートDB接続すべきでしょうか(EXPRESSしかないから出来ませんが・・・)
986デフォルトの名無しさん:2008/06/03(火) 11:58:10
>>985
ローカルDB接続/リモートDB接続というのは何のことをいってる?
SQLServer 200x Expressを使ってるなら、単に通信プロトコルの違いくらいで
排他制御の方法に違いはないはず。
987デフォルトの名無しさん:2008/06/03(火) 17:37:36
済みません、各フォームの値の保存にpropertybindingを使うと、簡単に値が保存できますが
この値が保存されているuser.configを、実行ファイルと同じディレクトリに置く方法はありませんか?
実行ファイルを他のディレクトリに移動すると、値がリセットされてしまい困っています。
988デフォルトの名無しさん:2008/06/03(火) 17:57:22
textbox1 , DataGridView , textbox2があって、順にタブキーでフォーカス移動すると
textbox1のvalidatedイベントがDataGridView から textbox2に移動したときに2回連続で発生するんだけど
validatedイベントてtextbox1 から DataGridView にフォーカス移動したときには起きないもんなの?
989デフォルトの名無しさん:2008/06/03(火) 19:15:46
webbrowserでポップアップウインドウを抑止する方法を教えて下さい。
990デフォルトの名無しさん:2008/06/03(火) 21:57:02
>>965
どうもありがとうございました!!
991デフォルトの名無しさん:2008/06/03(火) 22:25:49
VB2008ExpressEditionを使ってるんですが、
ちょっと操作してると、タブを切り替えたり設定からMy.Settingの変数を追加したりすると
時々異常なほどCPUが重たくなって、酷い時は数分操作不可能になります。
PCのスペックはC2DE6600+メモリ7GB(うち4GBをRamDisk)なので、足りないという事はないと思うのですが
これはどうにかならないんでしょうか
992デフォルトの名無しさん:2008/06/03(火) 22:41:05
読み取り専用のチェックボックスにチェックが入ったファイルを
読み取り専用じゃなくすにはどうしたらいいですか?
993デフォルトの名無しさん:2008/06/03(火) 23:00:22
>>992
自己解決しました。どうもです。
994デフォルトの名無しさん:2008/06/04(水) 00:55:04
AxWebBrowserコントロールのリファレンスってどこにあるんでしょう
ググってはいるのだけど…
というかケツを表示しててSuspendLayoutしてるのにRefreshすると一瞬頭を表示してから
またケツまでスクロールして非常に鬱陶しい
他にやり方あるんでしょうか?
995デフォルトの名無しさん:2008/06/04(水) 09:24:34
そういうのはサンプルを示してくれた方が解決が早いと思うよ。
996デフォルトの名無しさん:2008/06/04(水) 09:29:17
つかIEだってそうじゃん?
997デフォルトの名無しさん:2008/06/04(水) 17:05:17
VB2005をインストールする時に付属されるSQLServerを利用していて、
データベースの内容をホームページに反映し、ユーザー側から条件検索できる機能をつけたいのですが、
そういったことを実現するに当たって必要な技術、知識は何でしょうか?
また、それに関して参考になるページがありましたら紹介してください。

ホームページは自鯖ではなくレンタル鯖を使っています。
板・スレ違いかもしれませんが許してください。
998デフォルトの名無しさん:2008/06/04(水) 17:15:12
人に聞くスキルが足りないようだね
999デフォルトの名無しさん:2008/06/04(水) 17:17:41
>>997
ライセンスについてもう一度確認しませう
1000997:2008/06/04(水) 17:43:08
>>998
すいません。
>>999
>VB2005をインストールする時に付属されるSQLServerを利用していて
への突っ込みですか?機能実現に対して関係あるのでしょうか?
今見直してみてます。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。