[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 03/14 21:04 / Filesize : 125 KB / Number-of Response : 432
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part20)



1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:19:36 ]
前スレVB.NET質問スレ (Part19)
pc11.2ch.net/test/read.cgi/tech/1168585041/

2 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:23:22 ]
ここは、質問者に説教するスレではありません。
ここは、質問者のプログラミングセンスを測るスレではありません。
ここは、質問者のプログラマ適性を診断するスレではありません。
ここは、質問者の精神病・神経症を診断するスレではありません。

3 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:24:50 ]
MSDN
msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
dobon.net/vb/
dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
ukamen.hp.infoseek.co.jp/
.NET のつぼ
park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
wisdom.sakura.ne.jp/
じゃんぬねっと
jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html


4 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:25:39 ]
ここは、質問者が質問をするスレです
ここは、質問者が質問をROM者に見せるためだけのスレです
ここは、VB.NETプログラミング言語のためのスレです









                         ここにはVB.NETの質問以外載せてはなりません
                        (回答や誘導、その他質問ではないものも禁止です)

5 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:25:59 ]
CodeProject
www.codeproject.com/vb/net/
the GotDotNet Home Page
www.gotdotnet.com/
KEN's .NET
www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
www.cetus-links.org/oo_dotnet.html
HIRO's.NET
vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
www.pinvoke.net/
WinAPI Database for VB Programmer
www.geocities.co.jp/SiliconValley-Cupertino/5872/

6 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:26:29 ]
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
custom.programming-in.net/
CodeZine
codezine.jp/
ConvertCSharp2VB
www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
www7.ocn.ne.jp/~kawa1/numeric.pdf


7 名前:デフォルトの名無しさん [2007/03/05(月) 12:48:01 ]
テンプレ乙

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

例えば同時実行エラーならDBConcurrencyException
って感じで

8 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 13:46:21 ]
残りのテンプレ
                            ,===,====、
                           _.||___|_____||_
..                       ∧_∧  /||___|^ ∧_∧      
..                       (・ω・`)//||   |口| |ω・` )
.                     ./(^(^ .//||...||   |口| |c  )
.....                    ∧_∧/  //  ||...||   |口| ||し      
.......                (・ω・`) //....  ||...||   |口| ||        楽しく使ってね
                 /(^(^ //  ....  .||...||   |口| ||        仲良く使ってね
         ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
         :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " :::: 

9 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:17:10 ]
むしろこういうスレは殺伐としているべきだと思うんだ

10 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:24:54 ]
ボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
コボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
ボコボコボコボコ∧_∧ ∧_∧∧_∧ボコボコボコボコ
ボコボコ∧_∧´・ω・)(´・ω・`)・ω・`∧_∧ボコボコ
ホコボコ(´・ω・)∧_,∧lll ∪)∧_∧・ω・`)ボコボコ
ボコボコ∧_∧ ´・ω∧∪∧(・ω・∧_∧⊂)ボコボコ
コボコ(´・ω・)≡つ);;)ω(;;(⊂≡(・ω・`)___\ボコボコ
ボコボ(っ  つ=つ(っ  ⊂)⊂=⊂≡ ⊂) \ )ボコボコ
ボコボコ/∧_∧∧ ↑質問者 ∧∧_∧\ボコボコ
ボコボ( ( ´・ω)(  ´・)(    )`  )(ω・` ) )ボコボコ
コボコ(っ  つ/    )(    )   \ ⊂)ボコボコ
ボコボ/   )`u-u'. バ∪ ̄∪バ`u-u'   \ボコボコ  楽しく使ってね
ボコ( / ̄∪ボコボコボコボコボコボコボコ∪ ̄\ )ボコボコ  仲良く使ってね
ボコボコボコボコボコボコボコボコボコボコボコボコボコボコ
コボコボコボコボコボコボコボコボコボコボコボコボコボコボコ

こうか?



11 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:13:34 ]
そうそう、そんな感じで

12 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:36:30 ]
なるほど。ずれたらいいわけですね

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

>>8
某さいたまなところで滑り降りるところだけが盗まれまくったらしいね
盗んだ奴の顔がみてみたい

14 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:23:31 ]
str.replace("a","b")
とするとすべてのaがbに置き換わりますが
最初のaだけがbに置き換わるreplaceはないでしょうか?

15 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:30:26 ]
Regex で "^a" を "b"に置換

16 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:31:18 ]
>>14
ないので作れ

17 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:31:58 ]
Regex.Replace なら最大回数を指定できるオーバーロードがあるな

18 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:35:30 ]
そういやregexってのがあったな

19 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:51:33 ]
VB.NET から C#.NET への移行はさほど難しい話ではないようですが、
前スレではちらほら、「C# は Java に近い ・ むしろ C++ にも見える」という書き込みを見かけました
これは C#.NET から Java もしくは C++ をあくまでも文法的に習得するのが容易だという意味でとらえてもよろしいでしょうか
よっちゃんいか

20 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:59:11 ]
文法なんて習得する程も無いよ(C++はともかく)
一番の違いはライブラリで、そして C# と VB.NET/VB2005 はそれが共通。



21 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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



26 名前:25 [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 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 22:51:40 ]
>>28
しかもしっかり間違いも指摘している
これは間違いなく…感じ悪い
( ゚д゚ )

30 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:02:13 ]
>>10 がテンプレAAを乗っ取る日も近そうだ

33 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:03:25 ]
.Net Framework 1.1、VB2003で
VisibleがfalseのControlを画像にキャプチャする方法ってありませんか?
知ってるかたいましたらお願いします。

34 名前:25 [2007/03/06(火) 23:03:29 ]
>>27-29

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

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


あと指摘のミス
実務のほうで・・やべ・・変な汗出てきた


35 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:05:05 ]
撮影直前に表示じゃダメなん?

36 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:11:05 ]
>>35
キャプチャするためだけに一瞬表示するのはダメっすね

37 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:14:49 ]
そのコントロールのコードいじれるならいくらでも
じゃなきゃVista以外はむりぽ

38 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:23:09 ]
>>37
コードはいじれます
.Net2.0のControl.DrawToBitmapの動きを.NET1.1でさせたいんです。

39 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:43:24 ]
んじゃ、
GraphicsオブジェクトつくってOnPaintに食わせれば描いてくれるよ

40 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:52:01 ]
>>39
マジすか、やってみます。ありがとう



41 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 15:16:55 ]
すいません、質問させてください。

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

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

ダブルクリックのイベントを無効にしたのち、SelectAllすればいいのかな・・・?と思うのですが、無効の仕方がわかりません。
どなたか、方法を伝授していただけたら幸いです。
宜しくお願いします。

44 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 15:50:08 ]
ダブルクリックのイベントを無効にしたら
SelectAllすらできないんじゃ…

45 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 15:51:23 ]
時間測ってクリック2回を捕まえてみるとか

46 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 16:06:44 ]
>>44
言葉足らずでした。
例えばKeyDownなら、e.Handled = trueでイベントが処理された、とみなされますが、
そんな感じでダブルクリックの時も出来ないかな〜、というわけです。


47 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 17:58:05 ]
>>47
継承というのをはじめてやったのでてこずりましたが、無事できました。
ありがとうございました。

49 名前:デフォルトの名無しさん [2007/03/08(木) 19:01:17 ]
>>47
ドトネトはフック簡単で便利だよなw

50 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 20:02:51 ]
VB.NETでフォームアプリケーション作ってて
継承が初めてってことはありえない



51 名前:デフォルトの名無しさん [2007/03/08(木) 20:05:27 ]
>>50
そりゃそうだw
既にフォームが(ry

52 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 21:55:59 ]
スポーツ少女に処女膜が無いようなもんだな

53 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 21:59:35 ]
それ違う。とても違う。

54 名前:デフォルトの名無しさん [2007/03/08(木) 23:35:50 ]
へやにいるからいおまぃらこいよwwwwww

55 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 13:35:30 ]
クラスを自分で一つも定義せずにフォームアプリケーションを作るのは
一応可能みたいだな

56 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 14:35:01 ]
ADO.NETの話です。
ExecuteNonQuery メソッドを用いてUPDATE文を実行して、その返り値が0
だった時は、それが他ユーザによる更新が原因であるのか、
ネットワークやハードウェアの障害によるエラーであるのかのチェックは
出来ない。ということなのでしょうか。
あえてチェックをする場合は、再度SELECT文を使って接続してみるしか
ないのでしょうか。

57 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 15:35:15 ]
>>56
そういう場合は0ではなくて例外が起きる。

58 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 15:45:16 ]
>>57
質問前に、msdnを読んだつもりだったのですが、例外の欄に書いてありましたね。
すみません。
InvalidOperationException(接続が存在しません。 または、接続が開いていません)

となると、以下のような解釈でいいということですよね?
例外が戻ってきた:ネットなど接続のエラー
0が戻ってきた:開いている間に他のユーザがデータを書き換えるなどしたため、
        updateで更新されなかった。

59 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 16:50:22 ]
P2Pのshareの逃げるバージョン情報のウィンドウを作りたい。
MouseEnterイベントでやるのかな?
意外と難しい。


60 名前:デフォルトの名無しさん mailto:sage [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#だけど



61 名前:60 mailto:sage [2007/03/09(金) 17:28:57 ]
ゴミが残ってた
7行目はloc.Offset(dx , dy);でいい

62 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 17:44:03 ]
>>60
ほほう。どうもありがとうございます。
参考にさせてもらいます。

63 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 19:43:07 ]
チラウラなんだが、Vistaに標準で.NET3.0&コンソールコンパイラが入っているね。
某家電屋の店頭のVistaPCでHello,Worldを実行できたよ。


64 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:51:56 ]
だんだんMSもOSを触る環境から使う環境へと意識転換してきてるんだな

65 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:18:25 ]
使う環境にコンパイラいらんだろ

66 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:25:17 ]
.NET のクラスライブラリには CodeDOM 関連のものも含まれていてだな

67 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:33:41 ]
実行時にソースコードをコンパイルしてスクリプトみたいに実行できたりしてだな

68 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:02:29 ]
Hello Worldとかありきたりだな
もっと個性ある今風の言葉にしようぜ。

69 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:04:02 ]
こんにちは、世界

70 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:05:52 ]
WellCome DeathMarch



71 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:51:48 ]
Goodbye World

72 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:54:02 ]
うわっつまんねー^^

73 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:58:38 ]
自演乙

74 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 16:30:02 ]
>>73
かわいそうに。

VB厨はipdわからないから、ID丸見えなのに
誰が自演かわからないんだろうねw

75 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 17:22:33 ]
>>74
しーっ

76 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:11:40 ]
すいません
文字列のピクセル長を知るためにはどうすればよいのでしょうか?

よろしくお願いします。

77 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:16:19 ]
Graphicsのメンバをよく眺めてみ

78 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:19:15 ]
>>76
その質問では意味がわからんが、漏れがエスパーするに、文字列を描画するのに必要な領域の幅を知りたいというんだな?
TextRenderer.MeasureText() か Graphics.MeasureString() を使え。

79 名前:76 mailto:sage [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

82 名前:80 mailto:sage [2007/03/12(月) 08:19:57 ]
>81
標準ではないですか。。。
codeproject探してみます。
もしくはやったことないけどオーナードローを検討してみます。
ありがとうございました。


83 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:25:02 ]
DataGridでマウスでドラッグして行を選択するのだけど、mousemoveイベントの
間隔が遅すぎてまだらにしか選択されないんです(ゆっくりなら全部選択される)
この間隔ってどこかで設定とか出来る?

84 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:29:50 ]
もう一つDataGrid
そうやってドラッグして選択していった時に、ドラッグしたまま下にはみ出すと
スクロールしながら次々選択されてくってのは何イベント使えばいい?
mouseleaveだと上に抜けたか下に抜けたか分からないし…

85 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:30:58 ]
それ本当にDataGridか?

86 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:44:34 ]
どぼん参考にアクセスのlistboxみたいな動作するようにしてるけど
(rowheader無しで1行全部選択される)それ以外は普通のdatagridだけど

87 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:12:09 ]
小出しにされてもなあ・・なぞなぞじゃないんだし
とりあえず手元に現物が無いから、そっちで原因を洗うしかないんじゃないか?

88 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:09:51 ]
>>89
VB.NETで作ったCOMならregsvr32ではなく、regasmを使え。
普通のActiveXの話ならすれ違いっぽいが一応答えておこう。
基本は後勝ち。OleView.exeで調べる。



91 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:35:29 ]
確か1とか2とか憑かなかったっけ?

93 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:50:03 ]
COMはGUIDとか使ってそれなりに複雑な固体識別してたはずだよね。
っていうか、上書きって意味わからんw

94 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 13:08:22 ]
>>95
ADO.NETでCSV読ませれば?
そんでSQLでやるべし

100 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 16:07:32 ]
1000行程度なら、オレならエクセルで読み込んで処理するが…どうしてもVBなの?

103 名前:デフォルトの名無しさん [2007/03/14(水) 16:11:53 ]
すみませんが、こちらでもよろしければ教えてください。よろしくです。

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

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

(本件はC#スレッドでもお聞きしていましたがお答えがほしくこちらでも質問させて
戴きました、すみませんよろしくお願いします)

104 名前:95 mailto:sage [2007/03/14(水) 16:50:45 ]
>>96-100
皆さん、様々なアドバイスありがとうございます。
皆さんのヒントを元にヘルプやwebページを漁ってみましたが、大変参考になりました。
まずは
ttp://dobon.net/vb/dotnet/file/readcsvfile.html
あたりのページを参考に、やったことのない方法でやってみようと思います。

>>102
オフィス製品を導入していないサーバーで動かすため、アプリかスクリプトを作るしかありません。
バッチファイルかなにかで済ませられればそれに越したことはないのですが・・・

105 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:33:18 ]
>>105
結局ナニが知りたいのかよく読み取れないが、
とりあえずPInvokeでググってみたらどうかな

cで作ったdll内の関数を呼び出せるか、という意味ならそれは可能。

108 名前:105 mailto:sage [2007/03/14(水) 19:31:17 ]
>>107
わかりにくい文章ですいません
VBを使ってウィンドウを作成し、自分でCで作った関数を呼び出して使えるのか
ということが知りたかったんです
どうやら可能なようですね
PInvokeもかなり参考になりました
ありがとうございました

よろしければ、VBでCを呼び出した場合と、WIN32+Cの場合で処理速度に
差がでるか教えていただければ幸いです
wikipediaのVBの概要に
「ただし、実行速度はC/C++で記述したネイティブプログラムに比べ
10倍から20倍遅いと言われている。」
と書いてあったもので、あまりにも処理速度に差がでるならば使えないので・・・
これはCで書いた関数をVBで書き直した場合、これほどの差がでるということなのでしょうか?


109 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:55:57 ]
>>106
if %%0=04

if %%0==04



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

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

っていうか、あんたの用途に適合的かどうかはあんた自身で試すしかないでしょ。



111 名前:105 mailto:sage [2007/03/14(水) 20:39:37 ]
>>108
wikipediaを信頼しすぎたようですね
大丈夫なようで安心しました
時間はかかると思いますが、自分で試して頑張ってみることにします

ありがとうございました

112 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 20:41:20 ]
アンカーミス・・・>>110でした
スレ汚し失礼

113 名前:デフォルトの名無しさん [2007/03/14(水) 21:47:44 ]
10万行くらいあるテキストファイル(1行100文字前後)の最後の100行を
読みたいのだけれどもっとも高速な方法を教えてくれ。


114 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:01:17 ]
頭から読むしかない。

文字列配列を要素100個分用意して放り込んでいき、
最後まで埋まったら頭から上書きしていく。

115 名前:デフォルトの名無しさん [2007/03/14(水) 22:07:49 ]
>114
>頭から読むしかない。
げげ、ほんまかいな。困った。
じゃあ、逆にファイルを書き出すときに末尾に追加するのではなくて、
先頭に行を追加することはできるかい?それが出来れば
読むときは頭から100行読めばいいので。どう?

116 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:12:02 ]
そんな馬鹿なw
天然無脳(つまり114のことだが)だって1万ページある本の最後の1000行を
書き出すのに巻頭から全部目を通さないだろう

117 名前:デフォルトの名無しさん [2007/03/14(水) 22:21:19 ]
>116
その方法を教えてくれ。たのむ。

118 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:25:14 ]
ケツからファイルポインタをデクリメントしていって1000個目の改行コード探すだけじゃん。
そこから先は普通にテキストとして読めばいい。

119 名前:デフォルトの名無しさん [2007/03/14(水) 22:32:41 ]
>118
サンプルコードを教えてくれ。たのむ。俺は、ファイルポインタなんて
使った経験がない。
StreamReaderでファイルを開いてReadLine() で一行ずつなら読める。

120 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:35:27 ]
氏ねよ



121 名前:デフォルトの名無しさん [2007/03/14(水) 22:39:37 ]
>>119
FileStreamクラスを使うんじゃよ

122 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:43:56 ]
>>113
>>119ってもしかしてテキストファイルなら、TextBox系でLoadFileしておいてTextを
String変数に代入してLength目から逆追いするってのと同じじゃないだろうか。
それなら直ぐ書けるのじゃないだろうか。
って俺はとてもヒマないからやってはあげはしないがw

123 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:45:37 ]
あ、ただTextBoxBaseは最大文字数に制限あったっけ??

124 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:49:38 ]
>>122,123は論外

125 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:18:39 ]
プログラム始めてから数ヶ月の俺にも出来たぜw

126 名前:デフォルトの名無しさん [2007/03/14(水) 23:24:16 ]
>125
それを俺に教えてくれ。たのむ。

127 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:44:13 ]
色んな物がメチャクチャだなぁ

129 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:50:53 ]
>Dim Bytes(a.Length - 1) As Byte
これで台無しだな

130 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:58:43 ]
>>126
だからFileStreamクラスを調べろっつってんだろがボケ!!!

でもSeekとかPositionの性能が本当に良いかどうかは知らんよ。



131 名前:デフォルトの名無しさん [2007/03/15(木) 00:01:41 ]
>127
おおーーー、超サンキュウ!
さっそく試してみるわ。
>130
>ボケ
だから質問してるんだよ。俺に優しく教えろ!

132 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:06:09 ]
だから悩んだり試したりする前にMSDNに目を通せと(ry

133 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:02:05 ]
>>130はツンデレ

134 名前:デフォルトの名無しさん [2007/03/15(木) 05:04:45 ]
フォーム上にお絵かきするソフトで下記の例外がまれに発生するんだけど、
なんのことやらさっぱり分からん。

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

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




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

作り方が悪いのか?、だと?
お前さん以外にそういうトラブルを申し立てている人間がいるのかよw

136 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 08:15:47 ]
>>127
そいつのベンチマークが見たいな。


137 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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でプログラム組んだのでちょいと汚いがな

139 名前:137 mailto:sage [2007/03/15(木) 09:52:57 ]
>>113 の間違いだ。すまん

140 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 12:22:10 ]
>>134
どんな時にその例外が投げられるかはMSDN見れ。

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

とりあえずコード上での発生箇所を探るしかないとおもう



141 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 12:54:43 ]
そんな内部のことはどうでもいいから最後に実行された自分のコードを確認してくれ

144 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 13:56:01 ]
>>142
> 自分の作ったコード内ではないので、困ってるんだよ。 
俺たちも自分の作ったコード内じゃないことの上にソースすらないからどうしようもないんよ(・ω・)

145 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 14:14:50 ]
>>144
ソースがないと直しようがないじゃないか・・・

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

どうなの、詳しい人?

それと、思い出したんだが.VisualStudioに逆アセンブラがついてた気がする。
難読化されていなかったらソース解析できる可能性があるよ。

146 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 19:11:05 ]
フロッピーで郵送

153 名前:デフォルトの名無しさん [2007/03/16(金) 00:00:19 ]
if x < 1e10 then
って書いたら、勝手に
if x < 10000000000 then
ってなるのだが、ゼロが並んでいると分かりにくいので、1e10のまま
にしたいのだが、方法はあるか?

154 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 00:22:53 ]
VBって16進も勝手に整形するよね。もうアホかと。

Const tenBillion as Integer = 1000000000

とか、

if x < 10^10 then

ぐらいか、手の打ち所は?

155 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 00:31:47 ]
>>153自動整形機能を切るのはダメ?

156 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 00:40:54 ]
Int64.Parse( "1e+10", NumberStyles.AllowExponent )

ww

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

158 名前:デフォルトの名無しさん [2007/03/16(金) 04:51:37 ]
134だよ。

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

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

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

う〜ん、はまった。。。



159 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 10:42:42 ]
>>159
その質問に答えられるのはエスパーかペテン師ぐらいだろう。
VB.NET2003でどんなソフトを作ってんのよ。WinFormアプリかサービスか、
通信は共有フォルダなのか独自にやってるのかはっきりしろ。



161 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 11:00:38 ]
>>148
Webサービスでがんばれ

163 名前:デフォルトの名無しさん [2007/03/16(金) 12:45:40 ]
TextBoxのMaxLengthプロパティってディフォルトで32767文字もあるけれど、
10文字で十分なのだけれど、この値が大きくても小さくても、プログラム
起動してタスクマネジャでメモリ使用量比べても、余り違わないのだけれど、
これはどういうこと?1000個のTextBoxでテストしてみたが良く分からない。

164 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 12:48:18 ]
入力を制限しているだけでそれ以上の意味はない

165 名前:デフォルトの名無しさん [2007/03/16(金) 12:55:23 ]
>164
知らんかった。39!

166 名前:デフォルトの名無しさん [2007/03/16(金) 13:41:02 ]
馬鹿のイメージでは、メモリアロケーションしてるんかい?
きょうびの高級言語、そんなにせこせこしてねーよ。

167 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 20:19:54 ]
ワロタ

170 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:18:29 ]
おまえらって賢いな



171 名前:168 mailto:sage [2007/03/18(日) 01:11:07 ]
解決しました

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

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

めったに.NETのC#もVBも使わないんで結構忘れますね。
あと書き忘れてましたが VisualStudio2005使ってます。(最近買いました)

172 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:19:03 ]
>>171
ついでにCOM相互運用とかも見とくといいんでない?

173 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:22:41 ]
ttp://jeanne.wankuma.com/tips/programing/releasecom.html
こんな開放ってやっぱり必要なの?

174 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:25:39 ]
自分しか使わないもんなら不要。
それで困らなければ不要。
立ち上げてすぐ落とすようなもんなら大抵不要。

そうでなければ必須。

175 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:26:36 ]
>>174 thx

176 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:21:01 ]
>>173
使うことが推奨だが、

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

は明らかな間違い。いい加減なおして欲しいよ。

179 名前:デフォルトの名無しさん [2007/03/18(日) 12:35:03 ]
>>178
何が間違ってんだ、とぼけたこと抜かしてんなよボケ

180 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:36:46 ]
>>178
”メモリリーク”を何に直せばいいの?



181 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:03:03 ]
微妙な問題ではあるが、MSDNフォーラムのこの話題が参考になりそう。
forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=748277&SiteID=7

COMの参照カウンタはRCWが管理している。
ReleaseComObjectはCOMの参照カウンタそのものではなくRCWの参照カウンタを管理するもの。
RCWの参照ポインタがゼロのなるかGCされればCOMの参照カウンタはデクリメントされる。
RCWはReleaseComObjectで開放すべきであり、GCによる開放はフェイルセーフ的なものと考えるべき。


182 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:30:27 ]
>>180
>COM オブジェクトを扱う場合は、参照の解放を常に意識する必要があります。 
COM オブジェクトを扱う場合は、参照の解放を意識する必要があります。 
>使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと「メモリ リーク」を起こします。  
使用したRCWの参照カウントが正しくデクリメントされていないと期待するタイミングでCOM オブジェクトが開放されません。  


183 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:32:24 ]
>>182
あらゆる意味で不完全燃焼だ

184 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:34:37 ]
そんな文章の校正屋みたいなことして楽しいのかね。奇特な奴。
どうせ何か書くなら物事自分の頭でまとめた結果をアウトプットしろよ

185 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:49:41 ]
そりゃま、「全部GCでOKww手動でやる奴は馬鹿!」とか書いたら爆釣りで完全燃焼だろうけどさw

186 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:21:11 ]
>>184
校正って、間違ってんだろ

187 名前:デフォルトの名無しさん mailto:燃焼系アミノ式 [2007/03/18(日) 17:13:13 ]
VB6時代のNothing論争に似てる。
Sub XX
  Dim Obj As New ActiveX.Hoge
  '  いろいろな処理
  Set Obj = Nothing
End Sub
最後のNothingがないとメモリーリークが起きると言い張るのが必ずいた。
実害はないから頭の悪いプログラマーには全部Nothingを付けされたほうが安全というのが結論だった。


188 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:18:16 ]
参照にnullを代入したらその時点でGCが動くと信じてる奴は多そう
全く意味はないとMSDNには書いてあるが

189 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:19:20 ]
dim a as new collection
set a=nothing
msgbox a.count

190 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:19:56 ]
全く意味は無いというのは言いすぎだな
超極めて限定的に意味があるシーンもある
……それは意味がないのと同義か



191 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:20:00 ]
アウトプロセスサーバなCOMでプロセス起動するようなやつだと
解放しないとプロセスが残るやん
メモリリークどころじゃないやん
その時点でアウトやん

192 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:22:07 ]
>>190
循環参照とかにつかうんよ

>>191
参照カウントをデクリメントするのと、「解放」するのは全く別物

193 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:24:48 ]
循環参照でもそれらが孤立してたらGCされるだろ

194 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:27:18 ]
>>193
.NETはね
VBは参照カウントだから無理

195 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:39:55 ]
COM使うの止めればいいじゃん。特にサーバでは。

197 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:28:50 ]
とはいえ、マイクロソフトの主要プロダクトはほとんどCOMじゃないか。

200 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:34:01 ]
>>198
FWってFrameworkのことか?
普通はFxと略すが



201 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:37:47 ]
Fxは.NET Framework 3.0(旧称WinFX)のことだと誤解されそう

202 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:39:29 ]
>>200
うはw初めて知った。
それって公式な略称なんですか?

203 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 ]
貼り忘れ 連投スマソ
piza.2ch.net/tech/kako/977/977112364.html
//*********************
232 名前: 名無しさん♯ 投稿日: 2001/04/17(火) 17:21

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

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

回答 from Microsoft
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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:00:10 ]
普通はSTAThreadAttributeついてると思うんだけど、つけてないの?


213 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:01:36 ]
>>207
そりゃ問題なく使えて当然。そんな長時間クリップボードをロックしっぱなしするようなことはフツーしない。

214 名前:デフォルトの名無しさん [2007/03/19(月) 02:05:54 ]
>211
サンキュウ。
Thread.CurrentThread.ApartmentState = ApartmentState.STA
っていうのを入れてみたが効果なし。
おかしい。

215 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:08:45 ]
マイクロソフトはレガシーって呼ぶのか…。obsoleteとか言ってくんないとわからんw

217 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:37:32 ]
>>215
もうだめだ .Image が .Invoke に見えた(orz

218 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:44:50 ]
それは目がピンヴォケですね

219 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 10:13:30 ]
CASの事だよ。
ウィルスとか関係ない。
DirectoryInfoでもチェックは入るが、
例えばインスタンス作成時だけチェックすれば済むとか、
そういう話だよ。

223 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 10:24:35 ]
>>217

とりあえずもちつけ
落ち着いて理論的に考えていけばきっと解決できる問題だ!!


224 名前:デフォルトの名無しさん [2007/03/19(月) 10:32:50 ]
>>222
ありがとうございます。やはりコードアクセスセキュリティのことだったのですか、

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

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

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

と考えてよいということでしょうか?そしてみなさんもそういう原則を踏襲して
日々コードを作成しておられると考えてよいでしょうか?

225 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:32:46 ]
なんでそうなる

228 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:35:12 ]
プログラミングがあまりに論理的なので忘れてしまうことが在る

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

人に聞くなんて恥ずかしい行為は慎むとよい

229 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:36:24 ]
DirectoryInfoはチェックしないなんて
どこに書いてあんだよ。

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

230 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:39:44 ]
そろそろさじ投げてもいいほど俺たちは堪えてるよな?



231 名前:デフォルトの名無しさん [2007/03/19(月) 12:07:46 ]
>>229
>DirectoryInfoはチェックしないなんてどこに書いてあんだよ。

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

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

ということは、コンストラクタを使う限りは、DirectoryでもDirectoryInfoでも
CASが掛かるということでしょうか、そうであれば、初めから両者の差は、
コンストラクタ以外のメソッドでのみ異なるということになるわけなのでしょうか。
たびたびお聞きしてすみません。

232 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:19:11 ]
reflector.netでも使えばいいんじゃないか?

233 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:32:20 ]
諦めた、もう無理w

234 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:37:29 ]
どうやってDirectoryのコンストラクタを使うんだ。
どうやってコンストラクタを使わずにDirectoryInfoを使うんだ。


って言ったらコンストラクタ使わずに使えるよ、とか言われんだろな。
そういうことじゃないんだ、そういうことじゃ…


235 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:38:41 ]
>>231
そのセキュリティチェック云々のたわ言は別にして
DirectoryとDirectoryInfoの違いはわかってるのか?

236 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 13:02:17 ]
>>238
情報量増やさずに情報を増強するのは無理
普通は外部ファイルとして保存するかアプリケーション構成とかに保存するんだろうが、
嫌なら諦めろ

242 名前:デフォルトの名無しさん [2007/03/19(月) 13:04:20 ]
>>238
念じるしかないんじゃないの?
増やさないで情報を保存するなんて、エスパーしかできねーし。


243 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 14:16:26 ]
おめでとうございます。
日常生活でのコミュニケーションに障害を感じるレベルです。


246 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:36:42 ]
>>238
アプリ本体のアセンブリ自身を書き換えてやればいいんじゃないか?

247 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:40:19 ]
>>243
それも外部ファイルいじってるやんw

>>238みたいなのはもう居なくなれよwwwww
常識的に考えてそんなことしねぇよwwwww

248 名前:デフォルトの名無しさん [2007/03/19(月) 15:41:53 ]
まあ、彼がファイルとか作りたくないっていう理由が全くわからんけどね。
Assembly自身の書き換えは、厳格名を持ってる場合に問題出るだろうし、そもそも最近のセキュリティソフトが嫌うと思う。
EXEの書き換えなんて。
普通にapp.configに書き出せばいいのに。


249 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:52:26 ]
>>247
少なくとも新規作成はしない罠

250 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:55:27 ]
>>249
確かにw


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





251 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:59:14 ]
それならSystem32あたりで適当なファイルをランダムに選んで乗っ取れ

252 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:04:16 ]
ブートローダ乗っ取ればいいんじゃね?

253 名前:デフォルトの名無しさん [2007/03/19(月) 16:05:35 ]
PCに残せないなら、前回の最終入力を作業者の脳内に残してもらえばいいじゃん。
それを画面起動時に入力してもらう。

254 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:08:58 ]
ふっかつのじゅもんか。

255 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:11:21 ]
設定サーバを立ててオンラインで保存・読み込みすればいいんじゃね

256 名前:デフォルトの名無しさん [2007/03/19(月) 16:13:15 ]
まあ、普通に馬鹿な仕様を変更すればいいだけだろ?
ローカル保存可とするか、保存する場所ないならば前回入力なんぞ保持しないか。

257 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:38:26 ]
VBでいうAsc関数はフレームワークではどの様に記述するのでしょうか?
Microsoft.VisualBasic.Strings のメンバではなくてです。

258 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:38:54 ]
system.math
名前空間の中じゃねぇの?

259 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:44:21 ]
Reflectorで覗いてみたら?
自己責任で

260 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:44:27 ]
>>257
普通にInt32にキャストしろ



261 名前:257 mailto:sage [2007/03/19(月) 17:18:27 ]
たくさんの回答ありがとうございます。

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

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

>>260
キャストですか?

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

263 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 17:46:36 ]
>>264
あ、そっち方面の話だったのねwww

266 名前:デフォルトの名無しさん [2007/03/19(月) 18:22:31 ]
>>263-265
どうも丁寧にありがとうございました。

267 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 18:38:05 ]
ちょっと質問です

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

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

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

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

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



268 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 19:09:56 ]
exeファイルにNTFSストリームをくっ付ければ
hoge.exe:hoge.txt
とかに保存すれば

269 名前:268 mailto:sage [2007/03/19(月) 19:11:17 ]
>>238
です

270 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:04:50 ]
>>267
Schema フォルダのパスを設定ファイルに書いとけばいいんじゃね?



271 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:34:45 ]
Ascをreflectorで見た
何気に気合入ってたよ
Unicode<->ASCII(MS-shiftjis?)

273 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:39:15 ]
Microsoft.VisualBasic.Asc() じゃダメ?

274 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 23:16:11 ]
>>271
それはAscW

275 名前:デフォルトの名無しさん [2007/03/19(月) 23:34:22 ]
>>270
やっぱそうなっちゃいますよね?
あんまり、パスの直書きはしたくなかったんで聞いてみたんですが
とりあえずいい案思いつくまでそれでしのごうかと思います
(というか、そのままになりそうな予感)

レスサンクスでした

276 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:03:30 ]
質問。StreamReader.Read(Char(), Int32, Int32) で文字列を読み込んだら、空白部分がnothing扱い(!?)になるんだが、
空かどうかはどう判定すればいいの?C#では普通にナル文字が入ったんだけどなぁ・・・。


277 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:26:53 ]
タイマで WM_GETTEXT 投げてりゃ良いんじゃね

280 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:27:19 ]
ProcessStartInfo.RedirectStandardOutput プロパティがそれっぽい
ProcessStartInfoはProcess.Startの引数として使う
やったことないから合ってるかは知らんが



281 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:32:33 ]
> 画面にずらずら
もうプログラムとか横においてだな、
詳しく書かないといけないところを省略するなよ

OCRが最も汎用的だな

282 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:38:37 ]
ちょwwwOCRてwwwww


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



283 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:45:04 ]
フォント固定で種類が数値+α程度なら、パターンマッチも
そんなに難しくはないだろうね、

284 名前:デフォルトの名無しさん [2007/03/20(火) 00:59:23 ]
>280
ありがとうございました。教えてもらった方法で、
意外にも簡単にできました。でも一つ問題がありまして、
出力をリダイレクトしたら、画面の表示が出なくなりますが、
希望としては、画面にも今までどおり出しながら、同時にリダイレクトして
取り込みたいのですが、それは無理でしょうか?

285 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 01:00:52 ]
受け取った出力をそのまま標準出力に流せばいいじゃない

286 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 01:09:57 ]
そのためのtee

287 名前:デフォルトの名無しさん [2007/03/20(火) 01:14:27 ]
>285
VBからシミュレーションソフトを起動していますが、そのConsoleに
AttachConsoleする方法が分かりません。
>286
TeeってDOSにありますか?探してみたのですが無いようでした。

もっと簡単に、リダイレクトしながらconsoleにもそのまま出力する
というプロパティ設定があるといいのですが。。

288 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 07:18:16 ]
無いならダウンロードするか作れよ。

289 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 09:41:48 ]
自分でコンソール作ればいいじゃないか

290 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 10:35:25 ]
アダプタで出来るのは単純な更新のみと割り切って、SQLでごいごいと書く。


292 名前:デフォルトの名無しさん [2007/03/20(火) 10:36:29 ]
>289
VBアプリから他のコンソール画面に文字出せるのか?


293 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 15:23:29 ]
>>294
親なし
子ありってのはできないんじゃね?
外部キー設定の云々があるから防御掛けられてるような希ガス

296 名前:デフォルトの名無しさん [2007/03/20(火) 18:05:29 ]
VB2005のExpress Editionを使いたいのですが
XPのSP2にしないとインストールできないみたいです。
ですがupdateができなくて困っています。
SP1で使えるようにはできないのでしょうか?

297 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 18:21:51 ]
>>296

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

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

むしろこの環境でしか動かないって言ってるんだからその環境に合わせるべきだと思う。
じゃないと、無理に入れれたとしても動かない可能性もあるし

298 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:41:24 ]
2005でも2003と同じようにエディタの上部のドロップダウンリスト使って
オーバーライドのスケルトンを挿入できるようにする設定ってある?

しかし、どうしてこの機能カットされたんだろう。
余計なことすんなヴォケ、と言いたいよまったく。



301 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 03:08:16 ]
クラスウィザードが削除された時の衝撃よりマシだろ、慣れろ
つか、C#やVB.NETならドロップダウンでスケルトン挿入できるが
2003で、MFCやATL系のプロジェクトでスケルトン挿入なんかできたっけ

302 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 10:18:40 ]
こめん俺はクラスウィザートは無用の長物だと思ってたw

やっぱり削除されたのかな>オーバーロードのスケルトンの自動挿入
あの機能を発展させて、シャドウとかイベントハンドラ(もちろんWithEvents使わない
場合の話だけど)の自動挿入とかも欲しかったんだけどな。

303 名前:デフォルトの名無しさん [2007/03/21(水) 10:20:56 ]
Override って入力してスペース入れたら入力ほじょ。
関数選択すれば、ベースよぶ雛形出る。


304 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 10:26:44 ]
俺はovまで入れてCtrl+Space押しちゃう

305 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 11:01:00 ]
>>303
そのポップアップは"Overrides"って入力すると嫌でも出て来るんで知ってるんだけど、
やっぱりドロップダウンで挿入も残しておいて欲しかったな。

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

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

結局インデントの設定は「なし」で使ってるんだけど、これだと全行いちいち行頭から自分で
字下げしなきゃならん。

306 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 12:55:52 ]
他の開発環境と競合しない部分は手抜いてるよな



311 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:35:49 ]
2005はキー入力だけでポンポンコードが生成されるのが気持ちよくて好きだ

312 名前:デフォルトの名無しさん [2007/03/21(水) 16:20:50 ]
すみません、教えてください、ユーザーコントロール作成してフォームに貼り付けたとき、
1秒ぐらいWaitのマウスカーソルになってから何も貼り込まれないということってあるでしょうか。
その際、エラーの表示は出ず、メッセージも何も言ってきません。

ユーザーコントロールはユーザーコントロールを2つほど使って構成されているのですが、
他のものでは同様の使い方でも貼り込まれていました。

313 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 16:57:41 ]
てきとーいったかも・・・フォームだけかな?
ごめん。競艇みながらだから簡便。

316 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:11:04 ]
>>312
■ 意味不明な「俺様用語」を使わないこと。(ex. 貼り込む ―― 刑事かw)

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

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

そういう時、一度IDEを終了してから再度ソルーションを開いてリビルドすると
問題が解消される場合が多い。

317 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:43:44 ]
>>297
>今時どんな会社だよwwwww
開発機に SP2 などという危険なモノを入れるな、とか。

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

>>298
インストーラで蹴られる。

318 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:48:36 ]
サポート切れのOS(XP SP1)の方がよっぽど危険だと思うが。
いつまでも使ってるなよ。

319 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 19:18:41 ]
そんなことよりネスケ4を全社で使い続けるうちの顧客を何とかしてください。
ASP.NETでVBブイブイいわせるのにこいつが足かせになってメンドくさい。

320 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:43:15 ]
CPUはいいけどメインメモリは2Gにしとけ、ディスプレイとメモリは大きければ大きいほどいい

322 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:43:50 ]
VS2005様からみたら十分貧弱だと思うよその環境。。
まずセレロンってのがありえないし。


323 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:48:46 ]
CPUよりメモリーが非常に効くよ。
普通にXP上でVS2005を立ち上げただけで大体500MBもってかれる。
そこにプロジェクト作成してデバックしたら700MB
さらに、ソリューション構成でクライアントUIとサーバWebサービスなど構成すると1G超える。
でもって、DBをSQL鯖EXなどで自分端末だと・・・。
まあ、1.5GBとかメモリーがあればとりあえずは。w


324 名前:320 mailto:sage [2007/03/21(水) 20:57:35 ]
>>321-323
レスdです。
メモリ足らんのですか…2GBってどこの絵描きのマシンだろうorz

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

上司に相談してみます。ありがとうございました!

325 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:04:22 ]
どこの絵描き、って・・・いまどき1GB1万くらいだろうに。
スワッピングしてぼーっと待っている時間に時給相当をかけてみろ。

326 名前:デフォルトの名無しさん [2007/03/21(水) 21:58:35 ]
>>320
一応一言

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

ちなみに300Mほど起動した状態で食ってるな
確かにスワップはするけどまぁ動きはするな

327 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 22:19:41 ]
ファイルサイズの問題じゃないと思うよ。
たぶん帳票とかがメモリ馬鹿みたいに喰うんじゃないの?

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

まあごく普通のWin Formのアプリを作成するだけなら512Mで実際十分だと俺も思うけどね。

328 名前:デフォルトの名無しさん [2007/03/22(木) 09:25:39 ]
>>294
亀だけど、外部キーのプロパティにそのあたりの設定あるよ。
親子の厳密なチェックありも出来るし、単なる親子で参照もつよー程度も出来るし。

329 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 11:40:53 ]
NowHour < 17
じゃね?



333 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:16:53 ]
知ってるが
お前の態度が
気に入らない

340 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:56:44 ]
>>338
www.taoframework.com/Home



341 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 11:54:01 ]
Vs2005でデザイナでフォームコントロールをはっつけてフォームのフォントサイズ変更すると
フォームに貼り付けたコントロールの位置とサイズ、パディングなどが変更されるんだけど
これと同じような事を実装したい
まぁ、全てのコントロール回して直接変更していけばいいんだけど、このデザイナが変更している計算ロジック使えないだろうか?
もし、使えるんであればフォントサイズに伴うコントロール位置やサイズの変更がラクだしいいかなっと思ったんだけど・・・・
誰か知らない??

342 名前:デフォルトの名無しさん [2007/03/23(金) 12:58:15 ]
>>341
まず試しにフォーム新しく作ってプロパティ変えずにコントロール貼り付けて
実行時にフォームのフォントサイズ変えてみ?
それでサイズは変更すっから

343 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:01:59 ]
VB2005でContextMenuStripのデザインを9X系のデザインに変えたいのですが
(メニュー左側に青線の背景がないもの)
プロパティーにはないっぽい?
Component を継承してDesignModeを変えればよいのでしょうか。
宜しくお願いします。

344 名前:デフォルトの名無しさん [2007/03/24(土) 13:08:10 ]
>>343
とりあえずそれやってみた??
それでだめなら解決策を考えようか

345 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:27:49 ]
>>343
msdn2.microsoft.com/ja-jp/library/dy4ys6z6(VS.80).aspx
msdn2.microsoft.com/ja-jp/library/ms171698(vs.80).aspx
このへんかな

346 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 18:06:15 ]
ユーザコントロール継承してDesignModeをFalse返すようにしましたが
何も変わりませんでした('ω`;)

>>345
ありがとうございます!
これから観てみますー

347 名前:デフォルトの名無しさん mailto:sage [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
あいよ
www.connectionstrings.com/
つうかURLわかりやす杉ww

349 名前:347 mailto:sage [2007/03/24(土) 22:30:32 ]
ありがとうございます。
ですが、ConnectionStringの書き方はそのサイトを見ても合っているようです。
というか、何も入力しなくても、適当な文字を入力しても、何を入れようが
「初期化文字列の形式が使用に適合しません。index 0 で始まっています。」
となるので、ConnectionString欄に入れる文字がどうこうという以前の問題の
様に思えてきました・・・

350 名前:デフォルトの名無しさん [2007/03/24(土) 22:40:53 ]
ちょっとパスワードとかユーザー名とかあるならその部分*とかにして全部さらしてみれば?




351 名前:347 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:37:39 ]
メモリを増設する。

359 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:41:58 ]
HDDを高速なものと交換する

360 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:51:48 ]
寝る



361 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:11:22 ]
VB2005でASP.NETのプログラムを書いています

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

と、言うことをやりたいです
が、
ttp://msdn2.microsoft.com/ja-jp/library/87069683(VS.80).aspx
を読んでみても解説がよくわかりません
もっとわかりやすいところってありますか?

365 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:22:02 ]
セッションIDってものを勉強するのが先じゃないの?

読み取ったセッションIDとサーバのセッションIDを比較?
何をしたいの?根本的に間違っていると思うけど。

366 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:10:01 ]
>>365
そうやって管理してる物だと思ってました
どの辺が根本的に違うのですか?

367 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:07:48 ]
なんでログインの管理にセッションを使いたがるかな。


368 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:03:43 ]
ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが

369 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:08:23 ]
cgiで自分でセッションの管理をするならそうだが、
セッションの管理はASP.NETがやってくれるから、
Sessionオブジェクトにログイン済みかどうかのフラグを持てば十分。

370 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:30:13 ]
>ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが

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

だいたい遷移のたびにセッションID保存したって、同じセッションならずっと変わらないんだから
単なるログイン管理と変わらんだろ。
単なるログイン管理ならフォーム認証でも使っとけばいいだろ。




371 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:51:07 ]
なんでそんなに偉そうにしたがるのか

372 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:54:56 ]
なんでお前ら日本語使ってるのか
に等しい質問だな

373 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:06:36 ]
いちゃもんつけたいだけのやつよりありがたいだろw

374 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:06:47 ]
ここ、IDがでないのですね
>>364>>366>>368は自分です

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

>>370には質問の意味が伝わっていないですね

375 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:31:26 ]
>セッションIDを取得してサーバに保存、画面遷移のたびに読み取ったセッションIDとサーバに保存した
>セッションIDを比較、あっていたら処理を続けて、あわなかったらエラーページに飛ばす
>ログアウトしたらセッション破棄
これで何をしたいのかちゃんと書いてみろよボケ。


376 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:33:32 ]
ログインしてないのに画面を表示してしまわないようにしたいの?
だったら単にASP.NETの認証機能使えばいい(まあフォーム認証かな)。
セッションなんて関係ない。
どうしてもセッションでやりたいなら>>369みたいにすりゃいい。

セッションIDを比較しての意図がいまだに分からない。


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

てかセッションの仕組みで勝手にそういう処理は内部的に行われてる。


378 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:37:21 ]
ただしIsNewSessionでの判断はきちんとやらないと無意味になりかねないのでやめた方がいい。


379 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 ]
釣りですか?

387 名前:364 mailto:sage [2007/03/26(月) 08:09:40 ]
>>376-379
ありがとうございます
ASPのフォーム認証なども調べてみます

388 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 08:51:57 ]
>>379
それは何か理由があるの?

389 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:28:54 ]
いろいろあるが、とりあえず専用の機能があるんだからそれ使えでどうかな?


390 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:43:03 ]
それは「おすすめしない理由」にはならないよね



391 名前:デフォルトの名無しさん [2007/03/26(月) 09:54:30 ]
VB.Net 2003 を使用して、共有フォルダを作成/設定するには
どのようにすればいいのでしょうか?

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

FileAttributesなるものを見つけたのですが、これはちょっと
違うみたいでした。

392 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:01:19 ]
OSコマンドだと NET 系があるからそれを使うとか。
言語でのサポートは無いと思う、セキュリティそのものだから。
WINAPIでやるにしても、セキュリティとってからの流れでしょ。


393 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:39:49 ]
VB.NET2005 を使用しWinアプリを作成しています。

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

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

何かよい案がある方がいればお教え願えませんか?

394 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:07:02 ]
>>393
データ取得用のDataSetと表示用のDataSetを別にしとく。

395 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:12:27 ]
>>394
ごめんなさい、書き忘れていたんですがその部分は実装しています。
あと、色々小細工する都合上データバインドは行っていない状態なんです。



396 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:13:24 ]
InProcのセッションモードでの影響をなくす。
(セッション失効の影響を受けなくする)
セッションは本来ログイン状態とは無関係の寿命を持つので
不正なログイン状態を招いてしまう危険を最初から回避しておく。
そもそも専用のログイン状態管理機能があるのに
わざわざ違う機能を使うのは利点がないだろ。

397 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:36:57 ]
ごめん純粋に質問。
セッションとログイン状態が無関係ってどういうことですか?
セッションが切れてもログイン状態を探し出したりできる?

398 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:47:42 ]
>>396
2005からはSQL鯖と連動したログインとかスコープ管理出来るようになってるしな
一回試した時に小回りあんま利かなかった記憶があったが


399 名前:364 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:57:59 ]
元々、特にASP.NETでは、認証状態とセッション状態は独立した概念。


402 名前:364 mailto:sage [2007/03/26(月) 13:31:52 ]
すみません
解決しました

inputからasp:Buttonに書き換えたときにOnClickを消さなかったからでした

403 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 15:39:49 ]
初心者です。
仕事でVB6とVB2005両方使うみたいなんですが
どっちから勉強したほうがいいですか?

404 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 15:44:17 ]
>>403
似て非なるものを同時にか。混乱が目に見えるな。

405 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 15:52:00 ]
( -人-).。oO(ナムナム...)

406 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:05:04 ]
>>403
2005やってからVB6つかうと機能のしょぼさに絶望はする と思うぞ(;´∀`)

407 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:18:15 ]
オブジェクト指向ってなんですか?
辞書でいろいろ見ましたが未だに意味が分かりません。
オブジェクト指向とそうでないものを何か分かりやすいもので例えて下さい><

408 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:21:29 ]
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

409 名前:デフォルトの名無しさん [2007/03/26(月) 16:23:08 ]
別にオブジェクト指向しらなくても.netは使える。


410 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:48:12 ]
>>407
>オブジェクト指向
サンダーバード
>そうでないもの
新八犬伝



411 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:57:27 ]
>>410
なんというか・・・まぁ気持ちはわかる

412 名前:デフォルトの名無しさん mailto:sage [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とか好きじゃないから別の手段とるとは思うけど・・・
せっかくなので時間ある時に配列関係少し調べてみるといいかもしれない


416 名前:414 mailto:sage [2007/03/26(月) 22:15:34 ]
>>415
確かに!ありがとうございます。
配列の初期化やコンストラクタで考えていたのですが、
サイズ変更でよかったんですね。

最初はフォームでやってたのですが、何度もデバックするのならモジュールが早いかな?と
初心者判断でした。
今は構造体やプロパティで頭ごちゃごちゃですが、ある程度先に進んでから勉強しなおそうと思います。

417 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:48:49 ]
TabControlの旧時代での呼称



421 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:52:53 ]
>>420
あぁそれです。thx

>>419 市ね

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



423 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:59:34 ]
ローカルにあったりするmdfをさわるには、SQL Server Expressを
インストールする必要がある。バッチインストールで入れてしまえばいいと思うが。
Compact Editionという選択肢も(結局インストールは必要だけど)なきにしもあらず。

426 名前:デフォルトの名無しさん [2007/03/27(火) 00:39:25 ]
>>380
これ気持ちいいぐらいスルーされてますが、釣りではありません。
なにが足りないのでしょうか?頭関係以外でお願いします。
実はもうこれに3日悩んでます。これを調べるのに2005のスキルが大幅にアップしましたが、この根本的っぽいところで躓いてます。
お願いします。

427 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:40:49 ]
Sistem
System

428 名前:デフォルトの名無しさん [2007/03/27(火) 00:48:05 ]
すいませんsistemはエラーメッセージの書き写しミスです。
getElementsByNameは'System.Windows.Forms.HTMLDocument'のメンバではありません。
でした。

429 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:49:23 ]
>>428
だから,そのエラーメッセージが全てなんだって
スーパーの店員に,
「申し訳ありませんが,getElementsByNameという名前の商品は
当店(System.Windows.Forms.HTMLDocument)では扱っておりません」
って言われてるんだよ
その例文とやらがおかしい。一体どこで拾ってきたの?

430 名前:デフォルトの名無しさん [2007/03/27(火) 00:54:47 ]
ttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200612/06120053.txt
ここです!



431 名前:デフォルトの名無しさん [2007/03/27(火) 01:10:12 ]
>>385までは解決したのですが、ここからがヘルプを見ても辿れないのです。







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<125KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef