1 名前:デフォルトの名無しさん [04/07/03 08:49] VB.NETの質問全般です 過去スレ VB.NET質問スレ (Part5) pc5.2ch.net/test/read.cgi/tech/1078134703/ VB.NET質問スレ (Part4) pc2.2ch.net/test/read.cgi/tech/1065269043/ 【老若】VB.net質問スレ【男女】 (Part3) pc2.2ch.net/test/read.cgi/tech/1056281084/ 【老若】VB.net質問スレ【男女】 (Part2) pc2.2ch.net/tech/kako/1043/10436/1043629429.html 【老若】VB.net質問スレ【男女】 pc2.2ch.net/tech/kako/1025/10258/1025848458.html
312 名前:デフォルトの名無しさん mailto:sage [04/07/31 13:48] >>310 π = 3.1415 としているのが原因
313 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:05] >>311-312 返答ありがとうございます。 311の通りにしたら数値が0になったので、桁数が多すぎると表示がおかしくなる・・・でいいのかな。
314 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:14] >>313 違う違う、有効数字の考え方を勉強して来なさい。
315 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:15] いや、むしろ10万桁ぐらいまで
316 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:20] もしかして 4.63267948799578E-05 の意味分かってないとか?
317 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:25] >>316 いや、それを変数に入れて計算したら、 4.63267948799578が数値として考えられたのか、ただの回転がとんでもないことにナターヨorz
318 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:25] つまり π = 3.1415 のときに 0.0000463267948799578 ってことだから、 π = 3.141592653589793 くらいまで取ればもっと0に近づく
319 名前:デフォルトの名無しさん mailto:sage [04/07/31 14:28] いや、浮動小数点数だから「変な数値」になることにはかわりないか?
320 名前:デフォルトの名無しさん mailto:sage [04/07/31 15:19] Perlユーザーには基本を知らない人間が多いのは知ってるし 自分も最初はそうだったから人の事は言えないが、 実際にそういう場面に出くわすと疲れるな。 今、基本情報処理の試験受付してるぞ。 基礎を身につける意味で、受験&勉強してみたらどうだ?
321 名前:デフォルトの名無しさん mailto:sage [04/07/31 15:29] すまん、スレ誤爆した。orz
322 名前:デフォルトの名無しさん mailto:sage [04/07/31 19:35] >>308 ない
323 名前:4.63267948799578E-05 [04/07/31 22:05] スマソ、やっぱ根本的なプログラムミスですたorz とりあえず立体モデルの回転をさせようと思っています。 member.nifty.ne.jp/Mukai/3d.htm ここの3番までをしようと思っているんですが、2番目の『初期状態】は Dim A()() as Double = {{1.0 .0.0, 0.0},{0.0, 1.0, 0.0},{0.0, 0.0, 1.0}} でいいのでしょうか? そのあとの『M = A×M』はVB.netで表すとどうなるのか、そもそも『M』の値が分かりません・・・。 分かる方がいれば教えてください。 (ちなみにゆとり教育云々で数学の教科書には回転行列のことなんてませぬorz)
324 名前:デフォルトの名無しさん mailto:sage [04/07/31 22:41] それはプログラミングって言うより線型代数の問題じゃないのか
325 名前:デフォルトの名無しさん mailto:sage [04/07/31 23:16] >>323 ちゃんと読んでないのでちょっと良くわからないけど, 3番の M は 2番で言う A のことではないかな? M が機体の 前上右ベクトルなんだと思う. なので,M の初期値は,2番での Aの初期値とかでいいでしょう. M = A × M は,普通の3行3列の行列演算. 行列演算がわからないなら,自分で調べるか, もう一度ここで泣くかしなさい.
326 名前:4.63267948799578E-05 [04/07/31 23:43] >>325 前者了解しますた。 一番肝心なのは後者のほうですね・・・検索しても分かりませんでした、分かる方助言をお願いしますorz M[0][0]はA[0][0]とM[0][0]からM[2][2]をかけて足したもの? もうさっぱりです(´-ω-`;)
327 名前:デフォルトの名無しさん mailto:sage [04/07/31 23:52] 3次元関連の入門書読め。 ゆとり教育って…行列の掛け算も載ってないの? まあ、なんでも教科書に載ってると思う方が間違ってるともいえるが。
328 名前:デフォルトの名無しさん mailto:sage [04/08/01 00:12] >>327 僕も指数表現とか行列演算は,プログラム作るために勉強したので, 326のいいきっかけになれば良いじゃん. このホームページには冒頭に3D関係の本に載ってないと書いてあるが, それでも,3DCGの基礎は知っとかんとこの先詰まるので, >3次元関連の入門書読め。 には賛成. >>326 これじゃだめ? ttp://shigihara.hp.infoseek.co.jp/mx13.htm ttp://www.matsusaka-u.ac.jp/~aihara/pukiwiki2/index.php?%A5%D9%A5%AF%A5%C8%A5%EB%A4%C8%B9%D4%CE%F3 ただし,プログラムでやるときは, T = A × M M = T みたいにやらないとだめだよ.
329 名前:4.63267948799578E-05 [04/08/01 00:17] >>327 DirectXの本が何冊かあるけど、どれも行列を使ったサンプルはなくSetRotation・・・。 DirectXはスレ違いだけどVBで作っているからcppのサンプルは使えないしでもうダメポ(つД`;) それと2*2の行列の計算すら載ってませんでした。。
330 名前:デフォルトの名無しさん mailto:sage [04/08/01 02:44] VBでエクセルをいろいろいじりたいんですが 参考になるサイトってありますか?
331 名前:4.63267948799578E-05 mailto:sage [04/08/01 02:50] >>330 ttp://www.bcap.co.jp/hanafusa/ ・・・orz
332 名前:4.63267948799578E-05 mailto:sage [04/08/01 03:28] Microsoft® Visual Basic® アプリケーションでは、Direct3DX ユーティリティ ライブラリによって提供される D3DXMatrixRotationX 関数、D3DXMatrixRotationY 関数、および D3DXMatrixRotationZ 関数を使って回転行列を作成する。 ここまで分かったけど、そこの見えない谷に阻まれてまs orz
333 名前:デフォルトの名無しさん mailto:sage [04/08/01 06:56] Rは登録商標だが、TMは何?
334 名前:デフォルトの名無しさん mailto:sage [04/08/01 07:43] >>332 Direct3D で回転させるの? 自分で行列演算して回転させるの? とくに実現方法にこだわらないなら,いろいろ調べてできそうなやつで やれば良いんだけどね. そもそも 3D→2D を Direct3D でやるか 自分で写像するか.. Direct3D のほうが速いと思うけど. >>333 トレードマークでしょ.って,これは誤爆なのかな?
335 名前:デフォルトの名無しさん mailto:sage [04/08/01 08:00] トレードマークって?
336 名前:デフォルトの名無しさん mailto:sage [04/08/01 08:17] TM - Trade Mark 商標? R - Registered (Trade Mark) 登録商標?
337 名前:デフォルトの名無しさん mailto:sage [04/08/01 09:27] どっちがえらいの?
338 名前:デフォルトの名無しさん mailto:sage [04/08/01 10:36] たぶん 登録商標 のほうがえろいと思うけど. ここじゃなくて,法律関係の掲示板に行ったほうがいいと思うよ.
339 名前:4.63267948799578E-05 mailto:sage [04/08/01 14:04] 結局使い方が分からない罠orz >>334 方位・角度・ロールを正確に表示しつつ回転させると、やはり回転行列を使わないと・・・。 少しロールさせた状態で機首を上げると、角度と方位が変わるとともにロールもする。 この表現にもう一ヶ月近く悩まされてますorz
340 名前:デフォルトの名無しさん mailto:sage [04/08/01 22:09] >>339 じゃ >>323 のホームページにある3番のJavaプログラムみたいなものが VB でできればいいの? それくらいなら協力できるかも.
341 名前:4.63267948799578E-05 mailto:sage [04/08/01 22:36] >>340 まったくもってその通りです、できる範囲でいいので協力お願いしますorz 数学板ではなぜか叩かれるし、ここでは反応が薄いし・・・回転行列は以前何かあったのかな・・・。
342 名前:デフォルトの名無しさん mailto:sage [04/08/01 22:56] はっきり言って無理だと思われ。 他人に甘えてる態度が見え見え。 とても自分で努力しているようには見えない。 きっと数学板で叩かれてきたってのもそういう部分なんじゃないの? 基本を疎かにして上辺だけ習得しようって考えているなら、ずっと習得はできないよ。
343 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:16] >>342 去年同じようなことをFlash板で言われますた。。 努力しろ!って言われても検索するところはしたし、 自分でこれかな?って思ったのは作って砕けてるしでどうしろと(;´Д`) 行列は学校で習っているものと思われているけど、最近は習わないところが多々あるので基本とか言わないでくださいorz
344 名前:デフォルトの名無しさん mailto:sage [04/08/01 23:22] >343 その辺が根本から間違ってるんだって。 「どうしろと」じゃねーよ、自分で考えるんだよ。 学校でなんでもかんでも教えてもらえると思うな、自分で調べるんだよ。 なんでも誰かに教えてもらうと考えるな。 だから叩かれるんだよ。
345 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:27] >>343 > 「どうしろと」じゃねーよ、自分で考えるんだよ。 > 学校でなんでもかんでも教えてもらえると思うな、自分で調べるんだよ。 > 努力しろ!って言われても検索するところはしたし、 > 自分でこれかな?って思ったのは作って砕けてるしでどうしろと(;´Д`) 頼むから飛ばして読まないでorz てか釣りだったらスマソ
346 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:28] こっちでも矛先間違えたorz
347 名前:340 mailto:sage [04/08/01 23:30] >>341 こんなのを作ってみた. 新しいプロジェクトにはっつけてみ. Dim LocX As Double = 150 Dim LocY As Double = 0 Dim LocZ As Double = 100 Dim M(,) As Double = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress Dim Fx, Fy, Fz As Single ' 鼻先 Dim Bx, By, Bz As Single ' おしり Dim Lx, Ly, Lz As Single ' 左翼端 Dim Rx, Ry, Rz As Single ' 右翼端 Dim Tx, Ty, Tz As Single ' 尾翼 Dim gr As Graphics = MyBase.CreateGraphics If e.KeyChar = "f" Then ' 前進 LocX += 10 * M(2, 0) : LocY += 10 * M(2, 1) : LocZ += 10 * M(2, 2) Else Dim A(2, 2) As Double Dim T(2, 2) As Double If e.KeyChar = "r" Then ' 右を向く(ラダーというか自転) Dim th As Double = 22.5 * Math.PI / 180 Dim R(,) As Double = {{Math.Cos(-th), 0, -Math.Sin(-th)}, {0, 1, 0}, {Math.Sin(-th), 0, Math.Cos(-th)}} A = R End If If e.KeyChar = "u" Then ' 上を向く Dim th As Double = 5 * Math.PI / 180 Dim R(,) As Double = {{1, 0, 0}, {0, Math.Cos(-th), Math.Sin(-th)}, {0, -Math.Sin(-th), Math.Cos(-th)}} A = R End If つづく
348 名前:340 mailto:sage [04/08/01 23:30] T(0, 0) = A(0, 0) * M(0, 0) + A(0, 1) * M(1, 0) + A(0, 2) * M(2, 0) T(0, 1) = A(0, 0) * M(0, 1) + A(0, 1) * M(1, 1) + A(0, 2) * M(2, 1) T(0, 2) = A(0, 0) * M(0, 2) + A(0, 1) * M(1, 2) + A(0, 2) * M(2, 2) T(1, 0) = A(1, 0) * M(0, 0) + A(1, 1) * M(1, 0) + A(1, 2) * M(2, 0) T(1, 1) = A(1, 0) * M(0, 1) + A(1, 1) * M(1, 1) + A(1, 2) * M(2, 1) T(1, 2) = A(1, 0) * M(0, 2) + A(1, 1) * M(1, 2) + A(1, 2) * M(2, 2) T(2, 0) = A(2, 0) * M(0, 0) + A(2, 1) * M(1, 0) + A(2, 2) * M(2, 0) T(2, 1) = A(2, 0) * M(0, 1) + A(2, 1) * M(1, 1) + A(2, 2) * M(2, 1) T(2, 2) = A(2, 0) * M(0, 2) + A(2, 1) * M(1, 2) + A(2, 2) * M(2, 2) M = T End If Fx = LocX + 30 * M(2, 0) : Fy = LocY + 30 * M(2, 1) : Fz = LocZ + 30 * M(2, 2) Bx = -10 * M(2, 0) : By = -10 * M(2, 1) : Bz = -10 * M(2, 2) Lx = LocX - 20 * M(0, 0) + Bx : Ly = LocY - 20 * M(0, 1) + By : Lz = LocZ - 20 * M(0, 2) + Bz Rx = LocX + 20 * M(0, 0) + Bx : Ry = LocY + 20 * M(0, 1) + By : Rz = LocZ + 20 * M(0, 2) + Bz Tx = LocX + 10 * M(1, 0) + Bx : Ty = LocY + 10 * M(1, 1) + By : Tz = LocZ + 10 * M(1, 2) + Bz Bx += LocX : By += LocY : Bz += LocZ gr.Clear(MyBase.BackColor) gr.DrawLine(Pens.Black, Fx, Fz, Bx, Bz) gr.DrawLine(Pens.Black, Fx, Fz, Rx, Rz) gr.DrawLine(Pens.Black, Fx, Fz, Lx, Lz) gr.DrawLine(Pens.Black, Rx, Rz, Lx, Lz) gr.DrawLine(Pens.Blue, Tx, Tz, Bx, Bz) gr.DrawLine(Pens.Blue, Tx, Tz, CSng(LocX), CSng(LocZ)) End Sub
349 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:33] 本当にありがとうございますorz 後ほど結果を書きますね(知らないのがいっぱい(;´Д`))
350 名前:デフォルトの名無しさん mailto:sage [04/08/01 23:34] >345 ちゃんと読んでるよ。 じゃあ聞くが、検索以外には何をした? 書籍を調べたか? 図書館に行ったか? 検索をしたのは1ヶ月で何回だ? これかな?と思って作ったものはどこがなぜダメなのか考えたのか? それに対して色々と検証はしてみたのか? 検証をしたならその結果をまとめてあるか? 基本を学べ。 人生の基本を。 調べ方の基本を。
351 名前:340 mailto:sage [04/08/01 23:37] >>341 >数学板ではなぜか叩かれるし、 叩かれて当然なくらい簡単なことを聞いてるからだと思うよ. まぁ,ここから勉強すればいいじゃん. で,上のプログラムだが,行列の掛け算は展開して書いてある. もう間違えようがないよな.なっ? キーボードの f で前進, r で右向く, u で上向く. 左向く,下向く,ロール は自分でトライして.
352 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:41] >>350 本は3冊買いますた、プログラムをやってる先生にも聞きました(でも昔やったが忘れた、とorz)。 検索はほぼ毎日してます、ダメな部分を変えていったら地獄の一丁目にたどり着きますた。。 一度書いてやってから組んでいるからノートの半分以上は埋まったし・・・基本と言われることはしてます。 受験勉強せずになにしてんだか(;´Д`)
353 名前:340 mailto:sage [04/08/01 23:46] >>349 ちょっとバグってた. 予定してないキーを押すと機体が消える. とりあえず↓のようにしとけば回避できる. × Dim A(2, 2) As Double ○ Dim A(,) As Double = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
354 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:51] >>340 改めてありがとうございました。 これこそ基本だと言われることなのですが、 指定されたキー以外を押すと止まってしまう(そのあと何を押しても動かない)のはなぜなんでしょうか。 自分はselect case 〜でやっているので他のキーを押しても何も起こらないだけなのですが。
355 名前:4.63267948799578E-05 mailto:sage [04/08/01 23:52] >>353 って先に直してくれてましたね、度々ありがとうございます。
356 名前:デフォルトの名無しさん mailto:sage [04/08/01 23:52] VB.NETでaspxを書くときは サーバープログラムとHTML部分のどちらをうえに書くのがおすすめですか? <script runat=server> </script> ↑ 逆にしてもいいけどどちらがファイルをWindowsメモ帳で編集するときに楽か ↓ <html> </html>
357 名前:340 mailto:sage [04/08/02 00:01] >>355 実は右翼端と左翼端の座標も逆みたい. 想定座標系の裏返しに表示されてる. ちゅーことは,右回転しているようで実は左回転してた. よく検証せずに出してすまんね.
358 名前:4.63267948799578E-05 mailto:sage [04/08/02 00:07] 円周率はMath.PIでokだったのか・・・>>312 のはこのことを言ってたのかorz
359 名前:デフォルトの名無しさん mailto:sage [04/08/02 00:08] >>352 …お前は多分基本の意味を勘違いしてるだろ。 分からない事を基礎となってる部分から一つ一つ解決していけ。 まず行列の計算が分からない、理解できないんなら、 行列について勉強しろ。 それが出来たら3D関連の基礎的な本やサイトを見れば、 行列と言う物が3Dでどのように利用されるのか分かる。 プログラミングはその上で行う物だ。 お前はダメなところを変えていったというが、適当に式を変えてみたとか、 そんなんだろ? なぜおかしいかを論理的に考えて間違ってる場所を探したか? なんとなく適当に買えながら動かしてちゃんと動くのを待つ ではいつまでたってもちゃんと動かないぞ。
360 名前:340 mailto:sage [04/08/02 00:11] 2度目の修正. "r"押したときの R(,) の値 Dim R(,) As Double = {{Math.Cos(-th), 0, Math.Sin(-th)}, {0, 1, 0}, {-Math.Sin(-th), 0, Math.Cos(-th)}} と,表示のとこ. gr.DrawLine(Pens.Black, Fz, Fx, Bz, Bx) gr.DrawLine(Pens.Brown, Fz, Fx, Rz, Rx) gr.DrawLine(Pens.Black, Fz, Fx, Lz, Lx) gr.DrawLine(Pens.Black, Rz, Rx, Lz, Lx) gr.DrawLine(Pens.Blue, Tz, Tx, Bz, Bx) gr.DrawLine(Pens.Blue, Tz, Tx, CSng(LocZ), CSng(LocX)) わかりやすいように右翼を茶色にしてみた. 内部では,x-z が水平でy軸が上になってる. 表示は,手抜きで,x-z 平面を グラフィクスの y-x にそのまま表示してる.
361 名前:デフォルトの名無しさん mailto:sage [04/08/02 00:11] >そんなんだろ? ああっと、勝手に決め付けてるようで悪いが、 お前の言動を見てるとそういう匂いがしたんだ。
362 名前:359=361 mailto:sage [04/08/02 00:13] あ、進めてるところに水をさす気はないので続けてくれ。
363 名前:340 mailto:sage [04/08/02 00:31] >>362 はい. あなたの言うこともわかるのですが,この辺にしといてあげましょうよ. これからいろいろ学んで立派になってくれることを祈りつつ. で,ぼくはもう眠いので,ロールのところを書いて寝ます. If e.KeyChar = "p" Then ' 右ロール Dim th As Double = 10 * Math.PI / 180 Dim R(,) As Double = {{Math.Cos(-th), Math.Sin(-th), 0}, {-Math.Sin(-th), Math.Cos(-th), 0}, {0, 0, 1}} A = R End If おやすみなさい.
364 名前:4.63267948799578E-05 mailto:sage [04/08/02 00:53] >>340 色々手直し・追加ありがとうございます。 明日(今日)早いので帰ってきたらじっくり勉強させてもらいます。 >>361 分かってから振り返れば『そんなんだろ?』というレベルかもしれませんが、 検索するべき単語もハッキリ分からず模索している段階からみればそんな一言で片付けれるものじゃないっすorz 回転はおかしいけど悩みながら進行方向に動かしたり、直線だけどミサイルを飛ばしたりはできたんだけど・・・。 ほんと回転だけは悩まされましたorz
365 名前:デフォルトの名無しさん mailto:sage [04/08/02 01:38] 2次元の回転行列A= { cosΘ , -sinΘ } { sinΘ , cosΘ } これを3次元に展開すればX軸回転、Y軸回転、Z軸回転が作れる。 例えばX軸回転(YZ平面回転)の場合、B= { 1 , 0 , 0 } { 0 , cosΘ , -sinΘ } { 0 , sinΘ , cosΘ } となる。 それぞれ式に直すと x'=x y'=y*cos(r)-z*sin(r) z'=y*sin(r)+z*cos(r) となる。 Y軸回転、Z軸回転は自分で考えてみそ。
366 名前:デフォルトの名無しさん mailto:sage [04/08/02 06:11] >364 >検索するべき単語もハッキリ分からず模索している段階からみれば そこだよ。 基本がわかってないからそうなる。 あと、他人の意見を素直に受け入れられないなら、人に聞いても何も得られないよ。
367 名前:デフォルトの名無しさん mailto:sage [04/08/02 17:46] すいません。質問させていただきますー Console.WriteLine(result) をつかって、resultの中身を確認したいんですが、 どうやって確認したらいいんでしょうか。Msgbox()のようにダイアログが出る わけでもないようなんですが。。。よろしくお願いします。
368 名前:デフォルトの名無しさん mailto:sage [04/08/02 18:12] 出力 ウインドウを確認
369 名前:367 mailto:sage [04/08/02 18:34] >>368 お答えありがとうございます! なにやら超基本的なことを聞いてしまった みたいですいません。助かりました。
370 名前:デフォルトの名無しさん mailto:sage [04/08/02 22:19] 何となく、ConsoleとDebugとかTraceを混同しているような気がしないでもない。
371 名前:4.63267948799578E-05 mailto:sage [04/08/02 22:27] >>365 ありがとうございます。 野暮用(宿題)が増えたのでこっちに集中することはできませんが、 >>340 さんのおかげで突破口ができたのでこれや調べたのを参照しつつ早く理解できるようにがんばります。 >>366 全く知らない範囲を基本と言わないでとorz 言われたことは既にやってるし、調べて試すと言う基本的なことも想像されてる以上にやってます。 ただ論理的っていう部分だけは除きますが・・・ (・・・分からない部分が論理的に考えることができたら、そりゃ理解できてるじゃんとか突っ込みたくなる(;´Д`)) 大変申し訳ないのですが、レスのたびにどっかの文で人の努力を簡単に踏みにじってる印象を受けたので反論しています。 質問側で甘えてしまっている立場でほんと申し訳ないのですが、 > あと、他人の意見を素直に受け入れられないなら、人に聞いても何も得られないよ。 を返すとしたら ・他人を理解していなければ、その人が意見を素直に受け入れることは無理 全部を理解しろと言うわけではないけど、この大変さだけでも理解して欲しかったですorz 大変な中で叩かれると相当きつい。。 立場を弁えてないレス失礼しました。
372 名前:デフォルトの名無しさん mailto:sage [04/08/02 22:32] >371 >>359 ,>>361 に同意 何が基本かもわからないのは物事の本質を論理的に考えられないから
373 名前:デフォルトの名無しさん mailto:sage [04/08/02 22:34] ×「分からない部分が論理的に考えることができたら」 ○「自分が何を分かっていないかを論理的に考える」 この時点で間違いだらけ。
374 名前:デフォルトの名無しさん mailto:sage [04/08/02 22:39] >・他人を理解していなければ、その人が意見を素直に受け入れることは無理 ここは2chだ。 理解するべきことは「誰の発言か」ではなく「どんな内容か」それだけだ。 他人を理解できないと意見を受け入れられないなら2chで聞く事自体が間違い。 匿名掲示板で名も素性も知らぬ他人を理解できると思っているならお前は大馬鹿。 目を覚ませ。 今から考えを改めれば5年後にはまともな人間になれるかもしれないぞ。
375 名前:デフォルトの名無しさん mailto:sage [04/08/02 22:53] 偉そうな事を言ったのは謝る。 どうもお前みたいな甘えた奴見てるとイライラするんだ。 社会に出る前に論理的思考を身につけとけ。 俺はお前を不幸にしたいわけじゃない。 お前の周囲の人間が不幸になってしまうのを憂いているだけだ。 論理的思考を身に付けろ。 そうすればほんの少しでもみんな幸せになれる。
376 名前:デフォルトの名無しさん mailto:sage [04/08/03 08:42] 社会に出て本当に必要なのは 論理的思考力なんかではなく、他人に優しくできる心である と、言ってみる。
377 名前:デフォルトの名無しさん mailto:sage [04/08/03 09:46] 社会は大部分の論理的思考の足りない奴らで構成されている。 論理的に問題解決しようとする俺らのほうが ちょっとおかしい人間 なんだよ。 ところで Boolean型 って何のためにあるんだ? いや、まじめなはなし。
378 名前:デフォルトの名無しさん mailto:sage [04/08/03 09:55] イエス・ノーをはっきりさせたいアメリカ人のため
379 名前:デフォルトの名無しさん mailto:sage [04/08/03 10:32] >>377 コンピーターの基本動作は何かを考える
380 名前:デフォルトの名無しさん mailto:sage [04/08/03 10:45] >>379 コンピュータの基本動作は理解しているつもりだが。 いや、そう言う意味じゃなくて、昔の BASIC には なかってでしょ。 CPUが特別に持っている型でもないし、 技術的に何の意味があるのかという ちょっとした疑問。 >>378 みたいな答えはまぁ、納得するしかないね。
381 名前:デフォルトの名無しさん mailto:sage [04/08/03 11:00] >>380 CPUにはフラグレジスタがある。 昔のBASICでBoolean型がなかったのは、ON/OFFだけで 変数1個分のメモリ使うのはもったいなかったからじゃないかな。 数値のままならbit数分だけ使えるし。 まあ、文中で論理式という形ではあったと言えるかも。 X=X+(K$="4")-(K$="6") この話題は、こっちのスレのほうがよかったか。 MicrosoftBASIC総合談話室 pc5.2ch.net/test/read.cgi/tech/1089798174/
382 名前:デフォルトの名無しさん mailto:sage [04/08/03 15:13] 例えばaという通信の受信オブジェクトとF1、F2、F3の3つのフォームがあります。 受信したデータの処理で、3つのフォームそれぞれにaを置けば全く問題は無いのですが、 aを1つだけにして、受信イベント時に受信データを見て、 それぞれのフォームに振り分けたいとしたら、 どんな方法が一般的なのでしょうか?
383 名前:デフォルトの名無しさん mailto:sage [04/08/03 16:15] >>382 普通にイベントを起こせばいいんじゃない?
384 名前:デフォルトの名無しさん mailto:sage [04/08/03 17:35] 前々から気になってたことなんですが 新規にフォームモジュールを作成するときに Option Explicit On などを自動的に付加することって出来ますか? プロジェクトのプロパティではOnになってるんですが 反映されないんです・・・
385 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:03] >>384 Option Explicit On って変数宣言の必要になるやつだよね。 ぼくは、普通に常に On になってるけど。 ツールのオプションのプロジェクトのとこだよね? ふしぎー。
386 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:17] >>381 >CPUにはフラグレジスタがある。 まぁ、確かに。 レジスタの退避命令使えば一応メモリ上にも置けるしね。 >まあ、文中で論理式という形ではあったと言えるかも。 んと、それは論理演算子のことで、Boolean型ではないですね。 論理演算子の演算結果が、昔は 整数型 だったのが VB では Boolean型 になってる。 >この話題は、こっちのスレのほうがよかったか。 >MicrosoftBASIC総合談話室 あっ、ごめんごめん。 みんな暇そうだったから、疑問に思ってたことを言ってみただけ。 (えっ? 暇じゃないって? もっと ごめんごめん。)
387 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:27] >377 規格統一じゃない? プログラマによって、TRUEを1とするか-1とするか分かれたりするし。
388 名前:デフォルトの名無しさん mailto:sage [04/08/03 22:56] >>386 >んと、それは論理演算子のことで、 間違えた。「比較演算子」だった。 >>387 BASICによって、比較演算の結果が 1 のやつと -1 のやつが あったからね。 C言語だと 1 だね。 そろそろ 次の相談者登場の予感。
389 名前:デフォルトの名無しさん mailto:sage [04/08/03 23:55] 次の相談です。 ちょと過去ログにみつからなかったんですが、バルーンチップって どうやって出したらいいんでしょうか。 ステータスバーのところに「バックグラウンド処理が終わりました」 みたいなのを吹き出しで表示したいので、だから ツールチップみたいにオートで出る奴じゃなくて、任意のタイミングで 任意の場所に出せるツールチップが欲しいのです。 InputMan.netは「バルーンチップ付きコントロール」はあるけど バルーンチップ単独のコントロールはなさそうだし。 昔は論理式の「真が-1」を利用して、テンキー移動の処理を K$=INKEY$ X=X-(K$="4")*(X>0)+(K$="6")*(X<39) みたいに1行で書いたりしたな。久しぶりに書いてみたから上のは 合ってるかどうか知らないけど。
390 名前:デフォルトの名無しさん mailto:sage [04/08/03 23:55] ただ単にあいまい性をなくして厳密にするためのものでしょ。 コンピュータではなく人間にとって分かりやすくするためのもの。 バグを出しにくくするためというのも含んでる。
391 名前:デフォルトの名無しさん mailto:sage [04/08/04 00:21] >>385 多分>>384 は設定の意味を勘違いしてるだけと思われ。 プロジェクトの設定は、ソースに明示してないときのデフォルトを設定するもので、 ソースに自動出力させるものではない。
392 名前:384 mailto:sage [04/08/04 01:26] >>385 >>391 ありがとうございます VB6やOfficeのVBAのように行頭に追加されるものだと思ってました<m(__)m>
393 名前:デフォルトの名無しさん mailto:sage [04/08/04 16:25] >>389 >ステータスバーのところに「バックグラウンド処理が終わりました」 >みたいなのを吹き出しで表示したいので、 バルーンチップって使ったことがないから、今ヘルプとか 見たけど良くわからん。 ぼくなら、メッセージを表示して [OK] ボタンを押すか 時間がくると自分で .Close するフォームを作っちゃうけど、 そう言うのじゃだめかな?
394 名前:デフォルトの名無しさん mailto:sage [04/08/04 17:47] >>389 バルーンのようなフォームを作ってみましたが、 コードはともかくデザインもあるし、どうやって渡せばいいものか。
395 名前:デフォルトの名無しさん [04/08/04 18:26] VB.NET2003 + ADO.NETで初歩的質問です。 実行時のパスにおいてあるMDB(Access2000)に接続したいんですけど ウィザード系使うと接続文字列が固定になっちゃいますよね サーバーで動いてるような大きなDBならまだいいけど 環境変わったりDBのパスが変わるような、要は接続先を実行時に決定するような仕組みをつくるには もうクラスの宣言から全てコードで記述するしかないっつーか、それが基本なんでしょうか? DB関係のGUIは一切放棄でつか? ADOに比べてものすごい多くのコード書かなきゃいけないんですけど・・・ めんどくさい・・・ なんかよい省力化方法ってありますか?
396 名前:デフォルトの名無しさん mailto:sage [04/08/04 20:48] >>395 接続文字列だけ書き換えればいいじゃん
397 名前:395 mailto:sage [04/08/04 21:04] >>396 Connectionオブジェクト以下につながる下層オブジェクト(AdaptorとかDatasetとかDatagridとか)は フォームの初期化イベント内で”つながり”が設定されているらしく LoadイベントでConnectionの接続文字列を書き換えると、その後エラーで止まってしまいます。 うまいことやる方法はあるんでしょうか・・・ ”つながり”の初期化(Refresh?)の仕方とかあったら教えて下さいませm(_ _)m
398 名前:デフォルトの名無しさん mailto:sage [04/08/04 21:16] それって「フォーム デザイナで生成されたコード」を書き換えにいってないか?
399 名前:395 mailto:sage [04/08/04 21:58] いやいやいやw さすがにそこまでおまぬけさんじゃないです('A`) フォームのLoadイベントで接続文字列を書き換えた後(初期値はウィザードで作った値になっています)、 しなきゃいけない処理とか、こうすれば下層オブジェクトまでの”つながり”に反映できるってのがあればご教示下さい〜
400 名前:新人 [04/08/04 22:21] あの、すみません。 現在社会人一年目のペーペーで、研修を終えてOJTに入ったばかりです。 環境はVB.net + Javascriptというものらしいです。(まだよくわかってません) そこで与えられた作業なのですが、現在、 ボタンを押すとテーブルに一行を追加する、という処理で詰まっています。 <script type="text/javascript"> <!-- function add_row() { table = document.getElementById('tab1'); new_row = table.insertRow(table.rows.length); new_row.insertCell(0).appendChild(document.createTextNode('')); new_row.insertCell(1).appendChild(document.createTextNode('b')); new_row.insertCell(2).appendChild(document.createTextNode('c')); new_row.insertCell(3).appendChild(document.createTextNode('d')); new_row.insertCell(4).appendChild(document.createTextNode('e')); new_row.insertCell(5).appendChild(document.createTextNode('f')); new_row.insertCell(6).appendChild(document.createTextNode('g')); } // --> </script> という感じで書いて、行を追加するのですが、 createTextNode('') のままでは、ただ文字列を表示するだけなんです。 これをテキストボックスにするやり方が、もうずっと考えているんですけど、 どうしても分かりません。 周りに聞ける人間が全然いなくて、メソッドの使い方もまだ全然です。 どうか、どなたか救っていただけませんでしょうか?
401 名前:デフォルトの名無しさん mailto:sage [04/08/04 22:28] >>399 その後のエラーとやらの内容をちゃんと書け。 でも簡単にやる場合は普通はダイナミックプロパティを使うと思うが。
402 名前:デフォルトの名無しさん mailto:sage [04/08/05 03:51] 学校でVB6.0を使っているのですが 課題を家でやるためにspoke premiumを買っても問題ないでしょうか?
403 名前:デフォルトの名無しさん mailto:sage [04/08/05 08:52] >>402 だめ VB6スレにいけ
404 名前:デフォルトの名無しさん [04/08/05 10:11] >>400 周りに聞けるものがいない会社ってどんな会社だよw
405 名前:395 mailto:sage [04/08/05 10:45] 解決しました・・・・orz りっぱなおまぬけさんですた・・・・orz というか、Loadイベントで接続文字列書き換えるだけで下層も勝手に追随してくれるんですねー リフレッシュも何もいらないとは、便利というかブラックボックスというか・・・ 結局昨日はなんでエラーになったかというと ソースと同じパスにmdb置いてたせいだったんでした orz VB.NETはexeがソース直下のbinフォルダにできるんでした・・・ VB6に慣れすぎてます(涙 お答えくださった方、ごめんなさいでした >>401 ダイナミックプロパティは”実行時のパス”を設定できないのでこの場合使えませんでした。 でもoracleとかの固定DBには有効な手段ですね!サンクスです。
406 名前:デフォルトの名無しさん [04/08/05 14:06] WebBrowserで新しいウィンドウを開かせても親ウィンドウを 閉じたら子ウィンドウも閉じてしまう現象を解決する方法は? 6.0なら何も指定しなくてもいけたんだが…。 With New Form1 .WebBrowser1.RegisterAsBrowser = True e.ppDisp = .WebBrowser1.Application .Visible = True End With
407 名前:デフォルトの名無しさん [04/08/05 14:45] DataGridで特定の列だけセルにフォーカスを受けないようにする方法はないでしょうか? Tabキーを押していくとその列だけとばされるようなイメージで。
408 名前:デフォルトの名無しさん mailto:sage [04/08/05 18:14] 今、VB.net 2002を使用していますが 2003にアップするとどのような魅力がありますか? どうせアップするならVIsual Studio.net 2003 Professionalの ステップアップグレード買おうかと迷っとります。 けど2005もベータ版が発表されましたしもう少し様子見た方が良いですかね?
409 名前:デフォルトの名無しさん [04/08/05 22:52] Visual Studio .NET theSpoke Premium Version 2003 って、ラーニングエディションみたいなもんですか?
410 名前:409 [04/08/05 22:55] すいません、スレ違いでした 逝ってきます・・・
411 名前:デフォルトの名無しさん mailto:sage [04/08/06 07:02] >>407 Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged 〜 End Sub で該当の列だったら DataGrid1.CurrentCell = New DataGridCell(RowNumber, 次のColumnNumber)
412 名前:407 mailto:sage [04/08/06 08:59] >>411 早速教えていただきありがとうございます。 これ最後の列だったりするときは勝手に次の行に行きますかね? ってとりあえず試してみます。 助かりました。