VB.NET質問スレ (Part20)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレVB.NET質問スレ (Part19)
http://pc11.2ch.net/test/read.cgi/tech/1168585041/
2デフォルトの名無しさん:2007/03/05(月) 11:23:22
ここは、質問者に説教するスレではありません。
ここは、質問者のプログラミングセンスを測るスレではありません。
ここは、質問者のプログラマ適性を診断するスレではありません。
ここは、質問者の精神病・神経症を診断するスレではありません。
3デフォルトの名無しさん:2007/03/05(月) 11:24:50
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://ukamen.hp.infoseek.co.jp/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
.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
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
4デフォルトの名無しさん:2007/03/05(月) 11:25:39
ここは、質問者が質問をするスレです
ここは、質問者が質問をROM者に見せるためだけのスレです
ここは、VB.NETプログラミング言語のためのスレです









                         ここにはVB.NETの質問以外載せてはなりません
                        (回答や誘導、その他質問ではないものも禁止です)
5デフォルトの名無しさん:2007/03/05(月) 11:25:59
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.geocities.co.jp/SiliconValley-Cupertino/5872/
6デフォルトの名無しさん:2007/03/05(月) 11:26:29
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 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
http://www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
http://www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
http://www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
http://www7.ocn.ne.jp/~kawa1/numeric.pdf
7デフォルトの名無しさん:2007/03/05(月) 12:48:01
テンプレ乙

質問だがKeyDuplication(キー重複)エラーの時
ある程度ピンポイントでキャッチできる奴ない?

例えば同時実行エラーならDBConcurrencyException
って感じで
8デフォルトの名無しさん:2007/03/05(月) 13:46:21
残りのテンプレ
                            ,===,====、
                           _.||___|_____||_
..                       ∧_∧  /||___|^ ∧_∧      
..                       (・ω・`)//||   |口| |ω・` )
.                     ./(^(^ .//||...||   |口| |c  )
.....                    ∧_∧/  //  ||...||   |口| ||し      
.......                (・ω・`) //....  ||...||   |口| ||        楽しく使ってね
                 /(^(^ //  ....  .||...||   |口| ||        仲良く使ってね
         ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
         :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " :::: 
9デフォルトの名無しさん:2007/03/05(月) 19:17:10
むしろこういうスレは殺伐としているべきだと思うんだ
10デフォルトの名無しさん:2007/03/05(月) 19:24:54
ボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
コボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
ボコボコボコボコ∧_∧ ∧_∧∧_∧ボコボコボコボコ
ボコボコ∧_∧´・ω・)(´・ω・`)・ω・`∧_∧ボコボコ
ホコボコ(´・ω・)∧_,∧lll ∪)∧_∧・ω・`)ボコボコ
ボコボコ∧_∧ ´・ω∧∪∧(・ω・∧_∧⊂)ボコボコ
コボコ(´・ω・)≡つ);;)ω(;;(⊂≡(・ω・`)___\ボコボコ
ボコボ(っ  つ=つ(っ  ⊂)⊂=⊂≡ ⊂) \ )ボコボコ
ボコボコ/∧_∧∧ ↑質問者 ∧∧_∧\ボコボコ
ボコボ( ( ´・ω)(  ´・)(    )`  )(ω・` ) )ボコボコ
コボコ(っ  つ/    )(    )   \ ⊂)ボコボコ
ボコボ/   )`u-u'. バ∪ ̄∪バ`u-u'   \ボコボコ  楽しく使ってね
ボコ( / ̄∪ボコボコボコボコボコボコボコ∪ ̄\ )ボコボコ  仲良く使ってね
ボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
コボコボコボコボコボコボコボコボコボコボコボコボコボコボコ

こうか?
11デフォルトの名無しさん:2007/03/05(月) 20:13:34
そうそう、そんな感じで
12デフォルトの名無しさん:2007/03/05(月) 20:36:30
なるほど。ずれたらいいわけですね
13デフォルトの名無しさん:2007/03/05(月) 20:41:49
マイクロソフトが出してるVB.NET本(黄色いやつで上級とか初級とか中級とかとにかくたくさんあるやつ)で、
ウラにかかれてる項目の中の「ネットワーク」の項がアクティブになってる本がほしいんだけど
一度もみたことありません。持ってる人、タイトルおしえてくださいませ

>>8
某さいたまなところで滑り降りるところだけが盗まれまくったらしいね
盗んだ奴の顔がみてみたい
14デフォルトの名無しさん:2007/03/05(月) 22:23:31
str.replace("a","b")
とするとすべてのaがbに置き換わりますが
最初のaだけがbに置き換わるreplaceはないでしょうか?
15デフォルトの名無しさん:2007/03/05(月) 22:30:26
Regex で "^a" を "b"に置換
16デフォルトの名無しさん:2007/03/05(月) 22:31:18
>>14
ないので作れ
17デフォルトの名無しさん:2007/03/05(月) 22:31:58
Regex.Replace なら最大回数を指定できるオーバーロードがあるな
18デフォルトの名無しさん:2007/03/05(月) 22:35:30
そういやregexってのがあったな
19デフォルトの名無しさん:2007/03/05(月) 22:51:33
VB.NET から C#.NET への移行はさほど難しい話ではないようですが、
前スレではちらほら、「C# は Java に近い ・ むしろ C++ にも見える」という書き込みを見かけました
これは C#.NET から Java もしくは C++ をあくまでも文法的に習得するのが容易だという意味でとらえてもよろしいでしょうか
よっちゃんいか
20デフォルトの名無しさん:2007/03/05(月) 22:59:11
文法なんて習得する程も無いよ(C++はともかく)
一番の違いはライブラリで、そして C# と VB.NET/VB2005 はそれが共通。
21デフォルトの名無しさん:2007/03/05(月) 23:06:33
よっちゃんいかに釣られていいか?
22デフォルトの名無しさん:2007/03/06(火) 06:54:32
XMLDataSourceを使ってGridViewにバインドしたいと考えており
以下の単純なXMLファイルを作成したところ問題なくGridViewにバインドされます。
<ファイル管理>
<ファイル ID="A" ファイル名="AAAファイル" />
<ファイル ID="B" ファイル名="BBBファイル" />
<ファイル ID="C" ファイル名="CCCファイル" />
</ファイル管理>
このXMLファイルには他の定義も必要になるため、もう1階層要素を追加しました。
<どっとねっと>
<ファイル管理>
<ファイル ID="A" ファイル名="AAAファイル" />
<ファイル ID="B" ファイル名="BBBファイル" />
<ファイル ID="C" ファイル名="CCCファイル" />
</ファイル管理>
<別の階層>
<システム ID="AAA" />
<システム ID="BBB" />
<システム ID="CCC" />
</別の階層>
今回必要なのはファイル管理以下の一覧なのでXPath式を
/どっとねっと/ファイル管理
としたところ画面には何も表示されなくなりました。
どのようにしてファイル管理以下の一覧を取得するのでしょうか?
プログラムでDataGridにバインドする前にXMLデータの加工をしてしまえば
できると思うのですが、デザイナ画面で実装イメージが確認したいので
そのようにしたくはありません。
23デフォルトの名無しさん:2007/03/06(火) 14:12:25
tga扱えるようになるライブラリありませんか?
ネット探しても有料のしか見つかりませんでした。
24デフォルトの名無しさん:2007/03/06(火) 21:31:47
ちょっと質問!

プライマリディスプレイのデスクトップに置かれたショートカットからプログラムを起動させる時
サブディスプレイを検出したらサブディスプレイのほうに最大化させてプログラムを表示させたいのですが・・・・
ディスプレイの数や、サイズは取得可能なようですが、そこから2代目のモニタに表示させて最大化
という部分が今一歩思いつかない状態です。

なにかいい案とかないですか?
あくまでサブディスプレイはミラーリングのタイプは使用しない という縛りは可能です。

もう、メインディスプレイの右側の領域にくっつくという考え方でいいんでしょうか?
例えば800X600のメインディスプレイに1024X768のサブディスプレイがくっついてたとして
800より大きい値であればサブディスプレイという考え方です。

なんとなくスマートじゃねぇ・・・・orz
25デフォルトの名無しさん:2007/03/06(火) 22:22:48
>>24 かなり冗長でテストもしてないけどこんなのは?

Private Sub VewSubDisplay()
Dim monitor() As System.Windows.Forms.Screen
monitor = System.Windows.Forms.Screen.AllScreens()

Dim length As Integer = monitor.Length

If length > 0 Then

For i As Integer = 0 To monitor.Length
If monitor(i).Equals(System.Windows.Forms.Screen.PrimaryScreen) = False Then

Dim rect As Rectangle = monitor(i).WorkingArea
Me.Bounds = rect

End If
Next

End If
End Sub

2625:2007/03/06(火) 22:24:23
とりあえずコメントぐらいつけろよな俺・・・
27デフォルトの名無しさん:2007/03/06(火) 22:42:59
>>25
レストンクス!
コメントなくても無問題
みっけたモニタの中で最大の添え字のディスプレイの作業領域で表示させるって事ですね

最大化は必須なのでこれちょこっといじって、まんま使わせてもらうことにしました。

PS.
For i As Integer = 0 To monitor.Length - 1
じゃないと範囲超えちゃいます。
28デフォルトの名無しさん:2007/03/06(火) 22:49:05
最後にはちゃんと御礼書けよ 俺orz

>>25-26
すません、ちょっと色々テンパってたので助かりました。
29デフォルトの名無しさん:2007/03/06(火) 22:51:40
>>28
しかもしっかり間違いも指摘している
これは間違いなく…感じ悪い
( ゚д゚ )
30デフォルトの名無しさん:2007/03/06(火) 22:55:06
> Dim rect As Rectangle = monitor(i).WorkingArea
> Me.Bounds = rect
これでさぶスクリーンに表示できるんだ。
外野だけど勉強になったよ。
31デフォルトの名無しさん:2007/03/06(火) 22:58:10
>>29
orz
ごめんよ・・・ごめんよ
>>25

でも、マジでいいアイデアだとオモタ
32デフォルトの名無しさん:2007/03/06(火) 23:02:13
>>10 がテンプレAAを乗っ取る日も近そうだ
33デフォルトの名無しさん:2007/03/06(火) 23:03:25
.Net Framework 1.1、VB2003で
VisibleがfalseのControlを画像にキャプチャする方法ってありませんか?
知ってるかたいましたらお願いします。
3425:2007/03/06(火) 23:03:29
>>27-29

> 最大の添え字のディスプレイ
というかメインディスプレイかどうかチェックかけて
メインディスプレイじゃない場合、そこに書けという処理。

というわけでモニタが二つ以上のときは
上のだと条件追加してやらいないといけない予感。


あと指摘のミス
実務のほうで・・やべ・・変な汗出てきた
35デフォルトの名無しさん:2007/03/06(火) 23:05:05
撮影直前に表示じゃダメなん?
36デフォルトの名無しさん:2007/03/06(火) 23:11:05
>>35
キャプチャするためだけに一瞬表示するのはダメっすね
37デフォルトの名無しさん:2007/03/06(火) 23:14:49
そのコントロールのコードいじれるならいくらでも
じゃなきゃVista以外はむりぽ
38デフォルトの名無しさん:2007/03/06(火) 23:23:09
>>37
コードはいじれます
.Net2.0のControl.DrawToBitmapの動きを.NET1.1でさせたいんです。
39デフォルトの名無しさん:2007/03/06(火) 23:43:24
んじゃ、
GraphicsオブジェクトつくってOnPaintに食わせれば描いてくれるよ
40デフォルトの名無しさん:2007/03/06(火) 23:52:01
>>39
マジすか、やってみます。ありがとう
41デフォルトの名無しさん:2007/03/07(水) 10:30:49
DrawToBitmapの実装を真似すればいいと思うんだが
42デフォルトの名無しさん:2007/03/07(水) 16:41:50
.net2.0なんですが
Webbrowserでページを読み込んで
その中のHtmlElementをInvokeMember("Click")でクリックできることはわかったのですが
objectタグで埋め込まれているFlashをクリックできないのでしょうか?
特に複雑なことをしたいのではなくて、yahooのトップにあるようなバナーをクリックしたいだけなんですけど
objectのelementから辿ってクリックとかしたいんですけど
43デフォルトの名無しさん:2007/03/08(木) 15:16:55
すいません、質問させてください。

例えば「AAA BBB」という値が入ったテキストボックスがあるとして、
この時デフォルトではBBB付近でダブルクリックするとBBBのみが選択状態になります。

これを全選択にしたいと思い、ダブルクリックのイベントにSelectAllを書いたのですが、一度BBBが選択されたあと、全体が選択状態になる、といった動きになりました。

ダブルクリックのイベントを無効にしたのち、SelectAllすればいいのかな・・・?と思うのですが、無効の仕方がわかりません。
どなたか、方法を伝授していただけたら幸いです。
宜しくお願いします。
44デフォルトの名無しさん:2007/03/08(木) 15:50:08
ダブルクリックのイベントを無効にしたら
SelectAllすらできないんじゃ…
45デフォルトの名無しさん:2007/03/08(木) 15:51:23
時間測ってクリック2回を捕まえてみるとか
46デフォルトの名無しさん:2007/03/08(木) 16:06:44
>>44
言葉足らずでした。
例えばKeyDownなら、e.Handled = trueでイベントが処理された、とみなされますが、
そんな感じでダブルクリックの時も出来ないかな〜、というわけです。
47デフォルトの名無しさん:2007/03/08(木) 16:37:16
>>46
TextBox継承して
こんな感じじゃダメ?

Public Class hoge
  Inherits TextBox

  Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    Select Case m.Msg
      Case &H203
        Me.SelectAll()
      Case Else
        MyBase.WndProc(m)
    End Select
  End Sub

End Class
48デフォルトの名無しさん:2007/03/08(木) 17:58:05
>>47
継承というのをはじめてやったのでてこずりましたが、無事できました。
ありがとうございました。
49デフォルトの名無しさん:2007/03/08(木) 19:01:17
>>47
ドトネトはフック簡単で便利だよなw
50デフォルトの名無しさん:2007/03/08(木) 20:02:51
VB.NETでフォームアプリケーション作ってて
継承が初めてってことはありえない
51デフォルトの名無しさん:2007/03/08(木) 20:05:27
>>50
そりゃそうだw
既にフォームが(ry
52デフォルトの名無しさん:2007/03/08(木) 21:55:59
スポーツ少女に処女膜が無いようなもんだな
53デフォルトの名無しさん:2007/03/08(木) 21:59:35
それ違う。とても違う。
54デフォルトの名無しさん:2007/03/08(木) 23:35:50
へやにいるからいおまぃらこいよwwwwww
55デフォルトの名無しさん:2007/03/09(金) 13:35:30
クラスを自分で一つも定義せずにフォームアプリケーションを作るのは
一応可能みたいだな
56デフォルトの名無しさん:2007/03/09(金) 14:35:01
ADO.NETの話です。
ExecuteNonQuery メソッドを用いてUPDATE文を実行して、その返り値が0
だった時は、それが他ユーザによる更新が原因であるのか、
ネットワークやハードウェアの障害によるエラーであるのかのチェックは
出来ない。ということなのでしょうか。
あえてチェックをする場合は、再度SELECT文を使って接続してみるしか
ないのでしょうか。
57デフォルトの名無しさん:2007/03/09(金) 15:35:15
>>56
そういう場合は0ではなくて例外が起きる。
58デフォルトの名無しさん:2007/03/09(金) 15:45:16
>>57
質問前に、msdnを読んだつもりだったのですが、例外の欄に書いてありましたね。
すみません。
InvalidOperationException(接続が存在しません。 または、接続が開いていません)

となると、以下のような解釈でいいということですよね?
例外が戻ってきた:ネットなど接続のエラー
0が戻ってきた:開いている間に他のユーザがデータを書き換えるなどしたため、
        updateで更新されなかった。
59デフォルトの名無しさん:2007/03/09(金) 16:50:22
P2Pのshareの逃げるバージョン情報のウィンドウを作りたい。
MouseEnterイベントでやるのかな?
意外と難しい。
60デフォルトの名無しさん:2007/03/09(金) 17:27:17
Point lastPos;
private void timer1_Tick(object sender, EventArgs e){
Point current = System.Windows.Forms.Cursor.Position;
if (this.Bounds.Contains(p)){
int dx = current.X - lastPos.X; int dy = current.Y - lastPos.Y;
Point loc = this.Location;
loc.Offset((int)((float)dx * 1.0f), (int)((float)dy * 1.0f));
this.Location = loc;
}
lastPos = current; this.Refresh();
}
こんな感じ?C#だけど
6160:2007/03/09(金) 17:28:57
ゴミが残ってた
7行目はloc.Offset(dx , dy);でいい
62デフォルトの名無しさん:2007/03/09(金) 17:44:03
>>60
ほほう。どうもありがとうございます。
参考にさせてもらいます。
63デフォルトの名無しさん:2007/03/09(金) 19:43:07
チラウラなんだが、Vistaに標準で.NET3.0&コンソールコンパイラが入っているね。
某家電屋の店頭のVistaPCでHello,Worldを実行できたよ。
64デフォルトの名無しさん:2007/03/09(金) 21:51:56
だんだんMSもOSを触る環境から使う環境へと意識転換してきてるんだな
65デフォルトの名無しさん:2007/03/09(金) 23:18:25
使う環境にコンパイラいらんだろ
66デフォルトの名無しさん:2007/03/09(金) 23:25:17
.NET のクラスライブラリには CodeDOM 関連のものも含まれていてだな
67デフォルトの名無しさん:2007/03/10(土) 13:33:41
実行時にソースコードをコンパイルしてスクリプトみたいに実行できたりしてだな
68デフォルトの名無しさん:2007/03/10(土) 14:02:29
Hello Worldとかありきたりだな
もっと個性ある今風の言葉にしようぜ。
69デフォルトの名無しさん:2007/03/10(土) 14:04:02
こんにちは、世界
70デフォルトの名無しさん:2007/03/10(土) 14:05:52
WellCome DeathMarch
71デフォルトの名無しさん:2007/03/10(土) 14:51:48
Goodbye World
72デフォルトの名無しさん:2007/03/10(土) 14:54:02
うわっつまんねー^^
73デフォルトの名無しさん:2007/03/10(土) 15:58:38
自演乙
74デフォルトの名無しさん:2007/03/10(土) 16:30:02
>>73
かわいそうに。

VB厨はipdわからないから、ID丸見えなのに
誰が自演かわからないんだろうねw
75デフォルトの名無しさん:2007/03/10(土) 17:22:33
>>74
しーっ
76デフォルトの名無しさん:2007/03/10(土) 21:11:40
すいません
文字列のピクセル長を知るためにはどうすればよいのでしょうか?

よろしくお願いします。
77デフォルトの名無しさん:2007/03/10(土) 21:16:19
Graphicsのメンバをよく眺めてみ
78デフォルトの名無しさん:2007/03/10(土) 21:19:15
>>76
その質問では意味がわからんが、漏れがエスパーするに、文字列を描画するのに必要な領域の幅を知りたいというんだな?
TextRenderer.MeasureText() か Graphics.MeasureString() を使え。
7976:2007/03/10(土) 21:21:07
>>77 >>78
ありがとうございました
80デフォルトの名無しさん:2007/03/11(日) 08:57:05
Visual Studioのツールボックスみたいなコントロールは標準であるのでしょうか?
TreeViewコントロールのプロパティをいじって似たものを作ってみたのですが、
動作的にはOKでも、ノード別に見た目の文字位置とか色とかの調整ができない?ので
今ひとつでした。
よろしくお願いします。
81デフォルトの名無しさん:2007/03/11(日) 23:32:35
>>80
ピンポイントでは、そのようなコントロールはないと思う
CodeProjectで>>80が求めるものを見た記憶があるなぁ・・・
日本のサイトではあの手のサンプルないんじゃないかな?

あそこで多分検索したらあると思うよ
C#かVBかは忘れちゃったけどw
8280:2007/03/12(月) 08:19:57
>81
標準ではないですか。。。
codeproject探してみます。
もしくはやったことないけどオーナードローを検討してみます。
ありがとうございました。
83デフォルトの名無しさん:2007/03/12(月) 22:25:02
DataGridでマウスでドラッグして行を選択するのだけど、mousemoveイベントの
間隔が遅すぎてまだらにしか選択されないんです(ゆっくりなら全部選択される)
この間隔ってどこかで設定とか出来る?
84デフォルトの名無しさん:2007/03/12(月) 22:29:50
もう一つDataGrid
そうやってドラッグして選択していった時に、ドラッグしたまま下にはみ出すと
スクロールしながら次々選択されてくってのは何イベント使えばいい?
mouseleaveだと上に抜けたか下に抜けたか分からないし…
85デフォルトの名無しさん:2007/03/12(月) 22:30:58
それ本当にDataGridか?
86デフォルトの名無しさん:2007/03/12(月) 22:44:34
どぼん参考にアクセスのlistboxみたいな動作するようにしてるけど
(rowheader無しで1行全部選択される)それ以外は普通のdatagridだけど
87デフォルトの名無しさん:2007/03/12(月) 23:12:09
小出しにされてもなあ・・なぞなぞじゃないんだし
とりあえず手元に現物が無いから、そっちで原因を洗うしかないんじゃないか?
88デフォルトの名無しさん:2007/03/13(火) 09:05:33
>>86
DataGridViewをフォームに貼り付けて
こんな感じはダメ?

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim a As New DataTable("test")
  a.Columns.Add(New DataColumn("1"))
  a.Columns.Add(New DataColumn("2"))
  a.Columns.Add(New DataColumn("3"))
  a.Columns.Add(New DataColumn("4"))
  For i As Integer = 0 To 49
    Dim r1 As DataRow = a.NewRow
    r1(0) = "a"
    r1(1) = "b"
    r1(2) = "c"
    r1(3) = "d"
    a.Rows.Add(r1)
  Next
  DataGridView1.DataSource = a
  DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End Sub
89デフォルトの名無しさん:2007/03/13(火) 10:58:06
質問があります。

ActiveXのレジストリ登録についてなのですが、
ActiveXを使うには、DLLをレジストリ登録すると思います。

そのとき、
C:\test01\hoge.dll
C:\test02\hoge.dll
とテストバージョンを2つ作ったとして、両方ともレジストリ登録したとしたら、
どちらが適用されるのでしょうか?

regsvr32 /s C:\test01\hoge.dll
regsvr32 /s C:\test02\hoge.dll
  ↓
piyo.exe

また、regeditでいちいち検索せずに、hoge.dllが今どういう登録がされているのか
を調べるとしたら、どうすれば良いのでしょうか?
90デフォルトの名無しさん:2007/03/13(火) 11:09:51
>>89
VB.NETで作ったCOMならregsvr32ではなく、regasmを使え。
普通のActiveXの話ならすれ違いっぽいが一応答えておこう。
基本は後勝ち。OleView.exeで調べる。
91デフォルトの名無しさん:2007/03/13(火) 11:48:22
>>90
「後勝ち」
確認しました。ありがとうございます。

regsvr32 /s C:\test01\hoge.dll

regsvr32 /s C:\test02\hoge.dll

とやったら、C:\test01\hoge.dll が C:\test02\hoge.dll で上書きされる
ようですね。
92デフォルトの名無しさん:2007/03/13(火) 19:35:29
確か1とか2とか憑かなかったっけ?
93デフォルトの名無しさん:2007/03/13(火) 19:50:03
COMはGUIDとか使ってそれなりに複雑な固体識別してたはずだよね。
っていうか、上書きって意味わからんw
94デフォルトの名無しさん:2007/03/13(火) 20:43:29
全く同じCLSID, ProgID持ってるんだろ
95デフォルトの名無しさん:2007/03/14(水) 11:00:29
質問です!
下のようなCSVファイルがあるとします。だいたい1000行くらいのログです。

aaa,a,aaa,01,01
bbb,b,bbb,01,02
ccc,c,ccc,02,01
ccc,c,ccc,02,02
・・・・・

このCSVにおいて例えば左から4番目のカラムが04のレコードのレコード数を取得したいのです。
既存アプリが吐くログなのでカラム名もないしSQLが使えるかも不明です。
VBSかVB.net2003で上記プログラムを作成したいのですが適切なロジックが浮かびません。
Do〜Loopで一行ずつ読み込んでカンマでセパレートして配列変数に代入し、
検索条件にヒットしたらカウンタを1UPしていく方法くらいしか思い浮かばないのですが、
ほかにもっとシンプルな方法をご存知の方は教えてください。
96デフォルトの名無しさん:2007/03/14(水) 11:03:25
>>95
その方法でいいじゃん。正規表現とか覚えてる間に作れちゃうよ。
97デフォルトの名無しさん:2007/03/14(水) 12:59:59
DataSetに展開してSELECTする手もあるな
98デフォルトの名無しさん:2007/03/14(水) 13:00:32
連投スマン
>>97
DataTableだわw
99デフォルトの名無しさん:2007/03/14(水) 13:08:22
>>95
ADO.NETでCSV読ませれば?
そんでSQLでやるべし
100デフォルトの名無しさん:2007/03/14(水) 13:16:17
ODBC Text DriverはMDACにまだ入ってるのかな?そろそろレガシーな気もする。
ReadLineしてString.Splitで十分な気もするが、
VB.NET的にはMicrosoft.VisualBasic.FileIO.TextFieldParserを使うのが推奨だろう。
101デフォルトの名無しさん:2007/03/14(水) 14:34:24
VB.NETの型付データセットでデータ取得する時にNULLを扱いたいがエラーにはしたくない
Nothing返すようにしてるけど・・・なんとなく外道なのかな?
2005ならNullable.型 で返すんだけど2003だと如何するのがオヌヌメなんだろう・・・
102デフォルトの名無しさん:2007/03/14(水) 16:07:32
1000行程度なら、オレならエクセルで読み込んで処理するが…どうしてもVBなの?
103デフォルトの名無しさん:2007/03/14(水) 16:11:53
すみませんが、こちらでもよろしければ教えてください。よろしくです。

Windows.Form上で使うControlクラスを継承して新しいコントロールを作成し、
そのBaseクラスのプロパティすべてを、一回の属性設定だけでプロパティウインドウに
表示されなくすることは可能でしょうか。

目的はアプリケーションに関係のない項目はプロパティウインドウに表示させず、
関係のあるごく少わずかの項目だけを表示させたいからですが、このためには
一つ一つのプロパティを継承作成して全部そこにAttribuetes設定しないといけないでしょうか?
できれば、既存の項目は全部まとめて表示させないようにしてから、自分で追加した
プロパティだけを表示させるようにしたいのですが、こうしたことは可能でしょうか?

(本件はC#スレッドでもお聞きしていましたがお答えがほしくこちらでも質問させて
戴きました、すみませんよろしくお願いします)
10495:2007/03/14(水) 16:50:45
>>96-100
皆さん、様々なアドバイスありがとうございます。
皆さんのヒントを元にヘルプやwebページを漁ってみましたが、大変参考になりました。
まずは
ttp://dobon.net/vb/dotnet/file/readcsvfile.html
あたりのページを参考に、やったことのない方法でやってみようと思います。

>>102
オフィス製品を導入していないサーバーで動かすため、アプリかスクリプトを作るしかありません。
バッチファイルかなにかで済ませられればそれに越したことはないのですが・・・
105デフォルトの名無しさん:2007/03/14(水) 18:00:33
VB.NETをまだ勉強していないのですが、よろしければ質問させてください

現在C、C++、WIN32APIを用いてウィンドウアプリを作成しているのですが
VB.NETでUIを作成し、Cでイベントハンドラのソースを書くことは可能なのでしょうか?
また、その場合CとWIN32のみで作成した場合と処理速度に差がでるのでしょうか?
(現在作っているプログラムはリアルタイム処理なため、処理速度が重要)

理由はデータベース関連の書籍やサイトがほとんどVB、C#、perl、JAVAなどのため
MFCでUIとデータベースを実装するよりも、VB.NETに移行した方がいいのかと思ったからです
C++/CLIなるものがあるようなのですが、何分C以外の言語はほとんど無知なため
よろしければご教授願います
106デフォルトの名無しさん:2007/03/14(水) 18:07:23
>>95
set n=0
for /f "delims=, tokens=4" %%0 in (hoge.csv) do if %%0=04 set /a n+=1
echo %n%
107デフォルトの名無しさん:2007/03/14(水) 18:33:18
>>105
結局ナニが知りたいのかよく読み取れないが、
とりあえずPInvokeでググってみたらどうかな

cで作ったdll内の関数を呼び出せるか、という意味ならそれは可能。
108105:2007/03/14(水) 19:31:17
>>107
わかりにくい文章ですいません
VBを使ってウィンドウを作成し、自分でCで作った関数を呼び出して使えるのか
ということが知りたかったんです
どうやら可能なようですね
PInvokeもかなり参考になりました
ありがとうございました

よろしければ、VBでCを呼び出した場合と、WIN32+Cの場合で処理速度に
差がでるか教えていただければ幸いです
wikipediaのVBの概要に
「ただし、実行速度はC/C++で記述したネイティブプログラムに比べ
10倍から20倍遅いと言われている。」
と書いてあったもので、あまりにも処理速度に差がでるならば使えないので・・・
これはCで書いた関数をVBで書き直した場合、これほどの差がでるということなのでしょうか?
109デフォルトの名無しさん:2007/03/14(水) 19:55:57
>>106
if %%0=04

if %%0==04

110デフォルトの名無しさん:2007/03/14(水) 20:31:54
>>108
日本のwikipediaなんか話半分に聞いとかなきゃダメでしょw

それたぶんVB6以前の話だと思うし。
VB6だってメモリを直接操作できないことによるオーバーラップがネックになるような
ごく一部の処理(特定の文字列操作)以外はそんな遅くなる理由がないし。

っていうか、あんたの用途に適合的かどうかはあんた自身で試すしかないでしょ。
111105:2007/03/14(水) 20:39:37
>>108
wikipediaを信頼しすぎたようですね
大丈夫なようで安心しました
時間はかかると思いますが、自分で試して頑張ってみることにします

ありがとうございました
112デフォルトの名無しさん:2007/03/14(水) 20:41:20
アンカーミス・・・>>110でした
スレ汚し失礼
113デフォルトの名無しさん:2007/03/14(水) 21:47:44
10万行くらいあるテキストファイル(1行100文字前後)の最後の100行を
読みたいのだけれどもっとも高速な方法を教えてくれ。
114デフォルトの名無しさん:2007/03/14(水) 22:01:17
頭から読むしかない。

文字列配列を要素100個分用意して放り込んでいき、
最後まで埋まったら頭から上書きしていく。
115デフォルトの名無しさん:2007/03/14(水) 22:07:49
>114
>頭から読むしかない。
げげ、ほんまかいな。困った。
じゃあ、逆にファイルを書き出すときに末尾に追加するのではなくて、
先頭に行を追加することはできるかい?それが出来れば
読むときは頭から100行読めばいいので。どう?
116デフォルトの名無しさん:2007/03/14(水) 22:12:02
そんな馬鹿なw
天然無脳(つまり114のことだが)だって1万ページある本の最後の1000行を
書き出すのに巻頭から全部目を通さないだろう
117デフォルトの名無しさん:2007/03/14(水) 22:21:19
>116
その方法を教えてくれ。たのむ。
118デフォルトの名無しさん:2007/03/14(水) 22:25:14
ケツからファイルポインタをデクリメントしていって1000個目の改行コード探すだけじゃん。
そこから先は普通にテキストとして読めばいい。
119デフォルトの名無しさん:2007/03/14(水) 22:32:41
>118
サンプルコードを教えてくれ。たのむ。俺は、ファイルポインタなんて
使った経験がない。
StreamReaderでファイルを開いてReadLine() で一行ずつなら読める。
120デフォルトの名無しさん:2007/03/14(水) 22:35:27
氏ねよ
121デフォルトの名無しさん:2007/03/14(水) 22:39:37
>>119
FileStreamクラスを使うんじゃよ
122デフォルトの名無しさん:2007/03/14(水) 22:43:56
>>113
>>119ってもしかしてテキストファイルなら、TextBox系でLoadFileしておいてTextを
String変数に代入してLength目から逆追いするってのと同じじゃないだろうか。
それなら直ぐ書けるのじゃないだろうか。
って俺はとてもヒマないからやってはあげはしないがw
123デフォルトの名無しさん:2007/03/14(水) 22:45:37
あ、ただTextBoxBaseは最大文字数に制限あったっけ??
124デフォルトの名無しさん:2007/03/14(水) 22:49:38
>>122,123は論外
125デフォルトの名無しさん:2007/03/14(水) 23:18:39
プログラム始めてから数ヶ月の俺にも出来たぜw
126デフォルトの名無しさん:2007/03/14(水) 23:24:16
>125
それを俺に教えてくれ。たのむ。
127デフォルトの名無しさん:2007/03/14(水) 23:36:37
>>126
Dim a As New IO.FileStream("C:\a.txt", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
Dim count As Integer
Dim Bytes(a.Length - 1) As Byte
For I As Integer = a.Length - 2 To 0 Step -1
 a.Position = I
 If a.ReadByte() = 13 And a.ReadByte() = 10 Then
  count += 1
  If count = 1000 Then
   a.Read(Bytes, 0, a.Length - I)
   TextBox1.Text = System.Text.Encoding.GetEncoding("Shift-jis").GetString(Bytes)
   Exit For
  End If
 End If
Next
a.Close()

エンコードはシフトJIS
勘で作ったから保障はしないよ
128デフォルトの名無しさん:2007/03/14(水) 23:44:13
色んな物がメチャクチャだなぁ
129デフォルトの名無しさん:2007/03/14(水) 23:50:53
>Dim Bytes(a.Length - 1) As Byte
これで台無しだな
130デフォルトの名無しさん:2007/03/14(水) 23:58:43
>>126
だからFileStreamクラスを調べろっつってんだろがボケ!!!

でもSeekとかPositionの性能が本当に良いかどうかは知らんよ。
131デフォルトの名無しさん:2007/03/15(木) 00:01:41
>127
おおーーー、超サンキュウ!
さっそく試してみるわ。
>130
>ボケ
だから質問してるんだよ。俺に優しく教えろ!
132デフォルトの名無しさん:2007/03/15(木) 00:06:09
だから悩んだり試したりする前にMSDNに目を通せと(ry
133デフォルトの名無しさん:2007/03/15(木) 01:02:05
>>130はツンデレ
134デフォルトの名無しさん:2007/03/15(木) 05:04:45
フォーム上にお絵かきするソフトで下記の例外がまれに発生するんだけど、
なんのことやらさっぱり分からん。

「InvalidOperationException:バッファ操作が現在進行中であるため、BufferedGraphicsContext を消去できません」

作り方が悪いのか?
どういう場合に発生する例外なのか、VBプロフェッショナル達よ、教えてくれ。


135デフォルトの名無しさん:2007/03/15(木) 08:09:55
頭が悪いんだよ、きっと。
いや、確実に。

作り方が悪いのか?、だと?
お前さん以外にそういうトラブルを申し立てている人間がいるのかよw
136デフォルトの名無しさん:2007/03/15(木) 08:15:47
>>127
そいつのベンチマークが見たいな。
137デフォルトの名無しさん:2007/03/15(木) 09:51:10
>>125 こんなのでどうか

Public Function ReadTailLines(ByVal filename As String, ByVal lineCount As Integer)
  Dim sep() As String = {vbCrLf}

  Using ifs As IO.FileStream = IO.File.OpenRead(filename)
    Dim allBuf As New List(Of Byte)
    Dim len As Integer = lineCount * 100
    Dim pos As Long = ifs.Length
    Dim lines() As String

    Do
      pos -= len
      If pos < 0 Then
        len += pos
        pos = 0
      End If

      Dim tmpBuf(len) As Byte
      ifs.Seek(pos, IO.SeekOrigin.Begin)
      ifs.Read(tmpBuf, 0, len)

      allBuf.InsertRange(0, tmpBuf)
      lines = Text.Encoding.Default.GetString(allBuf.ToArray(), 0, allBuf.Count).Split(sep, StringSplitOptions.None)
    Loop While pos > 0 And lines.Length < lineCount
(続く)
138デフォルトの名無しさん:2007/03/15(木) 09:52:07
    If lines.Length <= lineCount Then
      Return lines
    Else
      Dim ret(lineCount - 1) As String
      Array.Copy(lines, lines.Length - lineCount, ret, 0, lineCount)

      Return ret
    End If
  End Using
End Function

初めてVB.NETでプログラム組んだのでちょいと汚いがな
139137:2007/03/15(木) 09:52:57
>>113 の間違いだ。すまん
140デフォルトの名無しさん:2007/03/15(木) 12:22:10
>>134
どんな時にその例外が投げられるかはMSDN見れ。

なんで、もしくはどこで、出てるのかは
お前さんにしかわからない。

とりあえずコード上での発生箇所を探るしかないとおもう
141デフォルトの名無しさん:2007/03/15(木) 12:26:42
例外発生ネタは発生個所を晒してもらわないことには回答のしようがないんだよな
142デフォルトの名無しさん:2007/03/15(木) 12:50:39
134だけど、例外の発生箇所は下記のとおりだよ。

場所 System.Drawing.BufferedGraphicsContext.Dispose(Boolean disposing)
場所 System.Drawing.BufferedGraphicsContext.Dispose()
場所 System.Drawing.BufferedGraphicsContext.AllocBufferInTempManager(Graphics targetGraphics, IntPtr targetDC, Rectangle targetRectangle)
場所 System.Drawing.BufferedGraphicsContext.AllocBuffer(Graphics targetGraphics, IntPtr targetDC, Rectangle targetRectangle)
場所 System.Drawing.BufferedGraphicsContext.Allocate(IntPtr targetDC, Rectangle targetRectangle)
場所 System.Windows.Forms.Control.WmPaint(Message& m)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

自分の作ったコード内ではないので、困ってるんだよ。
143デフォルトの名無しさん:2007/03/15(木) 12:54:43
そんな内部のことはどうでもいいから最後に実行された自分のコードを確認してくれ
144デフォルトの名無しさん:2007/03/15(木) 13:56:01
>>142
> 自分の作ったコード内ではないので、困ってるんだよ。 
俺たちも自分の作ったコード内じゃないことの上にソースすらないからどうしようもないんよ(・ω・)
145デフォルトの名無しさん:2007/03/15(木) 14:14:50
>>144
ソースがないと直しようがないじゃないか・・・

なんか ちらつき防止のダブルバッファの使い方を
間違えたんじゃないかと思うんだが?

どうなの、詳しい人?

それと、思い出したんだが.VisualStudioに逆アセンブラがついてた気がする。
難読化されていなかったらソース解析できる可能性があるよ。
146デフォルトの名無しさん:2007/03/15(木) 14:16:38
ごめん>>144>>142が同一人物だと勘違いした。OTZ
147デフォルトの名無しさん:2007/03/15(木) 14:49:56
>137
誰かこれをVB.NET2003に翻訳してくれ。たのむ。
148デフォルトの名無しさん:2007/03/15(木) 16:47:19
VB.netを使って、サーバーやサイト上のデータ(htmlとかtxtとか)をダウンロードし、
PC内にためこんでデータベース化するソフトを作りたいんですが、
どういう機能を使えばいいのかわかりません。
どういう機能を使えばweb上のデータをDLできるのでしょうか?ADO?ASP?
また、それを学ぶのにお勧めの本などありましたら教えていただけると幸いです<(_ _)>
149デフォルトの名無しさん:2007/03/15(木) 18:12:11
>>148
MSDN
150デフォルトの名無しさん:2007/03/15(木) 18:43:47
VB.NETで作成したEXEファイルを自動的に配布するツールとかないですかね?
クライアントはIEが前提で

ノータッチデプロイメントでいいやって思ってたら、社外からのインターネットアクセスはTAMってやつが邪魔するのよ
151デフォルトの名無しさん:2007/03/15(木) 19:00:29
んーーーーーいろいろ考えたけど
IISにローカルのEXEファイルとサーバサイドのファイル更新日時比較するスクリプト仕込んだポータルサイトを置いといて
そのスクリプトでFTPダウンロードする方式しか思いつかんな
でもかっこ悪いよなこんなやり方
セキュリティ警告のダイアログがウザそうだし
152デフォルトの名無しさん:2007/03/15(木) 19:11:05
フロッピーで郵送
153デフォルトの名無しさん:2007/03/16(金) 00:00:19
if x < 1e10 then
って書いたら、勝手に
if x < 10000000000 then
ってなるのだが、ゼロが並んでいると分かりにくいので、1e10のまま
にしたいのだが、方法はあるか?
154デフォルトの名無しさん:2007/03/16(金) 00:22:53
VBって16進も勝手に整形するよね。もうアホかと。

Const tenBillion as Integer = 1000000000

とか、

if x < 10^10 then

ぐらいか、手の打ち所は?
155デフォルトの名無しさん:2007/03/16(金) 00:31:47
>>153自動整形機能を切るのはダメ?
156デフォルトの名無しさん:2007/03/16(金) 00:40:54
Int64.Parse( "1e+10", NumberStyles.AllowExponent )

ww
157デフォルトの名無しさん:2007/03/16(金) 00:49:55
>>137
それだと、lines.Length=lineCountのとき、戻り値の最初の行が途中からにならないか。
158デフォルトの名無しさん:2007/03/16(金) 04:51:37
134だよ。

ソースを提示したいけど、サイズがでか過ぎてムリだよ。
ミニマムコードを示せればいいんだけど。。。

とりあえず、情報を探してみたけど、
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=200483&SiteID=1
http://www.codeproject.com/cs/samples/swarmscreensaver.asp?df=100&forumid=185924&exp=0&fr=26&select=1139791

似た現象はあるようだけど、解決策はかいてなかった。
下のは、Graphics.Flushを呼べと書いてあるけど、効果は不明。

う〜ん、はまった。。。

159デフォルトの名無しさん:2007/03/16(金) 10:09:26
VB.NET2003でソフトを動作させていると
IOExceptionが発生し、内容は
このコマンドを処理するのに必要な記憶域をサーバーで確保できません

こんなエラーが時々出る様子

やっている処理は以下のようなもの(普通にありえないんだが別会社のソフトの関係で仕方なくこうなっている)
OSはすべてXPのSP2
ウィルスバスターインスコ済み

一定間隔(処理完了から次の処理開始までが10秒ほど)
PC2〜10からPC1にある大量のファイル(10000ほどある時もある)を全てなめて計算しているんだが
このときに出ている模様

で、検索してみるとサービスで使用しているスタック領域が不足しているので(XPのデフォは15)、これを現在の値から引き上げてやる模様
これが不足する理由ってのがよくわからないけど、他の人は単純に20とか30にまで引き上げてやれば解決しているみたい

外部から共有フォルダに接続してガリガリ読み込むと単純にネットワークサービスが使うメモリが不足するって事なのかな?
あと、これは・・・PC1に対して行うのかPC2〜10に対して行うんだろうか・・・
PC1だとは思うけどレジストリなのでおいそれと変えたくない予感

もし、何か知ってる人居たら教えてくれないか?
160デフォルトの名無しさん:2007/03/16(金) 10:42:42
>>159
その質問に答えられるのはエスパーかペテン師ぐらいだろう。
VB.NET2003でどんなソフトを作ってんのよ。WinFormアプリかサービスか、
通信は共有フォルダなのか独自にやってるのかはっきりしろ。
161デフォルトの名無しさん:2007/03/16(金) 10:54:54
>>160
ごめ、説明不足

WinFormアプリで
PC1の共有フォルダを介してPC1のファイルを
PC2〜10のWinFormアプリ各々がチェックしに行ってる状態

PC1のレジストリにはIRPStackSizeの項目は設定されていない
また、パフォーマンスの詳細設定で
パフォーマンスの優先はプログラム
メモリ使用量はプログラム
なぜか仮想メモリは370〜700固定

IRPStackSizeの変更後の値をネットで調べると15が多いようだが
マージンとってそれよりも大きな値(20〜30とか)に設定しても大丈夫なのかな?
出来れば設定値の基準値が知りたいところではあるけれど・・・

また、PC1では基本的に操作しないのでパフォーマンス設定も
サーバOSのデフォのように変えてやったほうがいいんだろうか?

PC1の大まかなスペックはP4 2.8Gでメモリ512M

ん〜・・・説明へたでゴメ
162デフォルトの名無しさん:2007/03/16(金) 11:00:38
>>148
Webサービスでがんばれ
163デフォルトの名無しさん:2007/03/16(金) 12:45:40
TextBoxのMaxLengthプロパティってディフォルトで32767文字もあるけれど、
10文字で十分なのだけれど、この値が大きくても小さくても、プログラム
起動してタスクマネジャでメモリ使用量比べても、余り違わないのだけれど、
これはどういうこと?1000個のTextBoxでテストしてみたが良く分からない。
164デフォルトの名無しさん:2007/03/16(金) 12:48:18
入力を制限しているだけでそれ以上の意味はない
165デフォルトの名無しさん:2007/03/16(金) 12:55:23
>164
知らんかった。39!
166デフォルトの名無しさん:2007/03/16(金) 13:41:02
馬鹿のイメージでは、メモリアロケーションしてるんかい?
きょうびの高級言語、そんなにせこせこしてねーよ。
167デフォルトの名無しさん:2007/03/16(金) 15:04:28
意味が分からない
168デフォルトの名無しさん:2007/03/16(金) 19:06:31
質問、Excelなんかが公開してるCOMオートメーションをVB.NETから使う時なんですが。
Excel側のイベントでチェックボックスのチェック状態を変更すると、以下の例外が出ます。

 System.Reflection.TargetInvocationException' の初回例外が mscorlib.dll で発生しました。

COMのイベント内で自アプリのフォーム上のコントロールなんかを操作ってどうやったらいいでしょう。
とりあえずExcel側で新しいブックが作成された時のイベント(NewWorkbook)を使ってみたサンプルが
以下です。

Public Class Form1
  Private WithEvents m_objExcel As Excel.Application

  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    m_objExcel = New Excel.Application
    m_objExcel.Visible = True

    CheckBox1.Checked = False
  End Sub

  Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    m_objExcel = Nothing
  End Sub

  Private Sub m_objExcel_NewWorkbook(ByVal Wb As Excel.Workbook) Handles m_objExcel.NewWorkbook
    CheckBox1.Focus()
    CheckBox1.Checked = True
  End Sub
End Class

VB6だと動きますが、やっぱりVB.NETだとお作法が違いますよね
169デフォルトの名無しさん:2007/03/16(金) 20:19:54
ワロタ
170デフォルトの名無しさん:2007/03/17(土) 21:18:29
おまえらって賢いな
171168:2007/03/18(日) 01:11:07
解決しました

.NET Fremawork1.1のC#しか扱ったことなかったのですが、2.0以降ではサブスレッドから
Windowのコントロールにアクセスすると例外が起こるんですね。
1.1の時はたまたま動いていたと。 orz

ちなみにInvoke()呼び出しと、m_objExcelの操作をサブスレッドで実行するように変更したら
動くようになりました。

めったに.NETのC#もVBも使わないんで結構忘れますね。
あと書き忘れてましたが VisualStudio2005使ってます。(最近買いました)
172デフォルトの名無しさん:2007/03/18(日) 01:19:03
>>171
ついでにCOM相互運用とかも見とくといいんでない?
173デフォルトの名無しさん:2007/03/18(日) 01:22:41
ttp://jeanne.wankuma.com/tips/programing/releasecom.html
こんな開放ってやっぱり必要なの?
174デフォルトの名無しさん:2007/03/18(日) 01:25:39
自分しか使わないもんなら不要。
それで困らなければ不要。
立ち上げてすぐ落とすようなもんなら大抵不要。

そうでなければ必須。
175デフォルトの名無しさん:2007/03/18(日) 01:26:36
>>174 thx
176デフォルトの名無しさん:2007/03/18(日) 01:28:38
>>172
ちょうどHELPでそこ読みながらやってました
でも.NETメインじゃないんで熟読するの辛いですね

>>173
やらないとアプリ終了時に例外が出ますね
でも、やらなくてもCOMのローカルサーバーはちゃんと終了するんで
参照カウントはデクリメント(Release)されてるのかも
177デフォルトの名無しさん:2007/03/18(日) 12:09:49
>>173
やっとかないアンマネージドリソースはフレームワークが勝手に開放するような仕組みもって無いんで解放できないんじゃ・・・?
というわけで仕方なくCOM使う場合は必ず使ってる

ただ、ラッパクラスAをさらにラップしたクラスB作ったら、Bの解放のタイミングでフレームワークがCOMオブジェクトリリースしてくれないかな?
とか淡い期待抱いてるけど
178デフォルトの名無しさん:2007/03/18(日) 12:21:01
>>173
使うことが推奨だが、

>COM オブジェクトを扱う場合は、参照の解放を常に意識する必要があります。
>使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと「メモリ リーク」を起こします。 

は明らかな間違い。いい加減なおして欲しいよ。
179デフォルトの名無しさん:2007/03/18(日) 12:35:03
>>178
何が間違ってんだ、とぼけたこと抜かしてんなよボケ
180デフォルトの名無しさん:2007/03/18(日) 12:36:46
>>178
”メモリリーク”を何に直せばいいの?
181デフォルトの名無しさん:2007/03/18(日) 13:03:03
微妙な問題ではあるが、MSDNフォーラムのこの話題が参考になりそう。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=748277&SiteID=7

COMの参照カウンタはRCWが管理している。
ReleaseComObjectはCOMの参照カウンタそのものではなくRCWの参照カウンタを管理するもの。
RCWの参照ポインタがゼロのなるかGCされればCOMの参照カウンタはデクリメントされる。
RCWはReleaseComObjectで開放すべきであり、GCによる開放はフェイルセーフ的なものと考えるべき。
182デフォルトの名無しさん:2007/03/18(日) 13:30:27
>>180
>COM オブジェクトを扱う場合は、参照の解放を常に意識する必要があります。 
COM オブジェクトを扱う場合は、参照の解放を意識する必要があります。 
>使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと「メモリ リーク」を起こします。  
使用したRCWの参照カウントが正しくデクリメントされていないと期待するタイミングでCOM オブジェクトが開放されません。  
183デフォルトの名無しさん:2007/03/18(日) 13:32:24
>>182
あらゆる意味で不完全燃焼だ
184デフォルトの名無しさん:2007/03/18(日) 13:34:37
そんな文章の校正屋みたいなことして楽しいのかね。奇特な奴。
どうせ何か書くなら物事自分の頭でまとめた結果をアウトプットしろよ
185デフォルトの名無しさん:2007/03/18(日) 13:49:41
そりゃま、「全部GCでOKww手動でやる奴は馬鹿!」とか書いたら爆釣りで完全燃焼だろうけどさw
186デフォルトの名無しさん:2007/03/18(日) 14:21:11
>>184
校正って、間違ってんだろ
187デフォルトの名無しさん:2007/03/18(日) 17:13:13
VB6時代のNothing論争に似てる。
Sub XX
  Dim Obj As New ActiveX.Hoge
  '  いろいろな処理
  Set Obj = Nothing
End Sub
最後のNothingがないとメモリーリークが起きると言い張るのが必ずいた。
実害はないから頭の悪いプログラマーには全部Nothingを付けされたほうが安全というのが結論だった。
188デフォルトの名無しさん:2007/03/18(日) 17:18:16
参照にnullを代入したらその時点でGCが動くと信じてる奴は多そう
全く意味はないとMSDNには書いてあるが
189デフォルトの名無しさん:2007/03/18(日) 17:19:20
dim a as new collection
set a=nothing
msgbox a.count
190デフォルトの名無しさん:2007/03/18(日) 17:19:56
全く意味は無いというのは言いすぎだな
超極めて限定的に意味があるシーンもある
……それは意味がないのと同義か
191デフォルトの名無しさん:2007/03/18(日) 17:20:00
アウトプロセスサーバなCOMでプロセス起動するようなやつだと
解放しないとプロセスが残るやん
メモリリークどころじゃないやん
その時点でアウトやん
192デフォルトの名無しさん:2007/03/18(日) 17:22:07
>>190
循環参照とかにつかうんよ

>>191
参照カウントをデクリメントするのと、「解放」するのは全く別物
193デフォルトの名無しさん:2007/03/18(日) 17:24:48
循環参照でもそれらが孤立してたらGCされるだろ
194デフォルトの名無しさん:2007/03/18(日) 17:27:18
>>193
.NETはね
VBは参照カウントだから無理
195デフォルトの名無しさん:2007/03/18(日) 17:39:01
以下VB6の話。スレ違いなのでこれくらいにしておく。
「別の処理」のときにObjを確実に終わらせいたいときはNothingの代入は意味がある。
Sub XX 
  Dim Obj As New ActiveX.Hoge 
  '  いろいろな処理 
  Set Obj = Nothing ' ここで参照が0になったら即開放される。ここはVB.NETと異なる。
 ' 別の処理
End Sub
Objはローカルに宣言された変数だからEnd Sub時点でObjは消失してNothingの代入相当の処理
つまり参照カウンタの減算は行われる。このため「別の処理」が存在しないときにNothingの代入は意味がない。
196デフォルトの名無しさん:2007/03/18(日) 17:39:55
COM使うの止めればいいじゃん。特にサーバでは。
197デフォルトの名無しさん:2007/03/18(日) 17:41:26
>>196
サーバー用途だとエンタープライズサービスがもろCOM+だからねぇ
198デフォルトの名無しさん:2007/03/18(日) 23:17:22
しかし、これからはComは使わないだろ

FW1.1とかでAPI使わずにVB6のMSCOMM使ってる連中が多かったから
FW2.0でCOMM通信のコンポーネント追加したんだろう

DataGrid使いづらいからってMSFLEXGRID使ってた連中もいたし
それでDataGridView追加したんだろうけどなぁ…

すべてはCOMから移行していくんだよ全て
199デフォルトの名無しさん:2007/03/18(日) 23:28:50
とはいえ、マイクロソフトの主要プロダクトはほとんどCOMじゃないか。
200デフォルトの名無しさん:2007/03/18(日) 23:34:01
>>198
FWってFrameworkのことか?
普通はFxと略すが
201デフォルトの名無しさん:2007/03/18(日) 23:37:47
Fxは.NET Framework 3.0(旧称WinFX)のことだと誤解されそう
202デフォルトの名無しさん:2007/03/18(日) 23:39:29
>>200
うはw初めて知った。
それって公式な略称なんですか?
203デフォルトの名無しさん:2007/03/18(日) 23:39:53
マイクロソフトの出す資料には.NET Fxと書いてある。
204デフォルトの名無しさん:2007/03/18(日) 23:40:14
>>200
FXは俺も3.0とオモタw

そういえばみんなフレームワークなんて呼んでるんだろうな?
俺は普通にフレームワーク2.0とかの書き方なんだが略し方とかあるのか?
VisualStudio2005=VS2005みたいに
205デフォルトの名無しさん:2007/03/18(日) 23:41:16
Clipboard.SetDataObject(Me.PictureBox.Image, True)
で、クリップボードにコピーしようとしたら、10回に8回くらいは、以下のエラーが出るんだけれど
何でかな?

System.Runtime.InteropServices.ExternalException: 要求されたクリップボード操作が失敗しました。
at System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy)
206デフォルトの名無しさん:2007/03/18(日) 23:46:05
>>205
他所のアプリがクリップボードをロックしてる時にでもエラーになってんじゃね?
207デフォルトの名無しさん:2007/03/18(日) 23:50:34
>206
サンキュウ。うーん、でもね、他のアプリは確かに沢山動いているけれど、
クリップボードをロックしているはずはないのだけれど。
例えば、このエラーが出たあとPaintを起動してクリップボード使っても
何も問題なく使える。うーん、おかしい。
208デフォルトの名無しさん:2007/03/18(日) 23:53:12
その前後のプログラムのソース見ないといまいちわからんかもしれんなぁ・・・
なにやってんだ?
俺はクリップボード問題なさそうなんだが
209デフォルトの名無しさん:2007/03/19(月) 00:05:22
プログラムはFormを3つ開いて、Form3のPictureBoxに絵を描いて
Buttonを押したらその絵をクリップボードにコピーするという簡単なもの。
このサンプルをそのまま使っている。
ttp://www.bcap.co.jp/hanafusa/dotnet/zu02.htm#no4
プログラムの中には、スレッドを使って別の処理を並行してやらせるようなルーチンも
あるのだけれどプログラム起動直後はそういうルーチンは全然実行していないので、
スレッドなどは関係ないと思う。
210デフォルトの名無しさん:2007/03/19(月) 00:15:10
>>209
COM関連だよなInterRop
そうおもってググってみたら同じような質問があった

でうまくいったみたいだけど参考になるかな?
211デフォルトの名無しさん:2007/03/19(月) 00:15:56
貼り忘れ 連投スマソ
http://piza.2ch.net/tech/kako/977/977112364.html
//*********************
232 名前: 名無しさん♯ 投稿日: 2001/04/17(火) 17:21

>>230
COMのスレッドの問題よん。
ここを参考にしてちょ。

質問
http://discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&P=R26673

回答 from Microsoft
http://discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&D=0&P=38177



233 名前: デフォルトの名無しさん 投稿日: 2001/04/18(水) 00:39

>>231-232
ありがとうです。
using System.Threading; して
Thread.CurrentThread.ApartmentState = ApartmentState.STA;
をMainの一番初めに入れればいいんですよね。
この方法で試してみたけど、うまくいったりいかなかったり…。
で、今試したら100%うまくいくようです。
ちょっと謎ですが、たぶん大丈夫でしょう。
どうもありがとうございました。

212デフォルトの名無しさん:2007/03/19(月) 01:00:10
普通はSTAThreadAttributeついてると思うんだけど、つけてないの?
213デフォルトの名無しさん:2007/03/19(月) 01:01:36
>>207
そりゃ問題なく使えて当然。そんな長時間クリップボードをロックしっぱなしするようなことはフツーしない。
214デフォルトの名無しさん:2007/03/19(月) 02:05:54
>211
サンキュウ。
Thread.CurrentThread.ApartmentState = ApartmentState.STA
っていうのを入れてみたが効果なし。
おかしい。
215デフォルトの名無しさん:2007/03/19(月) 07:39:15
>>214
.NETのVersionはなに?.NETのVersionが2.0なら
>Thread.CurrentThread.ApartmentState = ApartmentState.STA 
は既にレガシーで機能しない。
メインスレッドは属性[STAThread]で指定し、それ以外のスレッドならスレッド開始前に
Thread.SetApartmentStateで初期化する必要がある。

それからPictureBoxはGUIコンポーネントだから、もしメインスレッド以外から
PictureBox.Imageを参照してるならおかしくなるのは当たり前だけどそこは大丈夫?
216デフォルトの名無しさん:2007/03/19(月) 08:08:45
マイクロソフトはレガシーって呼ぶのか…。obsoleteとか言ってくんないとわからんw
217デフォルトの名無しさん:2007/03/19(月) 08:37:32
>>215
もうだめだ .Image が .Invoke に見えた(orz
218デフォルトの名無しさん:2007/03/19(月) 08:44:50
それは目がピンヴォケですね
219デフォルトの名無しさん:2007/03/19(月) 09:05:56
220デフォルトの名無しさん:2007/03/19(月) 10:06:46
Directoryクラスについて教えてください。

ヘルプに、
「Directory クラスの静的メソッドは、すべてのメソッドでセキュリティ チェックを実行します。
オブジェクトを何回か再利用する場合は、このようなセキュリティ チェックが必ずしも必要では
なくなるため、これらの静的メソッドの代わりに DirectoryInfo の対応するインスタンス メソッドを
使用することを検討してください」

とありますがこのセキュリティチェックというのは、Windows固有の機能でのチェックでしょうか、
それともウイルス対策ソフトにチェックをしてもらうということでしょうか?

このヘルプの意味するところは、「初回は必ずDirectoryクラスを使い、一度使ったフォルダは
すぐ次ではDirectoryInfoクラスを使うようにする」ことで、ウイルスチェックなどがしっかり掛かる
ということを意味しているのでしょうか?それともこれらのセキュリティチェックとは、いわゆる
コードアクセスセキュリティのようなもののことでしょうか?すみませんがよろしくお願いします。


221デフォルトの名無しさん:2007/03/19(月) 10:09:02
また、逆に言うと、Directoryクラスを使わず、DirectoryInfoクラスだけを使ってしまうと
セキュリティチェックが掛からず、ウイルスに汚染されてしまう危険がある、といったことをも
意味するのでしょうか?これもあわせてお願いします。
222デフォルトの名無しさん:2007/03/19(月) 10:13:30
CASの事だよ。
ウィルスとか関係ない。
DirectoryInfoでもチェックは入るが、
例えばインスタンス作成時だけチェックすれば済むとか、
そういう話だよ。
223デフォルトの名無しさん:2007/03/19(月) 10:24:35
>>217

とりあえずもちつけ
落ち着いて理論的に考えていけばきっと解決できる問題だ!!
224デフォルトの名無しさん:2007/03/19(月) 10:32:50
>>222
ありがとうございます。やはりコードアクセスセキュリティのことだったのですか、

>DirectoryInfoでもチェックは入るが、
>例えばインスタンス作成時だけチェックすれば済むとか

ということは、ヘルプの言ってることは、原則として、

 インスタンス作成時は Direvtoryクラスを使い、
 それ以降そのインスタンスの使用は DirevtoryInfoクラスを使ってください

と考えてよいということでしょうか?そしてみなさんもそういう原則を踏襲して
日々コードを作成しておられると考えてよいでしょうか?
225デフォルトの名無しさん:2007/03/19(月) 10:44:13
>>224
どこをどう読めばそう曲解できるのか不思議だが、書いてあるとおりだよ。
CASにかかる時間が気になるほど回数呼ばないならどっちでもいいってことだ。
226デフォルトの名無しさん:2007/03/19(月) 11:07:57
>>225
たびたびすみませんです。

まだよく理解できていないのですが、DirectoryInfoでもDirectoryでも、
CASに関しては同等なのでしょうか、それともやはり顕著に異なるのでしょうか?

もし同等なのであれば、どちらを使ってもよい、ということになりコード作成で
気にする必要がなくなってありがたいのですが、ヘルプではやはり異なるように
書かれてあるようにも感じられます。CASをやってくれるのがDirecotryだけであるなら、

1.たくさんの回数呼ばないのなら、すべて 「Direcotry」 で済ませてよい、

しかし

2.もし同じフォルダーをたくさん回数呼ぶようであれば、最初だけはDirectoryを
  使って、あとは DirectoryInfo を使うようにするべきである、

ということでしょうか?そしてこの原則をはずしてすべてを DirectoryInfo だけで
記述してしまうと、.NETのプログラムとしては大きく欠陥となる、ということを意味する
のでしょうか?この辺が気になっています。VB6ではこういうことを考える必要が
なかったもので戸惑っています。
227デフォルトの名無しさん:2007/03/19(月) 11:32:46
なんでそうなる
228デフォルトの名無しさん:2007/03/19(月) 11:35:12
プログラミングがあまりに論理的なので忘れてしまうことが在る

プログラミングはスポーツ、つまり活動的な行為なのですよ

人に聞くなんて恥ずかしい行為は慎むとよい
229デフォルトの名無しさん:2007/03/19(月) 11:36:24
DirectoryInfoはチェックしないなんて
どこに書いてあんだよ。

同じディレクトリに対して操作を繰り返すんだから、
最初のインスタンス作成時にチェックするだけで済むだろ。
だからコンストラクタとかその辺でチェックしてるってことだよ。
230デフォルトの名無しさん:2007/03/19(月) 11:39:44
そろそろさじ投げてもいいほど俺たちは堪えてるよな?
231デフォルトの名無しさん:2007/03/19(月) 12:07:46
>>229
>DirectoryInfoはチェックしないなんてどこに書いてあんだよ。

>>220で挙げたようなヘルプの説明はそういった意味かと思いました。
これは意味が異なるのでしょうか。いろいろお聞きしてすみません。

>同じディレクトリに対して操作を繰り返すんだから、
>最初のインスタンス作成時にチェックするだけで済むだろ。
>だからコンストラクタとかその辺でチェックしてるってことだよ。

ということは、コンストラクタを使う限りは、DirectoryでもDirectoryInfoでも
CASが掛かるということでしょうか、そうであれば、初めから両者の差は、
コンストラクタ以外のメソッドでのみ異なるということになるわけなのでしょうか。
たびたびお聞きしてすみません。
232デフォルトの名無しさん:2007/03/19(月) 12:19:11
reflector.netでも使えばいいんじゃないか?
233デフォルトの名無しさん:2007/03/19(月) 12:32:20
諦めた、もう無理w
234デフォルトの名無しさん:2007/03/19(月) 12:37:29
どうやってDirectoryのコンストラクタを使うんだ。
どうやってコンストラクタを使わずにDirectoryInfoを使うんだ。


って言ったらコンストラクタ使わずに使えるよ、とか言われんだろな。
そういうことじゃないんだ、そういうことじゃ…
235デフォルトの名無しさん:2007/03/19(月) 12:38:41
>>231
そのセキュリティチェック云々のたわ言は別にして
DirectoryとDirectoryInfoの違いはわかってるのか?
236デフォルトの名無しさん:2007/03/19(月) 12:43:29
>>231
・・・なんという電波解釈wwww
237デフォルトの名無しさん:2007/03/19(月) 12:46:37
>>235
>DirectoryとDirectoryInfoの違いはわかってるのか?

それもあいまいなのですした。すみませんです。

>そのセキュリティチェック云々のたわ言は別にして

この件はそれほど気にしなくてもいいという感じでいいでしょうか?
238デフォルトの名無しさん:2007/03/19(月) 12:54:47
TextBoxに入力した内容を次にソフトを立ち上げた時に表示するように保存しておくようにしたいんですけど。
どうやるんですか?
データファイルとかソフト本体以外のファイルは作らないでやりたいんです。
239デフォルトの名無しさん:2007/03/19(月) 12:57:52
1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
1000回繰り返したら1秒遅くなることになるが、これが気になるならうまくやれってこと。
240デフォルトの名無しさん:2007/03/19(月) 13:01:52
>215
サンキュウ。
VS.NET2003です。
その後のテストで、以下の事実が判明しました。ここで教えてもらったスレッド関係の設定をしなくても、
別のDELLマシンでは、何の問題もなくpictureBoxクリップボードにコピーできる。
エラー発生するのは最初に開発していたマシンのみ。
エラー発生しても、プログラムの実行を継続してやれば、2回目以降は成功する。

というわけで、よく分からない状態です。たまたま解決したのか、また、別のマシンで発生する可能性があるのか考えるとちょっと怖い。
お客さんのマシンで発生したら最悪。。。
241デフォルトの名無しさん:2007/03/19(月) 13:02:17
>>238
情報量増やさずに情報を増強するのは無理
普通は外部ファイルとして保存するかアプリケーション構成とかに保存するんだろうが、
嫌なら諦めろ
242デフォルトの名無しさん:2007/03/19(月) 13:04:20
>>238
念じるしかないんじゃないの?
増やさないで情報を保存するなんて、エスパーしかできねーし。
243デフォルトの名無しさん:2007/03/19(月) 13:04:37
>>238
レジストリに格納できないか?
244デフォルトの名無しさん:2007/03/19(月) 13:14:38
>>239
>1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
>1000回繰り返したら1秒遅くなることになる

そうだったのですか。わかりました、ということは原則としてアクセス回数が
少ないものの場合は、Directoryですべてまかなう方がむしろよい、というふうに
つまりCASを必ず通すという考えでやれば間違いはない、ということなのですね。
どうもありがとうございました。

あとは、DirectoryとDirectoryInfoの違いについてまた調べてみますです。
どうもでした。
245デフォルトの名無しさん:2007/03/19(月) 14:16:26
おめでとうございます。
日常生活でのコミュニケーションに障害を感じるレベルです。
246デフォルトの名無しさん:2007/03/19(月) 15:36:42
>>238
アプリ本体のアセンブリ自身を書き換えてやればいいんじゃないか?
247デフォルトの名無しさん:2007/03/19(月) 15:40:19
>>243
それも外部ファイルいじってるやんw

>>238みたいなのはもう居なくなれよwwwww
常識的に考えてそんなことしねぇよwwwww
248デフォルトの名無しさん:2007/03/19(月) 15:41:53
まあ、彼がファイルとか作りたくないっていう理由が全くわからんけどね。
Assembly自身の書き換えは、厳格名を持ってる場合に問題出るだろうし、そもそも最近のセキュリティソフトが嫌うと思う。
EXEの書き換えなんて。
普通にapp.configに書き出せばいいのに。
249デフォルトの名無しさん:2007/03/19(月) 15:52:26
>>247
少なくとも新規作成はしない罠
250デフォルトの名無しさん:2007/03/19(月) 15:55:27
>>249
確かにw


しかしまぁ、何故新規作成したくないというか・・・・
きっとダメな理由でもあるんだろうけどなぁ

251デフォルトの名無しさん:2007/03/19(月) 15:59:14
それならSystem32あたりで適当なファイルをランダムに選んで乗っ取れ
252デフォルトの名無しさん:2007/03/19(月) 16:04:16
ブートローダ乗っ取ればいいんじゃね?
253デフォルトの名無しさん:2007/03/19(月) 16:05:35
PCに残せないなら、前回の最終入力を作業者の脳内に残してもらえばいいじゃん。
それを画面起動時に入力してもらう。
254デフォルトの名無しさん:2007/03/19(月) 16:08:58
ふっかつのじゅもんか。
255デフォルトの名無しさん:2007/03/19(月) 16:11:21
設定サーバを立ててオンラインで保存・読み込みすればいいんじゃね
256デフォルトの名無しさん:2007/03/19(月) 16:13:15
まあ、普通に馬鹿な仕様を変更すればいいだけだろ?
ローカル保存可とするか、保存する場所ないならば前回入力なんぞ保持しないか。
257デフォルトの名無しさん:2007/03/19(月) 16:38:26
VBでいうAsc関数はフレームワークではどの様に記述するのでしょうか?
Microsoft.VisualBasic.Strings のメンバではなくてです。
258デフォルトの名無しさん:2007/03/19(月) 16:38:54
system.math
名前空間の中じゃねぇの?
259デフォルトの名無しさん:2007/03/19(月) 16:44:21
Reflectorで覗いてみたら?
自己責任で
260デフォルトの名無しさん:2007/03/19(月) 16:44:27
>>257
普通にInt32にキャストしろ
261257:2007/03/19(月) 17:18:27
たくさんの回答ありがとうございます。

>>258
名前からして違うと思います。一応確認しました。

>>259
リコンパイラ以前使ったのですが、どこに入れたのか忘れちゃいました。
Platform SDK か何かをインスコしたパスの中に実行体があるんでしたっけ?

>>260
キャストですか?
262デフォルトの名無しさん:2007/03/19(月) 17:28:34
Dim row as DataRow
row("ID") = 3
みたいに、括弧をつけてアクセス出来るようにするには、
クラス定義の時、どのようなメソッドを追加すれば良いのでしょうか。
263デフォルトの名無しさん:2007/03/19(月) 17:34:18

引数設定すればいいんじゃね?

Public Property Row(ByVal ColName As String) As DataRow
Get
return HOGEHOGE
End Get
Set(ByVal value As DataRow)
_HOGEHOGE= Value
End Set
End Property
264デフォルトの名無しさん:2007/03/19(月) 17:34:47
とりあえずHashMapとかディクショナリとか。
.netになって意識してないけど、デフォルトプロパティもあるんだっけ?

上記の場合、Row.Item("ID")な書き方が正なように思う。
で、ItemってのがHashMapなりディクショナリで実装。
DataRowのデフォルトプロパティがItemだから、row("ID")でもアクセスできる。
かな?
265デフォルトの名無しさん:2007/03/19(月) 17:46:36
>>264
あ、そっち方面の話だったのねwww
266デフォルトの名無しさん:2007/03/19(月) 18:22:31
>>263-265
どうも丁寧にありがとうございました。
267デフォルトの名無しさん:2007/03/19(月) 18:38:05
ちょっと質問です

VB.NET 2005のWinアプリでXSDスキーマ(スキーマA)使ってデータを読み込んだりしようとしている。

このスキーマAはプロジェクトAのSchemaフォルダに配置されていて実行時にこれを読み込みたい
(ただし、直でファイルパスを切りたくないので相対パスでアクセスしたい)

開発環境では、プロジェクトAのBinフォルダ以下のReleaseやDebugフォルダの中に保存されてしまい、
インストーラからインストールした時は、実行ファイルと同じ階層にSchemaフォルダがあるため、相対パスではアクセスできないので
相対パスで開発環境でも、実行環境でも同じ相対パスでアクセスしたい。

インストール時のフォルダ構造を開発環境に合わせればいいじゃないかといわれればそうだけど、
もし特に設定ナシで目的が達成できるならと思い質問させてもらいました。

説明が下手で伝わりにくいかもしれませんが、よろしくお願いします。

268デフォルトの名無しさん:2007/03/19(月) 19:09:56
exeファイルにNTFSストリームをくっ付ければ
hoge.exe:hoge.txt
とかに保存すれば
269268:2007/03/19(月) 19:11:17
>>238
です
270デフォルトの名無しさん:2007/03/19(月) 22:04:50
>>267
Schema フォルダのパスを設定ファイルに書いとけばいいんじゃね?
271デフォルトの名無しさん:2007/03/19(月) 22:08:41
>>257
これでわかるかい?

Dim s As String = "abcABC"

For Each c As Char In s
  Dim a As Integer = Convert.ToInt32(c)
  Console.WriteLine("{0}: {1}", c, a)
Next
272デフォルトの名無しさん:2007/03/19(月) 22:34:45
Ascをreflectorで見た
何気に気合入ってたよ
Unicode<->ASCII(MS-shiftjis?)
273デフォルトの名無しさん:2007/03/19(月) 22:39:15
Microsoft.VisualBasic.Asc() じゃダメ?
274デフォルトの名無しさん:2007/03/19(月) 23:16:11
>>271
それはAscW
275デフォルトの名無しさん:2007/03/19(月) 23:34:22
>>270
やっぱそうなっちゃいますよね?
あんまり、パスの直書きはしたくなかったんで聞いてみたんですが
とりあえずいい案思いつくまでそれでしのごうかと思います
(というか、そのままになりそうな予感)

レスサンクスでした
276デフォルトの名無しさん:2007/03/20(火) 00:03:30
質問。StreamReader.Read(Char(), Int32, Int32) で文字列を読み込んだら、空白部分がnothing扱い(!?)になるんだが、
空かどうかはどう判定すればいいの?C#では普通にナル文字が入ったんだけどなぁ・・・。
277デフォルトの名無しさん:2007/03/20(火) 00:11:46
VB の Nothing は C# では default(T)。
default(Char) は '\0' だな。

で、空白とか空とかって何?
278デフォルトの名無しさん:2007/03/20(火) 00:20:32
この質問はVBの質問とはちょっと違いますが、
Windowsの仕組みを良く知っている人が多そうなここで質問させていただきます。
間違っていたらごめんなさい。
質問は、
Cでコンパイル済のEXEファイルAがあって、それはある種のシミュレーションを
繰り返し計算して、計算結果の数値を画面にずらずらと出力しています。
i=1 数字1  数字2  数字3
i=2 数字1  数字2  数字3
i=3 数字1  数字2  数字3
...
...
こんな感じです。そのソースを入手できないのですが、何らかの方法でこの出力している数字を
リアルタイムで取得して、それを別プロセスで動いているVBで作ったグラフ描画ソフトBに
データとして送りたいのです(ファイルマッピングか何かの方法で)。
問題は、画面の数字を取り込む方法なのですが、何か良い方法はありますか?
279デフォルトの名無しさん:2007/03/20(火) 00:26:53
タイマで WM_GETTEXT 投げてりゃ良いんじゃね
280デフォルトの名無しさん:2007/03/20(火) 00:27:19
ProcessStartInfo.RedirectStandardOutput プロパティがそれっぽい
ProcessStartInfoはProcess.Startの引数として使う
やったことないから合ってるかは知らんが
281デフォルトの名無しさん:2007/03/20(火) 00:32:33
> 画面にずらずら
もうプログラムとか横においてだな、
詳しく書かないといけないところを省略するなよ

OCRが最も汎用的だな
282デフォルトの名無しさん:2007/03/20(火) 00:38:37
ちょwwwOCRてwwwww


まずデジカメが必要だから買ってきて

283デフォルトの名無しさん:2007/03/20(火) 00:45:04
フォント固定で種類が数値+α程度なら、パターンマッチも
そんなに難しくはないだろうね、
284デフォルトの名無しさん:2007/03/20(火) 00:59:23
>280
ありがとうございました。教えてもらった方法で、
意外にも簡単にできました。でも一つ問題がありまして、
出力をリダイレクトしたら、画面の表示が出なくなりますが、
希望としては、画面にも今までどおり出しながら、同時にリダイレクトして
取り込みたいのですが、それは無理でしょうか?
285デフォルトの名無しさん:2007/03/20(火) 01:00:52
受け取った出力をそのまま標準出力に流せばいいじゃない
286デフォルトの名無しさん:2007/03/20(火) 01:09:57
そのためのtee
287デフォルトの名無しさん:2007/03/20(火) 01:14:27
>285
VBからシミュレーションソフトを起動していますが、そのConsoleに
AttachConsoleする方法が分かりません。
>286
TeeってDOSにありますか?探してみたのですが無いようでした。

もっと簡単に、リダイレクトしながらconsoleにもそのまま出力する
というプロパティ設定があるといいのですが。。
288デフォルトの名無しさん:2007/03/20(火) 07:18:16
無いならダウンロードするか作れよ。
289デフォルトの名無しさん:2007/03/20(火) 09:41:48
自分でコンソール作ればいいじゃないか
290デフォルトの名無しさん:2007/03/20(火) 10:32:04
あるテーブル2つのデータを持つDataSetがあります
TableA
TableB
がデータセットに格納されており、2つのテーブルは
TablA:TableB=1:Nの関係でリレーションが張られています。

TableA/TableB共にデータを追加・更新・削除した後にDBに繁栄させるためにUPDATEメソッドを実行したいのです。

ここで普通データアダプタで更新する場合

Tableという名前のDataTableがUpDateメソッドで反映される為
TableAの名前をTableに書き換えてデータアダプタでUpDateしています。
その後TableAの名前を元に戻し、
TableBの名前をに書き換えてデータアダプタでUpDateしています。

2回データアダプタを作成し、更新していますが、
同一コネクション内でトランザクションをかけている為、同時実行時などは問題なく処理できています。
しかし、この処理が非常にスマートでない気がします。

なにかもっと簡単にリレーションの張られたデータを更新する手法があるのではないかと情報を集めてみたのですが、うまい解決方法が見つかりません。
もし、なにかスマートな解決方法や考え方があるよ?とか、俺はこうしている
などの情報を少し分けてもらえないでしょうか?

よろしくお願いします。
291デフォルトの名無しさん:2007/03/20(火) 10:35:25
アダプタで出来るのは単純な更新のみと割り切って、SQLでごいごいと書く。
292デフォルトの名無しさん:2007/03/20(火) 10:36:29
>289
VBアプリから他のコンソール画面に文字出せるのか?
293デフォルトの名無しさん:2007/03/20(火) 10:46:59
>>292
それは普通にムリつうか・・
実現できても手法が難しいんじゃね?
294デフォルトの名無しさん:2007/03/20(火) 15:04:17
Relationネタに便乗

親と子の関係が
1:NならリレーションOK
0:N のデータが存在する場合エラーになるよね?
やっぱSQLで抽出して
1:N(0件含む)の関係にしてからじゃないとDataSetにリレーション設定できないの?
295デフォルトの名無しさん:2007/03/20(火) 15:23:29
>>294
親なし
子ありってのはできないんじゃね?
外部キー設定の云々があるから防御掛けられてるような希ガス
296デフォルトの名無しさん:2007/03/20(火) 18:05:29
VB2005のExpress Editionを使いたいのですが
XPのSP2にしないとインストールできないみたいです。
ですがupdateができなくて困っています。
SP1で使えるようにはできないのでしょうか?
297デフォルトの名無しさん:2007/03/20(火) 18:21:51
>>296

ネット繋いでてSP2にUpDateしてないとか
今時どんな会社だよwwwww
まぁ、認証できないとか、管理者権限がないとか色々あるだろうが・・・
割ってんなら素直に2000でやっとけw

恐らくAPIのバージョン情報から取得できる部分で比較しているはずだから(その他のファイル場ジョンも見ているだろけど)
その辺の深い部分いじればいけるかもしれないけどまず無理だと思ったほうがいいんじゃないか?

むしろこの環境でしか動かないって言ってるんだからその環境に合わせるべきだと思う。
じゃないと、無理に入れれたとしても動かない可能性もあるし
298デフォルトの名無しさん:2007/03/20(火) 19:17:21
どうなんだろ。
SP2であることがインストールの絶対条件なのであれば打つ手なしだけど、
Web関連やIIS関連で引っかかってるなら何とかなりそうな気がしないでも
ない予感を若干感じるような気がする。
299デフォルトの名無しさん:2007/03/20(火) 22:19:18
ttp://www.microsoft.com/japan/msdn/vstudio/support/readme/
ここに明確に書いてあるな
”Visual Studio 2005 は、次のいずれかのシステムにインストールできます。”と
XPはSP2しかダメみたいね
300デフォルトの名無しさん:2007/03/20(火) 23:41:24
2005でも2003と同じようにエディタの上部のドロップダウンリスト使って
オーバーライドのスケルトンを挿入できるようにする設定ってある?

しかし、どうしてこの機能カットされたんだろう。
余計なことすんなヴォケ、と言いたいよまったく。
301デフォルトの名無しさん:2007/03/21(水) 03:08:16
クラスウィザードが削除された時の衝撃よりマシだろ、慣れろ
つか、C#やVB.NETならドロップダウンでスケルトン挿入できるが
2003で、MFCやATL系のプロジェクトでスケルトン挿入なんかできたっけ
302デフォルトの名無しさん:2007/03/21(水) 10:18:40
こめん俺はクラスウィザートは無用の長物だと思ってたw

やっぱり削除されたのかな>オーバーロードのスケルトンの自動挿入
あの機能を発展させて、シャドウとかイベントハンドラ(もちろんWithEvents使わない
場合の話だけど)の自動挿入とかも欲しかったんだけどな。
303デフォルトの名無しさん:2007/03/21(水) 10:20:56
Override って入力してスペース入れたら入力ほじょ。
関数選択すれば、ベースよぶ雛形出る。
304デフォルトの名無しさん:2007/03/21(水) 10:26:44
俺はovまで入れてCtrl+Space押しちゃう
305デフォルトの名無しさん:2007/03/21(水) 11:01:00
>>303
そのポップアップは"Overrides"って入力すると嫌でも出て来るんで知ってるんだけど、
やっぱりドロップダウンで挿入も残しておいて欲しかったな。

"Overrides"って打つ手間も惜しむならPG辞めろって言われればその通りだけどさ。

あと、これは2003もそうだけど、自動インデントの機能もなんか痒い所に手が届かない仕様だよね。
余計なことする鬱陶しいオプションと、あまりにも気が利かない馬鹿なオプションしかない。

結局インデントの設定は「なし」で使ってるんだけど、これだと全行いちいち行頭から自分で
字下げしなきゃならん。
306デフォルトの名無しさん:2007/03/21(水) 11:56:59
まあお前の趣味には興味ないしな
307デフォルトの名無しさん:2007/03/21(水) 12:42:30
>>305
( ゚д゚)ポカーン
308デフォルトの名無しさん:2007/03/21(水) 12:44:09
俺の予想ではMSは、ある程度は、わざとVBを使いにくくしていると思う。
出来の悪いやつほどかわいいもんだろ。そういう心理を突いているんだな。
Windowsがヘボイのもそういう理由だと思う。
309デフォルトの名無しさん:2007/03/21(水) 12:44:56
>>308
対人はそうだろうが
ツールに関してはねぇよwwww
310デフォルトの名無しさん:2007/03/21(水) 12:55:52
他の開発環境と競合しない部分は手抜いてるよな
311デフォルトの名無しさん:2007/03/21(水) 13:35:49
2005はキー入力だけでポンポンコードが生成されるのが気持ちよくて好きだ
312デフォルトの名無しさん:2007/03/21(水) 16:20:50
すみません、教えてください、ユーザーコントロール作成してフォームに貼り付けたとき、
1秒ぐらいWaitのマウスカーソルになってから何も貼り込まれないということってあるでしょうか。
その際、エラーの表示は出ず、メッセージも何も言ってきません。

ユーザーコントロールはユーザーコントロールを2つほど使って構成されているのですが、
他のものでは同様の使い方でも貼り込まれていました。
313デフォルトの名無しさん:2007/03/21(水) 16:31:23
そのコントロールのコンストラクタとかで何かやってない?
フォームもユーザコントロールも、フォームデザイナで表示した場合、インスタンス化されるよ。
ためしにメッセージボックス表示を仕込んでみ、表示されるから。
314デフォルトの名無しさん:2007/03/21(水) 16:43:43
>>313
そのユーザーコントロールのNew()を、
'コンストラクタ
Public Sub New()
Debug.Print("初期化!!")
MessageBox.Show("初期化!!")

' この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()

Debug.Print("初期化!!")
MessageBox.Show("初期化!!")
End Sub

こうしてみたのですが、イミディエイトにもエラーにも表示されず、またメッセージ
も出てきませんでした、てことは初期化もされないうちに蹴られたのでしょうか・・・
315デフォルトの名無しさん:2007/03/21(水) 16:57:41
てきとーいったかも・・・フォームだけかな?
ごめん。競艇みながらだから簡便。
316デフォルトの名無しさん:2007/03/21(水) 18:11:04
>>312
■ 意味不明な「俺様用語」を使わないこと。(ex. 貼り込む ―― 刑事かw)

■ 読み手にエスパー的な「深読み能力」を期待しないこと。(具体的にどんな処理を行っているかも、
  問題が再現可能なコードも示さず「オカシイ」とか騒いでも誰にも君の問題は伝わらない)

ただ、2002は知らないが2003でも2005でも複合コントロールや継承コントロールの動作がコーディング中に
挙動不審になる場合は確かに存在する。

そういう時、一度IDEを終了してから再度ソルーションを開いてリビルドすると
問題が解消される場合が多い。
317デフォルトの名無しさん:2007/03/21(水) 18:43:44
>>297
>今時どんな会社だよwwwww
開発機に SP2 などという危険なモノを入れるな、とか。

…ヒトゴトじゃなく、俺もいい加減 SP2 入れんとな。
すべて再インストール覚悟で。

>>298
インストーラで蹴られる。
318デフォルトの名無しさん:2007/03/21(水) 18:48:36
サポート切れのOS(XP SP1)の方がよっぽど危険だと思うが。
いつまでも使ってるなよ。
319デフォルトの名無しさん:2007/03/21(水) 19:18:41
そんなことよりネスケ4を全社で使い続けるうちの顧客を何とかしてください。
ASP.NETでVBブイブイいわせるのにこいつが足かせになってメンドくさい。
320デフォルトの名無しさん:2007/03/21(水) 20:20:20
>>319
うちの顧客はIE7を入れたがってる。動作検証とらなきゃ…。
新しいのも古いのも面倒ですな。

ASP.NET繋がりで。VS2005のVB.NETでWebサイト開発してるんですが、
開発中やたら重いというか、メモリとCPU食いまくって泣きそうです。
画面12コ+帳票(ActiveReports)8枚が一つのプロジェクトになっているんですが、
まず開いて編集できるようにまで固まって5〜10分待ちぼうけ。
ちょっとソース弄ろうと思えば固まって2〜3分待ちぼうけ。
下手をするとそのまま固まりますorz
実行時は別に重くないです。

開発マシンはceleron 2.4GHz、メモリ768MB、HDD 60GBなんで
特に貧弱ってわけでもないと思うんですが、
タスクマネージャで見ると仮想メモリ含めて1.3GBとか行ってる(つД`)

同じような経験してる人いませんか?
321デフォルトの名無しさん:2007/03/21(水) 20:43:15
CPUはいいけどメインメモリは2Gにしとけ、ディスプレイとメモリは大きければ大きいほどいい
322デフォルトの名無しさん:2007/03/21(水) 20:43:50
VS2005様からみたら十分貧弱だと思うよその環境。。
まずセレロンってのがありえないし。
323デフォルトの名無しさん:2007/03/21(水) 20:48:46
CPUよりメモリーが非常に効くよ。
普通にXP上でVS2005を立ち上げただけで大体500MBもってかれる。
そこにプロジェクト作成してデバックしたら700MB
さらに、ソリューション構成でクライアントUIとサーバWebサービスなど構成すると1G超える。
でもって、DBをSQL鯖EXなどで自分端末だと・・・。
まあ、1.5GBとかメモリーがあればとりあえずは。w
324320:2007/03/21(水) 20:57:35
>>321-323
レスdです。
メモリ足らんのですか…2GBってどこの絵描きのマシンだろうorz

過去に外注さんに常駐してもらって、顧客納品用のマシン(メモリ256MB)で
開発お願いしたこともありました。
Webサービス使用のWindowsアプリでしたけど。よく血管切れなかったなぁw

上司に相談してみます。ありがとうございました!
325デフォルトの名無しさん:2007/03/21(水) 21:04:22
どこの絵描き、って・・・いまどき1GB1万くらいだろうに。
スワッピングしてぼーっと待っている時間に時給相当をかけてみろ。
326デフォルトの名無しさん:2007/03/21(水) 21:58:35
>>320
一応一言

P4 2.4G
Mem 512M
XP SP2
でそれより大きなソリューション開いても全然問題ないぞ

ちなみに300Mほど起動した状態で食ってるな
確かにスワップはするけどまぁ動きはするな
327デフォルトの名無しさん:2007/03/21(水) 22:19:41
ファイルサイズの問題じゃないと思うよ。
たぶん帳票とかがメモリ馬鹿みたいに喰うんじゃないの?

あとWindows Formでもコントロールをちょっと多目に使ってる奴をデザイナで
開くと馬鹿みたいに重い。

まあごく普通のWin Formのアプリを作成するだけなら512Mで実際十分だと俺も思うけどね。
328デフォルトの名無しさん:2007/03/22(木) 09:25:39
>>294
亀だけど、外部キーのプロパティにそのあたりの設定あるよ。
親子の厳密なチェックありも出来るし、単なる親子で参照もつよー程度も出来るし。
329デフォルトの名無しさん:2007/03/22(木) 11:23:16
>>287
tee.exeやgrep.exeはSFUに入ってる。
ServiceForUnix。タダだからググってインストールすればいい。
330デフォルトの名無しさん:2007/03/22(木) 11:30:24
VB2005.NETをはじめたばかりの初心者ですので、レベルの低い問いを勘弁してください。
Form1に貼ったlabel1に現在時刻を表示するプログラムですが、8時から17時の間だけlabel1のbackcolorをLightGreenにしたいのです。
どのようにしたらよいのでしょうか?

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = DateTime.Now.ToString
End Sub
End Class
331デフォルトの名無しさん:2007/03/22(木) 11:38:18
>>330
こんな感じでええんちゃうのん?
動かしてないけどなんとなく感覚はわかってもらえるんじゃないかと

Dim NowHour As Integer = Date.Now.Hour

If NowHour >= 8 AndAlso NowHour <= 17 Then
If label1.backcolor <> Color.LightGreen Then
label1.backcolor = Color.LightGreen
End If
Else
If label1.backcolor <> Color.Transparent Then
label1.backcolor = Color.Transparent
End If
End If
332デフォルトの名無しさん:2007/03/22(木) 11:40:53
NowHour < 17
じゃね?

333デフォルトの名無しさん:2007/03/22(木) 11:43:15
>>332
あ〜 そうだねw
多分会社の定時なんだろうけど
これじゃ17時台も色変わるなwww
334デフォルトの名無しさん:2007/03/22(木) 12:19:36
>>330-333
ありがとうございます。
早速使わせてもらいます。
335デフォルトの名無しさん:2007/03/22(木) 18:58:02
初心者質問ですみませんが・・・

VB2005でWindowsアプリケーションで開発しています。
現在DataSetを使い、SQLServerに非接続のデータアクセスをしています。
(テキストファイルを読み込んで接続しています。
StreamReaderを用いていますのでConnectionオブジェクトは使っておりません。)

DataSetの内容をDataGridViewに表示しており、その内容を「印刷」したいのですが。

手持ちにあるTipsにはPrintDocumentクラスを利用して

'テーブルの内容を出力
Dim dr As OrderDataSet.GoodsRow
For Each dr In OrderDataSet.Goods.Rows
'1レコードを出力
e.Graphics.DrawString( _
dr.GoodsID.ToString.PadRight(10) & _
dr.GoodsName.ToString.PadRight(20, " ") & _
dr.Price.ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next

というコードになるのですが、これだとデータソースを追加しなければなりません。
データソースを追加せず、DataGridViewの内容を「印刷」したいのですがどうしたらよいのでしょうか?
336デフォルトの名無しさん:2007/03/22(木) 21:50:13
>>335
OrderDataSet.GoodsRowyとかって型指定されたDataSetのことかな?

DataSetの内容をDataGridViewに表示しており
とあるので、型指定されている部分を部分を修正して

Dim dr As DataRow
For Each dr In DataSet.Tables(#).rows

'1レコードを出力
e.Graphics.DrawString( _
dr("カラム名").ToString.PadRight(10) & _
dr("カラム名2").ToString.PadRight(20, " ") & _
dr(""カラム名3).ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next


337デフォルトの名無しさん:2007/03/22(木) 21:52:28
>>336
間違ってキー押して投稿してしまった…

コードの部分のみ記載しますw

Dim dr As DataRow
For Each dr In DataSet.Tables(#).rows

'1レコードを出力
e.Graphics.DrawString( _
dr("カラム名").ToString.PadRight(10) & _
dr("カラム名2").ToString.PadRight(20, " ") & _
dr("カラム名3").ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next

こんな感じで型指定されていないデータセットを扱うようにしてやればよくない?
動かしてないんで、正しいかどうかは不明だけどw
つうか、型指定されているものもただのDataSetを専用のクラスでラップしてるだけだし


338デフォルトの名無しさん:2007/03/22(木) 23:10:30
VBでOpenGLやる方法を教えてくれ。
339デフォルトの名無しさん:2007/03/22(木) 23:16:53
知ってるが
お前の態度が
気に入らない
340デフォルトの名無しさん:2007/03/22(木) 23:56:44
341デフォルトの名無しさん:2007/03/23(金) 11:54:01
Vs2005でデザイナでフォームコントロールをはっつけてフォームのフォントサイズ変更すると
フォームに貼り付けたコントロールの位置とサイズ、パディングなどが変更されるんだけど
これと同じような事を実装したい
まぁ、全てのコントロール回して直接変更していけばいいんだけど、このデザイナが変更している計算ロジック使えないだろうか?
もし、使えるんであればフォントサイズに伴うコントロール位置やサイズの変更がラクだしいいかなっと思ったんだけど・・・・
誰か知らない??
342デフォルトの名無しさん:2007/03/23(金) 12:58:15
>>341
まず試しにフォーム新しく作ってプロパティ変えずにコントロール貼り付けて
実行時にフォームのフォントサイズ変えてみ?
それでサイズは変更すっから
343デフォルトの名無しさん:2007/03/24(土) 13:01:59
VB2005でContextMenuStripのデザインを9X系のデザインに変えたいのですが
(メニュー左側に青線の背景がないもの)
プロパティーにはないっぽい?
Component を継承してDesignModeを変えればよいのでしょうか。
宜しくお願いします。
344デフォルトの名無しさん:2007/03/24(土) 13:08:10
>>343
とりあえずそれやってみた??
それでだめなら解決策を考えようか
345デフォルトの名無しさん:2007/03/24(土) 15:27:49
346デフォルトの名無しさん:2007/03/24(土) 18:06:15
ユーザコントロール継承してDesignModeをFalse返すようにしましたが
何も変わりませんでした('ω`;)

>>345
ありがとうございます!
これから観てみますー
347デフォルトの名無しさん:2007/03/24(土) 20:48:53
VB2005 Express Editionですが、
新しいデータソースの追加→データベース→
データソースに「Microsoft Access データベース ファイル」を選択すると、
接続の追加ダイアログで、ConnectionStringを入力する様になるのですが、
「Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb;」など試しましたが、
何を入力しても、「初期化文字列の形式が使用に適合しません。index 0 で始まっています。」
とエラーがでてなにもできません。
ConnectionStringには何を入れたらよいのでしょうか?
348デフォルトの名無しさん:2007/03/24(土) 21:43:21
>>347
あいよ
http://www.connectionstrings.com/
つうかURLわかりやす杉ww
349347:2007/03/24(土) 22:30:32
ありがとうございます。
ですが、ConnectionStringの書き方はそのサイトを見ても合っているようです。
というか、何も入力しなくても、適当な文字を入力しても、何を入れようが
「初期化文字列の形式が使用に適合しません。index 0 で始まっています。」
となるので、ConnectionString欄に入れる文字がどうこうという以前の問題の
様に思えてきました・・・
350デフォルトの名無しさん:2007/03/24(土) 22:40:53
ちょっとパスワードとかユーザー名とかあるならその部分*とかにして全部さらしてみれば?
351347:2007/03/24(土) 23:00:34
ID・パスワードは設定してないので
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;User Id=;Password=;
は両方試しましたがだめでした。

ちなみにソース上で、

Dim cn As New OleDb.OleDbConnection()
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;"
cn.Open()

というコードで接続は出来ています。
データベースエクスプローラを使いたいと思い、データソースの追加の操作上で
前述のエラーでつまづいています。
352デフォルトの名無しさん:2007/03/24(土) 23:18:00
>>351
確認してみたけど問題ないね。
パスが違うくらいだけどそれも問題なさそう

ところで、新しい接続もっかい作ってみて?

構成ウィザードでたら
・データベースを選択して次へ
・新しい接続ボタンをクリック
・接続の追加画面で
データソースがMicrosoft Access データベース ファイル (OLE DB)
その下の参照ボタンで目的のMDBを選択
そしたらその下のユーザ名やパスワードは空白にして
接続の確認ボタンをおしてみる

これでどうなるかな?
353デフォルトの名無しさん:2007/03/24(土) 23:34:31
なにやら画面自体が異なる様です。

・データベースを選択して次へ
・新しい接続ボタンをクリック
・接続の追加画面で
データソースが「Microsoft SQL Server データベース ファイル (SqlClient)」
となっているので、「変更」ボタンを押すと、
・データソースの変更ダイアログ
 で「Microsoft Access データベース ファイル」を選択、
 データプロバイダ「.NET Framework OLE DB 用データプロバイダ」で「OK」を押すと
下記のような接続の追加画面のダイアログがでます。

----------------------------------------------------------
データソース:
Microsoft Access データベース ファイル(OLE DB) 「変更」ボタン

+その他
ConnectionString [入力欄]

「接続の確認」 「OK」「キャンセル」
----------------------------------------------------------

mdbファイルを指定するような画面自体になりません。
354デフォルトの名無しさん:2007/03/24(土) 23:37:28
Expressとはこの画面すら違うのか

まぁ、どっちにしろ
色々選択したあとにその接続の確認押せば、とりあえずオープンクローズできるかチェックできるはずなんだけど・・・
355デフォルトの名無しさん:2007/03/24(土) 23:45:50
接続の確認ボタンは、何を入力しようが、「テスト接続に成功しました。」となります。
「OK」ボタンを押すと前述のエラーが出て進めません。
もう少し色々試してみようと思います。ありがとうございました
356デフォルトの名無しさん:2007/03/24(土) 23:48:00
>>355
ConnectionString [入力欄]
にあるコネクションストリング・・・とりあえずつかってみ?

357デフォルトの名無しさん:2007/03/25(日) 00:18:39
VB2005が重いです・・・起動してるだけでメモリ50MBくってます
軽くする方法はないでしょうか?
358デフォルトの名無しさん:2007/03/25(日) 00:37:39
メモリを増設する。
359デフォルトの名無しさん:2007/03/25(日) 00:41:58
HDDを高速なものと交換する
360デフォルトの名無しさん:2007/03/25(日) 00:51:48
寝る
361デフォルトの名無しさん:2007/03/25(日) 01:21:10
ふだんは軽いメモ帳などを使ってコンパイルだけVB使えばいいんじゃね?
362デフォルトの名無しさん:2007/03/25(日) 03:09:28
CPU メモリ HDDは出来るだけ高速で大きな容量を
できればCPUjはデュアルで

メモリはXPでも512+256か1Gはほしい
起動して作業してるだけで512なんてあっという間だ
363デフォルトの名無しさん:2007/03/25(日) 06:24:03
外山の政見放送を見たら、ドクター中松が普通に見えた。
364デフォルトの名無しさん:2007/03/25(日) 20:11:22
VB2005でASP.NETのプログラムを書いています

セッションIDを取得してサーバに保存、画面遷移のたびに読み取ったセッションIDとサーバに保存した
セッションIDを比較、あっていたら処理を続けて、あわなかったらエラーページに飛ばす
ログアウトしたらセッション破棄

と、言うことをやりたいです
が、
ttp://msdn2.microsoft.com/ja-jp/library/87069683(VS.80).aspx
を読んでみても解説がよくわかりません
もっとわかりやすいところってありますか?
365デフォルトの名無しさん:2007/03/25(日) 20:22:02
セッションIDってものを勉強するのが先じゃないの?

読み取ったセッションIDとサーバのセッションIDを比較?
何をしたいの?根本的に間違っていると思うけど。
366デフォルトの名無しさん:2007/03/25(日) 21:10:01
>>365
そうやって管理してる物だと思ってました
どの辺が根本的に違うのですか?
367デフォルトの名無しさん:2007/03/25(日) 22:07:48
なんでログインの管理にセッションを使いたがるかな。
368デフォルトの名無しさん:2007/03/25(日) 23:03:43
ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが
369デフォルトの名無しさん:2007/03/25(日) 23:08:23
cgiで自分でセッションの管理をするならそうだが、
セッションの管理はASP.NETがやってくれるから、
Sessionオブジェクトにログイン済みかどうかのフラグを持てば十分。
370デフォルトの名無しさん:2007/03/25(日) 23:30:13
>ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが

お前誰だ。>>364なのか?
だったら思っていますがってお前が作る機能の目的なんて知らねーよ

だいたい遷移のたびにセッションID保存したって、同じセッションならずっと変わらないんだから
単なるログイン管理と変わらんだろ。
単なるログイン管理ならフォーム認証でも使っとけばいいだろ。
371デフォルトの名無しさん:2007/03/25(日) 23:51:07
なんでそんなに偉そうにしたがるのか
372デフォルトの名無しさん:2007/03/25(日) 23:54:56
なんでお前ら日本語使ってるのか
に等しい質問だな
373デフォルトの名無しさん:2007/03/26(月) 00:06:36
いちゃもんつけたいだけのやつよりありがたいだろw
374デフォルトの名無しさん:2007/03/26(月) 00:06:47
ここ、IDがでないのですね
>>364>>366>>368は自分です

>>369
ありがとうございます
もうちょっと調べてみます

>>370には質問の意味が伝わっていないですね
375デフォルトの名無しさん:2007/03/26(月) 00:31:26
>セッションIDを取得してサーバに保存、画面遷移のたびに読み取ったセッションIDとサーバに保存した
>セッションIDを比較、あっていたら処理を続けて、あわなかったらエラーページに飛ばす
>ログアウトしたらセッション破棄
これで何をしたいのかちゃんと書いてみろよボケ。
376デフォルトの名無しさん:2007/03/26(月) 00:33:32
ログインしてないのに画面を表示してしまわないようにしたいの?
だったら単にASP.NETの認証機能使えばいい(まあフォーム認証かな)。
セッションなんて関係ない。
どうしてもセッションでやりたいなら>>369みたいにすりゃいい。

セッションIDを比較しての意図がいまだに分からない。
377デフォルトの名無しさん:2007/03/26(月) 00:36:09
どうしてもセッション同じか(同一セッションか、という条件だけ)で判断したいなら、
IsNewSessionででも確認すればいい。
セッションIDをサーバに保存する、ということをする必要などない。

てかセッションの仕組みで勝手にそういう処理は内部的に行われてる。
378デフォルトの名無しさん:2007/03/26(月) 00:37:21
ただしIsNewSessionでの判断はきちんとやらないと無意味になりかねないのでやめた方がいい。
379デフォルトの名無しさん:2007/03/26(月) 00:39:32
セッションでのログイン管理もあまりおすすめではない。
ちゃんと用意されてる認証の仕組みの方を使う方がいい。
380デフォルトの名無しさん:2007/03/26(月) 05:26:27
VB6.0からきました。初心者です。

WebBrowser1.Document.getElementsByName("Submit3")(0).Click()

これを実行すると、

getElementsByNameは'Sistem.Windows.Forms.HTMLDocument'のメンバではありません。

とエラーになるのですが、なぜでしょうか?例文を貼り付けただけなのですが
381デフォルトの名無しさん:2007/03/26(月) 05:56:46
なぜだと思いますか?
382デフォルトの名無しさん:2007/03/26(月) 06:11:20
'Sistem.Windows.Forms.HTMLDocument'がgetElementsByNameのメンバではないからだと思います。

どうすればいいですか?
383デフォルトの名無しさん:2007/03/26(月) 06:12:30
逆でした・・・
384デフォルトの名無しさん:2007/03/26(月) 06:15:11
なにか宣言しなきゃいけないような気もするのですが、さっぱり見当がつきません
385デフォルトの名無しさん:2007/03/26(月) 06:22:19
WebBrowser1.Document.HtmlElement.getElementsByName("Submit3")(0).Click()

こうしたらエラーが直りましが、今度はHtmlElementが'Sistem.Windows.Forms.HTMLDocument'のメンバでないとなってしまいました

助けてください!
386デフォルトの名無しさん:2007/03/26(月) 07:51:06
釣りですか?
387364:2007/03/26(月) 08:09:40
>>376-379
ありがとうございます
ASPのフォーム認証なども調べてみます
388デフォルトの名無しさん:2007/03/26(月) 08:51:57
>>379
それは何か理由があるの?
389デフォルトの名無しさん:2007/03/26(月) 09:28:54
いろいろあるが、とりあえず専用の機能があるんだからそれ使えでどうかな?
390デフォルトの名無しさん:2007/03/26(月) 09:43:03
それは「おすすめしない理由」にはならないよね
391デフォルトの名無しさん:2007/03/26(月) 09:54:30
VB.Net 2003 を使用して、共有フォルダを作成/設定するには
どのようにすればいいのでしょうか?

やりたいことは、一つフォルダを作成してそのフォルダは
ネットワークに繋がっている他のコンピュータから
参照が可能な設定にしたいのです。

FileAttributesなるものを見つけたのですが、これはちょっと
違うみたいでした。
392デフォルトの名無しさん:2007/03/26(月) 10:01:19
OSコマンドだと NET 系があるからそれを使うとか。
言語でのサポートは無いと思う、セキュリティそのものだから。
WINAPIでやるにしても、セキュリティとってからの流れでしょ。
393デフォルトの名無しさん:2007/03/26(月) 10:39:49
VB.NET2005 を使用しWinアプリを作成しています。

 現在一定の秒数でBackGroundWorkerを使用してデータを取得しています。
 その取得したデータをFormにあるDataGridViewに反映させたいのですが
繁栄中にそのDataGridViewに操作を行う可能性があります。
 コントロールをEnableにすれば簡単なのですが、ユーザー側からみればクリックしたのに
クリックできていない状況が発生する可能性があります。
 なんとかして動的に更新し、かつユーザーから見てそういった現象が起きないように
表を更新したいのですがなにかいい方法はないでしょうか?

取得したデータを更新後、一定の秒数が経過すれば再び更新という処理なので
DataGridにデータを反映している間にデータを取得しに行くようなことはないものとなっています。

何かよい案がある方がいればお教え願えませんか?
394デフォルトの名無しさん:2007/03/26(月) 11:07:02
>>393
データ取得用のDataSetと表示用のDataSetを別にしとく。
395デフォルトの名無しさん:2007/03/26(月) 11:12:27
>>394
ごめんなさい、書き忘れていたんですがその部分は実装しています。
あと、色々小細工する都合上データバインドは行っていない状態なんです。

396デフォルトの名無しさん:2007/03/26(月) 11:13:24
InProcのセッションモードでの影響をなくす。
(セッション失効の影響を受けなくする)
セッションは本来ログイン状態とは無関係の寿命を持つので
不正なログイン状態を招いてしまう危険を最初から回避しておく。
そもそも専用のログイン状態管理機能があるのに
わざわざ違う機能を使うのは利点がないだろ。
397デフォルトの名無しさん:2007/03/26(月) 11:36:57
ごめん純粋に質問。
セッションとログイン状態が無関係ってどういうことですか?
セッションが切れてもログイン状態を探し出したりできる?
398デフォルトの名無しさん:2007/03/26(月) 11:47:42
>>396
2005からはSQL鯖と連動したログインとかスコープ管理出来るようになってるしな
一回試した時に小回りあんま利かなかった記憶があったが
399364:2007/03/26(月) 11:55:51
すみません
もう一つ質問です

test.aspxにあるasp:Buttonタグで作成したボタンをクリックしてasp:TextBoxから取得した値を使って
処理を行う部分をtest.aspx.vbに書いているのですが、なぜかbtn_Clickが2回実行されます
どうやれば1回だけ実行になりますか?
400デフォルトの名無しさん:2007/03/26(月) 12:06:03
聞く前にネットでASP入門か、本でも買ってこいよ。
根本的に知識不足。
401デフォルトの名無しさん:2007/03/26(月) 12:57:59
元々、特にASP.NETでは、認証状態とセッション状態は独立した概念。
402364:2007/03/26(月) 13:31:52
すみません
解決しました

inputからasp:Buttonに書き換えたときにOnClickを消さなかったからでした
403デフォルトの名無しさん:2007/03/26(月) 15:39:49
初心者です。
仕事でVB6とVB2005両方使うみたいなんですが
どっちから勉強したほうがいいですか?
404デフォルトの名無しさん:2007/03/26(月) 15:44:17
>>403
似て非なるものを同時にか。混乱が目に見えるな。
405デフォルトの名無しさん:2007/03/26(月) 15:52:00
( -人-).。oO(ナムナム...)
406デフォルトの名無しさん:2007/03/26(月) 16:05:04
>>403
2005やってからVB6つかうと機能のしょぼさに絶望はする と思うぞ(;´∀`)
407デフォルトの名無しさん:2007/03/26(月) 16:18:15
オブジェクト指向ってなんですか?
辞書でいろいろ見ましたが未だに意味が分かりません。
オブジェクト指向とそうでないものを何か分かりやすいもので例えて下さい><
408デフォルトの名無しさん:2007/03/26(月) 16:21:29
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ
409デフォルトの名無しさん:2007/03/26(月) 16:23:08
別にオブジェクト指向しらなくても.netは使える。
410デフォルトの名無しさん:2007/03/26(月) 16:48:12
>>407
>オブジェクト指向
サンダーバード
>そうでないもの
新八犬伝
411デフォルトの名無しさん:2007/03/26(月) 16:57:27
>>410
なんというか・・・まぁ気持ちはわかる
412デフォルトの名無しさん:2007/03/26(月) 18:47:39
ASP.NET2.0でインライン式からクラスを呼び出すことはできないの?

aspxファイルに
<%@ Import Namespace="vbClass" %>で宣言して
<% Dim cls As New Class1
cls.getString()%>
(getStringは"Hello World"を返すだけ)
と書いてみたが何も帰ってこなかった
413デフォルトの名無しさん:2007/03/26(月) 18:51:05
WebBrowserで画像ファイルを表示させたときに
サイズをウィンドウに合わせるにはどうしたらいいですか?
PictureBoxにあるBackGroundImageLayoutの
プロパティがWebBrowserにはないのですが・・・
414デフォルトの名無しさん:2007/03/26(月) 20:18:26
vb6.0&vb2005初心者です。構造体について教えて下さい。

vb2005の勉強のため簡単なゲームを作ろうと思い、
vb6.0で作られた以下のサイトのソースをvb2005で動かそうと考えました。
<マップの表現>
ttp://www001.upp.so-net.ne.jp/yoshihiro/tech1.htm#t4

以下がvb2005に書き直したコードなのですが、
どうしても subMapのインスタンスでうまくいきません。
元のコードをvb2005に移植する為のお知恵をどうかお貸しください。

Module Module1
 Dim subMap As tMap
 Sub Main()
  subMap = New tMap(9, 9) {} ← ここでエラー
  subMap.Cell(0, 0).Flag = True ← (ここを直す為に)
 End Sub
End Module

Public Structure tCell
 Dim Data As Integer
 Dim Flag As Boolean
End Structure

Public Structure tMap
 Dim Cell(,) As tCell ←  Dim Cell(9,9) As tCell から変更
End Structure
415デフォルトの名無しさん:2007/03/26(月) 21:32:37
>>414
モジュールの概念からしてすでに微妙なのだが・・・

とりあえず直すだけなら。。。
  subMap = New tMap(9, 9) {} ← ここでエラー
これを
ReDim subMap.Cell(9, 9)
これでよくね?

こっからは蛇足なので、読む必要は特にないwwww

俺的にはRedimとか好きじゃないから別の手段とるとは思うけど・・・
せっかくなので時間ある時に配列関係少し調べてみるといいかもしれない
416414:2007/03/26(月) 22:15:34
>>415
確かに!ありがとうございます。
配列の初期化やコンストラクタで考えていたのですが、
サイズ変更でよかったんですね。

最初はフォームでやってたのですが、何度もデバックするのならモジュールが早いかな?と
初心者判断でした。
今は構造体やプロパティで頭ごちゃごちゃですが、ある程度先に進んでから勉強しなおそうと思います。
417デフォルトの名無しさん:2007/03/26(月) 22:27:29
土曜日に本を買って、それについてたExpressEditionをインストールしたばっかなんですけど、コントロールに
マルチページが見つからん。ひょっとして無いの?
418デフォルトの名無しさん:2007/03/26(月) 22:29:04
むしろマルチページってなんどすか?
419デフォルトの名無しさん:2007/03/26(月) 22:29:38
>>418
俺もわからんが
もしかしてASP.NETじゃね?wwwww
420デフォルトの名無しさん:2007/03/26(月) 22:48:49
TabControlの旧時代での呼称
421デフォルトの名無しさん:2007/03/26(月) 22:52:53
>>420
あぁそれです。thx

>>419 市ね
422デフォルトの名無しさん:2007/03/26(月) 22:55:20
>>421
ASP.NETにもそういう感じのコントロールあるぞ・・・・
お前の知識がないんじゃね?
そもそもエスパーじゃないんだから
VBのExpressがWebDeveloperのExpressか位は書くべきじゃね?

423デフォルトの名無しさん:2007/03/26(月) 23:03:41
キチガイを相手にしなはんな
424デフォルトの名無しさん:2007/03/26(月) 23:31:58
ちょっと質問です。

VB.NET2005とSQL鯖Expressを使用しています。

もし、これを配布するとして
PGの方はいいんですが、SQL鯖のDBをどう配布すればいいのかが不明です
クライアントには.netFramework2.0だけ入れてDBをソフト側から管理したいイメージなんですが。
MDFを配布したとしてもDBとして機能しなさそうだしアクセスもできなさそうなので聞きたいんです。

もし、クライアントにMDFファイル配布するだけで接続できないならXMLとかMDBでやろうとは思います。

425デフォルトの名無しさん:2007/03/26(月) 23:59:34
ローカルにあったりするmdfをさわるには、SQL Server Expressを
インストールする必要がある。バッチインストールで入れてしまえばいいと思うが。
Compact Editionという選択肢も(結局インストールは必要だけど)なきにしもあらず。
426デフォルトの名無しさん:2007/03/27(火) 00:39:25
>>380
これ気持ちいいぐらいスルーされてますが、釣りではありません。
なにが足りないのでしょうか?頭関係以外でお願いします。
実はもうこれに3日悩んでます。これを調べるのに2005のスキルが大幅にアップしましたが、この根本的っぽいところで躓いてます。
お願いします。
427デフォルトの名無しさん:2007/03/27(火) 00:40:49
Sistem
System
428デフォルトの名無しさん:2007/03/27(火) 00:48:05
すいませんsistemはエラーメッセージの書き写しミスです。
getElementsByNameは'System.Windows.Forms.HTMLDocument'のメンバではありません。
でした。
429デフォルトの名無しさん:2007/03/27(火) 00:49:23
>>428
だから,そのエラーメッセージが全てなんだって
スーパーの店員に,
「申し訳ありませんが,getElementsByNameという名前の商品は
当店(System.Windows.Forms.HTMLDocument)では扱っておりません」
って言われてるんだよ
その例文とやらがおかしい。一体どこで拾ってきたの?
430デフォルトの名無しさん:2007/03/27(火) 00:54:47
431デフォルトの名無しさん:2007/03/27(火) 01:10:12
>>385までは解決したのですが、ここからがヘルプを見ても辿れないのです。
432デフォルトの名無しさん:2007/03/27(火) 09:06:31
submit3はASP.NETコントロールなのか?
だとしたら動かないだろうけど・・・
433デフォルトの名無しさん:2007/03/27(火) 09:15:30
>>425
ありがとうございます。
やっぱりインスコは必須ですか・・・
じゃぁ、とりあえずMDBでやっといたほうが安全ぽいですね・・・

Compact Editionというのははじめて聞いたんでちょいと調査調査〜
ともあれ、情報ありがとうございました。
434デフォルトの名無しさん:2007/03/27(火) 11:56:04
今更なんですが、>>60のはVBで書くとどうなるんですかね。
435デフォルトの名無しさん:2007/03/27(火) 12:12:16
Dim lastPos As Point

Private Sub timer1_Tick(sender As Object, e As EventArgs)

Dim current As Point = System.Windows.Forms.Cursor.Position

If Me.Bounds.Contains(p) Then

Dim dx As Integer = current.X - lastPos.X
Dim dy As Integer = current.Y - lastPos.Y
Dim loc As Point = Me.Location

loc.Offset(CInt(CSng(dx) * 1.0f), CInt(CSng(dy) * 1.0f))
Me.Location = loc

End If

こんな感じでいいんじゃね?
動くかどうか知らんが
lastPos = current
Me.Refresh()

End Sub
436デフォルトの名無しさん:2007/03/27(火) 12:36:24
>>60を書いた本人だけど,ずっと心に引っかかってたのでこの際修正
if (this.Bounds.Contains(p)){
今更だけどこの行
if (this.Bounds.Contains(current)){
の間違い
>>435で言うなら,
If Me.Bounds.Contains(p)→If Me.Bounds.Contains(current)
それと>>61
437デフォルトの名無しさん:2007/03/27(火) 13:13:27
むむ、、、天才
438デフォルトの名無しさん:2007/03/27(火) 13:25:17
いけました!
感謝感謝
439デフォルトの名無しさん:2007/03/27(火) 14:49:06
カスタムコントロールを作成しています。
このカスタムコントロールにButtonコントロールのプロパティを設けました。
そこで、このButtonコントロールのプロパティを、FormコントロールのAcceptButtonプロパティやCancelButtonプロパティ
と同じように、プロパティグリッド上でフォーム上にあるボタンを割り当てられるるようにするにはどのように(属性などを)
組めばよろしいのでしょうか?
440デフォルトの名無しさん:2007/03/27(火) 14:50:42
すいません。余計な改行が入ってしまい読みにくくなってしまいました。申し訳ございません。
441デフォルトの名無しさん:2007/03/27(火) 14:55:28
442デフォルトの名無しさん:2007/03/27(火) 15:01:25
MSDN読んでみると
Visual Basic (宣言)
Public Property AcceptButton As IButtonControl

Visual Basic (使用法)
Dim instance As Form
Dim value As IButtonControl
value = instance.AcceptButton
instance.AcceptButton = value

こうあるね 
てことはそのまんま宣言部分の様に実装しちゃえばいいってことだとおもうけど・・・
別にIbuttonControlじゃなくてもぶっちゃけButtonコントロールとかに決め打ちしてもいいと思うし


443439:2007/03/27(火) 15:15:51
ええ、現時点においてそよのように組んでおります。
private _btn as Button
public property Btn as Button
  Get
    Return Me._btn
  End Get
  Set(Byval value As Button)
    Me._btn = value
  End Set
End Property
というように組んでいますが、このカスタムコントロールをフォームに配置しても
このカスタムコントロールのプロパティウィンドウを表示しても、
このBtnプロパティが表示されません。
(コード上においてはこのBtnプロパティにアクセスすることはもちろん可能ですが)
プロパティウィンドウ上で表示され、なおかつFormコントロールの
AcceptButtonプロパティとまったく同様に既にフォーム上にある
ボタンが割り当てられるようにさせたいのです。
444デフォルトの名無しさん:2007/03/27(火) 15:20:50
名前で表示順序変えてもでないわけ?
もしかしてこういうのつけたいって事か?

<System.ComponentModel.Category("その他")> _
<System.ComponentModel.Description("ぼた〜ん")> _
public property Btn as Button
  Get
    Return Me._btn
  End Get
  Set(Byval value As Button)
    Me._btn = value
  End Set
End Property

ちがうかな・・・(;´Д`)
445439:2007/03/27(火) 15:27:18
>>444
ごめんなさい、既にそれらの属性は設定済みです。
これらの属性を設定しても、Btnプロパティがプロパティウィンドウ上に表示されません。
たぶんシリアライズ関連の属性を設定しなければならないのではと思い、
現在ググっているのですが、いまだいい物が見つからない状況です。
446デフォルトの名無しさん:2007/03/27(火) 15:32:06
いったいどこを読んでるんだ。
>このプロパティに割り当てるボタンは、IButtonControl を実装し、
だよ。
447439:2007/03/27(火) 15:44:18
IButtonControl型で行ってみましたが同じでした。
Button型でも、Button型自体にIButtonControlが実装されているので一応問題ないと思われますが。
ここは、IButtonControl型としたほうが正しいやり方なのでしょうか。
448デフォルトの名無しさん:2007/03/27(火) 15:51:05
いやいや・・
いまやってみたけどこれで目的の行動はフツーにできるんだが・・・
ttp://up2.viploader.net/bg/src/vlbg011024.png

Inherits Windows.Forms.Button

<System.ComponentModel.Category("その他")> _
<System.ComponentModel.Description("ぼた〜ん")> _
Public Property Btn() As Button
Get
Return Me._btn
End Get
Set(ByVal value As Button)
Me._btn = value
End Set
End Property
Private _btn As Button = Nothing

>>444
つうか、それなんか他の所おかしくない?
デザイン時に隠蔽した設定にしてるとか
その属性関係とか余計なのはずしてみれば?

そして何故シリアライズが関連してくるかが理解できないが・・・

ついでにいうとそれはIButtonインターフェイスつかえばボタン継承したコントロールとかも設定できるって感じになるだけなのでWindows.Forms.Button を使うのであれば
そのままでいいと思うよ
449デフォルトの名無しさん:2007/03/27(火) 15:52:11
Browsable
450デフォルトの名無しさん:2007/03/27(火) 16:02:11
最近VBを覚え始めたド素人なんですが音楽を編集するようなソフトを
VBを使用してデータベースを用いるアプリケーションも作成で音楽ファイル
を作成するようなことをしたいのですがそのもとになるような音楽ファイルを
編集するようなソフトは何がいいでしょうか?
聞き方が意味不明かもしれませんがどなたか教えてください。お願いします。
451439:2007/03/27(火) 16:06:09
>>448
え、できるのですか。
私のVS2005では、やはり表示されません。
一応、コントロールライブラリ形式でコンパイルを行い、
プロパティの型をIButtonControl型にしたものとButton型にしたものをそれぞれコンパイルした2つDLLファイルを別プロジェクトで
参照(コントロールパネルでの追加)を行ってもだめでした。
ほかのカスタムプロパティ(String型プロパティやら、Boolean型のプロパティなど)は表示されるのですが。
私のVS自体がいかれてるみたいですね。
VS自体を再インストールしてみます。(ちなみにスタンダードエディション)
>>448
>ついでにいうとそれはIButtonインターフェイスつかえばボタン継承したコントロールとかも設定できるって感じになる
そういうことなのですか、これは一つ勉強になりました。ありがとうございます。
でも、今回は、Windows.Forms.Buttonコントロールを割り当てる予定ですが、IButtonControlのほうがいいですね。
了解しました。
今回はこれで、一応私の質問は終了させていただきます。
ありがとうございました。
452デフォルトの名無しさん:2007/03/27(火) 16:06:29
要約すると

VB.NETを使って
音楽ファイルを作成・編集したい
また、その作成・編集した音楽をデータベースで管理したい
というところですか?
453デフォルトの名無しさん:2007/03/27(火) 16:27:21
>>450
日本語でおk
454編集してみた:2007/03/27(火) 16:57:36
最近VBを覚え始めたド素人なんですが
データベースを用い
音楽を編集作成するようなソフトを
作成したいのですが
そのもとになるようなソフトは何がいいでしょうか?


つ 余り

するような
VBを使用してるアプリケーションもで音楽ファイル
をことを音楽ファイルを
編集するような
聞き方が意味不明かもしれませんがどなたか教えてください。お願いします。
455デフォルトの名無しさん:2007/03/27(火) 17:09:23
>>452>>454
エスパー思念の解読者現るwww
456デフォルトの名無しさん:2007/03/27(火) 17:33:00
「音楽ファイルを編集するソフト」といっても

・タグを編集したいのか
・音楽ファイルを1から作るのか
・音の情報を編集するのか
・その他

によってソフトも変わってくる
457デフォルトの名無しさん:2007/03/27(火) 17:35:06
・編曲したい

かもしれんぞw
458デフォルトの名無しさん:2007/03/27(火) 17:51:37
メディアプレイヤーでこと足りると思うけどな。
もし勉強のためということなら、もっと簡単なものにした方がいい。
つか>>450の語学力を見るとDBを操れるとはとても思えない…。
459412:2007/03/27(火) 18:27:44
華麗にスルーされてるけど地味に困ってる

実は<table>タグの中に<textbox>やら<listbox>が入ってるものをaspxにはき出させたいのだが、
asp:tableコントロールだと<textbox>や<listbox>入れてもwidthの調節がきかない模様でデザインが狂ってしまう
なので、aspxにstringをはき出させることはできないのかなと思って質問させてもらったのだが
460デフォルトの名無しさん:2007/03/27(火) 18:34:59
印刷用のサイト知りませんか?

VB2005で、SQLServerに入っているデータをDataGridViewに表示しています。
表示しているデータ内容(グリッドに書き出したもの)をWindowsの機能で印刷したいと思っています。

CrystalReportsを使うのではなくPrintDocumentを使うことを考えていますので
その辺りの情報があると助かります。

印刷についてのTipsなり勉強用のサイトなり
オススメがあれば教えてくれませんでしょうか?

できるだけ情報量があればありがたいです。
461デフォルトの名無しさん:2007/03/27(火) 18:41:34
>>460
Windowsの機能も何も、GDI+で自分で描画するんだよ。

グリッドやテーブル状の描画をやってくれるような便利なクラスを期待してるとしたら、
そんなものは標準のライブラリには存在しないよ。
462デフォルトの名無しさん:2007/03/27(火) 18:43:32
>>459
VBコードに  protected sub AAA as string
463デフォルトの名無しさん:2007/03/27(火) 18:45:43
>>459
VBコードに

protected sub AAA as string
return "AAAAA"
end sub

つうのがあって、

<% AAA%>みたいなんで呼べなかったっけ?

464412:2007/03/27(火) 19:20:00
>>463
test.aspx.vbの中に
protected function getStr as string
return "Hello World"
end function

と書いて
test.aspxに
<% getStr%>
と書いてやってみたんけど、反応なしですね

関数の設定とかは無視されるとは書いてあったけど、関数の呼び出しまで無視してるのかな?
465デフォルトの名無しさん:2007/03/27(火) 19:36:35
ごめw
そういえば=がいるはずだからそれだったら

<% getStr%>
じゃなく
<% =getStr%>
になるはずwwww

とりあえずやってみたら動いたからいけるとおもうよ
466デフォルトの名無しさん:2007/03/27(火) 21:24:00
VB.NETでバッチプログラムを作成しているのですが、
デバック状態から、その時点のメモリ使用量を見るのは
タスクマネージャのプロセスを見るというので
あっていますでしょうか?
467412:2007/03/27(火) 21:30:37
>>465
サンクス
今日は、うちに帰ったので明日試してみる
468デフォルトの名無しさん:2007/03/27(火) 21:47:54
>>467
http://ja.gotdotnet.com/quickstart/aspplus/doc/webformssyntaxref.aspx

しかしtableコントロールってただのTABLEタグを吐くだけのものなんだから
どうとでも調整できると思うんだけども
469デフォルトの名無しさん:2007/03/27(火) 21:52:24
<%@ Import Namespace="vbClass" %>で宣言して
<% Dim cls As New Class1
response.write cls.getString()%>

でいいんじゃね?
470デフォルトの名無しさん:2007/03/27(火) 21:59:05
>>450を書いたものです
すみません。やはりかなり言葉がおかしかったようで
もう少し詳しく話しますと大学でC言語を多少勉強していて今度1年間かけて
研究をするのですがそこで漠然と音楽ファイルを波形のようにしてトラックだけを
とりだしたり、切ったり、貼ったり、重ねたり出来るものが作れればいいと思いました。
しかしそれを一から作るのは無理と言われ、VBを使えば既存の物をカスタマイズの様な事が
出来ると聞きました。
今はとりあえず必死で言語を勉強しているのですが実際何をどうすればいいかわかりません
どなたかアドバイスをお願いできないでしょうか?
471デフォルトの名無しさん:2007/03/27(火) 21:59:10
>>466
せめて管理ツールのシステムモニタを使おうよ
プログラム内からだったらPerformanceCounter
472デフォルトの名無しさん:2007/03/27(火) 22:08:54
>>460
ハードコピーということ?
473デフォルトの名無しさん:2007/03/27(火) 22:14:16
>>470が大学で何を専門として勉強してしるかは知らないけど、
それはVBどうのこうの話じゃないと思う。
言語関係なくどっかのオープンソースでも読むしかないんじゃないだろうか。
もっともそれをよんで理解するだけで今の470じゃ一年で足りるかどうか…

474デフォルトの名無しさん:2007/03/27(火) 22:20:44
>>470
波形の切り出しとかするんだったらDirectSoundとか使った方が楽にできるかもね
大分前なんで忘れたが意外と簡単にできちゃったりする

重ねたりとかはやったことないけど(;´∀`)
475デフォルトの名無しさん:2007/03/27(火) 22:25:10
VBを通して出来合いのライブラリを使うってこと?
それって研究として一体何の意味があるの?
476デフォルトの名無しさん:2007/03/27(火) 22:32:32
それならニコニコ動画でも作ったほうが増し
477デフォルトの名無しさん:2007/03/27(火) 22:33:25
>>475
どうなんだろうな・・・>>475に言われて思ったが

まぁ、とりあえず俺は質問に対する一つの案を述べたにすぎない
つうか今の質問では確かに何が研究したいかわからないので、手段としての一つを述べただけ。
実際に
それじゃぁだめなんです 〜〜までできているソースがあるのでそれをこう改造して
波形を表示させたり切り貼りしたい
といわれれば、それを回答しようとはするが
せめて大学生ならもう少し範囲を狭めて質問はしてほしいところかな
478475:2007/03/27(火) 22:43:01
すまん>>474に対してじゃなくて>>470に対して言ったんだ。
>しかしそれを一から作るのは無理と言われ、VBを使えば既存の物をカスタマイズの様な事が
>出来ると聞きました。
この分からは波形の切り貼り自体が研究目的ではないように見えるから,
じゃあいったい何が目的なんだ?と思った。
波形の切り貼りを行うライブラリを入手できたとしたら,
あとはそのフロントエンドを作るだけ?
479デフォルトの名無しさん:2007/03/27(火) 22:43:43
よく見てみると
>>450>>470
データベースとか単語がきれいさっぱり消えてるwww
480デフォルトの名無しさん:2007/03/27(火) 22:45:53
>>470
またまた意味がわからん文章だが
君の探してるソフトにはこれが近いんじゃないか?
ttp://www.cycleof5th.com/products/soundengine/

ただし、オープンソースでもないし、VBで作ってないだろうから
役に立たんと思うけど・・・
481デフォルトの名無しさん:2007/03/27(火) 22:51:43
>>478
タイミング的に俺かな?とかおもっただけだw
でもまぁ、確かに謎の研究ではあるな
俺の居た二流大学なんかでは卒論が
暗号化か圧縮

で、やったのがハフマンだっけ?かなんかのアルゴリズムで圧縮するソフトをC++で作った
これに少し解説書き加えて卒論終わりとかwwwww
1流は知らんけどな

482デフォルトの名無しさん:2007/03/27(火) 23:04:51
>>413
HTMLで。Width=100% Height=100%でできなかったかなぁ。画像サイズになっちゃうか?
とりあえずCSSかなんかで出来たと思うよ。
483デフォルトの名無しさん:2007/03/27(火) 23:24:09
>>450 >>470を書いたものです。
度々謎の文章ばかりですみません。
研究の目的は自分の興味のある音楽の編曲が出来たらいいな
と思ったので単純にそれを研究テーマにしようと思いました。

みなさんのおかげで少しわかってきたのは僕がやりたいのはたぶん
>>480さんの様なソフトをさらに自分の使いやすくカスタマイズする。
その為にはオープンソースである必要があり、VBを使っているソフトのほうが
いい。
みなさんにはそういうソフトを紹介していただきたいと思っている。
ようやく自分の言いたい事、やりたい事がわかってきました。
みなさんその様なソフトはないでしょうか?
484デフォルトの名無しさん:2007/03/27(火) 23:39:04
>>483
http://audacity.sourceforge.net/
これなんかオープンソースで有名みたいだな。C++製だけど。
VBでオープンソースな音声編集ソフトなんか存在するのか?

出来合いのライブラリ(C言語用でも大丈夫)を拾ってきて
VBでGUIを付けるのが現実的だと思う
485デフォルトの名無しさん:2007/03/28(水) 00:09:47
最近VB.Netを始めて、今回のサーティファイの.net3級検定合格したので
これから2級に向けて勉強しようと思うのですが
本屋やオンラインショップ等で調べてみたところ.netの検定対策書籍が全く見つかりません。
そこで、どのように勉強すればいいのか、または参考書籍などがありましたら
教えていただきたいと思います。
ちなみに、3級の対策問題集はあったので学習しやすかったです。
486デフォルトの名無しさん:2007/03/28(水) 00:15:53
>>485
まずは
ttp://www.sqlpassj.org/
でも漁ってみることをお勧めする
487412:2007/03/28(水) 00:21:09
>>468
確かに、tableコントロールはtableタグ吐くだけで慣れればtableタグでできることがすべてできるという感じだったが、
セルの中にtextboxやlistbox入れてるのが問題
textboxコントロールでしか試していないが、tableコントロールのセルの中にtextboxコントロールを表示させようとしたが、
表示できない
textboxタグなら表示できたのでwidthでサイズ調整かけても調整できなかった

データの取得具合によっては何百行の表になることが予想されるので項目名は別のtableタグで表示して
データのみの表をスクロールすることにより項目とデータをつきあわせてみることができるということをやりたいので
項目テーブルとデータテーブルのレイアウトを崩すわけにはいかないという背景がある

>>469
試してみるよ

で、こういう文書があるんだけど、今回やろうとしてることは無駄ってことなのかな?
ttp://msdn2.microsoft.com/ja-jp/library/k6xeyd4z(vs.80).aspx
488デフォルトの名無しさん:2007/03/28(水) 00:30:19
>>487
えっとさ・・・
たぶんお望みの機能は実装したことが俺はあるぞ
ちょっと思い出して書いてみようか
勘違いしてる可能性もあるが
489デフォルトの名無しさん:2007/03/28(水) 00:44:18
FormにtblMainていうIDのテーブルがあること前提(<table id="tblMain" runat ="server">)
実行結果:ttp://up2.viploader.net/upphp/src/vlphp037983.png

With Me.tblMain
.Rows.Clear() '一旦全初期化
Dim dr As HtmlTableRow
Dim cell As HtmlTableCell
Dim txt As TextBox
For i As Integer = 0 To 10
dr = New HtmlTableRow
cell = New HtmlTableCell
cell.InnerText = i.ToString
dr.Cells.Add(cell)

txt = New TextBox
txt.ID = "txtBox_" & i.ToString
txt.Text = "テキストボックス" & i.ToString
cell = New HtmlTableCell
cell.Controls.Add(txt)
dr.Cells.Add(cell)

.Rows.Add(dr)
Next
End With

勘違いして・・・る?
490412:2007/03/28(水) 08:25:35
>>465の方法で表示できた
しばらく、その方法でやってみる

>>468-469 >>488
サンクス
>>465の方法で不具合が出たら代替手段として試してみるよ

ちなみに、こんな感じで作ろうとしてた
ttp://cgi.2chan.net/up2/src/f239576.jpg
で、textboxタグの表示が崩れているのでwidthでtextboxの長さを調整してやろうとしたが、できなくて困ってた
以前、servletとJSPで作ったことがあるのでASP.NETでもできると思って作ってた
491デフォルトの名無しさん:2007/03/28(水) 09:02:50
textぼっくすにはsize="10"とかってなかったっけ?
492デフォルトの名無しさん:2007/03/28(水) 09:06:45
>>490
それはCSSの問題とかだと思うけどなぁ・・・
たしかTableの中でTextBoxのStleのWidth100%にしたらXHTML1.0のやつではみ出すんだよな・・・(;´Д`)
アレに散々悩まされた記憶がある
493412:2007/03/28(水) 10:35:11
あ、ホントだ
widthじゃなくてsizeで指定するようになってる・・・
失礼しました

実はtableタグはき出す関数作って2000件のデータを表示させるテストをしてるが、10分くらいたっても表示されないorz
開発用PCにテストDBにOracle10gが入ってる上、アクセステストのためIIS入れてDMZで接続してるためか、
PenD 3GHZ、メモリ1GのマシンでCPU使用量がほぼ100%、メモリ1Gって状態

プログラムの書き方が悪いのかな?
494デフォルトの名無しさん:2007/03/28(水) 10:43:47
てか、ASP.NETでもASP.netのタグは使わないで
JSPでいうところのカスタムタグは使わないで
普通に作ったほうがいいよ
495デフォルトの名無しさん:2007/03/28(水) 10:56:42
>>493
つうか、普通そういう大量のデータの場合ページングしないか?
496デフォルトの名無しさん:2007/03/28(水) 11:01:52
2000件で10分かかるなんてページング以前の問題
497デフォルトの名無しさん:2007/03/28(水) 11:03:31
1つのFORMで複数のユーザーコントロールを使いたいんですけど
例えばユーザーコントロール1でFORMのSIZE(100,150)にして
ユーザーコントロール2でFORMのSIZE(200,400)にする事って
可能ですか?
498デフォルトの名無しさん:2007/03/28(水) 11:05:51
>>496
ごめ、思慮が浅かったwww
確かに2000件レベルでコレは酷い

まず何が遅いのかを調べる必要があるだろ

DBの抽出に時間がかかってるのか
2000件分のテーブル表示用の文字列作成に時間かかってるのか
それとも単にIEとかで表示した時にテーブルの中のデータが多すぎてテーブル構築に時間かかって表示されてないだけなのか
とかさ・・・

>>497
インスタンスが違うのだから可能
499412:2007/03/28(水) 11:06:02
>>494
かもしれないねぇ
ただ、aspのコントロール使った方がvbライクにコード書けるので重宝してるんだが

>>495
そういえば、そうだ
jspの方でもそれやってたな
ころっと忘れてた

ただ、この画面は多くても100件くらいのデータを表示するために作ったものなので
テストのためとはいえ、最大20000件のデータを表示することは想定外ってことで忘れてた
500デフォルトの名無しさん:2007/03/28(水) 11:07:44
>>499
別に普通にInputタグでもRunat="server"指定すればVBライクに書けるじゃないか・・・
501デフォルトの名無しさん:2007/03/28(水) 11:12:42
2000件じゃなくて20000件かよ
502497:2007/03/28(水) 11:16:46
>>498
有難う御座います。
やりかたなんですけど
Dim hogehoge As FORM1
hogehoge.Size(200,400)
って感じですか?
済みません。
初心者丸出しで・・・
503412:2007/03/28(水) 11:28:44
textboxの問題、解決したよ
style="width:100px;"と入れてやると調節がきくようになったよ

>>498
tableコントロールを使うと10秒とたたないうちに表示されるからコードの書き方が悪いのだろうと判断した
textboxの問題も解決したのでtableコントロール使って作ってみるよ
504デフォルトの名無しさん:2007/03/28(水) 11:28:50
>>499
20000は凄い事になるわな・・・・
どれだけスクロールさせなきゃならんのか・・・・

>>502
まぁ、大方あってるとは思うけど・・・
せめてやってから質問したほうがいいと思うよ 
505412:2007/03/28(水) 11:30:35
>>501
ああ、すまない
全件検索で20000件だけど条件検索で2000件とか5000件とか表示するようにしてるんだ
506497:2007/03/28(水) 11:32:06
>>504
実はやってみたんですけどどーもうまく動かなくて・・・
で、ユーザーコントロール上でのFORMの宣言の仕方とか
使い方がまずいのかと思って質問させてもらいました。
有難う御座います。
多分別に原因が在ると思うのでもう一度やり直してみます。
507デフォルトの名無しさん:2007/03/28(水) 11:40:34
>>506
Dim hogehoge1 As new FORM1
hogehoge1.Size(200,400)
hogehoge1.showdialog

Dim hogehoge2 As new FORM1
hogehoge2.Size(100,100)
hogehoge2.showdialog

これでどうなるかいね?
508497:2007/03/28(水) 11:44:15
>>507
>hogehoge1.Size(200,400)
でコンパイルエラーになります。
「オブジェクト参照がオブジェクト インスタンスに設定されていません」
になります。
参照設定が足りてないんでしょうか??
509497:2007/03/28(水) 11:46:09
>>508
済みません↓は間違いでした・・・
「オブジェクト参照がオブジェクト インスタンスに設定されていません」
になります。
参照設定が足りてないんでしょうか??

正しいエラーは
「プロパティアクセスはプロパティに割り当てるか、またはその値を使わなければなりません」
というエラーでそもそもコンパイルが通らないです。
510デフォルトの名無しさん:2007/03/28(水) 11:57:35
>>509
コピペしただけだからプロパティアクセスまで直してなかったわwwwww

Form1が存在する前提で つ
うか、その辺は適当に自分の環境で書き直してくれ

Dim fmA As New Form1
fmA.Size = New Size(100, 100)
fmA.ShowDialog()

Dim fmB As New Form1
fmB.Size = New Size(200, 100)
fmB.ShowDialog()

とりあえず動くかどうかなら
こんな感じでいいんじゃね?
511497:2007/03/28(水) 12:01:37
>>509に補足なんですけどSIZEではビルドエラーになりますが
HEIGHTとWIDTHを別々に設定すると動きました。

で、FORM1から先ず呼び出すユーザーコントロールをU1だとすると
U1で
Dim hogehoge1 As new FORM1
hogehoge1.Size(200,400)
hogehoge1.showdialog
を呼び出そうとすると
接続(状態=Open)中は'ConnectionString'プロパティを変更できません
と言うエラーになります。
FORM1からの呼び出し方は
Dim hoge As New U1
Me.Controls.Add(U1)
とやっています。
512497:2007/03/28(水) 12:04:28
>>510
済みません。
Newの後のオブジェクトは存在するオブジェクトに変更して
やってみたのですが同じエラーが発生しました
513デフォルトの名無しさん:2007/03/28(水) 12:06:28
はっきりいって,そもそもVB.NETという言語について勉強不足
514497:2007/03/28(水) 12:08:52
>>513
お恥ずかしい限りですがつい最近触ったばかりでして・・・
本当に済みません
515デフォルトの名無しさん:2007/03/28(水) 12:14:06
>>513
というかうん・・・俺もそう思う
存在するオブジェクトに変更とか・・・

>>511
内容から細かい内容が今一歩読めてこないんだが

>FORM1から先ず呼び出すユーザーコントロールをU1
ていうことはU1はフォームを継承したユーザーコントロールなのか?

>接続(状態=Open)中は'ConnectionString'プロパティを変更できません
これは今回の件とは無関係とおもうんだが・・・
フォームロードとかコンストラクタ(Sub New)の時になにか接続やってない?

>Dim hoge As New U1
>Me.Controls.Add(U1)
このへんも意味わからない
とりあえずU1の正体が何かわからないと・・・



516デフォルトの名無しさん:2007/03/28(水) 12:17:15
そのレベルだと,試しにコード書いてみようとしても身動き取れないでしょ
ここで質問して正解もらって当座は解決したとしても,自分で理解してないなら意味ないし
悪いこと言わんからちゃんと本読んで勉強した方がいいよ
517デフォルトの名無しさん:2007/03/28(水) 12:23:33
っていうか、みんな>>497の文章よく理解できるよなあ。
本気で意味分からないけど。。。
518デフォルトの名無しさん:2007/03/28(水) 12:33:19
初心者はGUIを触る前にコンソールをやれと言われる意味がわかった
519デフォルトの名無しさん:2007/03/28(水) 12:43:38
コンソールかGUIかは重要なことではないと思うが。。
要は基礎的なことを理解してるかどうかだろう。
520デフォルトの名無しさん:2007/03/28(水) 12:46:15
おれもGUIかコンソールかは重要ではないと思う 
521497:2007/03/28(水) 12:57:08
>>515
U1はユーザーコントロールの一つです。
>フォームロードとかコンストラクタ(Sub New)の時になにか接続やってない?
フォームロード時にユーザーコントロールに値を渡していますが・・
522497:2007/03/28(水) 12:57:53
>>516
全く仰るとおりです。
もう一度本読み直して見ます。
523デフォルトの名無しさん:2007/03/28(水) 12:59:13
>>517
こんなもんか?位にしか判らないwww
でもまぁ、読み取れる範囲で答えれば違ってたら質問しなおしてくるだろ
くらいで答えてるwww

>>519-520
同意する
524デフォルトの名無しさん:2007/03/28(水) 13:02:37
>>521
じゃぁ、ひとつの方法としては
新しいフォームと小細工していない単純なユーザーコントロールで試すのがいいんじゃないかな?

自分でも何が原因なのかわかってないんだろうし
まずは原因の範囲が自分の書いたコードなのかそれともVB.NETの使い方何かを
ある程度せばめて調査していくのがいいと思うぞ


525497:2007/03/28(水) 13:05:39
>>524
そうですね。
一度新しいフォームと新しいユーザーコントロールで試してみます。
それで上手くいけば今上手く行っていない原因が分かると思います。
本当に有難う御座いました。
もう一度勉強しなおします。
526497:2007/03/28(水) 13:12:52
新しく作ってやってみたら普通にサイズ変更することが出来ました。
有難う御座います。
出来なかった原因は良く調べてみないとまだ分からないのですが
多分私の書き方に何か問題が在ったのだと思います。
初心者で何言ってるか判らないような質問ばかりして本当に済みませんでした。
527デフォルトの名無しさん:2007/03/28(水) 13:21:24
さっき何気にMVPスレみてたが
これMVPなら絶対投げてるよなwww
528デフォルトの名無しさん:2007/03/28(水) 14:18:39
JavaとVB.NET両方できるかたに質問なんですが、
VB.NETでのJavaでいうVectorやArrayListのような
要素数可変の配列状のものの名前を教えていただけませんか。
529デフォルトの名無しさん:2007/03/28(水) 14:21:05
VB2005なら
List<要素の型名>
530デフォルトの名無しさん:2007/03/28(水) 14:35:51
VB.NETにもArrayListあったと思うが
531デフォルトの名無しさん:2007/03/28(水) 14:37:25
つうか、JAVAやってたとか多少スキルあるんなら
まず自分で調べるだろう・・・常識的に考えて
532412:2007/03/28(水) 14:42:59
>>500
なにげにおもしろい情報ありがとう
調べてみたらふつうのHTMLコードにも記述できるんだね
早速使ってみるよ

こっちは思っていたとおりのデザインで表を作ることができるようになったよ
tableコントロールのセルの中にコントロールを記述することができないと言うのがわかったよ
533デフォルトの名無しさん:2007/03/28(水) 14:49:52
>>532
おまwwww
>tableコントロールのセルの中にコントロールを記述することができないと言うのがわかったよ
折角俺が>>489でサンプルかいてやったというのに・・・・・
(´・ω・`)
534412:2007/03/28(水) 16:35:41
>>533
あ、よく見たら確かにテキストボックスコントロールが入ってる
ごめん

と、言うことはstringではき出すのはダメで
プログラムで書いてやらないと入らないと言うことか
535デフォルトの名無しさん:2007/03/28(水) 16:46:41
>>534
これはちょっとむごい
536デフォルトの名無しさん:2007/03/28(水) 17:27:28
>>450 >>470 >>483 を書いたものですが
なにかいいソフトはないでしょうか?
またオープンソースになっているソフトはどうやって探せばいいのでしょうか?
WordやExcelもオープンソースになっているのでしょうか?
537デフォルトの名無しさん:2007/03/28(水) 17:39:38
ちょっと頭を冷やして来いよ
538デフォルトの名無しさん:2007/03/28(水) 18:05:11
>>536
ちょっと自分で調べたほうがいいんじゃないか?
そのレベルで人に聞いてるようじゃこっから先
全てを人に聞くレベルだと思うんだが

オープンソース自体もあんま理解できていないと思われる文章だし
539デフォルトの名無しさん:2007/03/28(水) 19:05:24
転部を勧める。
540デフォルトの名無しさん:2007/03/28(水) 19:21:15
プログラム初心者です。
仕事でVB6使うのですが、VB6は無料で手に入らないみたいです。

そこでVB2005EEで実際にやりながら勉強するか、
VB6の参考書だけでも読んでおくか、
どちらの方が役に立つのでしょうか?
541デフォルトの名無しさん:2007/03/28(水) 19:30:07
>>540
他の言語知ってのかどうか知らんが
自分の今後を考えれば2005EEやってからのがよくないか?

現状俺の意見は2005の本読みながら実際にやりながらのがいいかと・・・
542デフォルトの名無しさん:2007/03/28(水) 19:56:35
VB6とVB.NETは雰囲気が似てるだけで全く違う言語だが>>541には同意
543デフォルトの名無しさん:2007/03/28(水) 19:58:09
>>540
.net覚えてもVB6のタシにゃならんよ
544デフォルトの名無しさん:2007/03/28(水) 21:28:49
仕事で使うならVB6と参考書をどちらも自腹で買う<-これ一択
545デフォルトの名無しさん:2007/03/28(水) 21:44:19
仕事で使うなら経費だろう。
今後の肥やしにする気があるなら自腹でいいけど。
546デフォルトの名無しさん:2007/03/28(水) 21:54:47
vb6なんか今時、金出したって買えなくね?
547デフォルトの名無しさん:2007/03/28(水) 21:59:17
nyに落ちてるよ
548デフォルトの名無しさん:2007/03/28(水) 22:06:45
>>546
サブスクリプションだっけ?
あれで落とせる

まぁ、つまり買えないことはないかな?
549デフォルトの名無しさん:2007/03/28(水) 22:58:14
正規で手に入れるなら倉庫の隅で埃被ってるの探してくるか
サブスクライバダウンロードしかないだろうな。
550デフォルトの名無しさん:2007/03/28(水) 23:01:30
VB6のランタイムをインスコして、あとは何もかも
オブジェクトに遅延バインディングでVB6使い放題??
551デフォルトの名無しさん:2007/03/28(水) 23:11:43
すみません質問いいですか?
VB2005EEでExcelのセル値を読んだりセル名を変更したりしたいのですが
良いサイトご存じないでしょうか?お願いします
552デフォルトの名無しさん:2007/03/28(水) 23:33:02
553デフォルトの名無しさん:2007/03/28(水) 23:35:35

VB.NET Excel の検索結果 約 2,160,000
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
554デフォルトの名無しさん:2007/03/28(水) 23:39:36
>>551
本屋に行けば解説書はいっぱいあるぞ
そっちの方が手っ取り早い
555デフォルトの名無しさん:2007/03/29(木) 01:05:13
>>380
これやっと解決しました。

WebBrowser1.Document.all.getElementsByName("Submit3")(0).Click()

allが必要でした。なぜ誰も教えてくれなかったんですか・・・酷いです。
556デフォルトの名無しさん:2007/03/29(木) 01:36:52
だって>>555ライブラリもなにも良くわかってないじゃん。

どうやって教えるんだよー。

これが、言語出来るとか言う後輩なら確実に青筋でるよ('・ω・`)
557デフォルトの名無しさん:2007/03/29(木) 01:37:56
ごめん、いい忘れてた
とりあえず>>555おめでとう。
558デフォルトの名無しさん:2007/03/29(木) 10:03:32
>>555
コンポーネントがIE4相当ならエラーになるわな
IE5相当以上ならDOM使えるからその構文でエラーにならんだろ
559デフォルトの名無しさん:2007/03/29(木) 11:47:49
>>536
http://www.codeplex.com/naudio
こんなの見つけた。C#製。
オープンソースな.NETのプロジェクトはC#を使ったものが多いから,
それが目当てならC#に乗り換えた方がいいよ。
VB.NETとよく似てるから今まで学んだVB.NETの知識も無駄にならないし
560デフォルトの名無しさん:2007/03/29(木) 12:10:56
>>559
とてもその知識を生かせるほど学んでいるとは思えないんだw
561デフォルトの名無しさん:2007/03/29(木) 18:46:36
VB6 → MsgBox"hello"
VB2005 → MsgBox("hello")

()は何の意味があるの?
562デフォルトの名無しさん:2007/03/29(木) 18:50:44
実引数のリスト
563デフォルトの名無しさん:2007/03/29(木) 19:19:34
>>561
折角ドトネトだし

MessageBoxのほう使っとけwwww
564デフォルトの名無しさん:2007/03/29(木) 23:21:06
SystemInformation.KeyboardSpeedについてなんだが↓これってどんな計算方法で出してんの?
『0 (1 秒に約 2.5 回の繰り返し) 〜 31 (1 秒に約 30 回の繰り返し)』
だれか教えて

SystemInformation.KeyboardSpeed プロパティ (System.Windows.Forms)
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.systeminformation.keyboardspeed(VS.80).aspx
565デフォルトの名無しさん:2007/03/29(木) 23:35:15
>>564
??????
計算で出すも何もその間隔程度でしか認識しませんよ
って設定なんじゃないか?
566デフォルトの名無しさん:2007/03/29(木) 23:35:29
27.5 * n / 31.0 + 2.5
567デフォルトの名無しさん:2007/03/30(金) 00:16:55
>>565,566
サンクス
「約 n 回」ってのが気になってしまったもんで
568デフォルトの名無しさん:2007/03/30(金) 00:22:07
まあ要はコンパネのキーボードの設定なんだけどな
569デフォルトの名無しさん:2007/03/30(金) 00:57:43
それは違うでしょw
コンパネも>>564も、同じ「ハードウェアの設定」のためのインターフェイスに過ぎない。
PS2キーボードのリピートは完全にHWの動作らしい。
570デフォルトの名無しさん:2007/03/30(金) 03:35:24
RSS1.0に対して、XPathを使って、各item以下のElementsにたどり着きたいのですが、、

Imports略

Dim reader As XmlTextReader
Dim doc As XmlDocument

'以下、DiaryNoteを例にする。
reader = New XmlTextReader("http://diarynote.jp/rss/26660.rdf")
doc = New XmlDocument
doc.Load(reader)

Dim nsmgr1 As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable)
nsmgr1.AddNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#")

'rdf:RDFまでだとヒットする。。以下だとヒットしない。
Dim list1 As XmlNodeList = doc.SelectNodes("/rdf:RDF/item/", nsmgr1)

Dim node As XmlNode
TextBox1.Text = "No Hit"

For Each node In list1
TextBox1.Text = node.InnerText
Next

この場合、SelectNodesに指定する、
XPath式や与える名前空間は何が適切でしょうか?
571デフォルトの名無しさん:2007/03/30(金) 07:26:16
item はデフォルト名前空間に属してる。グローバル名前空間ではない。
で、デフォルト名前空間についても適当な(任意の)接頭辞を割り当てる必要がある。

ちなみに、名前空間接頭辞は名前空間 URI のただの省略形なので、
XmlNamespaceManager に追加する際に xml で指定されているのとは違う接頭辞を付けても問題ない。
572デフォルトの名無しさん:2007/03/30(金) 07:56:44
なんかすぐプロパティウィンドウとその下の説明の表示枠サイズが変わるんですけどぶっ壊れてるんですか?
よくあることですか?なんかソフトを起動した時に変わってるようなきがするんですが
573デフォルトの名無しさん:2007/03/30(金) 08:44:56
>>572
仕様です
574デフォルトの名無しさん:2007/03/30(金) 10:11:16
>>571
レスありがとうございます。
下記ではうまく動かないので、イマイチ理解できてないっぽいのですが。。

Dim nsmgr1 As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable)
nsmgr1.AddNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#")
'テスト用デフォルト名前空間
nsmgr1.AddNamespace("mmo", "http://www.2ch.net")

Dim list1 As XmlNodeList = doc.SelectNodes("/rdf:RDF/mmo:item", nsmgr1)
575デフォルトの名無しさん:2007/03/30(金) 11:33:08
>>561
「引数リスト」
つーか、VB6 は
戻り値を使うとき:     hoge = Moge(arg)
戻り値を使わないとき: Moge arg
と、書き方が変わって煩わしかったのが
.NET以降、() ありに統一されたの。
576デフォルトの名無しさん:2007/03/30(金) 11:48:00
settingを使ったのですが、メッセージ覧にファイルapp.configで
要素”なんとか”のスキーマ情報が見つかりませんでした。
がずらーっと並んでるんですがなぜですか?エラーと警告はないのですが、アプリが起動しません。
577デフォルトの名無しさん:2007/03/30(金) 12:05:36
>>576
ひんと・・・

俺たちはエスパーじゃない
578デフォルトの名無しさん:2007/03/30(金) 12:16:09
app.configにリストって定義できる?
579デフォルトの名無しさん:2007/03/30(金) 12:17:23
うん
580デフォルトの名無しさん:2007/03/30(金) 12:19:53
えーとまずプロパティのApplicationSettingsのtextに新規でnameに"Lac"を作りました。
sub Form1_Load
My.Settings.Lac="開く"
Lbutton.Text = My.Settings.Lac
581デフォルトの名無しさん:2007/03/30(金) 12:20:50
としたのですが、>>576のエラーになるのです。
582デフォルトの名無しさん:2007/03/30(金) 12:23:41
>>579
やりかた教えて
583デフォルトの名無しさん:2007/03/30(金) 12:37:27
あああああああもうピカチュウが起動しなくなったあああああ
settingとかいって最低
584デフォルトの名無しさん:2007/03/30(金) 12:57:13
StringCollectionででも定義しろ
585デフォルトの名無しさん:2007/03/30(金) 20:41:09
asp.net2.0でプログラムを書いてます。
テーブルコントロールでテキストボックスやリストボックス、チェックボックスの入った表を作成したまではよかったのですが、
テキストボックスやリストボックスの値を取得することができなくて困っています。
FindControlを使って指定したIDを持つコントロールを探してくるらしいことはわかったのですが、
いざ、FindControlを使ってもNothingが返ってくるだけです。

どのようにして値を取得するのでしょうか?
586デフォルトの名無しさん:2007/03/30(金) 20:52:38
>>585
いったいWEB側とVBでどんなソースかいてんだ????
動的に追加したんじゃなけりゃ必要なさそうだし…・

動的に作ってるんであれば自動復帰処理でコントロール生成した後に復帰した値を取得できるはずだけど・・・・
587デフォルトの名無しさん:2007/03/30(金) 22:10:04
>>574
RDF 要素に名前空間接頭辞を定義する属性が並んでるだろ。
そこにデフォルト名前空間の URI の定義もあるよな?
588デフォルトの名無しさん:2007/03/31(土) 00:36:56
>>587
あ。。。なるほど。
理解しました&動きました。
URI部分しか見てないんですね。。

nsmgr1.AddNamespace("mmo", "http://purl.org/rss/1.0/")
Dim list1 As XmlNodeList = doc.SelectNodes("/rdf:RDF/mmo:item", nsmgr1)
589585:2007/03/31(土) 00:42:39
>>586
動的に作ってますね
aspxの方は<asp:table・・・
で、vbは
Dim rdr As OracleDataReader
Dim i As Integer
Dim r As TableRow
Dim c As TableCel

While rdr.Read
i+=1
c=New TableCel
c.ID="cell" & i.ToString
c.Control.Add(New LiteralControl("<input type=""text"" name=""textbox" & i & """・・・
と、こんな感じで書いてますが
590デフォルトの名無しさん:2007/03/31(土) 01:07:20
>>589
サンプル作ってみた
こんな感じでいいの?
勘違いしてたら言ってくれ(;´∀`)
ttp://hey.chu.jp/up/source3/No_0240.zip
591585:2007/03/31(土) 01:49:18
>>590
サンクス
明日試してみるよ
592デフォルトの名無しさん:2007/03/31(土) 02:13:34
>>591
たぶんそれがViewStateからの自動復帰処理・・・だとおもってる
ざっくりとしかやってないんで注意w
593not 585:2007/03/31(土) 02:57:08
>>590
なにか入力してポストバックしてもTextプロパティが空っぽだよ。
Page Loadで動的に生成したコントロールの状態はPage Load後に復元されるから。
例えばbutton1.ClickイベントでSetInputTextを呼ぶとかしないといかん
594デフォルトの名無しさん:2007/03/31(土) 03:12:55
>>593

アーッ orz
>>591に悪いことしたなぁ・・・・
ごめん・・・テストしなかったんだ(´・ω・`)
ちょっと触ってなかったので忘れてたことにwwww

指摘ありがとう(;´∀`)
595デフォルトの名無しさん:2007/03/31(土) 12:03:58
DataGridViewで表示しているデータテーブルの行を選んだ時
その選んだ行だけを印刷するのはどうすれば良いでしょうか?
596デフォルトの名無しさん:2007/03/31(土) 14:03:53
普通に値を取り出したらあとはお好きにどうぞ
597デフォルトの名無しさん:2007/03/31(土) 14:40:42
>>595
まさに>>596の言うことがそのまんま答えなんだが・・・
まさか、印刷の方法が全くわかりません とかじゃないよな?
598585:2007/03/31(土) 17:11:33
試してみるなんて言いながら思い切り寝込んでたよ
試すのは月曜になりそうです
599デフォルトの名無しさん:2007/03/31(土) 17:25:38
>>598
おはよう
まぁ、べつにいいんじゃね?w

あ、あと>>593が補足修正してくれたんでそれも加味してどぞwwww
600デフォルトの名無しさん:2007/03/31(土) 20:45:28
すんません、教えてください。
VB6でできた、式のウオッチで 「値が変更されたときに停止」をやりたいのですが、
VS2005ではどのようにすればいいのかわかりません。
今調べたい値は、あるコントロールの ForeColor プロパティです、よろしくです。
601デフォルトの名無しさん:2007/03/31(土) 20:52:48
ブレークポイントのマーカを右クリック→条件
Expressだとできないよ
602デフォルトの名無しさん:2007/03/31(土) 21:21:53
>>601
どうもです、この方法やってみたのですが、
これは 「ブレークポイント」 の場所で、その値が変化したかしないかで
ブレークするかしないかを決める、という意味ですよね。

行いたいのは、あちこちでこのコントロールの ForeColor プロパティを
いじっているので、そのどこで変化したのかが不明なため、プログラムが走っている
ときの、どの場所で変更されたのかを知りたいということでした。

つまり任意の場所で変更がありうるため、そのどこが効いているのかは
特定できないのでした。その場合は値を代入しているところに全部ブレークポイントを
置いてこの設定をする必要があるのでしょうか。
603デフォルトの名無しさん:2007/03/31(土) 21:44:31
>>602
そのコントロールのForeColorChangedイベントをハンドルして
そこにブレークポイント置いて呼び出し履歴見ればいいんじゃないか
604デフォルトの名無しさん:2007/03/31(土) 21:59:54
>>603
なるほど、そうやってやるんですね。やっとわかりました。
VB6のときウオッチウインドウでずっとやっててコードで引っ掛ける方法は
考え付きませんでした。ありがとうございました!
605デフォルトの名無しさん:2007/04/01(日) 03:54:01
質問させてください。
サーバーとクライアント間でパケットをやりとりするようなツールを
作成したいのですが、いまのプログラム言語候補に、
VB.NET、VC.NET、JAVAの3つを考えているのですが、
VB.NETではパケットのやり取りを行うことはできるのでしょうか?
606デフォルトの名無しさん:2007/04/01(日) 03:56:36
パケットならJAVA
これ常識
607デフォルトの名無しさん:2007/04/01(日) 03:59:39
                    |
                    |
                    │
     /V\             J
    /◎;;;,;,,,,ヽ
 _ ム::::(,,゚ A゚)::| ジーーッ
ヽツ.(ノ:::::::::.:::::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'
608デフォルトの名無しさん:2007/04/01(日) 04:44:10
どれでもできるがな
609デフォルトの名無しさん:2007/04/01(日) 06:16:55
VB VC VJ ってどれかは出来てどれかは出来ないこととかあるの?
610デフォルトの名無しさん:2007/04/01(日) 06:17:56
一番簡単なVBやって、出来ないことがあればそこだけやらせればいいんじゃないの?
611デフォルトの名無しさん:2007/04/01(日) 09:27:16
ちょww VJは余計w 
612デフォルトの名無しさん:2007/04/01(日) 10:31:37
どれでもできる
613デフォルトの名無しさん:2007/04/01(日) 10:45:59
>VB.NET、VC.NET、JAVAの3つを考えているの

ここでSUNのjavaじゃなくて、J#を持ち出すのはいかがなものかとw
614デフォルトの名無しさん:2007/04/01(日) 12:50:32
流れ的にJ#な気がしないでもない…
615デフォルトの名無しさん:2007/04/01(日) 13:10:20
J# でjava.* 使った場合と System.*使った場合でまったく別言語に見えるのは気のせい?
616デフォルトの名無しさん:2007/04/01(日) 13:14:49
J#ってパッケージスコープ使えるの?
617デフォルトの名無しさん:2007/04/01(日) 23:43:35
質問させてください。
何の因果か、他人のプログラムをデバッグすることになりました。
プログラムをざっと見たところ、クラスの使い方におかしな点があるような気がするんですけど、
クラス内でデバッグ出力しても、どのインスタンスなのか判らなくて困ってます。
インスタンスをNewするときに自分で適当に名前を与えてやればいいとは思ったのですが、
このクラスが引数の数でNewの定義を複数用意してあるうえにOverrideとかもあったりして簡単にできません。
VB.NETの機能で、クラスの中から自分がどのインスタンスなのか知ることはできないのでしょうか。
なお、ステップ実行すると動作が変わるようなので、デバッガから見るのではなくて、
Debug.Write〜とかで出力できる方法でお願いします。
618デフォルトの名無しさん:2007/04/01(日) 23:51:04
こんなのにデバッグ頼まなきゃならんマネージャも大変だな。

取りあえず GetHashCode() でどうよ。
619デフォルトの名無しさん:2007/04/02(月) 00:03:35
そのインスタンスがどこで作られたか知りたいってこと?

当該インスタンスのクラスのコンストラクタでStackTraceクラスを使ってスタックトレースを取得
→静的なDictionaryにMeをキーにしてそのスタックトレースを放り込む
→必要なときそのインスタンスをキーにしてスタックトレースを取り出して出力

思いついたのを適当に書いてみた
620デフォルトの名無しさん:2007/04/02(月) 00:41:57
普通にHoge.GetType.ToStringじゃダメなのか?
621デフォルトの名無しさん:2007/04/02(月) 00:48:31
>>620
それクラス名が出ちゃうだけなんじゃないか?
どのインスタンスかを区別するものではないと思うぞ
622デフォルトの名無しさん:2007/04/02(月) 00:50:56
じゃあ「どの」インスタンスってどういう意味だよw
メモリ上のアドレスでも表示するんかい?
623デフォルトの名無しさん:2007/04/02(月) 00:55:51
>Newの定義を複数用意してあるうえにOverrideとかもあったりして簡単にできません。

Newの数がそんな異常な数あるとは思えないとして
で、単純に引数追加したらデバッグ必要じゃないところまで変更が必要だからそう言ってるんだと考えたら

New AAA()
New AAA(X as string)



の部分を
New AAA(optional InstanceNo as integer=-1)
New AAA(X as string,optional InstanceNo as integer=-1)

みたく定義すればよくね?
で、Newの中でてきとうなPrivate変数に保存して、使えばいいんじゃね?
これならNewの最後にコピペして、ちょっといじるだけだし、既存のコードにも影響を与えないと思うんだが?
624デフォルトの名無しさん:2007/04/02(月) 00:59:32
>>622

dim i as new Class1
dim j as new Class1

このiとjで同じメソッドを実行してクラスの中の関数が
iのメソッドで実行されたのか
jのメソッドで実行されたのか 調べたいってことじゃないの?
まぁ、普通に考えれば呼び出し側で分かると思うんだけどさ・・・・

と俺は単純に受け取ってしまったのだが・・・・
俺間違ってる?(;´Д`)
625デフォルトの名無しさん:2007/04/02(月) 01:01:56
あげてた上に
>>624の文章おかしいし・・・

iのメソッドで実行されたのか
jのメソッドで実行されたのか



iで実行されたのか
jで実行されたのか

のほうが妥当かな?連投ごめ
626620:2007/04/02(月) 01:04:21
>>624
ああスマン、617をよく読むと同一クラスの複数のインスタンスを
互いに識別したいってことのようだね。
俺が勘違いしてたよ
627デフォルトの名無しさん:2007/04/02(月) 01:05:04
みなさんありがとうございます。
説明が下手すぎでわかりにくくてすみません。

質問の趣旨は、Class Aのインスタンスが、a1、a2、a3とあったとして、
Aの中で、自分がa1なのか、a2なのか知りたいということです。

>>618さんのGetHashCodeは、自分でハッシュ作って管理しろって意味でしょうか?イマイチ意味がわかりません><
>>619さんの方法は今msdn見てます
>>620さんの方法はダメそうです
>>623さん、すみません、説明し忘れたのですが、このクラスの呼び出しが100以上あって、あまり触りたくないっていうのもあります。
628デフォルトの名無しさん:2007/04/02(月) 01:12:37
まあ個人的には「インスタンスを識別したい」って問題意識が
そもそも正しくないような気がする。
629デフォルトの名無しさん:2007/04/02(月) 01:13:57
これで十分だろ
Class Hoge
    Public Sub New()
        SetInstanceCode()
        ' 略
    End Sub
    Public Sub New(ByVal a As String)
        SetInstanceCode()
        ' 略
    End Sub

    ' 略

    Private instanceCode As Integer
    Private Shared Counter As Integer = 0
    Private Sub SetInstanceCode()
        Me.instanceCode = Counter
        Counter += 1
    End Sub
End Class

でも >>628 に同意
630デフォルトの名無しさん:2007/04/02(月) 01:18:11
まぁ、普通にやるとしたらそのある関数かなんかの呼び出し部分の前で
一回
Debug.WriteLine("インスタンスHOGEですよ")かませて
次に関数の中でDebugWriteLine("結果です")

とかやるけども100以上とは・・・・

ずい分とその会社で使うクラスの根っこの部分をいじってるような感じを受けるな・・・

>>627

そういうことなら>>618 >>619のがいいと思うわ・・・・
631デフォルトの名無しさん:2007/04/02(月) 01:34:34
>>628
一応、良くないのは判ってるんですが、インスタンスの破棄のタイミングで問題が起きているようなので、
簡単にどのインスタンスが破棄されたのか判ればと思いまして・・・

>>629
なるほど・・・

>>630
呼び出しは間違いで、Newがですね100以上あるのを見た段階で、その方法を諦めましたorz
632デフォルトの名無しさん:2007/04/02(月) 01:44:35
>>631
とりあえずそのエラーの内容とかからたどった方がはえぇんじゃね?
そいう現象が起きるってことは破棄の仕方が問題な可能性があるような・・・

そのエラーがDisposeかFinalizeあたりで起きてるんだろうが
エラーが発生してるってことは、内部で処理しているかわからんが
少なからずどこかでエラーだとわかるように分岐した処理が書いてあるわけだ、そこで止めてステップで抜ければどこで発生しているか分かると思うんだよな
もしなければ、Try〜Catch仕込んで例外キャッチしたところでステップするなりどうにでもなると思うが・・・

それ以前にオーバーロードが100以上とかそんな設計初めて聞いた…・
633デフォルトの名無しさん:2007/04/02(月) 02:02:07
>>632
>とりあえずそのエラーの内容とかからたどった方がはえぇんじゃね?
それが・・・エラーは起きてません。
アプリの出す結果が変(想定外)なだけなんですorz
で、自分が調べたところ、インスタンスが持ってるデータが間違って破棄されているような感じでして。。。

>それ以前にオーバーロードが100以上とかそんな設計初めて聞いた…・
ああ、、、、えっとNewが100以上てところのことでしょうか
明示してNew、Disposeしてるのでそういうことじゃないみたいですが。。。。なぜか普通にスコープで破棄されてるところもあったりして意味不明です><
634デフォルトの名無しさん:2007/04/02(月) 06:39:06
どう読んでも呼び出しが100以上と言う意味だろ。
回答者が外れだとがっかりするね。

全部聞き流して、一度>>619の方法で実装してみろ。
635デフォルトの名無しさん:2007/04/02(月) 08:16:12
〜してみろ、だってさ。
お前は北方謙三かw
636デフォルトの名無しさん:2007/04/02(月) 11:56:44
>>634
どっちとも取れるだろ・・・・
637585:2007/04/02(月) 12:01:57
>>590
TP動かしてみた
>>593の注意に従って書き直したら動いたよ
でも、自分のプログラムに反映させても読み込めなかったorz
638デフォルトの名無しさん:2007/04/02(月) 12:55:25
>>637
ViewStateの絡みもあるんだが
出来る事はわかったんだしゆっくり整理して一つづつ紐解けばきっと解決するさ!

ID名が異なってるとか
ViewStateの中身はBase64エンコのテキストだからそれをポストバック発生時に調べてみるのもありかな?
とか素人風味PG的には考えてみるw
639デフォルトの名無しさん:2007/04/02(月) 13:01:03
>>619を実装したらこんな感じか?
Class Hoge
Private Shared stackTraceRecord As Dictionary(Of Hoge, StackTrace) = New Dictionary(Of Hoge, StackTrace)()
Sub New()
RecordStackTrace()
End Sub
Sub New(ByVal obj As Object)
RecordStackTrace()
End Sub
Sub RecordStackTrace()
stackTraceRecord.Add(Me, New StackTrace(True))
End Sub
Sub WriteCreationStackTrace()
Dim frames As StackFrame() = stackTraceRecord(Me).GetFrames()
For Each frame As StackFrame In frames
Dim name As String = frame.GetFileName()
Debug.WriteLine("File:" + frame.GetFileName() + " Line:" + frame.GetFileLineNumber().ToString() + " Method:" + frame.GetMethod().ToString())
Next
End Sub
End Class
640デフォルトの名無しさん:2007/04/02(月) 13:10:03
dim s as string(2)
dim l as list(of string())

s(0)="1-1"
s(1)="1-2"
l.add(s)
s(0)="2-1"
s(1)="2-2"
l.add(s)
.
.
.

for each s in l
debug.string(s(0) + "::" s(1) )
next

出力結果
2-1::2-2
2-1::2-2
.
.
.

入れたとおりに出しても結果は最後に入れたやつだけが延々とかえってきます。
きっとものすごく初歩的なことを知らないんだと思います。助けてください。
addrangeしたときにキャストがどうとかと言われたのでそれがヒントだと思うんですが・・・

よろしくお願いします。
641デフォルトの名無しさん:2007/04/02(月) 13:22:44
s = New String(2) {}
をs(0)="2-1"の前に追加すればいい
配列は参照型だから…とか言ってもなかなか理解できないだろうから
とりあえずオブジェクトの使いまわしはやめとけ
642デフォルトの名無しさん:2007/04/02(月) 13:27:17
値型と参照型の違いは理解しなきゃ駄目だろw
643640:2007/04/02(月) 13:35:28
>>640
もしかして参照渡しになってる?

どうやって渡せばいいのでしょう?
644640:2007/04/02(月) 13:36:17
>>641
>>642
ありがとうございました!
645デフォルトの名無しさん:2007/04/02(月) 13:38:46
>>643
参照渡しと参照型は別物。
l.add(s) は参照型を値渡ししてる。
646640:2007/04/02(月) 13:45:03
>>645
参照型→データ定義
参照渡し→プロシジャ定義

ということですね?
647デフォルトの名無しさん:2007/04/02(月) 14:13:56
>>646
えぇっと・・・・


とりあえずこれを見ることをオヌヌメする
ttp://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet11/vb6tonet11_01.html
648640:2007/04/02(月) 14:52:11
>>647
重ね重ねありがとうございます。精読し精進に勤めまする。

>>641
おかげでちゃんと動くようになりました。

これからもよろしくというか、なるべく頼らないようにがんばりますが
廃れない程度に書き込みますから可愛がってください。では。
649585:2007/04/02(月) 15:28:16
>>638
非常に簡単なコードなのでViewStateのことは全く考えてませんでした
確かに、>>592にViewStateからの自動復帰処理って書いてありますね

でも、コードを眺めてみてもViewStateのことがいっさい書いてないのでどうしたものか・・・
650デフォルトの名無しさん:2007/04/02(月) 15:35:37
ん〜特にいじってないなら多分問題ないと思う
(確か暗黙的にViewStateで保持するようになってたような無かったような・・・))

まったく同じ名前のコントロールを生成すればいけるはずなんだがな・・・

一体復帰しないっていってるけどどんな感じで書いてるんだろう・・・・
651デフォルトの名無しさん:2007/04/02(月) 16:25:28
質問させてください。
自分の趣味の為、PCにVB.NETの開発環境を構築したいと思ってます。
そこで、最新版のVB2005を入れたほうが良いのか、自社の開発
につかっているVB.NET2003を入れたほうが良いのか迷ってます。

というのは、会社でも使用するプログラムのスキルも向上させたいと
おもってますので、折角自宅でVBを扱うのであれば、
自社で使っているVB.NET2003のスキルアップにつなげたいと思っています。

もし、VB2005がVB.NET2003の単なるバージョンアップであれば、
VB2005で覚えたことはVB.NET2003にも通じるでしょうし、
無料で手に入ることもあり、こちらでやろうと思っているのですが、
そうではなくVB6→VB.NET2002のときのように、考え方がまったく異なって
しまっているようであれば、素直にVB.NET2003でやらなければ
ならないかなと思っております。

ご存知の方いらっしゃれば、VB.NET2003でやるべきか、VB2005でやるべきか、
教えていただけないでしょうか?
652デフォルトの名無しさん:2007/04/02(月) 16:34:17
俺は勉強は2005メインでやってたな

といっても業務でVBは2002→2003、2005Expressでた時に自宅のPCにインスコして勉強がてら使って遊ぶ

でも、2003→2005は俺の場合使いやすくなったが、仕事で2003に戻った時
2005ならあれできるのになぁ・・・とか思うことが多いし嫌になった
それが元で会社は2005に移行してもらったわけだが

そういうこともあるので・・・・一応2003お勧めしとく
つうか、違い調べてそのくらいの選択も出来ないのは開発者として微妙だと思うんだ
653デフォルトの名無しさん:2007/04/02(月) 16:45:34
レスありがとうございます。
今までVB6.0の開発をやっていて、今年度からVB.NETをやることになったので、
まだVB2005はおろかVB.NET2003でも開発すらしていない状況です。

レスを見る限り、VB.NET2003→VB2005へのバージョンアップは、
VB6.0→VB.NET2002へのバージョンアップみたいに考え方が
がらっと変わってしまうようなものではなく、むしろVB5.0→VB6.0
のように、考え方はそのままで使い勝手が良くなっただけと考えても
よろしいでしょうか。
654デフォルトの名無しさん:2007/04/02(月) 16:46:23
会社の2003を自宅のPCにインスコするのは違法じゃね?
655デフォルトの名無しさん:2007/04/02(月) 16:48:42
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       |   >>653通報しますた
       \
          ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
         ∧_∧
         ( ´Д`)
       /⌒    ⌒ヽ
      /_/|     へ \
    (ぃ9 ./    /   \ \.∧_∧ 
       /    ./     ヽ ( ´Д` )
      (    /      ∪ ,  /   
       \ .\\     (ぃ9  |
        .\ .\\    /    /  ,、
          >  ) )  ./   ∧_二∃
         / //   ./     ̄ ̄ ヽ
         / / /  ._/  /~ ̄ ̄/ /
         / / / )⌒ _ ノ     / ./
       ( ヽ ヽ | /       ( ヽ、
        \__つ).し          \__つ
656デフォルトの名無しさん:2007/04/02(月) 17:09:33
2003とかは1開発者が複数の環境に入れるのって許可されてなかったっけ?
657デフォルトの名無しさん:2007/04/02(月) 17:10:29
うん
658585:2007/04/02(月) 19:12:24
>>650
ああ、書いてないというのはTPのことです

ViewStateは検索件数を覚えさせるために使用してます
659デフォルトの名無しさん:2007/04/02(月) 22:28:53
>>658
ん〜
こっからは何ともアドバイスが難しい気がしてきた

とりあえずやりたいことも分かるし、サンプルも動いた
サンプルを基にソフトに組み込んでみたが動かない

それなら、いっちょ新しい画面作って最低限の実装
(デザインなんか糞くらえで、例えばロードでSELECTの先頭10件 ポストバックで同じ10件 みたいな感じ)
して、動作確認して調査範囲狭めて い  か  な  い  か  ?w
660デフォルトの名無しさん:2007/04/02(月) 22:45:51
>>1-700
日本語でおk
661デフォルトの名無しさん:2007/04/02(月) 22:47:23
>>660
おまえもかよwwwwwww
662デフォルトの名無しさん:2007/04/02(月) 23:32:15
つーか>>585はGridViewとかDataListコントロールじゃ駄目なのかい?
663デフォルトの名無しさん:2007/04/03(火) 00:03:26
VB2005なのですがショートカットファイルなどにある
アイコンの変更を変更するダイアログを表示させたいのですが何か方法はあるのでしょうか?
664デフォルトの名無しさん:2007/04/03(火) 00:04:55
変な日本語に・・
アイコンの変更を変更するダイアログを

アイコンの変更ダイアログを
665デフォルトの名無しさん:2007/04/03(火) 01:04:03
>>664
それはあれか?
窓の手とかであるような 右クリックメニューに組み込むとかじゃなくって?

方法は色々とあるだろうけど、そこまでの操作手順はどうなんだろう・・・・
666585:2007/04/03(火) 09:15:58
>>659
確かに
一度限定してTP作ってみるよ

>>662
GridViewとかDataListコントロールは調べてみたけど、<table>で作った方が簡単なので<table>でやってみた
そっちの方を考えた方がいいのかな?
SQL Serverとの接続は

javaならgetParameterで必ず取得できたので、ASP.NETもいけるかなと思ったら以外に苦戦するとは
667585:2007/04/03(火) 09:17:52
SQL Serverとの接続は
→SQL Serverとの接続は解説しててもOracleとの接続についてはあまり書いてないので、調べるのが面倒だったというのがあったけどね
668デフォルトの名無しさん:2007/04/03(火) 11:28:30
なんか使ってるとすぐエラーで起動しなくなるんだけど、よくあることなの?
アプリケーションをインストールしなおすと直る場合があるとかいうメッセージがでるんだけど・・・・・・・・・・・
669デフォルトの名無しさん:2007/04/03(火) 11:54:01
>>668
ヒント
俺たちはエスパーではない
出来るだけkwsk
670デフォルトの名無しさん:2007/04/03(火) 12:28:30
何度も言ってるんだけどスルーされるんだもん
settingを使ったソフトを作った後ビルド発行するともう起動しなくなるデバッグもできなくなる
ビルドで出来たexeファイルから実行しても同じエラーがでる。

プロジェクトを実行しようとしているときにエラーが発生しました。c:〜.exe
アプリケーション構成が正しくないためこのアプリケーションの開始に失敗しました。
アプリケーションの再インストールをすることで、この問題が解決する場合があります。
671デフォルトの名無しさん:2007/04/03(火) 12:42:34
>>670
ちなみにそれって、VS起動しなおしてビルドしたらどうなるの?

つうか、アプリケーション構成ファイルのXML構造が解析できてない雰囲気だけど
672デフォルトの名無しさん:2007/04/03(火) 12:51:51
起動しなおしてビルドした.exeを実行しても変化ないし、VS上でデバッグも同じエラーが出る
とりあえず全部のプロシージャに on error 時 exit sub を入れてReleaseフォルダにある.exeファイルと.
exe.configファイルだけを別フォルダに入れて.exeを実行すると、起動だけは一応するけどまともに動かない
673デフォルトの名無しさん:2007/04/03(火) 12:58:04
>>672
それ、一回アプリケーション構成ファイル作り直したほうがいいかも知れんな
どっか保存しといて必要な要素のみ切り貼り

こっからは完全に蛇足

あと、On Errorとかは
Try Catchとかの方が構造化して書けるのでいいとおもうが・・・
あと、ExitSubは俺の場合、Returnで書くようにしてる
これだとFunctionに変更した時2005なら警告出るから修正ミスが減りそうなんで

他の人たちどうしてるんだろうな・・・
674デフォルトの名無しさん:2007/04/03(火) 13:02:48
VB2005自体も再インストールしたけどだめだった。
同じソフトでmy.settings.*** を使わないとこんなエラーは出ないんだけど

settingの使い方はmy projectの設定タブで使う名前を設定して
プログラム上で読み書きする文を書いただけ。

app.configを開くと 要素’何たら’のスキーマ情報がみつかりませんでした のメッセージがズラーっと出る。
これはもうVBじゃ解釈できないファイルなんだとあきらめたんだけどここが原因なのかな
675デフォルトの名無しさん:2007/04/03(火) 13:17:49
あと

プログラムの追加と削除で
MSXML 4.0 SP2 (KB927978)
MSXML 6.0 Parser
MSXML4 Parser
の3つがあったんで全部、変更>修復をしたけど駄目だった
676デフォルトの名無しさん:2007/04/03(火) 13:22:24
ここの一番下はあんま参考にならんかなぁ・・・
クリーンアップツールで削除ってのがよさげ
単純な入れなおしでは微妙だろうし

ttp://jl4cvb.sakura.ne.jp/diary/?date=200612

しっかし、まれにこういうイミフなエラーでるよなぁ・・・・
677デフォルトの名無しさん:2007/04/03(火) 13:30:50
すみません、教えてください。Formのタイトルバーの部分を
678デフォルトの名無しさん:2007/04/03(火) 13:32:40
すみません、教えてください。Formのタイトルバーの部分をMouseでクリックした
ときに立つイベントを探していますが、見つけられずにいます。ClickやMouseClick
は立たないようでした。どなたかご存知の方いたら教えてください。
679デフォルトの名無しさん:2007/04/03(火) 13:40:15
ときに立つイベントを探していますが、見つけられずにいます。ClickやMouseClick
は立たないようでした。どなたかご存知の方いたら教えてください。
680デフォルトの名無しさん:2007/04/03(火) 13:42:39
>>676
thx。
クリーンやってみるよ
681デフォルトの名無しさん:2007/04/03(火) 13:46:54
>>677
そういうイベントがない以上は
WndProcをオーバーライドして自分でメッセージフックするしかないだろうな
682デフォルトの名無しさん:2007/04/03(火) 13:50:50
>>681
あ、そうするのですか。わかりました。
ありがとうございました。
683デフォルトの名無しさん:2007/04/03(火) 13:53:07

メッセージはこれ参考にして
ttp://wisdom.sakura.ne.jp/system/winapi/win32/win42.html

動かしてないけどオーバーライドした中身はこんなかんじか?ってのをなんとなく記述

'クラスのプライベートとかで宣言
private const WM_なんたら As Integer = &H??

'ここがWinProcの中身
try

 select case e.msg

   case WM_なんたら

 end select

finally
  mybase.winproc(e)
end try


こんなんじゃ出来なかったっけ?
684663:2007/04/03(火) 13:55:48
>>665
はい、icoを選ばせるならOpenFileDialog等でいいのですが
exeやdllの中のアイコンも使えるようにしたいと思うと
アイコンの変更ダイアログが一番いいんじゃないか?と思ったのですが
shell32.dllの隠しAPIを使うとかどうとかで

もう少し考えてみます
685デフォルトの名無しさん:2007/04/03(火) 15:06:56
>>683
助かります。

実はこの windows.h ファイルをVS2005Proと.NET SDKのフォルダで
検索したところ出て来ず探せないため、一応自分でテストしながら関係
しそうなメッセージを見てみたところ、TitleBarやScrollBarでのMouseEvent
では Message=33 が来るようでした。

しかしこれですと定数の定義を手探りで探しているようで確実でないため
windows.h ファイルを探さねばと思うのですが、まだ探せていません。

そこで、すみませんがよろしければ
 #include <windows.h>
の部分について教えてください。

これを記述すれば自動的に参照可能でしょうか、その場合、VBで記述する場合は
どう行なえばよいでしょうか。
686デフォルトの名無しさん:2007/04/03(火) 15:27:42
>>685
俺たちはエスパーでもマジシャンでもないんだが・・・
687デフォルトの名無しさん:2007/04/03(火) 15:44:20
釣りだろ
688デフォルトの名無しさん:2007/04/03(火) 15:51:56
>>687
や、そう思ったんだがなw
マジでそう思ってんのならフックとか以前の問題だぜ みたいなww



ありえないか('A`)
689687:2007/04/03(火) 17:13:41
>>685
PlatformSDKインストールして
\Include\WinUser.hファイルに定数定義してある。

>#include <windows.h>
おまいさんが言うとおり参照できればいいがVBからはできない。
よってWinUser.hファイルの中のWMから始まる定数を必要なものだけ
VBのソースに移す。
>>683
>private const WM_なんたら As Integer = &H??
がその部分。

688が可愛かったから釣られてやったぜ。ちきしょう!
690デフォルトの名無しさん:2007/04/03(火) 17:24:20
>>689
やるなwww

しかし、そういわれればFrameWorkの定数にしてあってもおかしくはないよな・・・
って色々Define切ってるしめんどくさいんだろうが
691デフォルトの名無しさん:2007/04/03(火) 17:39:14
むしろ、このスレの住人はエスパーであるべき
692687:2007/04/03(火) 17:52:44
今後の691の回答に期待
693デフォルトの名無しさん:2007/04/03(火) 17:54:02
>>691
DBに繋がりません!
たすけて!1
694691:2007/04/03(火) 18:13:17
>>693
まずDBをインストールしれ
695デフォルトの名無しさん:2007/04/03(火) 18:28:35
>>694
解決しました!!
本当にありがとうございました
696デフォルトの名無しさん:2007/04/03(火) 19:25:33
>>692-694
流れアホスwwwwww
697デフォルトの名無しさん:2007/04/03(火) 19:30:18
ホットキー・コントロールってVB.NETから使えないのかな?
ツールボックスにそれっぽいのが見つからないんだけど

ホットキー・コントロール
http://www.kumei.ne.jp/c_lang/img/sdk19201.gif
698デフォルトの名無しさん:2007/04/03(火) 19:32:36
>>697
自作頑張れ
そんな難しいもんじゃない
699デフォルトの名無しさん:2007/04/04(水) 00:04:10
>>698
わかった
がんばる
あんがと
700デフォルトの名無しさん:2007/04/04(水) 07:36:35
vbでdx9の扱い方のってるサイトありませんか?

探しても見つからない・・・
701デフォルトの名無しさん:2007/04/04(水) 10:23:55
マイクロソフトにSDKあるし、サンプルもあったと思うが?

ついでに言えばそういうサイト結構ある
VB6でゲーム作ってる所とか
702デフォルトの名無しさん:2007/04/04(水) 10:42:21
>>700
前に俺もDirectX関連のHP探してたけど
わかりやすいのが無かったから本買った
最近じゃ、わかりやすいHPでてきたのかな?
703デフォルトの名無しさん:2007/04/04(水) 11:34:31
.SetAttribute("genre", "novel")
の"novel"を変数にしたらうごかないんですけど
.SetAttribute("genre", novel)
変数を使う方法はありませんか?
704439:2007/04/04(水) 12:20:22
>>703
何のSetAttributeメソッドなのかを省略するようなおまえには何も答えてやらん。
705デフォルトの名無しさん:2007/04/04(水) 13:26:27
つか、「うごかないんですけど」だけで予測せよ、って事だから
きっと >>691 の出番なんだよ。
706デフォルトの名無しさん:2007/04/04(水) 14:19:12
うごかない→ぬるり

とエスパーしてみる。

707デフォルトの名無しさん:2007/04/04(水) 14:26:02
>>691
出番だぜ〜?
708デフォルトの名無しさん:2007/04/04(水) 14:37:36
>>706 こういうことか
Dim novel As string
unknown.SetAttribute("genre", novel)//ぬるり
709デフォルトの名無しさん:2007/04/04(水) 14:49:11
今更だが
>>704>>439だとしたら態度の変わりすぎに
俺はきっと今飲んでるマンゴーオレを吹いてしまうだろう・・・・
710デフォルトの名無しさん:2007/04/04(水) 17:10:02
.SetAttribute("genre", (novel)) かな?
711デフォルトの名無しさん:2007/04/04(水) 17:33:48
>>710
念のため、
  .SetAttribute("genre", (((novel))))
くらいにしておくと安心でしょう。
712デフォルトの名無しさん:2007/04/04(水) 17:49:40
  .SetAttribute("genre",((((((((((novel)))))))))))
713デフォルトの名無しさん:2007/04/04(水) 18:34:53
>>712
ちょっwwwww
それはないYO!









.SetAttribute("genre", _
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( _
novel _
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
714デフォルトの名無しさん:2007/04/04(水) 19:40:23
DataGridViewのサイズは変えることが出来ないと言われました。

ホントはできるんだけどちょっと面倒だし、金も抑えられてるから出来ないっていっとこ。

ってことでしょうかね、やっぱり。
715デフォルトの名無しさん:2007/04/04(水) 19:46:34
エスパーの俺が登場www

>>714
で、何のサイズが変えれないの?wwwwww
716デフォルトの名無しさん:2007/04/04(水) 20:22:31
  _   ∩
( ゚∀゚)彡 おっぱい!おっぱい!
 ⊂彡

717デフォルトの名無しさん:2007/04/04(水) 20:58:52
あぁ、アプリのWindowサイズを変えたらその中に埋まってるDataGridViewのサイズも
変えられるのかと聞いたらダメだと。

イメージはJane Styleとかのスレ一覧みたいの想像してたんだが。
718デフォルトの名無しさん:2007/04/04(水) 21:16:29
DockかAnchorプロパティ一行加えるだけじゃねーの?
719デフォルトの名無しさん:2007/04/04(水) 23:22:16
>>717
ちょっwwwwww

>>718の言う通りだとおもうんだが…・
Dock,AnchorやSplitter その他コンテナ系コントロールとか
とりあえずその辺でざっくりいけるだろ

つうか、どこのだれに聞いたんだYOwwwwwww
720デフォルトの名無しさん:2007/04/05(木) 00:37:11
しかも、なんで金の話なんかに飛躍してんだよwwwwwww
「人の話を聞け」ってよくいわれるだろ
721デフォルトの名無しさん:2007/04/05(木) 00:39:26
>>719
聞いた相手が悪かったんじゃなくて、聞き方が悪かったんだと思うYO!
722デフォルトの名無しさん:2007/04/05(木) 02:46:25
すごい、奇跡だ。回答レスが付いてる。
>>710-713
こんなことは初めてだ。ちょっと涙が出てきた
723デフォルトの名無しさん:2007/04/05(木) 11:04:14
VB.NET2005での開発で、Exitの使用に関して質問です。
イベントの処理に入る前に、必須の条件が整っているか判断し
整っていない場合は「Exit Subで抜ける」というようなコーディングはいけないんでしょうか? ↓一例です

Private sub button1_click(...
If IsNothing(TreeView1.SelectedNode) Then
Exit Sub
Else
'ここにメインの処理(txt_area1.text = TreeView1.SelectedNode.Name など)
End Sub

このような使用方法のExitは使うべきではないんでしょうか?
TryCatchでNull判定しても同じコトが出来るから書き直せと言われました。
理由を聞いたんですが意味が分からなかったので、ここに書きました。
724デフォルトの名無しさん:2007/04/05(木) 11:23:01
>>723
むしろ俺はそんな感じでやってる

if obj is nothing then return

こう書くことでそのReturn(Exit Subとか)
の下は必須なデータがそろっている事が保障されている為、余計な心配をすることがないんで
ソースがスッキリする

また、条件がない場合キャッチするってことなら、それはパフォーマンスを激しく落とすことになるので
俺はCatchは最小限にとどめてる感じ

でも、会社によってコーディング方法や考え方が違うから
相手を納得させるだけの理由がない場合、それには合わせる様にしたほうがいいかもね

725デフォルトの名無しさん:2007/04/05(木) 11:24:16
エスパーじゃないんだから、お前のクソソースの一例だけでは
万人が納得する回答はできない。 
業務仕様でNothingがエラー扱いなのかもしれないし。

たとえば、数行ならまだ可読性も下がらないが、行数が増えるとExitもGotoも
そんなに大差ないレベルで可読性も保守性も下がる。。

できればFinallyで出口を一箇所に集めるようなコーディングに慣れてくれれば
という意味ジャマイカ?

ちなみにお前のソースでのElseは必要ないと思う。どうせExitするんだから。
726デフォルトの名無しさん:2007/04/05(木) 11:39:39
>>723
その一例ではどうでもいいが
他の例としてボタンを継承して
Protected Overrides Sub OnClick(ByVal e As System.EventArgs)
  If Not 何たら Then
    Exit Sub
  Else
    処理
  End If
  MyBase.OnClick(e)
End Sub
としてしまうと
MyBase.OnClick(e)が呼ばれない時があるので
ボタンのクリックイベントが発生しなくなる。
727デフォルトの名無しさん:2007/04/05(木) 11:42:52
>>726
それは別に

Try
Finally
EndTry

だけで括ってFinallyにMyBase〜〜 書けばよくね?
728726:2007/04/05(木) 11:58:06
>>727
俺はExit Subを書かない方法だな。
そこらへんは好き好きで。
729723:2007/04/05(木) 12:48:30
レスを元に調べてみました。
「出口をひとつにする」というのが
賛否両論があるコーディングの規約的なものなんですね。

会社のコーディング規約というわけではなく、学生同士の勉強の中でのことなので
もう少し深く調べて、考えてみることにします。
※例の部分で、End Ifの部分をElseと書いてました(変に可読なコードが出来てすみません。)

それと、もうふたつ質問させてください。
TryCatchの概念というか価値のようなものがいまひとつ掴めないのですが、
・「エラーで処理が中断した時、スローすることが出来るので、例外処理を設けつつ出口をまとめることができる」
・「エラーで中断が発生しても必須の処理(DBやFileのCloseなど)を、Finallyで行うことができる」
の2つであっているでしょうか?
730デフォルトの名無しさん:2007/04/05(木) 13:16:16
TryCatchは入れ子に出来るし。
関数を極小化してOnErrorでも似たような状態は出来るかもしれんが。
731デフォルトの名無しさん:2007/04/05(木) 13:19:05
・「エラーで処理が中断した時、スローすることが出来るので、例外処理を設けつつ出口をまとめることができる」
・「エラーで中断が発生しても必須の処理(DBやFileのCloseなど)を、Finallyで行うことができる」
の2つであっているでしょうか?

基本的に大体それでいいんじゃないかな?

あとはエラーの考え方の問題じゃないかな?
732デフォルトの名無しさん:2007/04/05(木) 13:30:15
>エラーで処理が中断した時、スローすることが出来る

この文言には違和感を覚える。 
スローする事ができるのではなく、キャッチする事ができるのではないのか。

例外スローはTryCatchの外でも可。
733デフォルトの名無しさん:2007/04/05(木) 14:50:15
nullという状態が通常起きるものなら IsNothingで判定。通常は起きないものなら例外に任せるのが基本。
全体への影響度にもよるが例外のコストもある。

出口をひとつにするだけならこれは?
 If Not IsNothing(TreeView1.SelectedNode) Then 
  'ここにメインの処理(txt_area1.text = TreeView1.SelectedNode.Name など)
 End If
End Sub 
734デフォルトの名無しさん:2007/04/05(木) 14:54:07
>>733
もうその話は終わってる。 空気が読めない子だね。
735デフォルトの名無しさん:2007/04/05(木) 15:05:52
カラケだろ? 読めるよプ
736デフォルトの名無しさん:2007/04/05(木) 15:12:59
そ、空気…
737デフォルトの名無しさん:2007/04/05(木) 15:21:45
今時
プ
とかナカナカつけないよな・・・
いつの時代の人なんだろう?
長老様ですか?
738デフォルトの名無しさん:2007/04/05(木) 18:56:32
ディレクトリ選択ダイアログに関しまして質問があります。

現在ユーザに特定のディレクトリ(or ファイル)を選択させる為に
FolderBrowserDialog
メソッドを利用しディレクトリ(or ファイル)選択を行っているのですが、この際
ディレクトリ(ファイル)の削除 or マウス右クリック操作等を禁止する
事は出来るでしょうか?

ググってみたのですが見つかりません。
739デフォルトの名無しさん:2007/04/05(木) 19:25:36
>>729
関数の途中でreturnの可読性の観点からの是非は、昔は議論あったけど今は
okっていう方向に意見が集約しつつあるんじゃない?

実際、俺は多用するけど、後でコード読み返したときに分かりにくいと思ったとか
バグの原因になっていたとかそういうの皆無だよ。

構造化例外処理の利点というか、構造化例外処理でなければならない理由は
突き詰めるとマルチスレッド対応なんじゃないのかね?

例外に関する情報を1つの例外オブジェクトに集約できることを利点に挙げる人もいるけど、
それはGetLastError方式でもできるからね。
740デフォルトの名無しさん:2007/04/05(木) 21:07:58
Nothingが普通はないはずの処理なら、Throw New ArgymentNullException(…)
てするから結局出口はひとつにはならない。

てか出口ひとつはもはやどうでもいいと思うよ。
ネストが深まる方が明らかに可読性やら保守性悪くすると思う。
741デフォルトの名無しさん:2007/04/05(木) 21:57:33
大変失礼いたします。
当方プログラムの知識は無いのですが、どうしても困っている事があり知識の豊富な皆様に相談したく書き込みさせて頂きました。

Visual Basic 6.0 SP6 ランタイムファイル(XP.vista対応、最新SP6)
http://www.vector.co.jp/soft/win95/util/se342080.html

こちらのランタイムをvistaにて何度もインストールを試みているのですが、どうしても正常にインストールができません。
インストール後のvb6rtestを試しても

「コンポーネント'DBLIST32.OCX'、またはその依存関係のひとつが適切に登録されていません。ファイルが存在しないか、あるいは不正です。」

と出ます。
また、ランタイムが必要なアプリを動かしていても、似たようなエラーがでます。(DBLIST32.OCXの部分がMSMASK32.OCXに変わってたりするけど)

どうしても仕事で必要なのです。
もう1週間くらい悩んでます、インストール再インストールを繰り返したり、管理者権限で実行したり、再起動したりと試しましたが、どうしても改善されません。

ウェブなどで改善策を探そうと検索もしまくりましたが、どうしても見つからず、どこに相談していいかも判らずここにたどり着きました。
どうか、何卒アドバイスをいただけないでしょうか。
742デフォルトの名無しさん:2007/04/05(木) 21:59:12
やだねったら、やだね
743デフォルトの名無しさん:2007/04/05(木) 22:12:43
>>741
君がたどり着くべき場所はここじゃないんだ。また頑張ってくれ。
744デフォルトの名無しさん:2007/04/05(木) 22:20:46
>>743
どこが一番この手の質問に詳しいでしょうか?
本当に困ってるんです。
これが解決できるなら、金を払ってもいいくらいの気持ちです。
745デフォルトの名無しさん:2007/04/05(木) 22:26:12
フォームのコピーについて質問です。

現在、プロジェクト1にてフォームをいくつか作っています。
その内いくつかのフォームをプロジェクト2でも使うので
プロジェクト2で[追加]→[既存項目の追加]よりフォームを追加しました。
しかし、追加になったフォームには画面(デザイナ)がありません。
ソース上には「フォームデザイナで〜」と書いてありますが、
デザイナで開くことができないのです。

どなたかご教授お願いします。
746デフォルトの名無しさん:2007/04/05(木) 22:32:30
>>744
.NETより前のVBの質問を受け付ける専用スレがあるから、そちらでどぞ。
いま携帯だからURLは書けない。スレ内検索してみて
747デフォルトの名無しさん:2007/04/05(木) 22:36:13
>>746
ありがとうございます。そちらで相談してみます。
スレ違い失礼しました。
748デフォルトの名無しさん:2007/04/05(木) 23:01:39
他スレにて質問したところスレ違いとの事でしたので
此方に再度質問させて下さいませ。

VS2003(1.1利用)環境におけるTreeViewについて質問があります。

@FormLoadイベントにてTreeViewをWindwosFormに追加し画面表示しているのです
がこの時に最初から「+」「-」の表示を行わずに、最初から全て表示(展開)
させるにはどうすれば良いでしょうか?

ATreeView上で通常のWindowsエクスプローラーの様にアイコンもセットで
表示するにはどうすれば良いでしょうか?


以上 ご存知の方がいらっしゃいましたらご伝授願います
749デフォルトの名無しさん:2007/04/05(木) 23:14:26
ヘルプの TreeView クラスについて を見れ
750デフォルトの名無しさん:2007/04/06(金) 00:08:38
もう一度見てみます。
751デフォルトの名無しさん:2007/04/06(金) 01:37:46
>>749
>>748は別スレで俺が@ITのクリティカルなサンプル作ってるページ教えたのに
試してもないってことだかんな・・・・
モロ同じようなことやって、Expandの部分も記述されてる

こんなやつはPG組まなくていいよ
つうか、これで仕事でやってんなら速攻クビになってくれ

>>750
どうせまた別のところで聞くんだろ?
いいから消えろよ
752751:2007/04/06(金) 01:44:41
>>750
と、放り投げるのもかわいそうな気がしてきた・・・
どうでもいいけど・・・・

これみりゃできるだろ
つうか、こんなのググれば一撃だ

アイコンの設定の仕方
ttp://www1.mahoroba.ne.jp/~mitt/dotnet/WindowsForm/Control_TreeView01.htm

上のサンプルにあるImageListの使い方のサンプル
ttp://homepage1.nifty.com/rucio/main/kiso/Kiso12ImageList.htm

これで、Expandとか使えばお望みのものができるんじゃないか?
753デフォルトの名無しさん:2007/04/06(金) 11:11:43
質問です
FW3.0+XPSP2の環境下で
WORDとかのように文章中に画像を差し込んだりできる
簡易テキストエディタみたいなのを組み込みたいんですが・・・
最初リッチテキストを考えましたが、テキスト入力は問題なくても画像の差込が出来ないようなので。。。
完全に1から作るにしてもどう継承して改造すればいいかが思いつきません。
WORD使えば手っ取り早いんですが、環境上無理な様子です。

もし、いい知恵をお持ちの方がいらっしゃればお貸し願えませんか?
754デフォルトの名無しさん:2007/04/06(金) 11:41:54
「継承して改造」なんて言葉は簡単だが…
どれくらいのコスト(時間)ならやる気ある?

大体「いい知恵をお持ちの方」なんて言いながら、内容が難しかったら
「ちょっとムリです。ありがとうございました」で終わりだろ。

755デフォルトの名無しさん:2007/04/06(金) 11:46:23
>>751
おまいのやさしさに惚れた

>>748
TreeViewのヘルプ見りゃ[+][-]の表示制御くらいすぐにわかる。
最初から展開したけりゃ最初に全部展開すればいい。

>「ご存知の方がいらっしゃいましたらご伝授願います」

ご存知の方しか返答しないし、ご伝授というほどの質問じゃない。
アホか。
756デフォルトの名無しさん:2007/04/06(金) 11:48:31
>>754
別に特に期間はないけど、時間でいえば5時間くらいで(;´Д`)
それ以上かかっても出来るのであればしたいです。

将来的に自分で使いまわしたいツールなので
757デフォルトの名無しさん:2007/04/06(金) 12:01:53
画像ファイルから、そのイメージの指定位置(px, py)から指定サイズ(dx, dy)を切り出して
フォーム上の指定位置(x, y)に表示するプログラムだけつくってみ。
それに何時間掛かったか教えてくれ。
758デフォルトの名無しさん:2007/04/06(金) 12:06:12
全然関係ナサスwwww
759757:2007/04/06(金) 12:14:28
760デフォルトの名無しさん:2007/04/06(金) 12:15:51
761デフォルトの名無しさん:2007/04/06(金) 12:22:07
758は >>757>>748 の流れと勘違いしてるだけだろ
762デフォルトの名無しさん:2007/04/06(金) 12:22:42
おまえら釣られすぎ
763デフォルトの名無しさん:2007/04/06(金) 12:23:51
また釣りとか言い出すし・・・
764デフォルトの名無しさん:2007/04/06(金) 12:57:31
>>755
ちょっとやってみる
少なくとも30分もあればザックリ終わるけどgkm言いつけられたので今夜あたりでもよい?
特に急いでるわけでもないので(;´Д`)
765755:2007/04/06(金) 23:39:13
>>764
ザックリとかgkmとか言ってることが良くわからんがいつでもいいよ
766デフォルトの名無しさん:2007/04/07(土) 01:25:38
これは仕様なのかも知れないが

asp.netのサイトでUserConfigを設定するページだけLoginさせる必要がある場合、
サイトのすべてをWebサイト管理ツールで閲覧許可に設定し、
UserConfig.aspxにLoginViewを置いて、AnonymouseテンプレートにLoginコントロールを置いて
LoggedinテンプレートにUserConfigに必要なコントロールを配置して起動すると
Loginコントロールが表示されてIDパスワードを入力してもLoggedinテンプレートに変わってくれない。
UserConfigだけフォルダを作れば済む話だけど、なんか間違ってるのかな?
767デフォルトの名無しさん:2007/04/07(土) 11:32:47
DataGridViewの列から項目だけ重複させずにリストボックスとかに持って来て
そっから選んだ項目でフィルタかけることってできるの?
768デフォルトの名無しさん:2007/04/07(土) 11:42:49
DataTable 使ってるならそう難しいことでもないな
769デフォルトの名無しさん:2007/04/07(土) 13:21:43
一発解決コントロールかメンバはないの?
エクセルでいうオートフィルタみたいなの
DataGridViewのヘルプ見てれば見つかる?
それかクエリのSQL文でそういうの書けるのかな?

>DataTable 使ってるならそう難しいことでもないな
2005でmdbでドラッグして作ったDataGridViewなんだけど
770デフォルトの名無しさん:2007/04/07(土) 13:26:10
今のレベルはこれ
ToolStripDropDown.DropDownItems = Me.DataGridView.CurrentCellAddress.Y(3)
まったく動かなかったw
771デフォルトの名無しさん:2007/04/07(土) 14:10:58
>>769
とりあえずヘルプすら見てないのは判った。

SQLの追加が許されるならなんだって出来るに決まってるだろ…
DISTINCTつけろ。
772デフォルトの名無しさん:2007/04/07(土) 16:21:45
これだ!ありがとう!
773デフォルトの名無しさん:2007/04/07(土) 19:08:30
ちょ、すんません
この度Vistaに移行しようと思ってるんですが
.net対応してないって本当ですか?
ググったんだけど曖昧な情報しかえられなかったもので・・・・
774デフォルトの名無しさん:2007/04/07(土) 19:18:27
これだから主語と目的語が曖昧な質問は困る
775デフォルトの名無しさん:2007/04/07(土) 19:57:49
>>774
どっちにしても言いたいことはわかるわけだが
俺は答えん
776デフォルトの名無しさん:2007/04/07(土) 20:07:21
・Visual Studio .NET 2003は使えるか False
・Visual Studio 2005は使えるか True
・.NET Frameworkを使ったアプリは動作するか True
777デフォルトの名無しさん:2007/04/07(土) 20:16:57
>>773
ヒント:SP1
778デフォルトの名無しさん:2007/04/08(日) 00:32:20
VB2005で、ボタンを押すとファイルから1行読み込んでテキストボックスに
5秒表示する、というのを繰り返したいのですが、うまくいきません
(テキストボックスに何も表示されません)
どこがいけないでしょう

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim line As String
Dim sr As New System.IO.StreamReader("C:\test.txt", System.Text.Encoding.Default)
Do Until sr.EndOfStream
TextBox1.Clear()
line = sr.ReadLine
TextBox1.Text = line
System.Threading.Thread.Sleep(5000)
Loop
sr.Close()
End Sub
End Class
779デフォルトの名無しさん:2007/04/08(日) 00:42:12
何せファイルから読み込んで5秒間寝ての繰り返ししかできないからな
いつ描画しろって言うんだ?

素直にタイマ使った方が良いんじゃね
780デフォルトの名無しさん:2007/04/08(日) 00:42:44
TextBox1.Text = line
のあとにRefreshとかApplication.DoEventsとか
781デフォルトの名無しさん:2007/04/08(日) 01:09:49
>>779
TextBox1.Text = line だけで描画されると思ってました
タイマーの勉強してみます

>>780
どちら入れても動きました

初心者の質問に答えて頂きありがとう
ずっと詰まってました これで少し進めます
782デフォルトの名無しさん:2007/04/08(日) 03:14:23
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw
783デフォルトの名無しさん:2007/04/08(日) 04:16:37
>>782
死ね
784デフォルトの名無しさん:2007/04/08(日) 10:49:27
すいませんまた来ちゃいました

氏名別表示()のクエリ内容
SELECT DISTINCT 氏名 FROM 一覧表 GROUP BY 氏名


MsgBox(一覧表TableAdapter.氏名別表示())

で表示されるのが最初の1レコード目だけなんですけど
これの2レコード目の氏名項目を取得するにはどう書けばいいんですか?

氏名別表示() だと 12345
氏名別表示(3) だと 4

と表示されて次のレコードが取得できません
785デフォルトの名無しさん:2007/04/08(日) 11:15:57
>>784
あなただれ?
786デフォルトの名無しさん:2007/04/08(日) 11:21:45
なんでDISTINCTしてるのに、GROUP BYするんだよ。
787デフォルトの名無しさん:2007/04/08(日) 11:46:12
GROUP BYにもDISTINCTする機能があるのですか?勉強になります。

788デフォルトの名無しさん:2007/04/08(日) 11:53:33
もしかして
一覧表TableAdapter.氏名別表示
が配列になってると考える方向自体がやばいんでしょうか?
789デフォルトの名無しさん:2007/04/08(日) 12:01:16
やっぱりちょっと難しすぎるのでAccessでやることにします。
すいません
790デフォルトの名無しさん:2007/04/08(日) 18:06:00
質問です。
http://www.ureader.com/message/975396.aspx
ここを参考にしながら、html要素のイベントにハンドルしようとしても、エラーが出てしまいます。
どうすればいいのでしょうか?

Private Sub currentWebBrowser_documentComplete(ByVal obj As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent)
Dim doc As mshtml.IHTMLDocument2 = CType(currentWebBrowser.Document, mshtml.IHTMLDocument2)
Dim anchors As mshtml.IHTMLElementCollection = doc.anchors

Try
For Each elem As mshtml.IHTMLElement2 In anchors
Dim htmlevents As mshtml.HTMLElementEvents2_Event = CType(elem, mshtml.HTMLElementEvents2_Event)
AddHandler htmlevents.onclick, AddressOf anchor_onclick
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
791デフォルトの名無しさん:2007/04/08(日) 18:24:24
>>784
SQLを勉強したらいいと思うよ。

嫌味じゃなくて
792デフォルトの名無しさん:2007/04/08(日) 18:47:34
>>790
エラーメッセージぐらい書けよ
793790:2007/04/08(日) 18:53:39
自己レス。
HTMLAnchorEvents2_Eventにキャストしたら動いたorz
794デフォルトの名無しさん:2007/04/08(日) 18:55:47
>>790
何その例外の無視
キャッチしない方がマシ
795790:2007/04/08(日) 19:18:19
と思ったら、イベントがこねぇええ!!!!
Anchor以外の要素にイベントを設定した場合は普通に動くんだが・・・。
796デフォルトの名無しさん:2007/04/08(日) 20:32:09
独り言を書き込むんじゃねえよ
797デフォルトの名無しさん:2007/04/08(日) 23:25:22
VSTOでエクセルファイルをPDFで出力したいのですが…
どうやったら出来ますか?教えてください。
798デフォルトの名無しさん:2007/04/09(月) 10:31:23
こんな現象で悩んでます。
○debugなどのごく基本的なシンボルもimports宣言しないと怒られるプロジェクトがある
○参照の設定がソリューションに表示されるプロジェクトと表示されないプロジェクトがある
○プロパティの参照を比較しても同じ

再インストールしたり、SR1入れたりしても変化ありません。ヒントだけでもお願いします。
799デフォルトの名無しさん:2007/04/09(月) 10:43:13
>>798
追加
同一ソリューション内のある特定のプロジェクトを別のプロジェクトから呼び出すと
VisualStudioは応答を待っているビジーであるというメッセージが出て固まります。
例えばWebプロジェクトやNunitプロジェクトをスタートアップに設定すると、Webや
Guiは起動しますが、別のプロジェクトを呼び出すメソッドに飛んだとたんに固まります。
ブレークポイントまで到達しません。

ビルドをなんど繰返してもダメです。お願いします。
800デフォルトの名無しさん:2007/04/09(月) 11:06:00
>>799
1.怒られるプロジェクトの作り方は?選ぶ雛形でImportなり参照の初期は違う。
2.メニューのプロジェクトの全てのファイルを表示だっけ?
3.意味不明。

>>800
意味不明
801デフォルトの名無しさん:2007/04/09(月) 11:14:36
>>800
ありがとうございます。
>>799で悩んでいるのですが、おっしゃるとおりまったく意味不明の現象です。
で、>>798あたりに問題を絞り込んで解決を図ろうとしたのですが、
どうやら的が外れていたようです。
いま新しいソリューションファイルから作り直そうとしたところ、
webアプリケーションのテンプレートとか、ごっそりなくなっています。orz
セットアップからやり直して出直します。
802798:2007/04/09(月) 17:12:40
結局ソリューションを新しく作成し、それに既存プロジェクトを追加したところ治りました。
お騒がせしました。
803質問です。:2007/04/09(月) 19:06:12
TreeViewについての質問です。

例えば下記階層があった場合に

C:\C:\A\B\C\E(直下のディレクトリ)のみ全て展開するにはどうすれば良い
でしょうか?


C:\A\B\C
|
~~~D
~~~E
|
E1
|
E2
|
E3
~~~F
~~~G
804質問です。:2007/04/09(月) 19:07:23
※補足です。
C:\A\B\C
|
~~~G
|
G1
|
G2
|
G3
|
G4
805質問です。:2007/04/09(月) 19:11:35
図が下手で大変申し訳無いのですが、つまり初期状態で
FormLoadイベント時に"C:\A\B\C\『E』"ドライブ配下にある
ディレクトリのみ全て表示したいです。
(Gドライブも同様に複数子要素を持っているが、Eドライブ配下
のみ展開したいです。)何か良い方法はありますか?

※@ITのサイトを参考にしており『treeView1_BeforeExpand()』を混在
させた上で実装しています。



806デフォルトの名無しさん:2007/04/09(月) 19:18:04
どうするも何も,好きなように自分でTreeNodeを追加していけばいいだろ
807805:2007/04/09(月) 22:52:27
>>806
そうしたいのは山々なんですが、マイコンピュータ直下にある論理ドライブ
全てが初期状態として表示対象なのです。
(「+」表示された上で孫階層まではTreeView_BeforeExpand()にて取得
しています。)

その上で特定のルート階層のみFormLoad時に初期状態で
表示したいのですが、やはり不可能でしょうか?


808デフォルトの名無しさん:2007/04/09(月) 23:25:07
>やはり不可能でしょうか?
何がやはりなんだよ
809デフォルトの名無しさん:2007/04/09(月) 23:27:06
つーか日本語でおkってかんじ
810808:2007/04/09(月) 23:52:14
もう結構です。
811デフォルトの名無しさん:2007/04/10(火) 10:31:52
なんか春を感じるな・・・
812デフォルトの名無しさん:2007/04/10(火) 14:11:26
VB.net2003でActiveDirectory認証を行いたいのですが、
良いサイトが見つかりません。
参考になるサイトを教えて頂ければ幸いです。

合わせて認証プラグインの開発などの情報もお願いします。

宜しくお願いいたします。
813デフォルトの名無しさん:2007/04/10(火) 14:30:38
>>812
MSDN
814デフォルトの名無しさん:2007/04/10(火) 20:18:35
VB2005で、システム日付を設定するため、

DateString = "2007/01/01"

を試したところ、

SecurityExceptionはハンドルされませんでした。
システムの日付を設定するためのセキュリティ アクセス許可が十分ではありません。

とのコンパイルエラーが出ます。どうすればエラーを回避できますでしょうか?
XPで動いたコードなので、VISTA固有の問題だと思われますが、該当スレッドを
見つけることができませんでしたので、こちらで質問させていただきました。
よろしくお願いいたします。
815デフォルトの名無しさん:2007/04/10(火) 20:30:09
>>814
UACを切るか、マニフェストにこの辺の設定をする。
<requestedExecutionLevel
   level="asInvoker|highestAvailable|requireAdministrator"
   uiAccess="true|false"
/>
816デフォルトの名無しさん:2007/04/10(火) 20:43:28
GUID型に"0591d90c-592b-4e8e-ba9a-01952381f553"をキャストするにはどうしたらいいのでしょう。
よろしくお願いします。
817デフォルトの名無しさん:2007/04/10(火) 21:12:02
>>816
MSDNライブラリ見た?
GUIDなんて使ったことも無かった俺だが、30秒で方法見つけたぞ
818デフォルトの名無しさん:2007/04/10(火) 21:12:18
コンストラクタ
819デフォルトの名無しさん:2007/04/10(火) 23:24:54
>>817
>>818
あざーす!
単純にGUIDで検索すればよかったんでつね。
GUID string キャスト|変換 だとかいろいろ探しまくってたんです。
助かりました。
820585:2007/04/10(火) 23:44:43
585です
ViewStateからの自動復帰処理ってやつに正面から取り組めるようになったので試しました
で、やってるウチにFindControlでコントロールを取得できるページと取得できないページが発生
HTMLソースを見てみるとinput hidden __VIEWSTATEに入っている値の長さが違うことがわかりました
取得できるページの__VIEWSTATEの値の長さは取得できないページの値の約2倍くらい長いのです
でも、そこでどうしたらいいのかわからなくなりました
自動生成の物だから自分でさわることができないだろうと思ったので、そこで思考停止中です
とりあえず、VIEWSTATEについて片っ端から調べているのですが、よくわからなくて
申し訳ないですが、取得できるようになるためにはどうすればいいでしょう?
821デフォルトの名無しさん:2007/04/10(火) 23:47:23
やっくん、ごめん。もう飽きちゃった。
822デフォルトの名無しさん:2007/04/11(水) 01:18:14
VB2005をサクサク動かすのってメモリどんだけ必要なの?
823デフォルトの名無しさん:2007/04/11(水) 08:59:02
君のプログラミングでなければ問題なし。
824デフォルトの名無しさん:2007/04/11(水) 12:24:09
>>822
512MBもあれば十分なんじゃない
俺のは1GBだけど超余裕
825デフォルトの名無しさん:2007/04/11(水) 13:44:45
>>822
俺はXPで512はカッツカツ
せめて512+256はないと厳しすぎ

VS起動するだけで使用メモリがメインメモリの両くらいになるので
仕様書とか開きだしたらアウト
な環境なんで(;´Д`)

826デフォルトの名無しさん:2007/04/11(水) 14:31:12
開発環境って昔はリソース食いのイメージがあったが、
3Dゲームしてると、そのイメージは消えるなw
827デフォルトの名無しさん:2007/04/11(水) 15:10:22
なんかVB2005で作ったソフトって動作が重くないですか?
C#で作ったらもっと早くなりますか?
828デフォルトの名無しさん:2007/04/11(水) 15:11:08
>>827
VCで作れ。
829デフォルトの名無しさん:2007/04/11(水) 16:06:34
VBよりVC#の方が3倍速い
830デフォルトの名無しさん:2007/04/11(水) 16:19:11
>>827
.NET ベースの言語なら何使ったって同じ。
831デフォルトの名無しさん:2007/04/11(水) 17:08:01
>>829 それってやっぱり専用機体? カラーも赤?
832790:2007/04/11(水) 17:09:23
「Javaとは違うのだよ、Javaとは!」by C#の中の人
833デフォルトの名無しさん:2007/04/11(水) 17:29:42
VBもVC♯も生成される中間コードが同じ。だから>>829は嘘。
ていうかへたくそがC♯で書くならVBで書いた方が速くなる場合もある。
834デフォルトの名無しさん:2007/04/11(水) 17:34:59
つうか 本当の所C# VBの速度差は何処で出るんだろうか・・・・
中間コードに変換される時の部分だとは思うけど、
詳細な違いって出てないよな?
835デフォルトの名無しさん:2007/04/11(水) 17:38:59
VBで書いているという気の緩みからくるコードの緩み。
C#で書いているという緊張感からくる人間最適化。
836デフォルトの名無しさん:2007/04/11(水) 17:42:50
そりゃ単に慣れてないだけだろw
837デフォルトの名無しさん:2007/04/11(水) 17:55:16
別にVBだから緩むとかはねーだろww
業務で使うばあいなに使っても緊張はするさ
838デフォルトの名無しさん:2007/04/11(水) 18:34:14
整数のあふれチェックの影響で若干遅いコードになるらしいけど
/removeintchecksで無効に出来る。
839デフォルトの名無しさん:2007/04/11(水) 19:44:30
VBで書いたら遅くなるんじゃないの、常識的に考えて。
VC#でできることをすべてVBができるわけじゃないでしょ?
クラスとか構造体とか。
どこかで辻褄あわせされているのだとしたら余剰なコードが吐き出されているん
じゃまいか?
840デフォルトの名無しさん:2007/04/11(水) 20:00:00
>>839
『あえて言おう!カスであると!!』by VB.netの中の人
841デフォルトの名無しさん:2007/04/11(水) 20:09:44
>>839
お前の常識なんぞ1文の値打ちもないからさ。ソース出せ。
842デフォルトの名無しさん:2007/04/11(水) 20:19:00
>>839
VBでクラスとか構造体とかができないっていう常識についてkwsk
843デフォルトの名無しさん:2007/04/11(水) 20:21:52
VBが目立って遅いケースはValiantを使ってる場合だな。 
パフォーマンスうんぬんいうなら、option explicit / option strictは必須。 
C#でもボクシング・アンボクシングを繰り返すように書けば同じように遅くなる。 

クラスとか構造体とかはCLSコンパチにするためにVB6から、 
めちゃくちゃ変わってて、C#と変わらんようになってるぞ。 
844デフォルトの名無しさん:2007/04/11(水) 20:28:42
>>839
何か重大な勘違いをしている気がする。
845デフォルトの名無しさん:2007/04/11(水) 20:30:09
>>843
Valiantも.NET以降なくなったもんな。
846デフォルトの名無しさん:2007/04/11(水) 20:31:21
あるとすれば、見た目からは想像できない、VB特有の勝手に挿入されるコードなど。
VBでコンパイルしたアセンブリをILDASMやReflectorで開いてみると、
予想外のコードが挿入されていることもある。
こういうのは、最適化がかなり妨げられる可能性もある。
847814:2007/04/11(水) 20:37:13
>>815さん、ありがとうございました。
無事動きました!
848デフォルトの名無しさん:2007/04/11(水) 20:39:10
>>845
書き方が悪かった。汎用データ型のObject型のこと。
Dim i  と型指定なしの使い方のことを言いたかった。
849デフォルトの名無しさん:2007/04/11(水) 20:46:39
そんなキバって言うことじゃないよ悪いけど。
自分が人からどう見えるか想像できないのは馬鹿の証拠
850デフォルトの名無しさん:2007/04/11(水) 20:53:21
なーんでvolatileがない!!
851デフォルトの名無しさん:2007/04/11(水) 21:01:44
>>850
そういえばないな。Interlockedで代用できるけどね。
volatileの話を始めるとどこかのマルチスレッドスレみたいになるからこの辺で。
852デフォルトの名無しさん:2007/04/11(水) 21:05:59
なんで代用できるんだよ。
インタロック操作なんて使ってしまうならVolatileReadつかっとくわ。
853デフォルトの名無しさん:2007/04/11(水) 21:11:31
そもそもVBのコンパイラはvolatileが必要になるような最適化なんてしてない、
とかだったりしてね。

まあそうでなくてもVolatileRead/VolatileWrite使うか、あるいはフィールドをプロパティでラップすれば
済むだけのことだと思うけど。
854デフォルトの名無しさん:2007/04/11(水) 21:29:32
主な最適化はJITの仕業だよ。
VolatileReadは遅すぎる。
プロパティでラップは意味が分からない。

てかまあ、そんなことより、宣言だけで使えるの方が世っぽい度簡単だしいろいろ気にする必要ないんだから。
※せめて属性で適用できるようになってりゃよかったんだが。
855デフォルトの名無しさん:2007/04/11(水) 21:30:08
世っぽい度ってなんだよw
856デフォルトの名無しさん:2007/04/11(水) 22:12:52
駅についたら世っぽい兄ちゃんと
857デフォルトの名無しさん:2007/04/11(水) 23:14:05
つーかんこーどをぷりこんするツールあったよね。
各クライアントでねーちぶにしとくやつ。

つうか、遅いとかいってる奴って何やってるの?
858デフォルトの名無しさん:2007/04/11(水) 23:14:11
もしかして: Variant
859デフォルトの名無しさん:2007/04/11(水) 23:31:30
そこまで気にすることはめったにないんだが、
ごく限られた部分で非常にパフォーマンスを重視する部分があったりする。

てかプリコンパイルで速くなるとかおめでたいやつは稲
860デフォルトの名無しさん:2007/04/11(水) 23:44:03
>>854
> プロパティでラップは意味が分からない。
フィールドに直接volatileを指定できないから、それを公開するプロパティの中でVolatileRead/VolatileWriteを使うってことだろ。
で、クラス内からのアクセスでも、フィールドを直に読み書きせずにプロパティを使うようにすると。
861デフォルトの名無しさん:2007/04/11(水) 23:51:36
>VolatileRead/VolatileWriteを使うってことだろ
使わなくても大丈夫でしょ。

プロパティってのは実態は要するに関数呼び出しに過ぎないわけで、
つまり関数の返り値が常に同じだ、などという狂った前提にたった最適化は
当然のことながら行われないから。
862デフォルトの名無しさん:2007/04/12(木) 00:03:58
あのね、JITが最適化したらインライン化される可能性があるし、多分される。
だから、VolatileReadは少なくとも必要、意味的には。

外から見てラップって意味ならもちろんプロパティで十分。
そういうことじゃなくて、内部的に効率よくやりたいときって話。
でも実際にはvolatile形式のフィールドアクセスより、VolatileRead/Writeのほうが速いかも知れん
※ってのは必要箇所だけで呼ぶとかそういうことになるからね。
ちょっとこの辺はきっちり検証できてないな。
863デフォルトの名無しさん:2007/04/12(木) 00:06:04
>つまり関数の返り値が常に同じだ、などという狂った前提にたった最適化は
>当然のことながら行われないから。

プロパティ内での処理が単なるフィールドアクセスでもかよ。
そんな前提初めて聞いたぞ。
864デフォルトの名無しさん:2007/04/12(木) 00:07:09
あ、>>863は、定数にされるって意味じゃなくて、まずインライン化されるって意味な。
865デフォルトの名無しさん:2007/04/12(木) 00:09:09
インライン化されたらそこは単なるフィールドアクセスなので、
volatileなしじゃ正しくない状態にされる恐れがある(基本的にはマルチスレッドの場合だが)。

866デフォルトの名無しさん:2007/04/12(木) 00:09:31
あのね、JITが最適化したらインライン化される可能性があるし、多分される。
だから、VolatileReadは少なくとも必要、意味的には。

外から見てラップって意味ならもちろんプロパティで十分。
そういうことじゃなくて、内部的に効率よくやりたいときって話。
でも実際にはvolatile形式のフィールドアクセスより、VolatileRead/Writeのほうが速いかも知れん
※ってのは必要箇所だけで呼ぶとかそういうことになるからね。
ちょっとこの辺はきっちり検証できてないな。
867デフォルトの名無しさん:2007/04/12(木) 00:10:45
>>863
どぼん氏がCodeZineに書いてるマルチスレッドの記事はそういう前提で書いてあるよ。

プロパティ経由でフィールドにアクセスすると最適化がスキップされる
理由については確か明示されてないけど。

っていうか、そもそもvolatileの意味(というか、volatileが付いてない変数に関して
行われるかもしれない最適化の意味)を知っていれば十分納得できる動作だと思うけど。。
868デフォルトの名無しさん:2007/04/12(木) 00:26:45
>っていうか、そもそもvolatileの意味(というか、volatileが付いてない変数に関して
>行われるかもしれない最適化の意味)を知っていれば十分納得できる動作だと思うけど。。

どういう意味でいってんのかよくわからないんだが、
つまりメソッドのインライン展開は行われない
っていってる?
869デフォルトの名無しさん:2007/04/12(木) 00:28:01
>どぼん氏がCodeZineに書いてるマルチスレッドの記事はそういう前提で書いてあるよ。
どこかおせーて。
870デフォルトの名無しさん:2007/04/12(木) 00:31:21
なんとなくそれに当たりそうなところを探して見てみたんだが、
これってlockしてるじゃねーか。だったらvolatile関連不要なのは当たり前だ。
それともべつのとこのことか?
871デフォルトの名無しさん:2007/04/12(木) 00:46:28
>>870
lockとこの最適化の問題は何の関係もないよ。
プロパティに関してここで話題にしている最適化の問題が起こりうるなら、
ロックされていようがいまいが関係ないじゃん。
そもそもアクセスが行われない、ということなんだから。

やっぱり分かってないんじゃないの?
そもそもどうしてvolatileが必要なのか。
872デフォルトの名無しさん:2007/04/12(木) 01:02:23
.NETのメモリモデルはOoOを認めていてかつコヒーレントキャッシュを前提としていない。
(MSDNではウイークメモリモデルと呼んでる)
このためC/C++のvolatileと違ってC#のvolatileにはメモリバリアの意味も含んでいる。

もっともx86 x64系のCPUで動かす限りはOoOはプログラムからは見えないし、
コヒーレントキャッシュも機能している。

・・・と一応理解している。
873デフォルトの名無しさん:2007/04/12(木) 01:02:52
>プロパティに関してここで話題にしている最適化の問題
て具体的に何よ。

元々話はvolatileから始まってて、
プロパティでラップして中でVolatileReadとかすりゃvolatileはいらんじゃん
て話なんだろ?

おれは最初から、ラップすればすむとかそういう話じゃなくて、パフォーマンス関連の話をしてる。
だからなんでプロパティで解決するってのが意味分からんて言ってる。

で、そもそもプロパティにするならVolatileReadとかもいらんだろって言い出したんだろ?
それをなんでだ?と俺は聞いてる。

おまい?はメソッド呼び出しなんだからフィールドアクセスが最適化されるわけないっていってるが、
メソッドなんてインライン展開されるかもしれないんだから、メソッドだってこと自体に意味はないって俺は言ってるんだが。
874デフォルトの名無しさん:2007/04/12(木) 01:09:08
大体、lockとvolatileの要不要は無関係って言ってるみたいだが、
んなわけねーっての。

ていうか、lock自体にvolatileと同様な動作をする働きがある。
だからフィールドへのアクセスをラップするプロパティがアクセスをlockでガードしてるなら
フィールドにvolatileは不要。
仮にインライン展開されても、アクセス部分はlockで囲まれたままなんだから問題ない。

けど、lockで囲まれてないなら、volatileは必要(元々必要になるようなアクセスを行うフィールドなら)。
875デフォルトの名無しさん:2007/04/12(木) 01:11:00
>やっぱり分かってないんじゃないの?
>そもそもどうしてvolatileが必要なのか。

おまいが何のことを言ってるのか分からん。
説明してくれ。
876デフォルトの名無しさん:2007/04/12(木) 01:12:06
>ロックされていようがいまいが関係ないじゃん。
>そもそもアクセスが行われない、ということなんだから。

つまりロックされててもアクセスされないって言ってるのか?
ロックの意味を理解してるか?
877デフォルトの名無しさん:2007/04/12(木) 01:13:46
ロック箇所への突入は暗黙的に揮発読み取りと同様の効果がある。
ロック箇所からの脱出は暗黙的に揮発書き込みと同様の効果がある。
878デフォルトの名無しさん:2007/04/12(木) 01:16:55
だからフィールドの読み書き部分をlockで囲んでいるならvolatileは不要。
だが囲んでいないなら必要(必要な使い方をしてるなら)。
879デフォルトの名無しさん:2007/04/12(木) 06:04:24
C#にあってまだVBにない機能としては匿名デリゲートがあるが、
これをVBに導入するとなると技術的というより構文的にきつい気がする。
どうなるのかちょいと予想が付かない。
880デフォルトの名無しさん:2007/04/12(木) 09:55:49
すみません、教えてください。
行選択のみ/リードオンリー/行削除許可なし/データソースにDataTableのDataGridViewがあります。
標準の行削除はさせたくないので、DELETE or BackSpaceで行削除をさせていますが、
最終行を削除したときに行選択が解除されてしまう為、キーを連打されるとエラーになってしまいます。
最終行が削除されたら一行上を選択状態にしたいのですがどうしたらよいでしょうか?

現在はこんな感じに書いています。

If e.KeyCode = Keys.Delete Or e.KeyCode = Keys.Back Then
If DataGridView1.Rows.Count <> 0 Then
RowNo = DataGridView1.SelectedRows.Item(0).Index
DataTbl.Rows(RowNo).Delete()
End If
End If
881デフォルトの名無しさん:2007/04/12(木) 12:09:43
>>880
セレクトしたらいいじゃない?
882デフォルトの名無しさん:2007/04/12(木) 12:38:18
DataGridView1(0, RowNo - 1).Selected = Trueで動きました。
ありがとうございました。

883デフォルトの名無しさん:2007/04/15(日) 13:43:09
Windowsのアイドル時間を取得して
一定時間操作がなかった場合に処理を実行したいのですが、
実装方法がわかりません。

いろいろと検索したところ、次のDLLを見つけたのですが、
取得するたびに戻り値は大きくなり、アイドル時間は取得できませんでした。
ttp://bitarts.jp/software/idletime.html

よろしくお願いいたします。
884デフォルトの名無しさん:2007/04/15(日) 14:22:14
Win32のGetLastInputInfoが使えるんじゃないの?
っていうか、ググって30秒で見つかったけどこれ。
885883:2007/04/15(日) 15:58:48
ググって以下のコードを実装してみたのですが、GetIdleTimeメソッド内の
GetLastInputInfo(oPLII)でfalseとなり、アイドル時間が取得できません。
申し訳ないですが、アドバイスをお願いします。
Private Declare Function GetLastInputInfo Lib "user32.dll" (ByRef plii As PLASTINPUTINFO) As Boolean

<StructLayout(LayoutKind.Sequential)> _
Private Structure PLASTINPUTINFO
Public cbSize As Integer
Public dwTime As Integer
End Structure

Public Function GetIdleTime() As Integer
Dim oPLII As PLASTINPUTINFO
If GetLastInputInfo(oPLII) Then
Return oPLII.dwTime
End If
End Function
886デフォルトの名無しさん:2007/04/15(日) 16:02:34
cbSize
Must be set to sizeof(LASTINPUTINFO).
887883:2007/04/15(日) 20:50:22
cbSizeniにLASTINPUTINFOのサイズを割り当てるということでしょうか?
申し訳ないですか、割り当てるべきサイズがわかりません、
どのようにサイズを設定すればよいのでしょうか?
888デフォルトの名無しさん:2007/04/15(日) 20:53:52
System.Runtime.InteropServices 名前空間の Marshal クラス調べると良いよ。
あと MSDN かヘルプで「アンマネージ コードとの相互運用」以下全部嫁。
889デフォルトの名無しさん:2007/04/16(月) 15:07:37
isdate関数を使って年月だけを入力させたいんだけど
yyyy/mm/ddのdd部分だけを削る方法はありますかね
890デフォルトの名無しさん:2007/04/16(月) 15:15:12
>>889
どうかしらんが自分でYearとMonthとって/で結合するとか
Date.Tostring("yyyy/MM")
とか色々あるんじゃね?
891890:2007/04/16(月) 15:18:45
もしかして入力でyyyy/mm部分だけを入力してその後でIsDateでチェックしたいんなら
/01 とかでも適当にくっつけてそれでチェックすりゃいいだろうし

いや、意図をうまく汲み取れなくてすまない
892デフォルトの名無しさん:2007/04/16(月) 19:58:54
isdate関数で入力させるって意味がわからん
893デフォルトの名無しさん:2007/04/16(月) 20:56:02

VB.net(C#)からバッチファイルをキックするにはどうすれば良いでしょうか?

※C:\hoge.bat

894デフォルトの名無しさん:2007/04/16(月) 21:03:09
Process
895デフォルトの名無しさん:2007/04/16(月) 22:07:05
メールBOMってなんですか??
896デフォルトの名無しさん:2007/04/16(月) 22:10:02
byte order mark
897デフォルトの名無しさん:2007/04/16(月) 23:48:14
Begin Of Mailだったりして
From ...
行頭Fromはエスケープ>Fromしたような
898デフォルトの名無しさん:2007/04/17(火) 09:27:47
process.start
でよくない?
899デフォルトの名無しさん:2007/04/17(火) 09:40:33
メールBOMB なら知ってるけど
900デフォルトの名無しさん:2007/04/17(火) 12:09:02
VBでGUI作ったのだけれど、他人に配布したいので、最初に実行してから
一ヶ月間だけ有効なライセンス管理みたいなことをしたいのだが、
お手軽な方法を教えてくれ。あまり簡単に破られても困るけれど、
ある程度詳しい人に破られるなら仕方ない。そういうライセンスの方式をよろしく。
901デフォルトの名無しさん:2007/04/17(火) 12:42:54
何、偉そうに投げてんだ、こいつ
902デフォルトの名無しさん:2007/04/17(火) 12:58:51
>>900
起動回数の制限なんてダメ? 
レジストリに暗号化した起動回数をバイナリで保存とかだと簡単。
903デフォルトの名無しさん:2007/04/17(火) 12:59:14
自分で考えろ屋ヴォケ
レジストリに暗号化でもして適当に書き込んどけよ
なんか偉そうだな
904デフォルトの名無しさん:2007/04/17(火) 13:50:26
VBでGUIって…最近覚えた言葉かよw

ライセンスだの.NETやjavaはソースがリバースできるだの
言うやつに限って大したことできない。
試しにアップしてみ。
905デフォルトの名無しさん:2007/04/17(火) 14:04:10
>>904
まぁ普通に考えたら
最初の説明の時WindowsアプリとかWebアプリ/サービスとかになるわな・・・・
906デフォルトの名無しさん:2007/04/17(火) 15:08:41
どんな凝った仕掛けをしても,逆アセンブラで直接改造される恐れがあるから
難読化は必須
907デフォルトの名無しさん:2007/04/17(火) 15:23:47
>>906
難読可とかってどうやるの?
確かに普通にビルドしたEXEを逆コンパイルやったらソースコード殆ど読めるレベルだったわ
908デフォルトの名無しさん:2007/04/17(火) 15:40:40
ソースなんか読みたければ、勝手に読めというレベル。
GUIなら制御を見ていれば、大まかなロジックや代替案等が浮かぶから。
909デフォルトの名無しさん:2007/04/17(火) 15:56:27
>>908
ぶっちゃけそうなんだけど知識として知って置いて損はないかな?と思って聞いてみたw
910デフォルトの名無しさん:2007/04/17(火) 16:40:25
NanDoku_3.0.7を使っているのだが、
変更項目の設定で、全部選択して難読化すると、難読化は成功するのだが、出来上がったプログラムを実行すると
System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
が発生するんだが、何でかな?
 クラス変数とイベント
の難読化のチェックを外すと、問題なく動く。何でや?
911デフォルトの名無しさん:2007/04/17(火) 16:47:07
どっかで型名をstringで決め打ちしてるんじゃないの
912デフォルトの名無しさん:2007/04/17(火) 16:52:31
>911
さんきゅう。
”どっかで”というよりもいたる所で、変数やFunctionの戻り値を
xxx as String って型で宣言しているのだけれど、それがまずいと
いうこと??
913デフォルトの名無しさん:2007/04/17(火) 17:06:13
そうじゃねーだろがw
914デフォルトの名無しさん:2007/04/17(火) 17:12:33
これはひどいwwwwww
915デフォルトの名無しさん:2007/04/17(火) 17:27:51
>914
笑ってないで教えてくれよ。頼むよ。
916デフォルトの名無しさん:2007/04/17(火) 19:15:47
リフレクション、プラグイン、構成設定、DI
なんて絡みに激しく相性が悪いのが難読化
917883:2007/04/17(火) 21:49:37
>>888
解決しました!本当にありがとうございす!!
918デフォルトの名無しさん:2007/04/18(水) 04:18:25
>>910
自分はプロパティを難読化すると起動しなくなります。
他は大丈夫なのに、なんで?
919デフォルトの名無しさん:2007/04/18(水) 04:41:42
プロパティを難読化…
920デフォルトの名無しさん:2007/04/18(水) 11:10:48
初心者ですみませんが教えてください。

CSVファイルの中のある一定の文字を検索するプログラムを作りたいのですが、
そういった命令はあるのでしょうか?
921デフォルトの名無しさん:2007/04/18(水) 13:02:51
データテーブルにほりこんでSELECTでもかけてみるとか
と骨髄反射で思いついたことをしゃべってみるテスト
922デフォルトの名無しさん:2007/04/18(水) 13:24:55
一文字ずつチェックかけるとか
923デフォルトの名無しさん:2007/04/18(水) 14:16:38
>>920
1行単位で読んで、必要であればカンマで分割して比較すれば
いいだけの話。だが、「命令」とか言ってる間はどうにも手に負えんと思う。
924デフォルトの名無しさん:2007/04/18(水) 14:53:42
D&Dに関してです。C#スレでも訊いてたのですが、まだ回答頂けてませんでした。
すみませんがこちらでも訊かせてください。お願いします。

Dropした先のコントロールなり外部アプリケーションから
ソース側にDropしたことを知らせるために
  QueryContinueDrag イベント
が発生して、引数 QueryContinueDragEventArgs に対して
  Action プロパティ
に Drop が帰ってくるのですが、このときに、
アイテムの 「移動」 をした場合はこれを知ってソース側でそのアイテムを
削除(Remove)できると Help に書かれていました。

 -------
 ● DragAction の値が Drop の場合、ドロップ効果の値がソースに返されます。
   ソース アプリケーションでは、ソース データに対して適切な操作を実行できます。
   たとえば、移動操作だった場合は、データの切り取りなどを実行できます。
 -------

これを実装したのですが、その際、この QueryContinueDrag イベント
のハンドラー内で、「移動」 だったのか 「コピー」 だったのかを知るには
どうすればいいでしょう?このイベントでは、DragDropEffects 列挙体型の
値を受け取れるでしょうか?よろしくお願いします。
925デフォルトの名無しさん:2007/04/18(水) 14:55:01
>>924 失礼しました
訂正 >これを実装したのですが -> これを実装したいのですが

926デフォルトの名無しさん:2007/04/18(水) 15:01:01
ソースでDragDropEffectsを知りたいんだろ?
DoDragDropの戻り値を見るだろ常識的に考えて
927デフォルトの名無しさん:2007/04/18(水) 15:16:54
>>926
>DoDragDropの戻り値を見るだろ常識的に考えて

ありがとうございます。Drop先の動作が完了して初めてDoDragDrop()が
完了するのですね、この流れが分っていませんでした、助かりました。

またよろしくお願いします。
928デフォルトの名無しさん:2007/04/18(水) 16:23:20
C#板なにやってんのwwww
929デフォルトの名無しさん:2007/04/18(水) 17:12:04
C#板?
930デフォルトの名無しさん:2007/04/18(水) 17:14:08
>>929
>>924の一言だろ たぶん
931デフォルトの名無しさん:2007/04/18(水) 17:47:05
grepで済むことを何でプログラム組まなならんのやら
シロートほど車輪を再発明したがるよね
932デフォルトの名無しさん:2007/04/18(水) 18:06:23
ASP.NETでログインページ作ってます
ユーザごとに違うメニューページを表示させたいのですが、どのようにして遷移させればいいのでしょうか?

現在、login.aspxからmenu.aspxに遷移させることはできています。

web.configに
<authentication mode="Forms">
<forms name="xxxxx" protection="All" loginUrl="login.aspx" timeout="30" defaultUrl="menu.aspx"/>
</authentication>
を記述

ログインボタンが押されると入力されたユーザID、パスワードをDBに探しにいき、見つけた場合、
FormsAuthentication.RedirectFromLoginPage(UserId.Text, False)
で遷移するようになっています。

よろしくお願いします。
933デフォルトの名無しさん:2007/04/18(水) 18:42:45
>ユーザごとに違うメニューページを表示させたいのですが、どのようにして遷移させれば
これはどうやって飛び先をもてばいいかってこと?

イマイチ要件がつかめない・・・
934デフォルトの名無しさん:2007/04/18(水) 21:39:02
>>932
ユーザの権限なりなんなりによって、選択できるメニュー項目が違う、ってことかい?
935デフォルトの名無しさん:2007/04/18(水) 22:31:20
ページ自体を変えたいならRedirectFrom〜は使えないので、
ユーザに合わせて自分でリダイレクト。
メニューの方でユーザに合わせて表示を変えるなんて方法もあるし、
メニューページがリクエストされた段階でURLリライトするとか
Transferするとかの方法もあるかな。
936932:2007/04/18(水) 23:37:21
>>934の言うとおり、ユーザによって使える機能を変えるためにメニュー画面がロードされたときに
ユーザの種類により表示されるボタンを変えると言うことにトライしてましたが、表示されないボタンの
コードでコントロールが見つからないというエラーが発生したので、ユーザの種類によりメニュー画面を
持たせようと思いました。

>>935
するとFormsAuthenticationは使えないと言うことですか?
MSDNのRedirectFromLoginPageで変えることができそうなことが書いてあったのですが。
どうすれば変えることができるのかはわかりませんでしたが。
937デフォルトの名無しさん:2007/04/18(水) 23:47:39
> 表示されないボタンのコードでコントロールが見つからないというエラーが発生したので
ボタンそのものを出力しないようにでもしたのか?
Button.Visibleをつかってを非表示にしてみるといい。
938デフォルトの名無しさん:2007/04/18(水) 23:59:43
初心者質問なんですが、配列を計算する関数をいくつか作って(標準偏差など)
Function ( a() , index, Nagasa) 1次元配列では順調に作動しています。そして構造体を
使い始めて構造体の配列にして、その要素(1次元配列)をa() のとことに入れると拒否されますが、
これはなぜなのでしょう?構造体丸ごとなら受け渡しできましたが、それだと全部の関数を2種類つくらないと
いけないのかなと思いまして。

Function (Hoge().geho, index, Nagasa )
939デフォルトの名無しさん:2007/04/19(木) 00:42:58
Hoge構造体にはgehoという名前のメンバがあって,
Hogeオブジェクトの配列の各要素からそれぞれ
gehoの値だけを抜き出した配列を渡したいってことか?
その様子から察するとそんなことをする意味は全く無さそうだから
その都度a(0).gehoでアクセスしろ
940デフォルトの名無しさん:2007/04/19(木) 01:29:57
>>939 早速ありがとうございます。それは a(i)=Hoge(i).geho みたいなのでループさせてとりだして
Function ( a(), index, Nagasa) のもとの形を使うと言うことでしょうか? 
941デフォルトの名無しさん:2007/04/19(木) 02:53:32
>>940
そもそもお前の質問がわからん。
aが配列なのはわかったが、Hoge().gehoは配列なのか?

だいたいHoge配列のgehoプロパティってなによ?
Hogeのgehoプロパティとは違うってことはわかってるよな?

942デフォルトの名無しさん:2007/04/19(木) 03:11:49
structure DataKumi
dim geho as double

end structure

で構造体を決め、 dim Hoge as Datakumi() で配列にしたもので、doubleの1次元配列です。
943デフォルトの名無しさん:2007/04/19(木) 03:44:57
>>942
Hoge(0).gehoであってHoge.gech()ではないのだからエラーになるのは当たり前。

これならいけるだろうが、無意味だろ。
structure DataKumi 
  dim geho() as double 
end structure 

Sub Main
dim Hoge() DataKumi
redim Hoge.geho(10) as double
:
944デフォルトの名無しさん:2007/04/19(木) 04:10:04
>>943 ありがとうございます。人間には同じ1次元配列でも解釈しないのですね。

構造体と配列を使い分けてみます。
945デフォルトの名無しさん:2007/04/19(木) 05:58:11
>人間には同じ1次元配列でも解釈しないのですね
無茶言うなw

946デフォルトの名無しさん:2007/04/19(木) 09:43:51
これだから人間は……
947デフォルトの名無しさん:2007/04/19(木) 11:51:24
Dim p As Process = System.Diagnostics.Process.Start("C:\my.bat")
Dim handleDosWin As Integer =p.MainWindowHandle.ToInt32
という処理でmy.bat実行後に表示されるDOS窓のハンドルを入手したかった
のよね。でも、プロセスがスタートするのが遅れると、ハンドルに0の値
が入る場合があるのよね。確実にDOS窓のハンドルをゲットする方法
は有るかしら?
948デフォルトの名無しさん:2007/04/19(木) 12:01:15
>>947
なんか書き方がキモイ
というか、普通ならそれで大体問題ないと思うけど
>プロセスがスタートするのが遅れると、ハンドルに0の値
が入る場合があるのよね
つうか・・・こう明示している根拠は何なんだ?

例えば100mSecのスレッドスリープかけたらどうなる?
949948:2007/04/19(木) 12:16:08
ちょっと読み直したらIDちゃうから 大きく勘違いしてたわ
ちょっと考えればわかりそうなものだけど・・・・
950932:2007/04/19(木) 12:16:17
>>937
サンクス
試してみたら、OKだったのでメニューページ追加はやめにします

もう一つ質問です
Response.RedirectでSystem.Threading.ThreadAbortExceptionの初回例外が発生しますが、
放っておいていいものなのでしょうか?
Try Catchをかましてもイミディエイトウィンドウには出てきますが
951デフォルトの名無しさん:2007/04/19(木) 13:10:53
>>950
Redirectのときの第二引数辺りの設定で出てそうな悪寒

スレッドが停止されました みたいな
952948:2007/04/19(木) 13:13:31
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfSystemDiagnosticsProcessClassMainWindowHandleTopic.asp
ここに
>プロセスの起動の直後にメイン ウィンドウ ハンドルを使用する場合は、 WaitForInputIdle メソッドを使用してプロセスの起動を終了し、メイン ウィンドウ ハンドルが作成されたことを確認してください。
と答えであろうそのものが記述されてますな
これ見逃してたんでちょっと勉強になったわ
953924:2007/04/19(木) 14:46:03
>>924>>927の件で関連した質問になりますが、

DoDragDrop()メソッドが終了して戻ってきたときに、
DragDropEffects 列挙体の戻り値以外に、たとえば
どの場所にDropされたか(Folderとかの入れ物の場所等)も
知りたいと思いました。

例として、たとえばExplorerでは、一つのインスタンスから別の
インスタンスにD&Dしたとき、移動でもコピーでもソース側であっても
関係する TreeNode には +印 がついたり、Expandされたり
していました。これと同等の動作をしたい場合、移動先あるいは
コピー先の場所を知る必要がありますが、それは可能でしょうか?
954デフォルトの名無しさん:2007/04/19(木) 15:01:11
エスパー要請ktkr

そのへんはコントロールの仕様なんじゃなかったカナ とか適当にエスパーレスしてみる
955932:2007/04/19(木) 15:24:18
Redirectの件で検索したらこんなのが出てきた
ttp://support.microsoft.com/default.aspx?scid=kb;ja;312629

>状況
>この動作は仕様です。

・・・・・。

おとなしく、第2引数にfalseを指定しとけってことですね
ありがとうございました
956デフォルトの名無しさん:2007/04/19(木) 16:56:11
>>953
それはDropSourceの仕事じゃなくてDropTargetの仕事。

別アプリにそうさせたいなら、そのアプリがそういう実装になってないと無理。
自分のアプリでしたいならControl.DragDropとかControl.DragOverとかの
イベントを実装する。

つーかその位調べてからドラッグドロップなんて実装しろって話
957デフォルトの名無しさん:2007/04/19(木) 17:37:06
>952
>関連付けられたプロセスにメイン ウィンドウがない場合、
>MainWindowHandle 値はゼロです。
と書いてあるので、DOS窓のハンドルを知るにはどうしたらいいかしら?
958デフォルトの名無しさん:2007/04/19(木) 17:42:33
>>975
よく読んでやってみたのかしらぁ?
959デフォルトの名無しさん:2007/04/19(木) 17:53:40
VC++2005なのですが、あるURLのWEBページをHTMLとしてローカルにダウンロードするプログラムを作りたいと思っています。
どこか参考になるサイト等ありますか?
960デフォルトの名無しさん:2007/04/19(木) 17:54:10
すみませんすれ間違えましたOTL
961デフォルトの名無しさん:2007/04/19(木) 18:00:27
>>957
コンソールウィンドウはコンソールアプリケーションのプロセスが所有しているわけではない。

コンソールウィンドウのウィンドウハンドルを取得する直接的なAPIは提供されてないから、
SetConsoleTitleでユニークなタイトルをつけてから、FindWindowするのが一般的。
尤も、今回の場合は対象のプロセス(cmd.exe)を弄れないから無理だけど。
962デフォルトの名無しさん:2007/04/19(木) 19:22:24
>>954>>956
どうもです。おっしゃるとおりで、一応Drop先では表示処理は必要な情報が
あるため実装することが可能でした。やはり、Source側ではDrop先での情報が
すべて返って来るわけではないため、完全な表示処理ができそうもないようでした。

ただ、Explorerの複数のインスタンス間でのD&Dですと、前記のようにDrop先でも
Source側でも確実に表示処理されていました。それで何か情報をやり取り
しているのかなと思ったのですが、Explorerと他の別のアプリケーションとの間
でのD&Dですと表示の後処理が完全ではありませんでした。ということは、
Explorer同士の場合でだけ成り立つ情報のやり取りが実装されているんでしょうね、
やはり万能の解はなさそうということで納得して今回は可能なところまでにしました。

良いアイデアがありましたらまた教えてください。ありがとうございました。
963デフォルトの名無しさん:2007/04/19(木) 20:42:34
>>975に期待w
964デフォルトの名無しさん:2007/04/19(木) 22:52:23
>>955
ほっとけ。
わざわざ回避する必要もない。
むしろほっとくほうがいい。
965932:2007/04/19(木) 23:29:35
>>964
それはResponse.End()がきちんと作動しているからという意味でしょうか?
966デフォルトの名無しさん:2007/04/19(木) 23:36:50
メソッドの続きやページ処理の続きが実行されないように、
つまり直感に反した動作をしないようにResponse.Endが実行される。
実行させなくするってことは、このへん問題ないように
自分で考えなきゃならないってこと。
967932:2007/04/20(金) 02:25:24
そんなことは知ってますが
968デフォルトの名無しさん:2007/04/20(金) 06:23:55
>>932
もう、こなくていいよ^^
969デフォルトの名無しさん:2007/04/20(金) 07:53:27
>>955
どう見ても理解してないじゃねーかw
970デフォルトの名無しさん:2007/04/20(金) 07:56:00
>>950
どう見ても理解してないじゃねーかw
971932:2007/04/20(金) 08:23:51
>>966
解説サンクス
気にしないようにします

しかし、この辺を解説してるところってあまり見かけませんね
972デフォルトの名無しさん:2007/04/20(金) 09:12:13
>>932
チンポでもいじってろ。帰れ。
973デフォルトの名無しさん:2007/04/20(金) 09:35:38
確かにあまり見かけんなぁ。
理解せずに例外だけ回避しようとするのは
やたら見かけるんだがな…
974デフォルトの名無しさん:2007/04/20(金) 10:32:05
教えてください。
VB6.0
WebBrowser1.Document.body.innerText

.NETではどのようにしたら良いのでしょうか?
975デフォルトの名無しさん:2007/04/20(金) 10:35:54
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
976デフォルトの名無しさん:2007/04/20(金) 11:11:51
>>974

解決しました。
WebBrowser1.Document.Body.InnerText
977デフォルトの名無しさん:2007/04/20(金) 12:53:17
>>975
よりによってなんでお前なんだ・・・
978デフォルトの名無しさん:2007/04/20(金) 12:59:31
>>975
空気よめ
979デフォルトの名無しさん:2007/04/20(金) 17:53:56
VB2005でのデータベースアプリについて教えてください。

BindingSourceとTextBoxをバインドしています。
BindingSourceのカレントレコードが変更される際に入力をチェックして、
入力のキャンセルや、レコード移動のキャンセルを行いたいのですが、
どうしたらいいでしょうか。

PositionChangedやCurrentChangedイベントで出来るかと思ったのですが、
これらは移動後に発生するみたいですし。

よろしくお願いします。
980デフォルトの名無しさん:2007/04/20(金) 20:02:53
sage
981デフォルトの名無しさん:2007/04/21(土) 00:42:46
VB.net 2005を使用しています。
起動時にタスクトレイのみにアイコンを表示し、フォームは非表示にしたいのですが
Me.Hide()、Me.Visible = Falseにしてもフォームが表示されてしまいます。

MainメソッドでApplication.Run()を呼び出すと以下のエラーが発生してしまいます。
「単一スレッド上で 2 回目のメッセージ ループを開始することは有効な操作ではありません。・・・」

ちなみにPublic Sub main(Object,EventArgs)で、アプリケーションフレームワークは有効です。
アドバイスお願いいたします。
982デフォルトの名無しさん:2007/04/21(土) 00:45:29
VB.NET以前に日本語に習熟すべきだと思う。
何で読み手の目線に立って文章推敲できないんだ?
983デフォルトの名無しさん:2007/04/21(土) 01:41:41
>>981
フォーム 非表示
でぐぐれカス
984デフォルトの名無しさん:2007/04/21(土) 10:56:05
>>981
フォームが表示されるのかエラーなのか全然わからん
985デフォルトの名無しさん:2007/04/21(土) 14:39:54
VB2003で
http://salv.miscnotes.com/2005/01/post_69.php
このページのようにツールボックスから直接フォームに追加できる自作コントロールを作製しました
このプログラムをVB2005ExpressEditionへ移行させたのですが
フォームのコントロール宣言部分で自作コントロールだけ
「Global.」を先頭に入れろと警告が出てきてしまいます。
「Global.」を追加しても追加してもフォームをいじった後にビルドすると毎回警告です(´;ω;`)
どうすればいいのでしょうか?
986デフォルトの名無しさん:2007/04/21(土) 15:53:18
>>985
そんなトリッキーな方法を使わず、ToolBoxItemAttribute を使え。

↓こういう風にすればおk。
<System.ComponentModel.ToolboxItem(True)> _
Public Class TextBoxEx
  Inherits System.Windows.Forms.TextBox
(略)
End Class
987デフォルトの名無しさん:2007/04/21(土) 20:03:34
>>986
ありがとうございます
その方法で簡単に自作コントロールが作れるようになったのですが
やはりビルドするときに「Global.」をつけるようにエラーがでてしまいます
「mona」プロジェクト内に
自作コントロール「ctrl1」があり
フォーム「main_form」に「ctrl1」をつけている状態です

「main_form」内の
Private Sub InitializeComponent()
で「Global.mona.ctrl1」と宣言しているのに
ビルドすると「mona.ctrl1」に変化してしまいエラーがでている状態です
988デフォルトの名無しさん:2007/04/21(土) 21:23:20
986の回答はトンチンカンだから無視していいと思うけど。

その属性は(たぶん)既存のコントロールを継承したコントロールではなく
ゼロから自作したコントロールをツールボックスに表示するためのものだと思うが、
そんなことは、少なくとも現状ではMS内部の人間以外不可能だから関係ないよ。

2005ならプロジェクト内に既存のコントロール継承したクラスを書いた場合でも、
一度ビルドすれば他になにもしなくてもツールボックスに表示されるし。

さて問題のエラーだけど、要はクラス名がバッティングしてるんじゃないの?
参照設定してる別のプロジェクトでクラスライブラリにしてるクラスと
まったく同じクラスをプロジェクトで定義してるとか間抜けなことやってるんだと思う。
989デフォルトの名無しさん:2007/04/21(土) 22:24:26
>>988
うわーーーーーーーーーー
やっちまってたorz
プロジェクト名と同じ名前のクラスが存在してました(゜∀。)ワヒャヒャヒャヒャヒャヒャ
名前を変えたらおkになったよ
ありがとうヽ(´ー`)ノ
990デフォルトの名無しさん:2007/04/22(日) 01:20:56
DLLファイルって、参照してるExeと同じ配下にないとエラーになっちゃうけど
別ディレクトリに配置するにはどのようにすればよいのでしょうか?
アドバイスお願いします。
991デフォルトの名無しさん:2007/04/22(日) 01:51:10
ローカルコピーにしなければいいんじゃね?違うか…

っていうかそういうことしないほうがいいよ。マジで。
それで起こる問題を.NETで解決しようとしてるんだから。
992デフォルトの名無しさん:2007/04/22(日) 01:56:30
やめとけ
993デフォルトの名無しさん:2007/04/22(日) 01:57:54
ちゃんと理解した上でやるならいいが、
そうでないならやるだけでも苦労する可能性大。
そしてなんかの拍子にトラブるぞ。
994デフォルトの名無しさん:2007/04/22(日) 17:04:35
995デフォルトの名無しさん:2007/04/22(日) 23:59:13
ちょっと質問です

1.
ソリューションAにユーザーコントロールを継承して作ったユーザーコントロールクラスAを含むプロジェクトAがあり
それはDLLとしてビルド
同ソリューション内にフォームを含むプロジェクトBを作成し、前述のプロジェクト参照でプロジェクトAを追加し
Windowsアプリケーションとしてビルド(これがスタートアッププロジェクト)
こうするとプロジェクトBでフォームを作成する際にツールボックスにプロジェクトAのユーザーコントロールクラスAが表示されます。

2.
上記と同様の条件でプロジェクトAがテキストボックスなどの既存のコントロールを継承して作られたコントロールクラスBの場合
プロジェクトBでフォームを作成する際にツールボックスにコントロールクラスBが表示されません。


これは、ツールボックスでアイテムの追加を利用してやれば無理あり可能だとは思いますが、スマートでないので1と同様の操作でツールボックスにコントロールを追加してやることはできないのでしょうか?
プロジェクトBに直接コントロールクラスBを追加してやるとツールボックスにコントロールBが表示されますが、機能拡張などを考えたりプロジェクト内のファイルが増加する為できればこの方法はとりたくありません。

もし、なにか御存じの方がいらっしゃれば情報を提供していただけたら・・・と思います。

Ps.ちょっと説明の言い回しが微妙なので、もし不足なようであれば追加で説明はさせていただきます。
996デフォルトの名無しさん:2007/04/23(月) 10:03:50
VBで10万個くらいのファイル(一つ数十キロバイト、同じフォルダに入っている)を
System.IO.File.Delete(pathFileName)
で1個ずつ消すと、数分かかるんだけれど、もっと高速に一気に消す方法ありますか?
997デフォルトの名無しさん:2007/04/23(月) 10:33:47
formatc
998デフォルトの名無しさん:2007/04/23(月) 11:14:43
format 俺の人生
999デフォルトの名無しさん:2007/04/23(月) 11:21:15
>997,998
特定のフォルダの中を消したいのだけれど、formatだとそれはできないよな。
何かいい方法をおしえてほしい。
1000デフォルトの名無しさん:2007/04/23(月) 11:35:56
>>999面倒くさいからお前ごと消せばいいよ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。