VB.NET質問スレ (Part21) at TECH
VB.NET質問スレ (Part21) - 暇つぶし2ch511:デフォルトの名無しさん
07/06/06 15:32:46
>>504
IDE に戻って Ctrl+Break では不満なのか。

512:504
07/06/06 15:56:09
>>511
知らなかった。そんな方法でできたとは・・・  ありがとう。

513:デフォルトの名無しさん
07/06/06 21:06:23
なぜ、DB書き込む時のADDNEW  がなくなったんですか?
VB6でも 皆、使わないんですか?


514:デフォルトの名無しさん
07/06/06 21:15:38
は???
>>513
NewRowがあるじゃないか????
ん???
イミフ

515:デフォルトの名無しさん
07/06/06 21:59:15
うへへww

516:デフォルトの名無しさん
07/06/07 06:54:44
Visual Studioのマクロも子のスレでいけるんでしょうか?

517:513
07/06/07 09:31:44
>>514
ADDNEWがいいんです。

518:513
07/06/07 09:35:58
すまん。知らなかった。INSERT してた。

519:デフォルトの名無しさん
07/06/08 20:40:15
なんか最近廃れてるね。

[質問1]
Nullable(of T)の型に別名をつける方法って何かないかな?

[質問2]
Windows Form用の自作の複合コントロールAがあるとして、
それを継承するコントロールA'にさらにコントロールやコンテクストメニューを追加すると、
ビルドも実行も問題ないのにA'をデザイナで開くことができなくなることがあるけど
(このとき、「ClickはReadonlyなので書き込みできない、ような意味の例外メッセージがデザイナに
表示される)こういう場合もしAに何か問題があるとしたらどんな可能性があるでしょうか?

520:デフォルトの名無しさん
07/06/08 20:50:07
>>519
[質問1]Imports NullableInt = System.Nullable(Of Integer)
[質問2]例を出せ

521:デフォルトの名無しさん
07/06/08 21:05:18
>>520
[質問1] について
なるほどこういう場合もImportsが一応使えるのか、ありがとう。

でも、(いや俺の質問の仕方が悪いのですが)その方法だとNullableIntっていう別名は
ファイルスコープ(別のファイルからは見えない)になるよね?

例えばList(of T)なら、

Public Class IntList
Inherits List(Of Integer)
End Class

のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
同じようなことがNullableでもできないかと思いまして。

[質問2] について。
まあおっしゃるとおりなんですが、そういう問題が起こってる複合コントロールは
業務で使ってるんでコード晒せないんですよ申し訳ない。

522:デフォルトの名無しさん
07/06/08 21:21:42
なんでC#だと言語レベルでNullableをサポートしてるのに
VB.NETはサポートしてないんだろうな
逆ならわかるけど

523:デフォルトの名無しさん
07/06/08 21:27:18
なんでわかるのかわからない

524:デフォルトの名無しさん
07/06/08 21:40:03
どうでもいいお手軽記法っぽいから
でもC#と違ってVB.NETはできるだけ記号を使わない方針のようだから
Dim i As Nullable Integer みたいにするんだったら意味ないと考えたのかな

525:デフォルトの名無しさん
07/06/08 21:41:51
javaで

ArrayList<Customer> arryCst = new ArrayList<Customer>();
while(rs.next()){

Customer objCst = new Customer();
objCst.setStrCode(rs.getString("code"));
objCst.setStrYomi(rs.getString("yomi"));
objCst.setStrName(rs.getString("name"));

objCst.setStrPost(rs.getString("post"));

objCst.setStrAddress(rs.getString("address"));
objCst.setStrTel(rs.getString("tel"));

arryCst.add(i,objCst);


i++;
}

見たいな事を.NETでやりたいんですが。。

あるクラスのインスタンスを作ってそのフィールドにDBからとってきた値を格納。
それを配列にしてほかのクラスに渡すようなことをしたいんです。
どうすればいいでしょうか。

526:デフォルトの名無しさん
07/06/08 21:52:18
何がわからないのか
そのように書け、としか

527:デフォルトの名無しさん
07/06/08 21:53:32
ArrayList→List


528:デフォルトの名無しさん
07/06/08 22:03:53
>のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
やめてくれw


529:デフォルトの名無しさん
07/06/08 22:10:11
現在、VB.NETでClickOnceを使用し業務を作成しているのですが、
ClickOnceを使用した場合にクライアントPCのFDアクセスは可能でしょうか?

やれると思うのですが、確証が取れないのです誰か教えてください。

530:デフォルトの名無しさん
07/06/08 22:14:34
なんでテストしないの?


531:デフォルトの名無しさん
07/06/08 22:15:09
誰かができるといったら確証が持てるわけ?


532:デフォルトの名無しさん
07/06/08 22:15:51
ってかできないと思う理由は何?


533:デフォルトの名無しさん
07/06/08 22:17:40
>>528
別にごく普通の手法だと思うけど。。

534:デフォルトの名無しさん
07/06/08 22:19:48
それはおかしい

535:デフォルトの名無しさん
07/06/08 22:19:58
>>529
確証は自分が調べてやってみてから聞けよ
そうやってなんでもネットで調べようとするからカスになるんだ

536:デフォルトの名無しさん
07/06/08 22:31:09
>>533
ネタだよね?ね?

537:デフォルトの名無しさん
07/06/08 22:43:41
>>536
別に君がそう思いたければ思えばいいと思うよ俺は止めない。
内心馬鹿だな、とは思うが。

少なくとも俺は外部に公開するときに

Public Funtion Hoge() as List(of MyStruct)

みたいなことは不恰好だし面倒だしやってられない。
すれにList(of T)ってのは後々案外機能を拡張したくなったりするから
それに備える意味でも都合がいいしね。


538:デフォルトの名無しさん
07/06/08 23:06:10
まあ自分が使う分にはいいんじゃない

539:デフォルトの名無しさん
07/06/09 00:23:56
別名つけるのにそんなことしたら不便になる面もある。
まあ、その辺は割り切ってやってしまうってのもありだとは思うが。

やらないのは馬鹿みたいなのは本気か?と思うぞ。


540:デフォルトの名無しさん
07/06/09 01:01:11
>>539
すまん・・・俺の日本語の読解力が足りないせいか理解しづらい文章だ

541:デフォルトの名無しさん
07/06/09 01:16:06
やりたけりゃやりゃいいが、
それによる弊害もあるんだから、
やらないのは馬鹿みたいな言い方するやつは
ほんとに分かってやってるのか?
と疑問だってことだな。


542:デフォルトの名無しさん
07/06/09 01:24:59

              ら
  な       い
             か?

543:デフォルトの名無しさん
07/06/09 01:28:25
>やらないのは馬鹿みたいな言い方
ずいぶんとまた被害妄想的だねえ。
微妙に(いや本当はかなり)ニュアンス違わないか?

>>537にあえて言葉を付け加えるとすれば、

Public Class IntList
Inherits List(Of Integer)
End Class

これに弊害を感じるとしたらむしろそういう自分のセンスにこそ弊害を感じるべきだろう。
継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら
継承なんて怖くて使えないだろう。

544:デフォルトの名無しさん
07/06/09 01:29:04
>>537
Integerはやめてって言う意味だと思う。

内心馬鹿だな、と思うのは内心だけにしたらどうかと。


545:デフォルトの名無しさん
07/06/09 07:35:39
>継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら

本来同じ意味であるはずの元のListと逆方向の互換性がなくなるとか、
FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いろいろ弊害はあるわけだが。


546:デフォルトの名無しさん
07/06/09 07:46:36
>FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いや、互換性じゃなくて、期待通りに動かない、てことだな。


547:デフォルトの名無しさん
07/06/09 10:14:05
Public Class Form1
2: Inherits System.Windows.Forms.Form
3:
4: #Region " Windows フォーム デザイナで生成されたコード "
5:
6: Public Class Test
7: Public v As Integer
8: End Class
9:
10: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
11: Trace.WriteLine(DateTime.Now)
12: Dim count As Integer
13: count = 10000000
14: Dim test(count) As Test
15: Dim i As Integer
16: For i = 0 To count - 1
17: test(i) = New Test()
18: test(i).v = i
19: Next
20: Dim sum As Long
21: For i = 0 To count - 1
22: sum = sum + test(i).v
23: Next
24: Trace.WriteLine(DateTime.Now)
25: End Sub
26: End Class


某HPからパクって来たソースです。
これってform classの中でpublic classとしてtestというものを宣言しているんでしょうか。
javaだとありえないんですけど、.netだと許されるんでしょうか


548:デフォルトの名無しさん
07/06/09 10:15:11
>>547
お前の存在そのものがあり得ないと思う

549:デフォルトの名無しさん
07/06/09 10:23:18
殺すぞテメ

550:デフォルトの名無しさん
07/06/09 10:39:18
殺人予告です!!!!



Try

殺人計画
包丁を足に落として自爆
いてぇえええええええええ


Catch Ex asException
 殺人前に一回オナニーしたいという性衝動の例外が発生しました
 DoTheオナニー

finally
もう殺人なんてどうでもいいや

end try

551:デフォルトの名無しさん
07/06/09 10:45:18
asException
でコンパイルエラーとなり、
殺人計画頓挫

552:デフォルトの名無しさん
07/06/09 10:47:53
>javaだとありえないんですけど、.netだと許されるんでしょうか
何がありえないのか明確に。


553:デフォルトの名無しさん
07/06/09 10:56:37
vb.net検索結果820万件
vb.net activereports 49100件

java検索結果3億以上
java + eclipse でも4500万以上
java eclipse struts 169万件

こんなマイナー言語もうやりたくねーー
わかりにくいHPかっ飛ばしてわかりやすいHP探すとか100%無理だし、本も売ってねーし
考えても答えでねーし。しかもスゲー忙しいからがんばってとか
さらにわけのわかんねー10万円以上するつーるつかって、.netでいっぱいいっぱいなのになんでわけのわかんねーツールまで持ち出す
言語知識0でいきなり現場投入とかわけわかんねえええ

適当モード確定
もうどーでもいいや、シネとか言ってごめんね
さようなら

554:デフォルトの名無しさん
07/06/09 11:03:04
クラスの中にもう一個クラス宣言することが許されるのかということ


javaちっくに別モジュールにクラス作ってそれほかモジュールから呼ぼうとしたらインスタンスがドーのこーの言われて
出来なかったので調べてただけです。
インスタンス作ろうにもnew クラス名() の()が.net側で勝手に消されてしまう。









555:デフォルトの名無しさん
07/06/09 11:09:43
>>554
おまえその様子じゃJAVAもまともに使えてないと思うんだ
使われてるレベルだと思う


556:デフォルトの名無しさん
07/06/09 11:10:25
>>554
試しにソース晒してみろよ?

557:デフォルトの名無しさん
07/06/09 11:19:05
>クラスの中にもう一個クラス宣言することが許されるのかということ
いつのJavaだよ


558:デフォルトの名無しさん
07/06/09 11:25:21
Java だと無名クラスなんてもんすらあるのにね

559:デフォルトの名無しさん
07/06/09 11:36:26
ソースさらしたくても会社にしかないので。大体こんな感じです

public class person

private name as string
private kana as string
private age as integer

public sub setPerson(byval name as string,byval kana as string,byval age as integer)

this.name = name '---------thisはmeだったかも、覚えてないです---------
this.kana = kana
this.age = age
end sub

end class

別もじゅーーるのフォームかなんかで
~前略

person ps =new person '-------かっこつけたくても自動で消えます
ps.setPerson(aaa,bbb,111)

コンパイルは通ってもインスタンスどーのこーのでエラー





javaは使いこなせてません、ただ見たことなかっただけですクラス中にクラスを作る。



560:デフォルトの名無しさん
07/06/09 11:40:48
>>559
結局何が言いたい(質問したい)んだい?
ただ馴れ合いたいだけなら個人的には他所いってやって欲しいね。

561:デフォルトの名無しさん
07/06/09 11:45:35
いったいそれは何言語だw

ちなみにVBでは引数なしのメソッド呼び出しの()は省略できる。
New だとIDEが勝手に消してしまうので、ほっとけばいい。


562:デフォルトの名無しさん
07/06/09 11:46:22
Javaの方がはるかに内部クラスだらけじゃないか
イベントハンドラを実装するために内部クラスを定義しないといけない仕様だぞ

563:デフォルトの名無しさん
07/06/09 11:46:29
>ただ見たことなかっただけです

見たことない=ありえない。
おまえは神様かっ


564:デフォルトの名無しさん
07/06/09 11:55:54
使ったことなかったですわ。('A`)
イベントハンドライベントリスナーのことでいいんですかね
それだったら使ったことありましたが1個1個implementsして使ってました。
無名とか内部クラスとかは知りませんでした。



.net書き方すらわからん初心者です。
板よごしなのでこれできえます。




565:デフォルトの名無しさん
07/06/09 12:01:17
逆に凄いなw

566:デフォルトの名無しさん
07/06/09 14:45:40
もうほっとけよ

567:デフォルトの名無しさん
07/06/09 17:36:42
vb2003です。くだらない質問ですがお願いします。
mdiの子フォームでキーボードを叩いた時、親フォームのkeydownイベントを走らせないように
したいのですけどどうすればいいですか?

568:デフォルトの名無しさん
07/06/09 17:58:25
親のKeyPreview = Falseにする。
する、というかデフォルトでFalseなはずだけど。
自分でTrueにしておかしいおかしいって言ってるとしたらアホ丸出しだね。

569:567
07/06/09 18:25:05
>>568
ありがとうございます。確認してみます。

570:デフォルトの名無しさん
07/06/10 13:58:04
vb.net2005でクラス同士が完全に等しいか比べるにはどうしたらいいのでしょうか?
equalsを使用してもうまくいきません

571:デフォルトの名無しさん
07/06/10 14:02:50
インスタンスじゃなくてクラスが等しいのか。
普通見ればわかるんじゃね?

572:570
07/06/10 14:04:13
>>571
すいません
インスタンスです

573:デフォルトの名無しさん
07/06/10 14:08:28
何をもって完全に等しいとするのかをはっきりさせんといかんな。

574:デフォルトの名無しさん
07/06/10 14:11:18
>>570
愚問だと思うよ。

そもそもそういう質問をするのはクラスがよく分かってないからだろうから
真面目に勉強しろ、としか言いようがない。

c#になるけど、アスキーから出てるartonって人のc#の本がその辺り
分かり易く掘り下げてるから読んでみるといいと思う。

575:570
07/06/10 14:15:08
>>573
なるほど!!!
何をもって完全に等しいかを考えればよかったんですね!!!!!

中に入っている変数の値、全てが完全に等しいものを探しているので
一つ一つ比較していけばおkですね!


arraylistとか型がobject型のものは完全に等しいかを考えるのがむずかしいですね

576:デフォルトの名無しさん
07/06/10 14:32:07
思而不学則殆そのものだな。
まあ人事だからどうでもいいけど

577:デフォルトの名無しさん
07/06/10 21:44:42
Wubi - Ubuntu installer for Windows
スレリンク(software板)l50

578:デフォルトの名無しさん
07/06/10 23:39:47
コピペ君って馬鹿だな、まで読んだ。

579:デフォルトの名無しさん
07/06/11 06:18:32
ここは初心者馬鹿にしてストレス発散するスレだな。


580:デフォルトの名無しさん
07/06/11 07:08:15
Form1で動画を再生(winmm.dllのmciSendStringAのopen、window、playを使って)→Form1をクリックしたら停止
というのを実現したいのですが、停止がうまくいきません。
Form1の動画以外の場所をクリックした時は停止するんですが、動画をクリックした時は停止しません。
動画をクリックした時も停止させる方法はあるのでしょうか?
ちなみに↓が停止のコードです。

Dim FileName As String = """C:\1.avi"""
End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

581:580
07/06/11 07:11:38
すみません、間違えました。
↓です。

Dim FileName As String = """C:\1.avi"""
Sub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

582:デフォルトの名無しさん
07/06/11 09:18:41
フォーム1に同じデリゲートのプロシージャ作って
動画のクリックイベントに停止処理のプロシージャをAddhandlerしたら終わるんじゃないの?


583:デフォルトの名無しさん
07/06/11 10:39:17
動画をクリッコしたとき発生するイベントに
mciSendStringA("close " & FileName, "", 0, 0)
って書けばいいだろ。

584:デフォルトの名無しさん
07/06/11 10:52:16
栗っ子

585:デフォルトの名無しさん
07/06/11 11:47:55
VB.NETでは「メソッド」と「プロシージャ」の言葉はどう使い分けてるの?
プロシージャ : クラスかモジュールに定義されたSubかFunction
メソッド : クラスに定義されたプロシージャ
でいいの?

586:580
07/06/11 14:37:12
めちゃくちゃ低能な質問ですが、

mciSendStringA("window " & FileName & " handle " & Me.Handle.ToString, "", 0, 0)

これで動画の表示先をForm1にしているのですが(MeはForm1)、この場合の動画のクリックイベントはMe.Clickではないのですか?

587:デフォルトの名無しさん
07/06/11 17:13:24
いや・・・・それいぜんに

Dim FileName As String = """C:\1.avi"""
>>End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

>>つけてる行のソースはありえないから

ヘタな小細工せずにそのまま貼り付けろヤ


588:デフォルトの名無しさん
07/06/11 17:19:45
データ個数32768個(可変)、チャンネルが8ch(可変)のデータがテキスト形式であります。
チャンネルはタブ区切り、データ個数は改行区切りです。

   1ch   2ch   3ch   4ch  …
1   0.5    0.7   0.8   0.9   …
2   0.6    0.12   0.13   0.5   …

32768

という感じの並びです。これを2次元配列に格納してそれぞれのチャンネルの
解析に入りたいのですが、どうやって2次元配列に格納できるでしょうか?
Splitを使ってみたのですが、いまいち分からずに困っています。


589:デフォルトの名無しさん
07/06/11 17:24:33
>588

590:デフォルトの名無しさん
07/06/11 17:35:56
>588
きみのいう2次元配列ってのは
(データ番号,チャンネル番号)でいいのかな?


591:デフォルトの名無しさん
07/06/11 17:37:00
Dim hoge(,) As String
For i As Integer = 0 To データ数 - 1
データ = (i+1)行目のデータ
Dim hogehoge() As String = データ.Split(Chr(Keys.Tab))
For j As Integer = 0 To hogehoge.Split(Chr(Keys.Tab)).Length - 1
ReDim Preserve hoge(i, j) = hogehoge(j)
Next
Next

592:588
07/06/11 17:45:31
レスありがとうございます。
2次元配列はできたら(チャンネル番号、データ番号)がいいですが、
解析はどちらでもできると思います。

ReDim Preserve は処理の速さはどうなんでしょう?


593:デフォルトの名無しさん
07/06/11 17:52:05
自分で試してみろ

594:580
07/06/11 18:21:32
<<587
<<580は間違いなので、<<581で訂正していますが…。
とりあえず、全体です。

Public Class Form1

Dim FileName As String = """C:\1.avi"""

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

Function SendString(ByVal cmdString As String) As Long
SendString = mciSendString(cmdString, "", 0, 0)
End Function

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
SendString("open " & FileName & " alias f1")
SendString("window f1 handle " & Me.Handle.ToString)
SendString("play f1")
End Sub

Private Sub Form1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Click
SendString("close f1")
End Sub

End Class

ケータイで書き込んでいるので、見づらかったらすみません。
今パソコンから書き込めないんです。

595:580
07/06/11 18:31:13
>と<を間違えたorz

596:デフォルトの名無しさん
07/06/11 18:40:22
>>591
やめてくれ

597:デフォルトの名無しさん
07/06/11 18:48:59
参照は4バイトとして
最後には4×8×32768=1MB
平均すると0.5MB
0.5MB×8×32768=128GB
つまり128GBものメモリを確保解放しまくるわけだ。
あほかと言いたい。


598:デフォルトの名無しさん
07/06/11 18:57:24
その けいさんは おかしい

599:デフォルトの名無しさん
07/06/11 19:00:18
あれ、たしかにおかしいな。
ってかこれ正しく動くのか?


600:デフォルトの名無しさん
07/06/11 23:32:52
SqlCommand.CommandTimeoutでSQLのコマンド実行のTimeoutを設定できますが
これのデフォルト値である30秒という値を変更する方法はありませんか?
SqlCommandを使うところ全部でCommandTimeoutを設定するコードを書かずに
設定ファイルで変更できないものかと思っているのですが

601:デフォルトの名無しさん
07/06/12 01:28:11
コネクションストリングにかけば?
つうか、いくらでもあると思うが…

602:デフォルトの名無しさん
07/06/12 04:52:12
>>462

少し気になったので、相乗りで質問、というか、低脳なコメントを。

以前、VB.NETからアンマネージドのCのDLLを呼び出してたのだが、
そのCのDLLの内部に
ローカル変数に対しメモリーアロック掛けっぱなしというBUGがあった。

DLLを作成してたのは他社(仮にA社)だったのでソースも確認しようがなかったので
そんな障害があるとは自社ではまったく気づいておらず、
後日A社から申し出があって、不具合修正版のDLLを貰った、ということがありました。

それはそれで解決したので問題ないのですが、
もしA社が申し出なかった場合、自社では原因を掴むのが難しいと思い・・・

こんなときどうやって切り分けるのでしょうか。

>>458の言っているWorkingSetじゃ
プロセスのメモリ使用量だから
相手のDLLが使用したメモリ量だけ切り出そうと思っても
できないんじゃないかと思うのだが、、、。



603:デフォルトの名無しさん
07/06/12 05:38:48
>>597
たとい12使用しても最近のメモリは性能いいからもんだいない

604:デフォルトの名無しさん
07/06/12 07:01:29
>>601
MSDNのSqlConnection.ConnectionStringを見たところでは対応している
キーワードがないみたいです。Connection Timeoutキーワードは
CommandTimeoutとは別ですよね。他の載っていないキーワードがあるのでしょうか?

また、書き忘れましたが.NET Framework 1.1を使っています。

605:デフォルトの名無しさん
07/06/12 09:13:36
>>597
文句をいうのはいいが、打開案も出さねばゴミだ

606:デフォルトの名無しさん
07/06/12 09:14:04
>>602
普通マネージドプログラムを書いてもらうものじゃないかな?
ウチはCOM使う場合、相手に依存するから検証されてないと保証できないですよ
みたいに言って逃げてる

そんな深い所まで調べる時間が無い

607:デフォルトの名無しさん
07/06/12 12:09:01
RadioButtonListなどを貼り付けたユーザーコントロールを作成しています。

RadioButtonListのListItemコレクションエディタを、ユーザーコントロール呼び出し側で、
操作したいのですが、よい方法ありませんでしょうか?


608:デフォルトの名無しさん
07/06/12 12:43:20
プロパティでそのままラジオボタンリストを公開するとか

public read only property RB as radiobuttonlist
return me.RadioButtonList1
end property

みたいなwwww
エディタのプロパティがネストしてやりづらいしすげぇダサいやり方だと個人的に思うけど
単にラジオボタンリストのコレクション公開すればできないか?


609:デフォルトの名無しさん
07/06/12 15:46:32
配列のソートで質問です。

例えば以下のような構造体を持つ配列があります

structure AAA
ID as integer
ID_2 as integer
Name as string
end structure

このデータを List(Of AAA) に挿入してあります。

AAAの中身

ID ID2   Name
1  2   AAAAAA  
3  2   BBBBBB  
2  3   CCCCCCC  
2  1   DDDDDD 

このList(Of AAA)
の中のデータを簡単に ID,ID2 の準でソートできないでしょうか?
1つならば簡単なのですが 条件が2つあるというのがネックです。

ICompareを独自に実装すべきでしょうか?

610:デフォルトの名無しさん
07/06/12 16:12:19
>>609
URLリンク(msdn2.microsoft.com)(VS.80).aspx

611:デフォルトの名無しさん
07/06/12 16:23:50
>>609 >IComparable.Compare(x, y)
If (x.ID > y.ID) Then
Return 1
ElseIf (x.ID < y.ID) Then
Return -1
Else
If (x.ID_2 > y.ID_2) Then
Return 1
ElseIf (y.ID_2 < y.ID_2) Then
Return -1
Else
Return 0
End If
End If

612:デフォルトの名無しさん
07/06/12 16:28:50
>>610
>>611
ありがとうございます
実装できました!

実装は
IComparer(Of Hoge)
を使用してキャストが発生しないように実装してみました。


613:デフォルトの名無しさん
07/06/12 22:16:39
>>609
そもそもどうやってここにデータを入れたんだw

614:デフォルトの名無しさん
07/06/12 23:06:55
>>613

構造体配列だから普通に入れたんじゃね?

615:611
07/06/12 23:48:46
>>611の一行目はIComparer(Of AAA)の間違いね
>>612はわかってるみたいだけど

616:デフォルトの名無しさん
07/06/12 23:54:05
>>614
そっかww

617:デフォルトの名無しさん
07/06/13 00:20:05
vb2005で、WMIを使ってUSBに接続されたHDとかの
PNPDeviceIDを取得するものを作ってるんだけど、
ドライブ名を指定して取得する方法ってありますか?

「E:」って指定してできるのかと思ったけど、Win32_DiskDriveは
ドライブ情報だからパーティションの情報なんてないし・・・
方法があったら、教えてほしいです

618:デフォルトの名無しさん
07/06/13 12:07:52
VBSでGIF画像の色を置換したいんですが可能でしょうか?
RGB(R, G, B)でいうと、緑色(85, 127, 85) ⇒ 青色(85, 127, 170) に変換したいのです。
大量の画像を一度に処理したいので、フォトレタッチソフトでは手間がかかりすぎて・・・。
どうか、偉い人教えてください。

619:デフォルトの名無しさん
07/06/13 12:23:06
What's VBS ?

Virus Buster Special ?

620:デフォルトの名無しさん
07/06/13 16:48:14
VBScriptのことなんじゃね
ここはVB.NETのスレですよ
もちろんVB.NETなら間違いなく可能だけどVBScriptではどうかは知らん

621:デフォルトの名無しさん
07/06/13 19:25:07
>>619-620
レスありがとうございます。
VBSってのは、VBScriptのことです。説明不足ですみません。
VB.NETだとどういう感じに書けばいいのでしょうか?


622:デフォルトの名無しさん
07/06/13 20:50:09
vb2005を使っているのですが質問をさせてください

例えばフォームにtextbox1~textbox10まであったとして、それぞれに同じ処理を連続して実行したいのですが

for文を使うとして

for n=1 to 10

textbox(n)="文字列"

みたいなことを使用としたのですが、当然これを関数名として認識してくれませんでした
あらかじめ用意した変数に="textbox" & n みたいなことや
今の自分で他にも思いつく限りのことはやってみても同じでした・・・

こういったtextboxやpicutureboxなどのオブジェクト名(?)をfor文等で連続して実行させたい場合
そのオブジェクト名の連番の表記をどういった風にやるのが適切なのでしょうか?

ご助言をどうかよろしくお願いします。

623:デフォルトの名無しさん
07/06/13 21:00:15
どうしてVB6上がりな人は素直に「コントロール配列が使いてえ」って言えないのかね。

ドトネトにコントロール配列はないから自分で配列なりListなり作って
やってくださいよ。

624:デフォルトの名無しさん
07/06/13 21:49:14
どうしてもコントロール配列みたいなことをしたければ、
#Region "Windowsフォームデザイナで生成されたコード  ~#End Region
のところに、
TextBox(1)=TextBox1
TextBox(2)=TextBox2
って書いていけばできるんじゃない?

625:デフォルトの名無しさん
07/06/13 21:57:08
>>617
Win32_LogicalDiskRootDirectory
使えば何とかなるかも

626:デフォルトの名無しさん
07/06/13 22:24:03
>>622
どぼんに配列に関する項目があるから、そこを参照。

627:デフォルトの名無しさん
07/06/13 22:40:06
>>623
VB6なんて使ってませんが?

>>626
カンシャ

628:デフォルトの名無しさん
07/06/13 22:56:49
まあVB6上がりであろうとなかろうと、そんな程度でいちいち人に尋ねてるようじゃ
先はないと思ったほうがいいな。

629:デフォルトの名無しさん
07/06/13 23:00:27
↑ ま た お ま え か

630:デフォルトの名無しさん
07/06/13 23:27:42
>>628
PG以前に人間としての素質が無いとお見受けした

631:デフォルトの名無しさん
07/06/13 23:56:17
>>625
RootDirectory の方はいらんな。
Win32_LogicalDisk の DeviceID がドライブレター。
で、そこから
Win32_LogicalDiskToPartition で論理ディスクに対応するパーティションの DeviceID 取って、
Win32_DiskDriveToDiskPartition でパーティションに対応する物理ドライブの DeviceID 手に入れて、
Win32_DiskDrive から PNPDeviceID
ってことになるんかな?
えらく泥臭くなりそうだけど。

Win32_LogicalDiskToPartition が Win32_LogicalDisk と Win32_DiskPartition の参照を持つはずなのに
何故か String で返ってくるな……。

632:デフォルトの名無しさん
07/06/14 02:07:17
>>627

こいつ時々ここに沸いてるけど質問が素人くさい上に返答の仕方が房臭い
つうか、カスだな 間違いなく
もし業務でやっているならおれは真っ先にお前のようなやつはキル

633:デフォルトの名無しさん
07/06/14 11:29:38
こ、殺すの?

634:デフォルトの名無しさん
07/06/14 12:24:50
PropertyのGet/Setで何も処理しない場合、変数をPublicにするので問題なし?
処理なしPropertyの利点が分からん。

635:デフォルトの名無しさん
07/06/14 12:42:23
>>634
セットもゲットもさせないってことでいいんじゃない?w


636:デフォルトの名無しさん
07/06/14 12:49:34
>>632
↑w
ハイハイワロスワロス

637:デフォルトの名無しさん
07/06/14 12:52:59
>もし業務でやっているならおれは真っ先にお前のようなやつはキル

だっておwwww

AA(ry

馬鹿同士言い合ってる時点で俺は真っ先にそのようなやつはry

638:デフォルトの名無しさん
07/06/14 12:54:56
>>634
将来処理いれるかもしれないだろ?
先を見越した書き方しとけ

639:デフォルトの名無しさん
07/06/14 12:59:59
>>638
そうなったらその時直せば済む話。

640:デフォルトの名無しさん
07/06/14 13:09:54
そしたら参照してるとこ全部直さないといけないでしょうが
汚物は消毒

641:デフォルトの名無しさん
07/06/14 13:11:11

二行目は気にしないでくれ。コピペミスだw

642:デフォルトの名無しさん
07/06/14 13:19:51
大概、先に見越したところは想定通りにならないのが常だがなw

643:634
07/06/14 13:59:48
いや、もう本当に悩む。
変数が40ぐらいのクラスを作らなければいけないのだが、
正直かなり面倒。
今までそう言われてきたから、必ずSet/Getを作ってきたけど、
代入/取得するだけの処理に意味有るのかと。

もちろん入力規則をする場合などには、利用するけどね。

どれだけ、将来的に役立つのか疑問。。
誰か、すばらしい利点を教えてだせい。

644:デフォルトの名無しさん
07/06/14 14:15:46
>>643
フィールドにした場合virtual/overrideに出来ない。VBだとoverridableだっけか。
インターフェイスにフィールドを含めることが出来ない。
リフレクションなどでメソッドの呼び出しを横取りして何かの処理を行うことが
フィールドに対しては出来ない。
通信やCOM呼び出しなどでインターフェイスを実装することを要求しているのは、
処理の横取りが出来ないフィールドを排除するためである。

VB6のCOMのようにpublicなフィールドを暗黙でプロパティにしてしまうのもありだとは思うが、
VB.NETはC#の考え方に合わせたのだろう。


645:デフォルトの名無しさん
07/06/14 14:17:07
上のような理由からだから値型はフィールドのままでかまわないよ。

646:デフォルトの名無しさん
07/06/14 14:27:22
>>640
ん?プロパティにいちいち () つけるタイプ?
それなら修正して回らないと駄目だね。

647:デフォルトの名無しさん
07/06/14 14:46:58
ん? C#メインだから()とか言われても分からないんよ

public int iUnko;

やっぱプロパティにしよう
public int Unko{
 get{}
 set{}
}

iUnkoをUnkoに書き換えなきゃなんないんじゃ?
プロパティの名前をiUnkoのままでもいいけど、
そうしたらクラス内部で使うときに全部プロパティ経由になっちゃうよ
やっぱ書き換えが発生するんじゃ

648:デフォルトの名無しさん
07/06/14 14:52:27
VBにはリファクタの「フィールドのカプセル化」がないのか。そりゃ面倒だね。
C#のもフィールドをまとめてカプセル化する機能がないのでちょい不満だけど。

649:デフォルトの名無しさん
07/06/14 14:54:59
>>647
ああ、いちいちプレフィックス付けるタイプでしたかw

650:デフォルトの名無しさん
07/06/14 15:06:40
C#3.0では自動プロパティという機能がついて
public int Unko{get;set;}だけでよくなるらしい

651:デフォルトの名無しさん
07/06/14 15:35:08
VBは引数付きプロパティが使える関係でプロパティに引数が必要な場合は( .. ) を付ける。
引数なしプロパティには()を付けても付けなくてもいいということらしい。
C#の場合は大小文字を区別するから、フィールドnameでプロパティはNameにするのが一般的だが、
VBの場合プロパティとフィールド名の命名にそういったルールや習慣はあるの?

652:634
07/06/14 15:57:34

>>648を参考にアドインを探したら、Refactor! というツールがありました。
悩んでいるのもあれなんで、これを使ってどんどんプロパティを作ってしまいました。

URLリンク(www.devexpress.com)

653:デフォルトの名無しさん
07/06/14 16:04:04
VB2005でcrystal reportsを使いたいのですが、
インストール方法が分かりません。

恐れ入りますが、ご教示ください。

654:デフォルトの名無しさん
07/06/14 16:07:24
エディションは?

655:デフォルトの名無しさん
07/06/14 16:12:06
>>654

Visual Studio 2005
Tools for the Microsoft Office System

です。

よろしくお願いします。

656:デフォルトの名無しさん
07/06/14 18:35:50
ふいたww

657:デフォルトの名無しさん
07/06/14 19:33:42
>>650
C++/CLIなんて、property int Hoge;だけでおkだぜ?

658:デフォルトの名無しさん
07/06/14 21:53:19
VB2005(Professional Edition)に関する質問です。

プロセス間で同期を取るためにイベントを使いたいのですが、
VB6⇔VC2005とか、VC2005⇔VC2005とかでは他プロセスから
イベントを受信できるのに、VB2005だとできなくて困っています。
どなたか原因分かる方いませんか?

以下ソースの一部(プロジェクトの種類はVCはWin32アプリ。VBはWindowsアプリ)

~~~VC2005~~~
hEvent = CreateEvent( , , , "test_event")
SetEvent(hEvent)
~~~~~~~~~

~~~VB2005~~~
hEvent = CreateEvent( , , , "test_event")
iRet = WaitForSingleObject(hEvent,0) ←ここでイベントを受信しない。
~~~~~~~~~

ちなみに同じプロジェクト内で、SetとWaitを使用した場合は動きます。
~~~VB2005(動く)~~~
hEvent = CreateEvent( , , , "test_event")
SetEvent(hEvent)
iRet = WaitForSingleObject(hEvent,0) ←これは受信する。
~~~~~~~~~

659:デフォルトの名無しさん
07/06/14 21:58:24
それだけで分かったら ESP 名乗れるかもしれないな。

本題とは直接関係ないが、わざわざ Win32API 使わんで EventWaitHandle 使え。

660:658
07/06/14 22:12:02
>>659 レスサンクス
補足っぽいものさせてもらうと、
A、B共にVB2005で作ったexeとして、

A.exeでSetEvent
A.exeでWaitFor~
の場合は、イベントを受信するんだけど

A.exeでSetEvent
B.exeでWaitFor~
の場合は、動かないんですよね。

VB6の場合はどっちのパターンでも動きます。

ちなみに、EventWaitHandle使う場合は、
VC側はどうやるのでしょう?
VCでもEventWaitHandle?それともCreateEvent?
質問増えて申し訳ないです。

661:デフォルトの名無しさん
07/06/14 22:22:15
文字セットの問題とかな

EventWaitHandle は名前付きイベントのマネージドなラッパ。

662:658
07/06/14 22:39:09
>>661 レスサンクス
う~ん それも考えて、
VCのテストアプリを、マルチbyte文字セット、ユニコードの両方試してみてもダメ。
660の例では、コンパイルしてできたexeをリネームして試してみてるので
やっぱり文字コードじゃなさそう。

レスに対して揚げ足取ったようでゴメンナサイね。

何か思いついたことがあれば、引き続きレスお願いします。

663:デフォルトの名無しさん
07/06/15 00:09:02
本当に初歩的な質問をさせていただきます。
フォームが1つありテキストボックスが2つ(1、2)、ボタンが1つ配置してあります
ボタンを押したらテキストボックス1と2に入力した文字をCSVファイルに書き込む用にしたいのですが
どのようにCSVに書き込みのプログラムを組めばよいのでしょうか?

CSVファイルの場所は固定です C:\
2つのテキストボックスには4桁の整数を入力します。
CSV内で2つのテキストボックスに入力した値をカンマ区切りで書き込みたいです。 例 1234,5678
ボタンを押すごとにCSVファイル内で改行して書き込みを行いたいです

ボタン押下の度にCSVの中身は改行され
1234,5678
4321,0987
   ・
   ・

初心者すぎてわかりにくい質問だとはおもいますが
お願いいたします


664:デフォルトの名無しさん
07/06/15 00:14:24
その説明をそのままコードに起こせばおk


で、どこが分からんの?

665:デフォルトの名無しさん
07/06/15 00:21:14
>>664
まず
テキストボックス内の数字を
CSV書き込みの時に反映させるコードの書き方が
全くわかりません・・・
一度テキストボックス内の数字を変数入れたほうがいいのですか?



666:デフォルトの名無しさん
07/06/15 00:36:12
全くって言われても……言葉通りとしか……。
とりあえずファイルに書き込むことはできてる? どうやって書き込んでる?

667:デフォルトの名無しさん
07/06/15 00:41:37
>>666
すいません質問が漠然としすぎていて・・
もう少し勉強してから出直してきます。

668:デフォルトの名無しさん
07/06/15 00:43:40
2005で作ったプログラムを2003に変換する方法ってありますか。

669:デフォルトの名無しさん
07/06/15 01:40:00
1.1にない機能を使ってたらどうすんの?

670:デフォルトの名無しさん
07/06/15 10:08:10
>>668
コピペしてエラーがでたら考える。

671:デフォルトの名無しさん
07/06/15 10:40:30
AddHandlerでLeaveイベントでを関連付けて、テキストボックスからフォーカスが移動した際に
入力のチェックをしているのですが、ツリービューをクリックした際になぜか
入力チェックが2回実行されます。

この原因及び解決法が分かる方がいましたらご教授願います。

672:デフォルトの名無しさん
07/06/15 10:47:45
2005のDataGridViewでDataGridViewButtonColumn列を使用して一覧の表を作成しています

ある特定の行のときだけ
DataGridViewButtonCellの中にあるボタンを無効化(enable=false みたいに)出来ないでしょうか?


673:デフォルトの名無しさん
07/06/15 12:41:48
すみません。URLリンク(www.cbook24.com)を買おうと思っているんですが、
下の方に印刷のところで、クリスタルレポートっていうのが、でてきます。他の本をみていても時々でています。

色々と調べてみたんですが、VB2005Proffessionalエディションじゃないとクリスタルレポートというのは
つかえないんでしょうか・・・

Professionalエディションって結構高いですよね・・ よろしくお願いします。

674:デフォルトの名無しさん
07/06/15 12:43:10
>>671
それで原因がわかったらエスパーだなw
原因および解決法が分かる方がいましたら、ってなんだよ。
まるで原因は自分のミスじゃない、とでも言いたげだな。

そういう時は原因としてどういう可能性が推測できるか、と聞けよ。

675:デフォルトの名無しさん
07/06/15 12:53:56
>>673
Expressでは少なくとも無いなぁ
Standardはしらんが多分Pro以上

Express5000くらいで買ってProにアップグレードしたら多少安く手に入るんじゃないかな?

676:デフォルトの名無しさん
07/06/15 12:54:13
>>673
URLリンク(www.microsoft.com)

677:デフォルトの名無しさん
07/06/15 12:57:12
>>673
バンドル版はPro版以上。それ以下でも製品版を買えば使える。
URLリンク(japan.businessobjects.com)
もちろん製品版も結構高いけどな。

678:デフォルトの名無しさん
07/06/15 13:02:18
タグ上で右クリしたときContextmenuStripが表示されるようにしたいんですが
なんかいい手無いかなー?
要はタブを追加、タブを閉じるのメニューを表示したいんす

679:デフォルトの名無しさん
07/06/15 13:03:23
>>672
以前自分もこれしらべたことあったけど、現状じゃ無理ー。

680:デフォルトの名無しさん
07/06/15 13:05:51
>>678
タブコントロールのタブか?
普通にマウスクリックイベントに書けば?

681:デフォルトの名無しさん
07/06/15 13:08:44
>>679
やっぱむりっすか・・・
中のボタンコントロールみたいなのとれればなとか
あれこれ調べたんですがこれもムリだったので、まぁ、今回はちょっと別の方法模索してみようかなとおもいます。

レスありがとうです!

682:デフォルトの名無しさん
07/06/15 13:14:45
>>681
正確にいうと、ReadOnlyにすることで、無効化は可能。
ただ、視覚的にenabled=false(グレー表示)にすることが不可能。
ボタンを押す行為自身はできちゃうんだよね…

683:デフォルトの名無しさん
07/06/15 13:28:06
>>682
もうちょっとツボ抑えた機能がほしいところですね
全部既存のコントロールが中にあるんだろうし 少しくらい公開してくれても・・・(;´Д`)


684:デフォルトの名無しさん
07/06/15 13:34:46
中にコントロールはなかったような。
編集するときEditControl生成するくらいじゃね?
Buttonの絵を書いてるだけだよ。
じゃなきゃ何千ものコントロールのハンドル管理しなきゃいけなくなるっしょ。

だから継承して自分で描画すればいいだけの話

685:デフォルトの名無しさん
07/06/15 14:04:58
>>684
いいヒントもらえたのでちょっと強引にやってみました。
セルのボタンを表示したくないValueにはNothing そうじゃないばあいNothing以外を入れて
CellPaintingイベントで

If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 AndAlso dgvList.Columns(e.ColumnIndex).Name Is 該当のカラム Then

Dim temp As DataGridViewCell = dgvList.Rows(e.RowIndex).Cells(e.ColumnIndex)

If temp.Value Is Nothing Then

Dim TempPoint As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y)
Dim TempPoint2 As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y + e.CellBounds.Height)

e.Graphics.FillRectangle(New SolidBrush(Color.White), e.CellBounds)
e.Graphics.DrawLine(New Pen(SystemColors.ControlDark), TempPoint, TempPoint2)

e.Handled = True

End If

End If

ボタンを表示したくない時は自分で塗りつぶして線も描画し、表示したい時はコントロール任せ
こんな感じでとりあえずいけそうかなぁと
助かりました~

686:デフォルトの名無しさん
07/06/15 14:42:56
グループボックスの中にボタンが配置してある場合、グループボックスの背景色を
変更したらボタンも一緒に変わってしまう。。

再度ボタンを設定しなおせば良いのは分かりますが、
予め反映させないようには出来ないのでしょうか?

687:デフォルトの名無しさん
07/06/15 15:22:57
>>686
????
今やってみたけど変わらないと思うぞ

あらかじめGroupBoxに背景色が設定してあって、そのうえにボタン追加したらその現象が出るなぁ・・・
ちなみに2005IDEね


688:686
07/06/15 15:37:46
ぇええぇぇええ~。

実験どうもです。
自分の所もVS2005のVB。

ちょっと新規にプロジェクトを作成して試してみましたが、
グループボックスの中にボタンを配置して、以下のプログラムで再現します。

GroupBox1.BackColor = Color.Aqua


この場合、グループボックスもボックス内にあるボタンもAqua色。。



689:デフォルトの名無しさん
07/06/15 15:46:23
>>686
あ~
ボタンのスタイルをスタンダードにしてるから
見た目かわらないだけでグループの背景色変えたらボタンの背景色変わってるな~
たしかにFlatとかにしてたらIDEでも変わるのが目に見えて判る

こういう処理やったことないからわからないけど・・・・自動で子にいろいろ設定されるのは難しいんじゃなかろうか・・・
FormのFontSizeとか変えたら子のサイズも変わるのと同じ原理なんだろうなぁ・・・
ある意味気が利いてていいんだが・・・

690:686
07/06/15 15:47:58

コードとか関係なくGUIでもそうなっているんですね。。

ラベルやチェックボックスとかには便利だけど、
ボタンにこれは必要ないだろ~。

ぅう、面倒くさー。

691:686
07/06/15 15:50:10
>>689
入れ子になりました。

度々どうもです。
うーん、小さな親切って奴ですな~。

692:673
07/06/15 15:51:01
>>675
どうもありがとうございます。ExpressからProにアップグレードできるんですか?
以前のエディションのPro版からしかアップグレードできないとおもっていたので、
とても助かります。ありがとうございました。

>>676
どうもありがとうございます。わざわざURLを貼っていただきまして。やっぱりPro版じゃないと
だめみたいですね。

>>677
製品版なんてものもあるんですね。CrystalReport単品ですね。でも、7万しますね・・
MicroSoftはここまで金をもうけないと駄目なんですかね・・

どうもありがとうございました。お礼が遅くなりすみませんでした。料理してたら忘れてまして・・

693:686
07/06/15 15:54:48
>>689
ああ、どうもです。

FlatStyleプロパティをSystemにする事で、回避できそうです。

694:デフォルトの名無しさん
07/06/15 16:01:58
>>693
ついでにちょっと試してたんだけど

IDEでグループボックス貼り付け
IDEでボタン貼り付け
ボタンのスタイルをフラットにして、色をREDに変更

このあとグループボックスの色変えてもボタンの色変わらなくない?
もちろんコードでグループボックスの色変えても

695:686
07/06/15 16:06:56
>>694

自分が確認した範囲では、一度ボタンの色を任意に設定した後は、
ボタンのスタイルに関わらず、グループボックスと連動する事はなさそうです。

スタイルをSystemにするか、BackColorをColor.Transparentにするかの
どちらかになると思います。

696:デフォルトの名無しさん
07/06/15 16:11:53
>>674
ではその可能性とやらを教えてください

697:デフォルトの名無しさん
07/06/15 16:20:47
>>696
またお前かw
偉そうな質問者よ
他のスレで大暴れしているな?

698:デフォルトの名無しさん
07/06/15 16:25:08
>>697
完全に人違い。
さっきのはもうあきらめました。

ちなみに別のところで詰まってるんだけど
教えてもらえるかな

699:デフォルトの名無しさん
07/06/15 16:54:12
だがことわる



って言われたら諦めるの?

700:デフォルトの名無しさん
07/06/15 17:11:23
やだ

っていったら教えてくれるの?

701:デフォルトの名無しさん
07/06/15 17:23:11
>>700
お前には教えない
教える気になる書き方しろやカス

つうか、おまえはそういう聞きかたされておしえるのか?

もしそうなら教えてほしいんだが
Form閉じる時に何か処理したいんだがなんてイベント使えばいいんだ?
たのむから教えてくれカス

702:デフォルトの名無しさん
07/06/15 17:57:14
何でお前はそんなに偉そうなんだ

お前は俺の質問に答えられるのか

無理なくせにえらそうにするなよ

703:デフォルトの名無しさん
07/06/15 17:59:13
DataTableでColumnsの最大値っていくつまで指定可能ですか?

704:デフォルトの名無しさん
07/06/15 17:59:25
>>698 = >>700 = >>702 = Null
つまり奴はこの世の中には存在しないんだよ!!!!

>>702
それまさにお前 m9(^Д^)
ところで釣れますか?

705:デフォルトの名無しさん
07/06/15 18:02:41
>>701
FormClosingだ、馬鹿。
Closingが見つからないからってあせるな馬鹿。

706:デフォルトの名無しさん
07/06/15 18:04:52
>>703
Columns.CountプロパティがIntegerだからそこから最大値は必然的にわかるだろ。

707:デフォルトの名無しさん
07/06/15 18:09:53
>>706
おお!
盲点ってか全く気がつかなかった。
サンクスです。

708:デフォルトの名無しさん
07/06/15 18:13:21
ぜひ>>671には
わ○くま とかの掲示板で質問していただきたいw

709:703
07/06/15 18:14:17
もうひとつ聞きたいことがあるんですが、
DataTableにNewRowした時点で、
あらかじめ項目に規定値をセットする方法ってあるのでしょうか?

710:デフォルトの名無しさん
07/06/15 18:15:14
>>705
ばっかw
そこは2003か2005か聞くところからはじめさせるための釣りの布石なんだよwwww







 MayBe...
BoyesBe...

711:デフォルトの名無しさん
07/06/15 18:18:11
>>709
DataColumn みてみ?

712:703
07/06/15 18:24:59
>>711
どうもです。
試してみます。

713:デフォルトの名無しさん
07/06/15 18:47:12
VB2005が何か落ちまくる。

コピペしようとすると、コピーの段階でdevenv.exeのCPU使用率が
急上昇して最終的に落ちるか固まる。

はー・・・。

714:デフォルトの名無しさん
07/06/15 18:48:28
Dim str As String = "abc"

str = Format(str, "@,@,@")

MsgBox("str")

これで出力をすると結果が「@,@,@」になるのですが、どうしてなのでしょうか?;

どの解説サイトを見てもFormat関数の書き方は間違ってないはずなのですが・・・

715:デフォルトの名無しさん
07/06/15 18:49:12
ちなみにHndles Button.click内にあります。

716:デフォルトの名無しさん
07/06/15 19:09:04
すみません、上記は間違いです

Dim str As String = "abc"

str = Format(str, "@,@,@")

MsgBox(str)

自分では「a,b,c」と出ると思ってるのですが、どこか間違ってるんでしょうか?

717:716
07/06/15 19:14:32
VB2005です

718:デフォルトの名無しさん
07/06/15 19:16:07
TextBox/DateTimePicker/CheckBox/RadioButton などのコントロールが
50個以上あるフォームが有るのですが、フォームのクローズボタンなどで
閉じられた際に、内容が修正された場合には確認のメッセージを
表示させたいのですが、どうすれば良いでしょうか?

TextBoxの場合はModified がありますが、それ以外のコントロールはありませんし・・・。


719:デフォルトの名無しさん
07/06/15 19:19:03
>>718
起動した時に覚えておいて
Closingかなんかでチェックすればいいんじゃね?


720:デフォルトの名無しさん
07/06/15 19:27:46
>>719
やっぱりそれしか無いですかね。

なんか遅くなりそうで心配・・・。

721:デフォルトの名無しさん
07/06/15 19:32:32
フラグ一つ見るのに時間がかかるわけがないと思うんだが。
たぶん1nSecもかからないと思うぞw

722:718
07/06/15 19:50:28
>>721
え?フラグ一つってどういうことでしょうか?

今、修正される可能性があるコントロール全てを、データクラスにして
表示する時と閉じる時にセットして比べようとしているんですが・・・。

もしかして自分は壮大な過ちを犯してしまっているのか!

723:デフォルトの名無しさん
07/06/15 20:09:45
そのデータクラスにIChangeTrackingを実装すればいい。

724:デフォルトの名無しさん
07/06/15 20:14:26
フラグを一つ付けるためだけにコントロールを継承するのはアホらしいでしょ
Control.TagプロパティやDictionary(Of Conrtol, Boolean)でいいと思うけど

725:デフォルトの名無しさん
07/06/15 20:15:13
フラグはフォーム全体に一つで十分だろ…

726:724
07/06/15 20:18:21
すまん>>723はデータクラスにフラグを付けろって言ってたんだな
それでいいと思う


727:718
07/06/15 20:28:27
ありがとう御座います。

IChangeTrackingってググってもあんまり情報が無いですね。
インターフェースですか。

変更されたかどうかと、それをリセットする事が出来るみたいですね。
まさにこれが欲しかった!
.NET2.0スバラシイ!

でも使い方が良く分からない・・・。

ちょっと、いろいろ実験してみます。




728:718
07/06/15 21:07:50
駄目だ!
全然値が入らない。

そもそもインターフェースの使い方も良く分からなかった。

作ったデータクラスに、下記を書き込んで
Public Interface IChangeTracking

End Interface


下の変数でどうにかするんだろうけど、、サパーリネ
Dim instance As IChangeTracking


729:デフォルトの名無しさん
07/06/15 21:28:11
>>718
すまん。
あんたPGの才能ないと思うわ。

たぶんデータが変更された後セーブされずにプログラムが終了されようとしてる時に
そのまま終了するかセーブするかユーザーに確認したい、ということだと思うけど、
それなら、仮に厳密にやるとしてもセーブした時点のデータと
プログラムが終了されようとした時点のデータを比較するだけじゃん。

普通はそこまでしなくても、例えば

Private dataModified as Boolean = False

みたいなフィールドを作っておいて、何か一つでも変更があったらこれをTrueにすれば
用は足りるんじゃないの?
もちろんundoした場合の動作の厳密さが必要ならこういう手抜きはダメだけどね。

730:718
07/06/15 21:37:08
>>729
才能無くてサーセンwwwww


それって、修正される可能性があるコントロール全てに
イベントを作るって事ですか?

731:デフォルトの名無しさん
07/06/15 22:17:30
>>730
そういう聞き方するってことはたぶんコントロール自体をデータの入れ物にするような設計、
つまり何かのタイミング(ファイルにセーブするとか?)で一度に全部のコントロールの
プロパティをまとめて読むような設計なんだろうけど、普通はそもそも
そういうプログラムの書き方しないと思うよ。

732:718
07/06/15 22:55:30
ガーン。
そうなんですか。

>>731の書いてある通りに、登録ってしたらコントロールの内容をDBへ
一括に書き込もうとしているんですが、これってオカシイんですか。
(コントロール→データクラス→DB)

それで、登録されずに閉じられようとした場合には、確認のメッセージを
出したいって感じですが・・・。

733:デフォルトの名無しさん
07/06/16 00:37:24
いや、検証はいつかしなくちゃいけないんだから、

・コントロール全部にイベントつけて値が変わったら個別の検証コード走らす
・close, apply, ok等のアクションで全体の検証コード走らす

のどっちかでしょ。

前者だったらclose,apply,ok等のアクションで判定するのは一つのフラグで済むけどイベントがたくさん
後者だったらイベントたくさんはいらないけどアクションで全体を検証しなくちゃいけない

どっちでもいいと思うけど、コントロールが多いなら後者がいいんじゃないの?

734:716
07/06/16 01:43:54
どなたか分かりませんか?;
ボタンのクリックイベントで

Dim str as string

str=Format("ABC","@,@,@")

Msgbox(str)

とだけやっても結果が@,@,@となりできませんでした・・・
数字の場合だと

Dim str as integer

str=Format("123","00000")

Msgbox(str)

00123となり大丈夫だったんですが、Stringになると・・。

開設サイトを見ても文字列の書式は

Format("ABC","@@@@@")

で結果が  ABCとなると書いてあるのに私のプログラムですと@@@@@なってしまいます;

735:デフォルトの名無しさん
07/06/16 10:04:26
まあ何が間違ってるか、ってそれはきみの学習姿勢が間違ってるんだよ。煽り抜きで。
または致命的に頭が悪いか。

いずれにせよ、そのレベルのことを人に聞くのは恥ずかしいことだ、って意識がないとしたら
PG向いてないよたぶん。

736:デフォルトの名無しさん
07/06/16 10:19:00
>>734
ここの下のほうを見ろ
URLリンク(msdn2.microsoft.com)(VS.80).aspx

737:デフォルトの名無しさん
07/06/16 16:41:37
>>735
ま た お ま え か

煽り抜きで言わせてもらうが頭大丈夫か?
このスレで「PGとして~」「仕事として~」「才能が~」「素質が~」とか言って叩かれてるやつ全部お前だろ?
お前はプログラマという職業が素質、才能のあるやつにしかできないものだと思っているみたいだが
もはやPGが流れ作業員として溢れている現状を把握できていればそんな高貴なもんじゃないと分からんのかw

そもそも、ここはVB.NET質問スレであって
ここに来ているやつは初心者はもちろんの事、仕事外で趣味でやってるやつもいて当然なんだが
そこを把握できてない点で頭でっかちなお前さんはPG向いてないよ?
チームで組んだことがない孤独PGか、自分の発想しか受け付けないワンマン上司と見たな。

そんなハイクオリティなお前さんには
つ「【才能(笑)】高貴なVB.NET質問スレ【才能(笑)】」



738:デフォルトの名無しさん
07/06/16 17:02:51
>>737
> このスレで「PGとして~」「仕事として~」「才能が~」「素質が~」とか言って叩かれてるやつ全部お前だろ?
俺も言ってるから、全部同一人物ではないよ。

739:デフォルトの名無しさん
07/06/16 17:05:57
「VB.netの」質問をするレベル以前の質問があるのも事実

740:737
07/06/16 17:12:17
>>738
ちなみに俺も。

741:デフォルトの名無しさん
07/06/16 17:12:21
「VB.netの」回答をするレベル以前の回答があるのも事実

742:デフォルトの名無しさん
07/06/16 18:30:05
>>737
何度言っても分からん馬鹿だね。
初心者であることと叩いてるんじゃないんだよ。
怠惰を叩いてるの。

初心者でも怠惰じゃなきゃ734みたいな質問はしない。

743:デフォルトの名無しさん
07/06/16 18:39:35
>>742
かわいそうな  ゆ  と  り  w

744:デフォルトの名無しさん
07/06/16 19:00:10
>>741
低レベルな質問には低レベルな回答で十分

745:デフォルトの名無しさん
07/06/16 19:06:25
VBスレだけは回答者がアホ杉。 C丼スレと比べても明らか。

746:デフォルトの名無しさん
07/06/16 19:08:19
c#スレもここ1年ぐらいはずいぶんレベル低いんだけどな。

747:デフォルトの名無しさん
07/06/16 20:12:18
てかみんなC#もVB.NETも同じように使えるんだろ?

748:デフォルトの名無しさん
07/06/16 21:02:23
同じように使えるがVB上がりは総じてバカなんだお^^

749:デフォルトの名無しさん
07/06/16 21:49:57
VB6しかできません><

750:デフォルトの名無しさん
07/06/17 02:43:45
>>742
怠惰?お前は734の何が分かってるんだ?
分かったから>>737で書いたとおり専用スレにでも行っとけ

751:デフォルトの名無しさん
07/06/17 02:45:45
>>742
あと「何度」って
どれとどれとどれとどれどれと、どれだよ?

752:デフォルトの名無しさん
07/06/17 03:35:48
>>742
そう思えばスルーすればいいじゃないか?
別にここはそういう人間が来ていけない理由もないし
怠惰であろうがなかろうが答えてもいいと思える人間が答えられるならそれでいいじゃないか

753:デフォルトの名無しさん
07/06/17 05:56:12
throw new exception("他でやれ")

754:デフォルトの名無しさん
07/06/17 22:58:03
VB2005からVCで作られたDLLをコールするときにエラーが出て困ってます。
関数のパラメータに構造体を指定して、構造体のメンバの文字列を渡したいけれど、
なんかうまく行かないんですよね。VB2005だと固定長文字列ってのがサポートされて
いないとか何とか言うのは分かったけれど、解決方法が不明となっています。アドバイスをお願いします。

コードはこんな感じ。
*VC2005*****************************************************************
typedef struct{
 int iTemp;
 char cTemp[256];
}tag_strTemp;

void __declspec(dllexport) WINAPI TestFunction(tag_strTemp* pstrTemp)
{
 MessageBox(NULL, pstrTemp->cTemp, "", 0);
}

*VB2005*****************************************************************
Moduel Module1
 Public Structure tag_strTemp
  Public iTemp as Integer
  Public cTemp as String ←ここの定義に問題があるんだと思ってます。
 End Structure
End Module

Public Class Form1
 Private Sub Form1_Load(・・・)
  Dim strTemp as tag_strTemp
  strTemp.cTemp = "ABCDE"
  TestFunction(strTemp)
End Sub
End Class

755:デフォルトの名無しさん
07/06/17 23:03:16
MSDN の相互運用マーシャリング以下の項目見れ
サンプル付きで解説されてる

756:デフォルトの名無しさん
07/06/17 23:34:39
つうか
chrにString渡してどうする・・・・
Chrで渡せばいいのに・・・・

757:デフォルトの名無しさん
07/06/18 00:12:40
>>756
君も恥かかないうちにその辺で止めといたほうがいいよw

758:デフォルトの名無しさん
07/06/18 00:23:27
>>757
まぁ・・・書き方はともかく理由は分かってそうなイメージだけどな

759:デフォルトの名無しさん
07/06/18 00:41:08
756が分かってるわけないでしょw

値型と参照型の区別もついてないか、あるいはCで>>754みたいな構造体を
作ったときのメモリイメージが理解できてないか、少なくとも何れかではある。

760:デフォルトの名無しさん
07/06/18 09:14:20
>>759
まさか・・・Stringを値型と勘違いしている・・・わけねぇべ
そんなPGいねぇだろ




761:デフォルトの名無しさん
07/06/18 10:07:38
>>754
<StructLayout(LayoutKind.Sequential)> _
Public Structure tag_strTemp
  Public iTemp as Integer 
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst := 256)> _
  Public cTemp as String
End Structure

詳細は>>755 の通りでMSDN参照のこと。
複雑になるようならC++/CLIでアセンブリラッパを作ってもよい。

762:デフォルトの名無しさん
07/06/18 12:24:29
アラインメント(パッキング)も指定した方がいいんじゃない?
まあMSDNライブラリにデフォのパッキングサイズは8Byteって書いてあるのは
間違いっぽいから要らないのかもしれないけど。

あとOut属性も。

763:デフォルトの名無しさん
07/06/18 13:32:31
SQL鯖のDBのカラムで AAA というカラムがあり VarChar(100)でNotNull+デフォルト空文字だとして
データ取得する時に

1: dim temp as string
2: temp = directcast(dt.rows(0).item("AAA"),string)

として取得している部分があったとき
2の部分でこうやってやるのってムダダしやる必要ってあると思う?
俺は定義で必ずNullはないとしているんだからナンセンスだと思うんだが みんなはどうやってるんだろ?

if dt.rows(0).item("AAA") isnot dbnull.value then
 temp = directcast(dt.rows(0).item("AAA"),string)
else
'あれば何か書く
end if


764:デフォルトの名無しさん
07/06/18 17:59:04
SQL文中で
ISNULL(対象カラム,'')
ってしておけばいいんでない。

765:デフォルトの名無しさん
07/06/18 19:42:13
やる必要なし
NotNull制約を外した場合を考慮するってことなんだろうけど
そんなこと考え出したら、システムがややこしくなっちまう
心配ならデータ設計見直すべき

766:デフォルトの名無しさん
07/06/18 21:37:34
>>762
適当なこと言うな。
.NET のマーシャリングのデフォルトパッキングは8で間違いないし
この場面ではパッキングサイズは問題にならない。
文字列を DLL に渡したいのに Out 属性つけてどうする。

767:デフォルトの名無しさん
07/06/18 21:47:07
>NET のマーシャリングのデフォルトパッキングは8で間違いないし
いやだからMSDNライブラリにはそう書いてあるけど、実際いろいろ試してみると
どうも4になってるみたいだよ。VB固有かも知れないが。

あと、アラインメントが問題にならない訳がないw
最後の行に関しては確かに>>754はそう言ってるね見落とした。

768:デフォルトの名無しさん
07/06/18 21:53:44
>>767
間違いなくパッキングサイズの意味を勘違いしてる。

<StructLayout(LayoutKind.Sequential, Pack:=4)> _
Structure Pack4
    Public Data1 As Byte
    Public Data2 As Long
End Structure

<StructLayout(LayoutKind.Sequential, Pack:=8)> _
Structure Pack8
    Public Data1 As Byte
    Public Data2 As Long
End Structure

<StructLayout(LayoutKind.Sequential)> _
Structure PackDefault
    Public Data1 As Byte
    Public Data2 As Long
End Structure

Debug.WriteLine(Marshal.SizeOf(GetType(Pack4)))
Debug.WriteLine(Marshal.SizeOf(GetType(Pack8)))
Debug.WriteLine(Marshal.SizeOf(GetType(PackDefault)))

> あと、アラインメントが問題にならない訳がないw
「この場面では」と断ってるだろ。

769:デフォルトの名無しさん
07/06/18 21:55:12
だから「この場面で」問題になるってw
頭おかしいんじゃないの?

770:デフォルトの名無しさん
07/06/18 22:02:24
>>768 でデフォルトが 8 ってのは証明できてるとして。

<StructLayout(LayoutKind.Sequential, Pack:=4)> _
Structure Pack4
    Public Data1 As Integer
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=5)> _
    Public Data2 As String
End Structure

<StructLayout(LayoutKind.Sequential, Pack:=8)> _
Structure Pack8
    Public Data1 As Integer
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=5)> _
    Public Data2 As String
End Structure

Debug.WriteLine(Marshal.SizeOf(GetType(Pack4)))
Debug.WriteLine(Marshal.SizeOf(GetType(Pack8)))

何がどう問題になるのか教えてもらおうか?

771:デフォルトの名無しさん
07/06/18 22:10:02
?

772:754
07/06/18 22:18:26
>>755,761
ありがとう!
解決しますた!
>>762さんが言ってたことについては、
アラインメントについても詳しくは理解できていないので、
メンバを8byte区切りにしたり、ダミー変数使ったりして対応します。

773:デフォルトの名無しさん
07/06/20 11:56:14
検索システムで,検索結果をDataGridに表示しています.(ReadOnly)
ちがう条件を入力したら,現在表示されている行に追加されていきます.
どうしたら,DataGridに表示されている内容をリセットできますか?
DisposeだとDataGridごと消えるし,空データをバインドしても消えないし…
どなたか教えて下さい.

774:デフォルトの名無しさん
07/06/20 12:02:59
Panel コントロールで、ScrollBar の Scrollイベントに合わせて
リアルタイムで追随する移動を行うべくあちこち探してるのですが、
こういうときは、Client領域を移動できるメソッドかプロパティとして
何を使用すればいいでしょうか。

775:デフォルトの名無しさん
07/06/20 12:12:07
Location

776:デフォルトの名無しさん
07/06/20 12:40:29
>>773
ちょっとソース書いてみ

777:デフォルトの名無しさん
07/06/20 12:45:56

一つのプロジェクト内にユーザコントロールを作成して利用していますが、
コントロールを配置したフォームのデザインが修正されると?エラーになり、
デザイン画面が表示されなくなります。

エラーメッセージ
型 'hogehoge.TukuttaControl' が定義されていません。


例:
プロジェクト名:hogehoge
ユーザコントロールクラス名:TukuttaControl
コントロールを配置したフォーム:Form1

とある時に、Form1.Desugner.vbの内容が以下のように勝手に
修正されてしまい、上記のエラーになってしまいます。

○ Me.TukuCon = New TukuttaControl

× Me.TukuCon = New hogehoge.TukuttaControl

どうにか対策は無いでしょうか?

778:777
07/06/20 12:47:40
追記です。

× Me.TukuCon = New hogehoge.TukuttaControl
上記のhogehoge.を消せば、デザイン画面も正常に表示されます。

またTukuttaControlはDllにはなっていません。

よろしくお願いします。

779:デフォルトの名無しさん
07/06/20 12:58:12
>>775
あーっそうでしたか、助かりました!!
回答ありがとうございました!!

780:デフォルトの名無しさん
07/06/20 13:30:11
>>779
と思ったら、これってのはもしかして、Client領域のView範囲を動かす
のではなくて、中のコントロールだとかを自前で動かすということでしたか・・・?

PanelのClient領域のView位置をプログラムで移動するには何を使えば
いいでしょう?

781:デフォルトの名無しさん
07/06/20 14:04:23
>>780
何いってんのかさっぱりわからんが、
Panel内をスクロールさせたいの?
もしかしてPanelにScrollコントロールをわざわざつけてたりする?
AutoScroll = trueにすれば自動で表示されるけど。

あとは
ScrollControlIntoViewとか
VerticalScroll/HorizontalScrollとか

782:デフォルトの名無しさん
07/06/20 14:58:45
>>781
どうもです!!

実はそのAutoScrollですが、確かにScrollBarが出てきてすくロース機能は
あるにはあるのですが、、

そのスクロースバーを掴んでマウスボタンを離すと、Panel内のViewが移るのが
わかります。

しかし、リアルタイムの動作にならず、これを、マウスボタンを掴んだままで
View位置を動かしたいのでした。

マウスのホイールをまわすと確かにリアルで動きますが、スクロールのスピード
が限定されるので、できればバーの動きと同期した移動を行ないたいのです。

SetDisplayRectLocation なども見ていますが、これだとWinProcとか使わないと
いけなさそうでした。できれば手軽に既存のメソッドかプロパティがあればと・・・。

783:デフォルトの名無しさん
07/06/20 23:37:19
ID3v1のタグを読み取りたいのですが
発売の年だけがうまく読み取れません
誰かご教授願えませんでしょうか?
あとエクスプローラーからのドラッグ&ドロップも宜しければお願いします。

784:デフォルトの名無しさん
07/06/20 23:46:29
それだけ言われてもそうか大変だなとしか言いようがねぇ
D&D なんて検索すりゃいくらでも出てくるだろ

785:デフォルトの名無しさん
07/06/21 00:10:21
昔VB6で作ったプログラムを、プロジェクト変換機能を使ってVisualStudio2005に
読み込ませてコンパイルしてみたら、.Netframework必須のアプリが
できあがってしまいました。
VB6で作ったプログラムをVisualStudio2005でコンパイルして
.Netframework不要のアプリを生成することはできないでしょうか。
.Netの機能を使いたいわけではなく、コンパイルしたいだけなのですが
なんとかならないでしょうか。

786:デフォルトの名無しさん
07/06/21 00:14:27
なりません。
はい次。

787:デフォルトの名無しさん
07/06/21 00:22:00
>>785
いかんともしがたい

788:デフォルトの名無しさん
07/06/21 00:51:06
>>782
オレの環境では、Panelにボタンを置いてスクロールさせるとリアルで追従するけど?

789:デフォルトの名無しさん
07/06/21 01:01:09
Diposeパターンについて教えてください。

PenやBrushのようなアンマネージリソースをラップしたオブジェクトを保持するクラスの場合
AとBのどちらで開放するのが正解?


Public Overrides Sub Dispose( ByVal disposing As Boolean)
If disposed Then
If (disposing) Then
' マネージリソースの開放 (A)
End If
' アンマネージリソースの開放 (B)
disposed = True
End If

End Sub

790:デフォルトの名無しさん
07/06/21 01:02:32
いきなり打ち間違えてるし。。。
Disposeパターンです。

791:デフォルトの名無しさん
07/06/21 01:03:15
disposingに関わらず解放


792:デフォルトの名無しさん
07/06/21 01:04:48
IntPtr 以外は全部マネージドと考えてもいいよ。

つかその辺は保持するな、必要な時に作ってすぐ捨てろ。

793:デフォルトの名無しさん
07/06/21 01:06:42
いや、コストを考えるとキャッシュしておきたい場合もあるだろハゲ

794:デフォルトの名無しさん
07/06/21 01:06:51
ん?
791と792と回答が違うけど、どっちが正解?


795:デフォルトの名無しさん
07/06/21 01:09:39
792。
自分が持っている参照型のフィールドはファイナライザのタイミングでは手を出しちゃダメ。

796:デフォルトの名無しさん
07/06/21 01:10:14
ファイナライザ?

797:デフォルトの名無しさん
07/06/21 01:10:56
サンキュー
イマイチ、この辺の具体例を書いてあるサンプルが見つからなくて困ってた。
勉強になったよ。

798:デフォルトの名無しさん
07/06/21 01:24:05
また羊がひとつ屠られた

799:デフォルトの名無しさん
07/06/21 01:50:49
VB2005(Express)でお聞きしたいのですが

Public Sub WriteXml(ByVal fileName As String)

Dim instance As New DataSet1.NewItemDataTable

instance.WriteXml(fileName)
End Sub

上記コードでデバッグ中にDataTableVisualizerで確認してもデータテーブルにデータが
ない状態で、出力されたXMLにも書き出されていませんでした。
データセットに存在しているのはこのテーブルだけです。
DataTableをバインドしているDataGridViewには入力中データが反映されています。
DataTableをXMLに出力するにはどうすればよいのでしょう。

わかりにくいかも知れませんが、よろしくお願いします。



800:デフォルトの名無しさん
07/06/21 05:35:37
new って英単語の意味は知ってる?

801:デフォルトの名無しさん
07/06/21 09:24:27
>>799

DataGridView.DataSource
つかえこのカス野郎!


802:デフォルトの名無しさん
07/06/21 09:48:20
VB2005について質問です
SPREADで列数18、幅25の表を作ったら動作が重かったんですが、軽くする方法ありませんか?

803:デフォルトの名無しさん
07/06/21 09:55:58
>>802
グレープシティーに聞けばいいと思うよ

804:デフォルトの名無しさん
07/06/21 10:08:52
>>802
しかもおまえマルチかよ・・・・
ほんと頭悪いから出て行けよw
なにをどうとかなら判るが これだけの情報でどうやって動作軽くしろとかいうんだ
アフォらしいの通り越して、お前みたいな奴がソフト作るのホントやめてほしい

//--------------------------------------------------------
Visual Basic2005やりたいんだけどアドバイス頼む
スレリンク(tech板:67番)

67 名前:デフォルトの名無しさん[] 投稿日:2007/06/21(木) 09:25:40
初心者な質問スマソ
SPREADで行列100 X 18、列幅25の表つくったんだけど、
処理(スクロールや行選択)が重いんだけど軽く出来ませんかね?



805:デフォルトの名無しさん
07/06/21 12:01:29
メールアドレスを正規表現で抽出する場合どのように記述すればいいのでしょうか?

806:デフォルトの名無しさん
07/06/21 12:05:32
>>805
スレ (´∀`( ´∀`) チガイ


807:デフォルトの名無しさん
07/06/21 12:27:59
>>805
ググれよ

808:デフォルトの名無しさん
07/06/21 12:40:18
散々ググったんですがどうもいまいちわからないんですよ。
冷たいこと言わないで教えてくださいよ。

809:デフォルトの名無しさん
07/06/21 12:44:16
メールアドレスに一致する正規表現は「ありません」

とぐぐった一発目にあるが?

810:デフォルトの名無しさん
07/06/21 12:51:04
あ(笑)。もしかしてほんとは皆さん知らないんじゃ無いんですか?

811:デフォルトの名無しさん
07/06/21 13:09:25
>>788
どうもです!!
自分はWindows2000+VS2005Proの環境を使ってまして
そこではスクロールバーの動きに追従しませんでした。
環境差による可能性がありそうなので、これから別PCの
WinXp環境に移して試してみます。助かります!!

812:799
07/06/21 13:59:53
>>800
と言うことは、Newでクラス参照すると全く新規で作られるということでしょうか?
既存のDataTableを参照するにはどうすればよいのでしょう?

>>801
調べてみましたが、使い方がわかりませんでした。すみません。

813:デフォルトの名無しさん
07/06/21 14:08:28
だから

調べてみましたが、使い方がわかりませんでした
じゃわかんねぇYO!
どこがどうわからんのか言えよ
使う気ないのかしらんが

あと既存のDataTableを参照するには
と書いてあるということはDataTableをDataGridViewにバインドさせて使ってるんだよな?
つまりDataGridViewはその元のDataTableをDataSourceとして持ってるわけだ

814:デフォルトの名無しさん
07/06/21 14:12:26
>>813
こんな努力もしないアホに教えようとするだけムダだ
質問すらもまともにしようとしていないしな

ほれこれでいいだろ もう来るなよ

Public Sub WriteXml(ByVal fileName As String)
Dim instance As DataSet1.NewItemDataTable
instance = DirectCast(DataGridView1.DataSource , DataSet1.NewItemDataTable )
instance.WriteXml(fileName)
End Sub


815:デフォルトの名無しさん
07/06/21 15:34:06
>>808
うぜえな
URLリンク(www.google.com)
3つめにあるじゃねえか。

816:デフォルトの名無しさん
07/06/21 15:36:45
>>815
みんなスルーしてたのにお前の優しさに>>808が泣いた

817:デフォルトの名無しさん
07/06/21 18:56:25
知ってたら教えてー。
VS2005(VB.NETもC#)のIDEで、タブ付きドキュメントにしてソースを
開いていくと、タブが左側に追加されていくのを、右側に追加して
いくように変更できないのかな?

818:デフォルトの名無しさん
07/06/21 19:02:29
>>788
WinXp環境に移して試してみましたところ、この環境ではScrollBarの
動きに追随してリアルタイムでViewが動くのを確認しました。
これは環境的な理由があるようにも思いましたので、
ひとまず現状のままにしておきます。
情報ありがとうございました!!!

819:デフォルトの名無しさん
07/06/21 20:19:49
URLリンク(hp.vector.co.jp) を組み込みました。
実行ファイルをダブルクリックで実行、ショートカットからの実行では問題ないのですが、
ファイルにこのアプリケーションを関連付けしてファイルから実行すると、
エラーで落ちてしまいます(エラーの詳細はわからず)。

おそらくDLLの場所がわからず、読み込めないため落ちてると思うのですが、
レジストリの関連付けで、作業フォルダの指定もできないみたいです。

どうすればいいのでしょうか。。

820:デフォルトの名無しさん
07/06/21 21:05:30
VBにはJavaのThrowsのような
関数に例外をスルーさせる方法はありますか?

821:デフォルトの名無しさん
07/06/21 21:06:51
あります。

822:デフォルトの名無しさん
07/06/21 21:09:55
ググッてみてもJavaとは例外処理の概念が違うから
ウンヌンカンヌンで例外のエスカレーションは
できないのです。みたいな事書かれていたので
できたら、やり方教えてもらえないでしょうか
キーワードだけでも結構です。

823:819
07/06/21 22:19:21
やり方がわからなかったので、自前でマウスジェスチャくみますた。。

824:デフォルトの名無しさん
07/06/21 22:24:21
例外はほっときゃ勝手に呼び出し元に伝播する

825:デフォルトの名無しさん
07/06/22 00:03:32
互換機能のOn Error Goto は使わないようにね

826:819
07/06/22 01:22:39
1 sub main()
2 F(1,1)
3 F(1,0)
4 end sub

5 function F(a as integer, b as integer) as double
6 return a/b
7 end function

たとえば上のような疑似VBコードにおいて
実行すると 6行目で例外発生して止まる。
で5行目を
function F(a as integer, b as integer) as double Throws Exception
のように書き換え実行すると
2行目で例外が発生しましたとなって止まる。
ようにしたい。要するにデバッグしやすいように例外を使用したい

827:デフォルトの名無しさん
07/06/22 01:51:25
>>826
なんだ例外のエスカレーションとかいうレベルの話じゃなかった

828:デフォルトの名無しさん
07/06/22 02:11:58
>>819
たぶんdllとはなんの関係もないウンコなミスとエスパーするがどうか。


829:デフォルトの名無しさん
07/06/22 02:29:14
>>826
茶化したままだとあれだから、VS2005でマイコードのみの設定が有効になってるのを確かめて、
DebuggerNonUserCode属性を付ければ目標は達成できる。

<DebuggerNonUserCode()> _
function F(a as integer, b as integer) as double
  return a/b 
end function 


830:デフォルトの名無しさん
07/06/24 06:16:44

誰か似たようなことを経験していたら教えてほしいのですが、、

あるコントロール上をマウスが通ると、MouseMoveイベントが普通立つと思う。

しかし、何かある操作をしてから、同様にしても、今度は全然 MouseMove
     ~~~~~~~~~~~~
イベント自体が立ってくれなくなる。それで仕方なく、別のアプリケーションの

ウインドウをクリックしてFocusを移してから、再度元のアプリケーションに

戻って同様にしてみると、今度は MouseMoveイベントが立ってくれる、

とちょっと変な現象なんですが、こういうことってあり得るでしょうか?


831:デフォルトの名無しさん
07/06/24 06:37:21
>>830

この場合、「何かある操作」 というのは、そのコントロールの置いてある Panel 

の右クリックで ContextMenuStrip を表示して、その際、そのメニューのどれも

クリックせずに、また Panel 上のどこかをクリックして ContextMenuStrip を

Close する、というだけの操作なんですが、これをすると、それまで立ってくれてた

その Panel 上のコントロールで MouseMove イベントが立たなくなるのでした。

832:デフォルトの名無しさん
07/06/24 07:03:19
一切自分では調べてないだろ
URLリンク(www.google.com)

833:デフォルトの名無しさん
07/06/24 11:59:27
>>831
メニューのClosedイベントで
System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()
を呼ぶと直る。
リフレクション使わないといけないけど。

834:デフォルトの名無しさん
07/06/24 13:42:03
>>832
ありがとうございます。
これ一応 BUG だったんですね・・・う~ん。

>>833
どうもです、助かります。

>System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()

この方法、調べて使ってみます。

>リフレクション使わないといけないけど

これについても具体的にはどうすればいいかまだわかりませんが、また調べてみます。
それでもわからない場合また質問するかと思いますが、
またよろしくお願いします。


835:デフォルトの名無しさん
07/06/24 15:54:43
>>833

すみません、この ModalMenuFilter というのは、ヘルプで検索しても
検索結果 0 で情報が出てきませんでした。

ググってみましたが、ただ一件
URLリンク(www.google.com)

があるだけでしたが、これって何かのクラスなのでしょうか。このページ開いても
該当箇所は見られませんでした・・・う~ん困りました。。。

よろしければご指導の続きを戴ければありがたいです。すみません・・・。


836:デフォルトの名無しさん
07/06/24 18:34:16
>>834
internalなクラスだから説明はどこにもないと思う。
手元にあるのはC#のコードだけど適宜よみかえてちょ。

void contextMenuStrip1_Closed( object sender, ToolStripDropDownClosedEventArgs e )
{
    Type t = Type.GetType( "System.Windows.Forms.ToolStripManager+ModalMenuFilter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" );
    MethodInfo mi = t.GetMethod( "ExitMenuMode", BindingFlags.NonPublic | BindingFlags.Static );
    mi.Invoke( null, null );
}

837:デフォルトの名無しさん
07/06/24 18:56:16
ContextMenuStrip の中のどれかをクリックして実行すると(それが空の関数であっても)
問題は起こらないため、一つ考えられるのは、 ContextMenuStrip の Closing
イベントでそれを強引に実行してやればどうだろう、とも思ったのですが、この
強引にコードから ContextMenuStrip の中のどれかに Click イベントを起こすためには
どうすればいいでしょう、これについて知りたいです。
よろしくお願いします。



838:デフォルトの名無しさん
07/06/24 18:58:05
>>836
おお、どうもです!!かぶってすみませんでした。
こういう方法あるんですね、ありがとうございます。
助かります。やってみます!!

839:838
07/06/24 20:53:38
>>836
素晴らしいです、みごとに一発で解決しました。

一時は本当にどうしたものかと悩みました、でもこれで助かりました。

>internalなクラスだから説明はどこにもない

やっぱり一般人には知りえない内容なのでしょうか、
もしかしてMSの人じゃないとわからない、とかでしょうか・・・

でも本当に助かりました、ありがとうございました!!


840:デフォルトの名無しさん
07/06/24 21:25:37
Reflectorだろ

841:デフォルトの名無しさん
07/06/24 23:42:37
vbというよりもフォームの質問なのかもしれませんが、
初心者スレが見つからないのでここで質問させていただきます。

グループボックスの中にラジオボタンがいくつかと、ラベルをひとつ配置します。
そのラベルの中にラジオボタンをいくつか配置した上で、
ラベルの外(グループボックスの中)のラジオボタンとラベルの中のラジオボタンを
同じグループとして扱いたいのですが、どのように設定したらよいのでしょうか?
お分かりの方がいらっしゃいましたら御教示お願いいたします。

842:デフォルトの名無しさん
07/06/24 23:44:29
そんな変態行為は .NET では認められません

843:デフォルトの名無しさん
07/06/24 23:45:37
おぁー!変体行為だったんですか。
それは困りました。どうしましょう?

844:デフォルトの名無しさん
07/06/24 23:46:36
さぁ。

845:デフォルトの名無しさん
07/06/25 00:17:59
>>841
ラベルはコンテナコントロールじゃないよ。
言ってる意味わかる?

まあ、「初心者スレが見つからないので」とか言ってるが
質問なんかせめて初心者本の数冊も読破してからにしてくれよ。

846:デフォルトの名無しさん
07/06/25 00:18:41
こういうのっておおっぴらに使うか悩んだりしない?
まあ、ネット上で見つけた情報を利用したって立場をとるんだがw


847:826
07/06/25 00:19:44
>829
遅くなって申し訳ない、ありがとうございます。

848:デフォルトの名無しさん
07/06/25 02:40:29
>>846
「こういうの」ってのが何を指してるのかさっぱり。

849:デフォルトの名無しさん
07/06/25 07:24:33
>>839


850:デフォルトの名無しさん
07/06/25 11:33:11
>>841
ユーザコントロール作れ

851:デフォルトの名無しさん
07/06/25 14:55:01
誰か助けてくたざい。
VB2005で、プログラムが完成して、動作を確認できました。
そこまではよかったのですが、実行ファイルを共有フォルダー(サーバーに)
において、実行すると、どうしても実行できません。実行できたとしてもまともに動作しません。
これの解決策だれか知りませんか?


852:デフォルトの名無しさん
07/06/25 14:58:26
ヒント:カレントディレクトリ

853:デフォルトの名無しさん
07/06/25 15:04:38
サーバに実行ファイルがおいてあるんだろ?
普通は実行できないだろ.
MSDNに書いてある.

854:デフォルトの名無しさん
07/06/25 15:06:36
>853
それを実行する方法を知りたいのです。

855:デフォルトの名無しさん
07/06/25 15:26:09
素人にはおすすめしないがポリシーをいじる。
コントロールパネルの管理ツールの
.NET Framework 2.0 Configuration ランタイムセキュリティポリシー
(他をいじってなければ)コンピュータのコードグループのAll_Codeの下に
新規作成の条件の種類を選択するでURL:\\サーバー名\共有名\*
アクセス許可セットFullTrust

インストーラを作るかClickOnceを使うかかサーバーからローカルにコピーさせるかをすすめる。

856:デフォルトの名無しさん
07/06/25 16:12:33
むしろこれはVB.NETの問題ではないな・・・

つうか、あれか・・・クリックワンスのまえのやつやりたいのか?
名前忘れたけど

857:デフォルトの名無しさん
07/06/25 17:23:03
ノータッチ デプロイメント?

858:デフォルトの名無しさん
07/06/25 17:39:38
気持ちは良く分かる。

正直セキュリティが云々言われても無駄に面倒くさい。

ちょちょっとしたものを作って共有しようとしても
インストーラやらClickOnesやら、、、。


ちょっと話がずれるが必要なDLLとかは、実行ファイルへ含めるもしくはフォルダ等へ
指定できたら良いのに。
この時代に容量削減も糞も無いだろう。

実行ファイル1Gとか上等じゃねーか。

859:デフォルトの名無しさん
07/06/25 22:59:56
質問です。
いまFramework1.1で勉強中なのですが
1.1のNotifyIconはバルーン?が表示できなかったので
いろいろ調べて
URLリンク(supware.net)
に辿りつきました。

このクラスを使うとバルーンは表示できるのですが、
ContextMenuがどうしても表示できません。ContextMenuのPopupイベントは反応あるのですが・・・

色々検索してみて大量にヒットするC#のコードを見る限りおかしい所は
自分の力量では発見できないので、ヒントでも構いませんので助言をお願いします。
環境はWindowsXP、Framework1.1、メモ帳です。

以下のコードを同上のクラスの下に書き、コマンドプロンプトでコンパイルしています。
Module Test
Private myForm As Form
Private notifyEx As NotifyIconEx
Private cMenu As ContextMenu
Sub Main()
cMenu = New ContextMenu
cMenu.MenuItems.Add("Item1")
notifyEx = New NotifyIconEx()
notifyEx.Icon = New Icon("C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ndpsetup.ico")
notifyEx.contextMenu = cMenu
myForm= New Form()
myForm.ContextMenu = cMenu
myForm.ShowDialog()
End Sub
End Module

860:859
07/06/26 20:49:34
なんか俺の質問でスレが過疎ったみたいで・・・・(´・ω・`)

調べたらTrackPopupMenuExがうまく動作してなかったみたいなんで
試行錯誤してNotifyIconExのTrackPopupMenuExを修正して
ContextMenuがでるようになりました

はっきりと原因した原因はいまだ不明ですが
とりあえずしゅっくり勉強したいと思います。

861:デフォルトの名無しさん
07/06/26 21:47:38
>>859
>Framework1.1で

今古いランタイム使う意味は何でしょう?
行きがかり上のしがらみ?それとも以前のもののバージョンアップ
でしょうか?もし新規アプリなら2.0以上でやるべきではないでしょうか?

862:デフォルトの名無しさん
07/06/26 21:59:18
それは大きなお世話だと思うぞ。

863:デフォルトの名無しさん
07/06/27 10:37:28
>>859-860
コマンドプロンプトでコンパイルしている人間がここにはいないんだろう。

864:デフォルトの名無しさん
07/06/27 13:17:50
>>861
おまえ某MVP臭いぞ
仕事してたらわかるだろ? 仕方ないときもあるんだし

865:デフォルトの名無しさん
07/06/27 16:04:39
でも>>859の場合は多分勉強だよ?
VB.NET Expressでいいやん

866:デフォルトの名無しさん
07/06/27 20:17:35

ちょっと安めおまいら。これでも見ろ。知らない人間は えーーーーっと驚くこと請け合いだぜ。

「911」の真実とはダイジェスト版 ? 日本語と英語 ? .movフォーマット ? 31分 - 23MB
URLリンク(www.harmonicslife.net)

「動画をダウンロード」 をクリックすると、動画が始まるまでに20分ぐらい待つと
自動開始する。

30分ぐらい待ってもよければこっちも見る。こっちは詳細バージョンだから、上のを見て
興味もったらぜひ見てみれ。

『911の嘘をくずせ ルース・チェンジ・セカンド・エディション』 日本語版 - ウェッブ・バージョン ? .mov フォーマット ? 83分 - 83MB
URLリンク(www.harmonicslife.net)

要するに俺らはこういう戦争に加担しちまった。おれも当時は小泉に賛成しちまって
ネットで賛成派に回っちまったよ。だが悪いことだった、北朝鮮のミサイルが来るって
ことでアメリカとは同盟するしかないって信じ込んでた。しかしこれを見れば、
ちょっと待て日本はこれでええのか?と疑問になるはず。




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