1 名前:デフォルトの名無しさん [2007/01/12(金) 15:57:21 ] 前スレVB.NET質問スレ (Part18) pc10.2ch.net/test/read.cgi/tech/1161250878/
82 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 13:30:43 ] >>81 それじゃUTF-16 =>UTF-16の変換になってるよ。
83 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 14:03:56 ] Visual Basic 2005 Express Editionで Labelを使うたびにAutoSizeをFalseにするのが面倒なんですが、 プロパティのデフォルトの値を変更することは可能でしょうか? 可能であればやり方を教えてください。
84 名前:79 [2007/01/22(月) 14:04:58 ] >>81 そうでした。 EncodingクラスのConvertメソドを使うことで出来ました。 おさがわせしました。
85 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 14:10:51 ] VB2005の配列の宣言は、どれが良いんでしょう? 全部意味が違ってるみたいですが・・・ Dim Test1() As String = New String(4) {} Dim Test2(4) As String Dim Test3() As String Dim Test4 As String()
86 名前:85 mailto:sage [2007/01/22(月) 17:21:32 ] たぶん分かりました。 コンパイルされた後のMSILを見ると全部同じになるみたいです。 (上記の例はどうかわかりませんが・・・) なので、好きなように書いても構わない。が答えで良いと思います。 参考URL ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=803491&SiteID=7
87 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:23:08 ] 同じならすきに書いていいなんて素人の判断するな
88 名前:85 mailto:sage [2007/01/22(月) 18:13:58 ] 参考URLの >けして冗談だけではなくて。 一人でプログラミングしているときは、 >どの書き方をするかは好みの問題です。 のコメントを >好きなように書いても構わない。 と解釈したのは、まずかったですか? あとの文章に可読性を第一に考える等、色々書いているのを 記載しなかったのは、あやまります。
89 名前:デフォルトの名無しさん [2007/01/23(火) 07:58:23 ] >>85 枝葉末節
90 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 09:55:59 ] >>87 どう判断すべきか書きましょう。 34点。 >>89 情報量ゼロ。 1点。
91 名前:デフォルトの名無しさん [2007/01/23(火) 11:54:15 ] >>90 国語の読解力。1点。
92 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 16:53:17 ] Dim Text1 As String() オススメ。 後々これが一番しっくり来ると思う。
93 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 17:30:41 ] あっそ。 はい、次。
94 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:06:02 ] Dim strList as new List(of String)
95 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:09:16 ] C#のように考えるなら、下みたいに書いた方が良いかな? Dim text1 As String() Dim text2 As String() = New String(4) {} Dim text3 As String() = New String() {"1", "2", "3", "4", "5"}
96 名前:デフォルトの名無しさん [2007/01/23(火) 18:11:08 ] Dim Text1 とやった時点で、コーディング作法の勉強しなおし。
97 名前:デフォルトの名無しさん [2007/01/23(火) 18:25:34 ] 何言ってんだ
98 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:25:48 ] >>85 1> Dim Test1() As String = New String(4) {} 冗長 2> Dim Test2(4) As String いいね 3> Dim Test3() As String いいね 4> Dim Test4 As String() 要素数を指定するとき2と、記法が異なるね 配列数指定の有/無でも一貫しているので、 満場一致で2、3に決まりました。 初心者はこちらをご使用ください。
99 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:38:42 ] あっそ。 はい、次。
100 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:50:26 ] ひとりつまんない奴がいますね いつものキチガイの方でしょ?
101 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:57:07 ] あっそ。 はい、次。
102 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 19:50:47 ] 反応したんならビンゴか。 ネット匿名掲示板のレスで特定できるほど 腐臭が漂ってるから、リアルでは相当気をつけなよ。
103 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 19:51:18 ] あっそ。 はい、次。
104 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 19:52:11 ] バカとバカに釣られてるヤツだけなのかここは
105 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 20:33:47 ] >>98 どうやら君とは理解しあえないようだ。
106 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 20:36:20 ] 次元数まで含めて変数の性質に見える。 気持悪い。 古い書き方と互換性持たせるだけの書き方はやめた方がええ
107 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 21:05:23 ] >>105 皆そうだとおもうけどw >>106 固定のサイズの配列の場合 Dim text1 As String(10) って書けないのが厄介。 むむむ。
108 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 21:15:39 ] 配列って固定サイズだろ
109 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 21:17:36 ] >>108 ちょっとくらい推察してやれよ
110 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 21:33:01 ] いやです
111 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 00:16:49 ] どくいり きけん たべたら しぬで これをプログラミングしてください もちろんVBで!!!
112 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 00:59:44 ] ネタはオヤジ。 知能はコドモ。
113 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 09:10:01 ] VB2005で作ったソフトとDelphi.NETで作ったソフト どちらの方が実行速度が速いでしょうか?
114 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 09:56:17 ] どちらも遅い
115 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:02:29 ] VB2005もDelphi.NETもMSIL(中間言語)にコンパイルされてから動くから MSILを書くときどれだけ効率よく書けるかで違ってはくるだろうけど .NET Frameworkを使うから実行速度はほとんど変わらないはず。
116 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:07:04 ] >>114 >>115 レス有難うございます。 Delphi Win32にするかなぁ・・・しかし、Vista対応を考えると・・・。
117 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:13:45 ] ハァ?VistaはWin32が動かないとでも言うのか?
118 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:28:12 ] >>117 お前以外に誰もそんな事いってねーよ。
119 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:38:25 ] >>118 そんな事って?
120 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 10:47:32 ] この問いかけは無理がある。
121 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 11:39:33 ] Delphiアプリは、VistaのAlt+Tabで変な挙動をする。 変なウインドウがあるからかな
122 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 02:53:45 ] >>116 何に処理速度が必要なのか言ってみ
123 名前:デフォルトの名無しさん [2007/01/25(木) 09:01:08 ] >>122 多分、いってみただけだろ?w こういう奴の大半はしったかで、とりあえずMSの悪口いってみればかっこいいと思ってる奴。
124 名前:116 [2007/01/25(木) 10:45:58 ] >>122 PictureBoxにグラフを書きたいのだが VB6の時、書くポイントが多くなると描画に時間が掛かった。 どうもコンポーネントを経由するから時間が掛かるらしい。 それに対しDelphiの場合、その経由が無くかなり速かった。 (結局VB6で作ったのですが・・・) で、同じようなモノを新しく作る事になり、ついでに開発環境を新しくしようと言う事で VB2005、Delphi.NET、Delphi Win32 のどれにしようかと考えて、ちょっと質問させて貰ったんですけどね。 vista対応や64bit対応や色々と注文もあったりして・・・
125 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 10:46:05 ] VB.NET始めようと思ってるんだけど良書おせーてください もしくは買っちゃいけない悪書
126 名前:デフォルトの名無しさん [2007/01/25(木) 11:15:51 ] >>124 VB6で描画で早くやろうと思ったら、APIを使うのがまあ筋でしょ? .netであれば別に言語がどうこうは大差ない。 >>125 @ITあたりを読破してからでもおそくないべ。
127 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 11:20:37 ] @ITってあれか 以前Cの記事だったかなんだったかで適当な事書いてあったから信用してないんだよな・・・
128 名前:デフォルトの名無しさん [2007/01/25(木) 11:33:40 ] こんなところで入門書の選択を聞く奴よりはよっぽど信頼できる。
129 名前:デフォルトの名無しさん [2007/01/25(木) 11:37:43 ] >>126 API・・・まあそうなんだけどね。 へっぽこなんで使いこなせませんでした。 速度で言えば Win32>.net なんだよね? やはり。
130 名前:デフォルトの名無しさん [2007/01/25(木) 11:38:29 ] >>128 そりゃすいませんw
131 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 12:43:00 ] 川俣のあの記事結構いいと思うよ俺は。 VB6erじゃなくてもね
132 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 13:01:16 ] >>131 ありがとう 今見てる
133 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 13:32:30 ] string型変数に格納した文字列の中からy番目の文字を一文字消したいのですが、 hairetu.remove(y.1) これでいいのかと思ったのですが何も起こりません・・・ ちゃんとyにも数字が入っているのですが どこがおかしいのでしょうか? そもそももっと違う方法でやるべきものなのでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 13:37:53 ] >>133 hairetu = hairetu.remove(y.1)
135 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 16:24:05 ] 最近プログラムを始めた初心者なのですが、.NETでlogの計算をできるのでしょうか? それとも自分で計算式を組まないとダメなのでしょうか? もしできるのであれば、教えていただけるとありがたいです。 お願いします。
136 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 16:30:48 ] >>135 System.Mathクラス
137 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 16:34:51 ] 「.NETでlogの計算」でググれ! さすればおのずと答えが導かれるでしょう。
138 名前:135 mailto:sage [2007/01/25(木) 17:20:56 ] ありがとうございます。 解決しました。
139 名前:デフォルトの名無しさん [2007/01/25(木) 17:37:13 ] >>135 Math.Log()
140 名前:デフォルトの名無しさん [2007/01/25(木) 23:52:16 ] 今オセロ作ってます PictureBox1_Clickのメソッド内で PictureBox1をクリックするとクリックした場所の升目に 絵(白黒のチップ)が描写されるプログラム作ってるんですけど ウィンドウ縮小したり違うウィンドウに被せるとチップの絵が消えるんだけど 消えないようにするにはどうすればいいんでしょう? 自分でも無学なりに調べてみたんだけど全然ワカラン tipsサイトにAutoGraphics使ったら消えないとあったから使ってみたんだけどチップが1個しか描写できないからゲームにならん・・・
141 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:55:08 ] Paintイベントで再描画しる
142 名前:デフォルトの名無しさん [2007/01/26(金) 00:02:47 ] ピクチャーボックスのクリックダウンイベント中に メッセージボックス出すことって可能?
143 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 00:13:19 ] クリックダウンイベント "中" に
144 名前:142 [2007/01/26(金) 00:20:26 ] >>143 すみません間違えました 「クリックダウンイベントの中で」って言えばいいんだろうか 例えばピクチャーボックスをクリックして条件を満たした場合に メッセージボックスで「条件を満たしました」みたいなことを出したいんですが
145 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 00:23:18 ] やってみればいいじゃないですか。
146 名前:デフォルトの名無しさん [2007/01/26(金) 01:25:50 ] メッセージボックスに変数と文字を両方出力させたいのですがどう書けばできますか。
147 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:29:08 ] もっと具体的に書いてくれ。 MessageBox.Show(String.Format("変数nの値は{0}です。", n))
148 名前:146 mailto:sage [2007/01/26(金) 08:34:04 ] MessageBox::Show("n={0}","結果",MessageBoxButtons::OK); のような感じにしたいのですが・・
149 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 08:43:14 ] ローカルウィンドウ見れ
150 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 11:02:12 ] MessageBox::Show("n=" + n, "結果", MessageBoxButtons::OK);
151 名前:デフォルトの名無しさん [2007/01/26(金) 12:46:10 ] おまえら・・・なんでこんなレベル低い話やってんだよw
152 名前:146 mailto:sage [2007/01/26(金) 19:18:40 ] int n = 2; MessageBox::Show(n + "abcdefg", "title", MessageBoxButtons::OK); とするとcdefgと表示されnの数だけ文字が消えてしまうのですがどうしたらいいですか >>151 すいません、ド素人なんです
153 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 19:29:28 ] ここVB.NETスレだよな?
154 名前:147 mailto:sage [2007/01/26(金) 20:12:18 ] >>152 その前にプログラムの経験ある? んで >>147 はどうだったのよ。 なんか釣られてるような気がしてきた…
155 名前:146 mailto:sage [2007/01/26(金) 20:26:05 ] >>154 c++をちょっとかじった程度で.NETは入門書見ながらやってますがさっぱりです。 147はコンパイルできません。 MessageBox::ShowがMessageBox.Showとされてるのを見ると何か根本的に間違っている気がしてきました・・・
156 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 20:35:47 ] >>155 おまいはいったい何の言語を使ってるんだ C++/CLIだったらスレ違い
157 名前:146 mailto:sage [2007/01/26(金) 20:39:19 ] >>156 Visual c++ .NET です
158 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 20:40:17 ] スレタイを100回読み直せ
159 名前:147 mailto:sage [2007/01/26(金) 20:40:59 ] >>157 まずはインターネットの使い方を…
160 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:09:20 ] この一連の流れワロタw
161 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 18:16:43 ] プロセスIDから親プロセスIDを得るにはどうすればよいのでしょう? PerformanceCounter("Process","Creating Process ID","プロセス名") だと、プロセス名が重複すると駄目だし。
162 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 18:58:51 ] Win32API の CreateToolhelp32Snapshot かな NT4 じゃ使えないようだがまあいいよな今更
163 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:57:45 ] Formのクライアント領域にDrawLinesで連続した線分を描いてるんだけど、 Paintイベントがウィンドウのサイズを変更したことによって起こった場合と、 Invalidateメソッドによって起こした場合とで極端に違うみたいだ。 どうしてだろうか? またこれを回避する方法はあるのかな。
164 名前:163 mailto:sage [2007/01/28(日) 13:00:20 ] 【訂正】 × Invalidateメソッドによって起こした場合とで極端に違うみたいだ。 ○ Invalidateメソッドによって起こした場合とでパフォーマンスが極端に違うみたいだ。 問題を再現できると思われるコードです。 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load MyBase.SetStyle(ControlStyles.ResizeRedraw, True) End Sub Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint Dim pt As PointF() = New PointF(1000 - 1) {} Dim rnd As New Random Dim width As Integer = Me.ClientSize.Width Dim height As Integer = Me.ClientSize.Height Dim sw As New Stopwatch sw.Start() For i As Integer = 0 To 999 With pt(i) .X = CSng(width * i / 1000) .Y = rnd.Next(height) End With Next Dim g As Graphics = e.Graphics g.DrawLines(Pens.Black, pt) sw.Stop() Console.WriteLine("Elapsed = {0}", sw.Elapsed) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Invalidate() End Sub
165 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 13:41:24 ] Invalidate は全体を再描画するわけだが
166 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 13:44:50 ] >>163 リサイズの方が遅いでいいのかな? フレームの書き直しやマウスでのドラッグの処理でパワーをくってるのでは。 Invalidateとリサイズは別のフォームから操作するようにすれば条件は近くなると思う。
167 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 14:05:59 ] どんくらいちがうのん?
168 名前:161 mailto:sage [2007/01/28(日) 14:50:11 ] >>162 だんけです。 ネイティブのPerformanceCounterにはインスタンスインデックスとかがあって 区別できるようですが、.NETからはどうも指定できないみたい。
169 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:01:07 ] Me.WindowState = FormWindowState.Minimized をした時、メモリの消費量(正確にはスワップされてるだけっぽいですが)が減りますが、これは内部でどのようなメソッドを呼び出しているのでしょうか。 最小化せず、メモリ消費量が減ったように見せたいのですが、、、
170 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:06:27 ] また意味わかんないことを言う奴が来たなあ。。
171 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:12:24 ] >>169 SetProcessWorkingSetSize(hProcess, 0xffffffff, 0xffffffff) : kernel32.dll
172 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:22:10 ] >>171 分かりました。ありがとうございまくす。
173 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 21:26:09 ] 教えてもらってくすくす笑うなぁぁぁぁ!
174 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 22:33:14 ] >>173 >>170
175 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:33:34 ] >>163 165が言うようにInvalidateはウィンドウ全書き換え。 で、ウィンドウのリサイズや別ウィンドウが重なった後の書き換えは 単純に矩形にならず、複雑な形でクリッピングする処理が入る。 リサイズでも全書き換えしたいなら SetStyle とか見てみ
176 名前:デフォルトの名無しさん [2007/01/29(月) 03:26:07 ] 二次元配列 Array1(3,3)とArray2(3,3)の中身を比べるプログラムを作りたいんですけど どなたか助言をお願いします。 Array1とArray2の中身すべてに Integer型の0、もしくは9が格納されています。 Array1とArray2の中身を見比べて全く一緒ならtextbox1に「○」と表示させたいと思っています。 (例) Array1 Array2 001 001 101 101 ←中身が全く同じなので「○」 000 000 Array1 Array2 001 001 101 111 ←中身が違うので「×」 000 001 自分で調べてみてループや判定文を使うのだろうと思って頑張ったのですが 動作してくれません。初心者ですみませんがよろしくお願いします。
177 名前:デフォルトの名無しさん [2007/01/29(月) 03:27:28 ] >>176 ×Integer型の0、もしくは9が格納されています。 ○Integer型の0、もしくは1が格納されています。 間違えました。ごめんなさい。
178 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 04:00:05 ] >>176 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer, j As Integer Do For i = 1 To 3 For j = 1 To 3 If Array1(i, j) <> Array2(i, j) Then TextBox1.Text = "×" Exit Do End If Next Next TextBox1.Text = "○" Exit Do Loop End Sub
179 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 05:12:45 ] 名前空間のステートメントが無効です。 全く何をすればいいのか解らない・・・です・・・
180 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 11:51:09 ] 自作クラスのオブジェクトをCStr(MyObj)のように使いたいのですが、出来ますか? 出来るとしたらどんなメソッド(プロパティ?)を実装すればいいですか?
181 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 11:58:50 ] ToString()をオーバーライドしたらよかっぺ
182 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 12:37:44 ] >>175 回答する能力ないくせに無理して答えなくていいんだよ。 人の張ったサンプルを良く見たか?w