1 名前:デフォルトの名無しさん [2007/01/12(金) 15:57:21 ] 前スレVB.NET質問スレ (Part18) pc10.2ch.net/test/read.cgi/tech/1161250878/
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
183 名前:デフォルトの名無しさん [2007/01/29(月) 13:41:26 ] すんません。 Dim s() As String と宣言して、どこかでインスタンスを作るとして、 インスタンスが既に出来ているのか居ないのか 判断する方法を教え下さい。
184 名前:デフォルトの名無しさん [2007/01/29(月) 13:45:04 ] IsNothingとか Is Nothing とか。
185 名前:183 [2007/01/29(月) 15:28:32 ] >>184 様 もう少し具体的にお願いします。 Dim s() As String 'If s(0) Is Nothing Then <- ここんとこ ReDim s(0) End If
186 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:33:22 ] >>185 184じゃない↓がでええやろ? If s Is Nothing Then
187 名前:183 [2007/01/29(月) 17:46:27 ] >>186 ダメみたいです。(^^; 「変数's'は値が割り当てられる前に使用されいます。・・・・」 と出ます。
188 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:55:02 ] >>187 それは警告だから動くだろ? 警告が気に入らないなら↓のようにしとけ Dim s() As String = Nothing
189 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:56:10 ] Dim s() As String '変数初期化します。 ReDim s(0) で駄目なの???
190 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:21:13 ] >それは警告だから動くだろ? にVB厨の神髄をみた
191 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:23:49 ] ReDimなんか使うんじゃねぇ
192 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:27:37 ] >>183 だから大人しく入門書をまず読めって。 人様に質問なんざそれからにしろよ。 お前さんのやってることは、九九も知らないのに連立方程式の解き方を教えろと言ってるのと同じだ。 九九のレベルからいちいち掲示板で質問するつもりか? そんなんじゃどんなに幸運でも100年かかるわw
193 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:39:22 ] ていうか、VBって無くなるみたいだからやらない方がいいんじゃないの?
194 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:43:20 ] >>193 ソースは?
195 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:52:28 ] Dim x(0) ReDim x(100) はVB6だとエラーになるが、VB.NETでは大丈夫というかIs Nothingを省きたいときの推奨の方法みたいだ。 ただ可変配列を使いたいときはコレクションの使用も考慮したほうがいい。
196 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:58:56 ] >>194 公式情報ではなくて、以前C#のスレに書いてあった。 VBは無くなるからC#にしておけとの事だとか。
197 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:59:45 ] kuma-
198 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 19:58:35 ] >>196 ゲイツ様はC#をあきらめてVBはこれまで通りプッシュされると聞き及んでいますが、 あなたはこれを信用しますか?
199 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:00:00 ] 下らんそんなに馴れ合いたいのなら他所行きな
200 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:14:27 ] 誘導、ここで好きなだけやってくれ 【VB.NET】VS2005 選ぶならどっち?【C♯】 pc10.2ch.net/test/read.cgi/tech/1106538237/l50
201 名前:183 [2007/01/29(月) 21:10:59 ] >>188 >>Dim s() As String = Nothing サンクス、うまくいきました。 >>189 配列のサイズでデーターの大きさを所得したいので。 If s IsNot Nothing Then ReDim Preserve s(s.Length) Else ReDim s(0) End If こんなことを考えてました。 >>195 実際はジェネリックでやってます、それと疑問は別物で。 >>193 客の要望でどっちでも書いてます。 C丼でも大してかわりが有りません。
202 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 21:23:04 ] 201みたいなプログラマの書いたコードは怖くて使えんな。 なんだよその「動けばいいじゃん」っていう発想w 本当にそれでいいのか? どんなショボい入門書にも書いてあることが理解できてないのに
203 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:21:51 ] >>183 初期化はちゃんとした方がいい。 >>188 はちょっと乱暴だが…w
204 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:23:49 ] それ以前に参照型って概念が理解できてないんでしょ
205 名前:デフォルトの名無しさん [2007/01/29(月) 22:24:45 ] >>190 C#だったらどーするの?
206 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:32:09 ] だから「初期化しろ」って警告なんだろーが
207 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:34:07 ] 初期化するだろ普通は
208 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:35:03 ] 190も馬鹿だが>>205-206 もな 初期化しろ?w ちょっとニュアンス違うよ
209 名前:デフォルトの名無しさん [2007/01/29(月) 22:41:13 ] >>208 だからVB厨じゃなかったらあの警告にどう対処するのか教えてよ。
210 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:43:56 ] >>208 日本語に不自由なのも大概にしとけよw 対処すべきだ、というニュアンスを匂わしてる奴を馬鹿だといってるんだけど
211 名前:210 mailto:sage [2007/01/29(月) 22:44:41 ] >>209 の間違い
212 名前:デフォルトの名無しさん [2007/01/29(月) 22:47:18 ] ああなんだ190ってあいつか。 おめーがアンカーつけねえからわかんなかったじゃねえか。
213 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:47:27 ] なにこの肥溜めスレ
214 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:57:13 ] 初期化しないでも警告だけでコンパイル通るの? VB.netって。 そうなら>>190 はそういうこと言ってるんじゃないのかな
215 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:58:15 ] なんか祭ってるな。 >>212 お前の知り合いか?
216 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:59:31 ] むしろいちいち初期化しないとコンパイル通らない言語って具体的になんだよw