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


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

VB.NET質問スレ (Part6)



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


237 名前:234 mailto:sage [04/07/25 04:05]
分からんようなんで、VB.NETに直してみた。

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
If e.Button Is Me.GoBackButton Then
Me.AxWebBrowser1.GoBack()
ElseIf e.Button Is Me.GoForwardButton Then
Me.AxWebBrowser1.GoForward()
End If
End Sub

Private Sub AxWebBrowser1_CommandStateChange(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEvent) Handles AxWebBrowser1.CommandStateChange
If e.command = SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK Then
Me.GoBackButton.Enabled = e.enable
ElseIf e.command = SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD Then
Me.GoForwardButton.Enabled = e.enable
End If
End Sub

初めてVB系書いたんで、変なとこがあったら無視してくれ。
GoBackButtonとGoForwardButtonは、コンストラクタでEnableをFalseにしとく。

238 名前:デフォルトの名無しさん [04/07/25 12:18]
>>237
このとおりにやってみました。
そしたら戻れないようになりました!ありがとうございます!

ですが、戻るボタンを押しても戻りません。
Me.AxWebBrowser1.GoBack()

AxWebBrowser1.GoBack()
にしても駄目でした…

239 名前:デフォルトの名無しさん mailto:sage [04/07/25 12:27]
>>238
.NET 1.1だよね?
うちでは動作するんで、ソースさらすよ。
www.asahi-net.or.jp/~ec6k-mtmr/VBnet_BrowserTest.zip

240 名前:eko [04/07/25 12:43]
質問です。

現在、スプレッドシートを自作をしているのですが
それをフォーム1に貼り付けて、右クリックしてコンテキトにデザイナと
言うメニューを追加して、選択するとフォーム2を立ち上げて
(ここまでは何とかできました・・。)

そのフォーム2からフォーム1のデザイン(プロパティ)を変更する方法が
判りません。

ちなみにスプレッドはpaintで描画してます。
拙い説明ですが、ご存知の方居ないでしょうか??
よろしくお願いします。

241 名前:デフォルトの名無しさん [04/07/25 16:38]


242 名前:デフォルトの名無しさん [04/07/25 16:49]
ヘ_ヘ
ミ・・ ミ ということにしたいのですね :)
( ° )〜

243 名前:233 mailto:sage [04/07/25 16:50]
スルーかよ・・・

244 名前:デフォルトの名無しさん mailto:sage [04/07/25 17:36]
>>243
なんだ?つっこんで欲しいのか?

245 名前:デフォルトの名無しさん [04/07/25 21:45]
>>239
何でなんですかね。おかしいところは無かった様な気がするのですが。
でも、ほかの事をして何とかなりました。
いろいろありがとうございました!!!



246 名前:デフォルトの名無しさん [04/07/25 22:10]
Textboxコントロールの、
Textプロパティにて、
その桁数をあらわすにはどうすればいいでしょう?

例えば、TextBox1というテキストボックスの値(MAX10桁)で、
5桁だけ入力されていたらなにか処理をする場合、

If TextBox1.Text=(5桁)Then
    【処理】
End If


教えてください。お願いします。

247 名前:デフォルトの名無しさん mailto:sage [04/07/25 22:18]
Lengthだっけかな。ってかマニュアル見ろ。

248 名前:デフォルトの名無しさん mailto:sage [04/07/25 22:46]
>>246
普通に、Len() で OK。

249 名前:デフォルトの名無しさん mailto:sage [04/07/25 22:47]
個人的にLenはお奨めしない。ま、別にいいんだけどね。

250 名前:デフォルトの名無しさん [04/07/25 23:58]
またなんですが、
WebBrowserで読み込みを中止するにはどうしたらいいのでしょうか?

251 名前:デフォルトの名無しさん mailto:sage [04/07/26 00:15]
>>250
Me.AxWebBrowser1.Stop()
のことなのか?

252 名前:デフォルトの名無しさん [04/07/26 00:22]
>>251
それです、それ!
ありがとうございました!!

253 名前:デフォルトの名無しさん mailto:sage [04/07/26 00:30]
分からん部分はまとめて書いてくれ。
なんか多そうだし。

254 名前: mailto:sage [04/07/26 00:45]
嫌味とか冷やかしで言ってるワケじゃないので。

255 名前:デフォルトの名無しさん mailto:sage [04/07/26 09:20]
>>240
俺はデザイナフォームに一時ファイル名を渡してやってるよ。

デザイナ起動時に対象のコントロールの内容を一時ファイルに保存してデザイナ側
で読み込み、変更を反映する場合は、逆にデザイナのコントロールの内容を一時ファイル
に保存するってな感じで。
あと、変更の反映するかの確認が必要なければ、参照渡しのコントロールを、デザイナに
セットすれば完全な同期がとれると思う。

はずしてたらスマソ。



256 名前:デフォルトの名無しさん [04/07/26 10:24]
>>254
じゃあ、お言葉に甘えて…
WebBrowserで新しいウィンドウが出てくるとそのページはIEで開かれちゃうじゃないですか。
そのページを自作ブラウザで開かせるのはどうしたらいいのですか?

257 名前:デフォルトの名無しさん mailto:sage [04/07/26 11:49]
>>256
こんな感じで。
Private Sub AxWebBrowser1_NewWindow(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles AxWebBrowser1.NewWindow2
Dim form2 As New Form1
e.ppDisp = form2.AxWebBrowser1.Application
form2.Show()
End Sub

258 名前:デフォルトの名無しさん [04/07/26 12:54]
質問です。
メモ帳を作成したのですが、
テキストファイルからプログラムを実行した際に、
テキストファイルを読み込む処理の仕方が分かりません。
プログラムをexeから実行したのかファイルから実行したのか判別する
方法は無いのでしょうか。



259 名前:デフォルトの名無しさん mailto:sage [04/07/26 13:13]
>>258
質問の意味がいまいち分からないが、
Command関数を調べると、いいかも知れんね。

260 名前:258 mailto:sage [04/07/26 14:13]
>>259
サンクス!

261 名前:デフォルトの名無しさん [04/07/26 15:44]
>>257
本当に助かりました!
ありがとうございました!!!!!!!

262 名前:只今勉強中 mailto:sage [04/07/26 16:36]
Public Sub New(ByVal idcarF1 As Integer)

MyBase.New()
InitializeComponent()

idcarF2 = idcarF1

Dim filterIdcarF2 As integer
'Dim filterIdcarF3 As integer

filterIdcarF2 = idcarF2
'filterIdcarF3 = 5

UpdateDatabase()

'SQL文
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data " _
& "WHERE car_id LIKE '" & filterIdcarF2 & "'"

'データセットを初期化して、データーアダプターからデーターを読み込む
DsExcol1.Clear()
SqlDataAdapter1.Fill(DsExcol1)

End Sub

ウィンドウを開くと同時にfilterIdcarF2を使って、データーを絞り込むという作業を作りました。さらに
”filterIdcarF3 = 5"で"excol_cd"の値が"5"のものを絞り込みたいのですが、SQL文の所の書き方
をどなたか教えていただけないでしょうか?



263 名前:デフォルトの名無しさん mailto:sage [04/07/26 17:34]
excol_cd の型は?それがないと正確に答えられない。

たぶんSQLスレ行けって言われると思うけど。


264 名前:デフォルトの名無しさん mailto:sage [04/07/26 17:57]
>>262
F2で絞り込んだものをさらにF3で絞り込むのか
F2とF3を同時に発行して絞り込むのか

あとInteger型のものに対してLike(あいまい)で検索かけてるけど
これはこれでいいの?

265 名前:デフォルトの名無しさん mailto:sage [04/07/26 18:24]
>>264
car_id が Integer型ってどうして分かるの?




266 名前:262 mailto:sage [04/07/26 18:39]
すいません、もう右も左もわかんなくて、本を引き引きやってる状態で・・・。

excol_cdもcar_idも整数型です。

あと、F2で絞り込んだものをさらにF3で絞り込みたいのです。自動車の種類別
のコードがF2で、外装の色がF3で、この二つで絞り込んで、内装の色を検索し
たいので・・・。

Likeがあいまい検索だというのは、いまスレを見て始めて知ったので外してみたら、
SqlDataAdapter1.Fill(DsExcol1)の行で止まってしまい、LIKEの代わりを今探して
SQLのサイトとニラメッコしています。

267 名前:262 mailto:sage [04/07/26 19:13]
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = 18"
これだ18番のcar_idを持つものが表示されるのですが
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = filterIdcarF2"
だと動いてくれないようです・・・。なにか書きようがあるのでしょうか?

268 名前:デフォルトの名無しさん mailto:sage [04/07/26 19:58]
>>267
困ってるのはわかるが、落ち着いて VB の入門書と SQL の入門書を読んだ方が
結局は早いと思うよ。

269 名前:デフォルトの名無しさん mailto:sage [04/07/26 21:50]
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = " + filterIdcarF2 + " and car_id = " + filterIdcarF3 + " and excol_cd = 5"


270 名前:デフォルトの名無しさん mailto:sage [04/07/26 22:52]
VBAって次に VBA.NET になるんですかね。

271 名前:デフォルトの名無しさん mailto:sage [04/07/27 00:42]
String の配列に入っているテキストデータを TextBox で編集しようと思って,

Dim List(200 ) As String
で,

TextBox1.Text = ""
For a=0 To List.GetUpperBound(0)
TextBox1.text &= List(a) & vbCrLf
Next

のようにしましたが,編集後のテキストデータを再び Stringの配列に
戻すところでつまりました.

このような,何かのプログラム内での プチエディタ なんかは,
どういう風に実現するのが良いのでしょうか?

272 名前:デフォルトの名無しさん mailto:sage [04/07/27 00:58]
>>271
配列をそのままTextBox.Linesプロパティに入れて、編集後にTextBox.Linesをそのまま配列に戻すのは駄目なん?
的外れだったらスマソ。

273 名前:デフォルトの名無しさん mailto:sage [04/07/27 01:22]
>>272
おおっ. そんなものがあったのか.
ご教授ありがとうございました.

テキストデータの行数がいろいろ変わるので,
やっぱり For文 で回したほうがいいみたいでした.

とにかく解決.ありがとうございました.

274 名前:デフォルトの名無しさん mailto:sage [04/07/27 13:35]
>>272 さんのおかげで少し進んだのですが,,,
今度は,TextBoxのカーソル位置を表示してみようと思いまして,,で,

 Cur = TextBox1.SelectionStart
 If Cur <= 0 Then
  y = 1 : x = 1
 Else
  c = 0 : y = 0
  Do
   x = Cur - c
   c += TextBox1.Lines(y).Length + 2
   If Cur < c Then Exit Do
   y += 1
  Loop
  For xx = x - 1 To 0 Step -1
   If AscW(TextBox1.Lines(y).Substring(xx, 1)) >= 256 Then x += 1
  Next
  y += 1 : x += 1
 End If
 Label1.Text = y & "行 " & x & "桁"

こんなんになってしまったのですが,これだと 各行の文字数を先頭から
足して来たり,各文字が全角かどうか一文字ずつ調べたりしてて,
TextBox の文字数が多くなると遅そうですよね.
他にスマートな方法があれば教えていただきたいのです.

275 名前:デフォルトの名無しさん [04/07/27 13:45]
picture clip controlは.NETには入ってないのでしょうか?



276 名前:216 [04/07/27 16:42]
>>217
ヒントありがとうございます
キーフック自体わからず調べながらやってみたのですがなかなかうまくいきません。

SetWindowsHookExtというAPIでキーボードのメッセージを捕捉できるところまで行ったのですが
次に自分でPostMessageで別のキー入力を起こそうと思っているのですがここがダメです。
今フォームにテキストボックスが1コはっつけてやってみています

Function KeyBoardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
If nCode < 0 Or nCode = 3 Then
Return CallNextHookEx(m_hHook, nCode, wParam, lParam)
End If
Dim ret As Integer
Dim iMsg As Integer
If wParam = CInt(Keys.A) Then
If lParam And &H80000000 Then
iMsg = WM_KEYUP
Else
iMsg = WM_KEYDOWN
End If
wParam = Keys.E
PostMessage(TextBox1.Handle.ToInt32, iMsg, wParam, lParam)
CallNextHookEx(m_hHook, nCode, wParam, lParam)
Return 1
End If
End Function
TextBox1のIMEモードはひらがなにしてあります。

aのキーを打つとeがテキストに入るのですがほんとは「え」と入ってIMEで変換できる状態(えの下に点線の下線)になって欲しいのです。
的外れと思いつつImmGetContextの返値をPostMessageの第一引数にしてみましたがさっぱりでした。
何がいけないのか教えてください。

277 名前:216 mailto:sage [04/07/27 16:44]
>>276

ヒントを頂いたのは
>>217ではなく
>>218でした
というか217は自分でした・・・

278 名前:デフォルトの名無しさん mailto:sage [04/07/27 16:54]
>>274
Win32API使ってもOKなら、user32.dllのGetCaretPosでいける。
do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&rm=10
ここの>>32にC#版がある。

279 名前:デフォルトの名無しさん mailto:sage [04/07/27 20:32]
do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=32&fi=no

280 名前:デフォルトの名無しさん mailto:sage [04/07/27 21:28]
>>278 >>279
C# がわからないのでいろいろ苦労しました.
いや,C# の問題じゃなくて,Win32API ってやつの方かな.
ヘルプとかいろいろ調べてやっとできました.
Win32API ってのは初めての経験なもので...

Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

ってのを作っといて,

 y = SendMessage(TextBox1.Handle, &HC9, -1, 0)
 x = TextBox1.SelectionStart - SendMessage(TextBox1.Handle, &HBB, y, 0)
 For xx = x - 1 To 0 Step -1
  If AscW(TextBox1.Lines(y).Substring(xx, 1)) >= 256 Then x += 1
 Next
 y += 1 : x += 1
 Label1.Text = y & "行 " & x & "桁"

って感じでできたみたい.
全角文字のカウントは残りましたが,だいぶ速くなりました.
どうもありがとうございました.

281 名前:デフォルトの名無しさん [04/07/27 23:34]
ちと教えてください。

CrystalReport に Textオブジェクト を作って、そこにモジュールレベル変数
(String型)の内容を埋め込むには、どうしたら良いでしょう?

Accessのレポートなら作ったことあるんですが、
CrystalReport はちょっと勝手が違うん困ってます。

お願いします。

282 名前:デフォルトの名無しさん mailto:sage [04/07/27 23:51]
>>281
データソースはDB?
それとも実行時に任意に与える数値?

283 名前:281 [04/07/28 00:16]
>>282

レポートそのものは、AccessDBからフィールドを引っ張ってますが、
表題の部分に、任意の文字列を入れたいのです。

別フォームでその文字列を変数に格納して、レポートに表示したい
という訳です。


284 名前:デフォルトの名無しさん mailto:sage [04/07/28 00:42]
標準入力・出力するコマンドラインで動くアプリケーションがあるんだけど、
それとVB.NETでやりとりすることできるかな?

(ひらたく言えばVB.NETってパイプ使える?)

285 名前:デフォルトの名無しさん [04/07/28 00:49]
標準入出力とのやりとりならできる。



286 名前:デフォルトの名無しさん mailto:sage [04/07/28 01:10]
>>285
そうですか。できれば方法も教えてもらえると助かるのですが。
「〜〜というクラスを使え」とか・・・

287 名前:デフォルトの名無しさん mailto:sage [04/07/28 01:11]
ヘルプで検索すれば出ると思うが…
ProcessクラスとかProcessStartInfoとか参照。

288 名前:デフォルトの名無しさん mailto:sage [04/07/28 01:13]
>>287
ありがとうございます。
そこまで教えてもらえればあとはググるなりMSDN使うなりしてなんとかしてきます。


289 名前:デフォルトの名無しさん mailto:sage [04/07/28 01:59]
>>287
解決しました。ありがとうございます

290 名前:デフォルトの名無しさん mailto:sage [04/07/28 02:30]
>>281
スマン
遅くなりマスタ

表題って言うことは1枚目のレポートヘッダと解釈していいのかね?
仮にSection1にText1というテキストボックスがあったとして

Dim cr As New CrystalReport1
Dim t As CrystalDecisions.CrystalReports.Engine.TextObject
t = CType(cr.Section1.ReportObjects.Item("Text1"), CrystalDecisions.CrystalReports.Engine.TextObject)
t.Text = "123"


cr.ExportToDisk(CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat, "c:\123.pdf") '結果を出力

パラメータフィールドを使う方法とか色々やり方はあると思うので
自分はまるまるXMLから取得する方法でやってます




291 名前:デフォルトの名無しさん mailto:sage [04/07/28 13:44]
FlexGrid.Netを使ってるのですが
ある日を境に
デザイン時は最新バージョン
実行時は古いバージョン
をロードしてしまいます

VSの再インストールやFlexGridの最インスコなどいろいろやってみたんですが・・・

binフォルダ内と標準インストール先のフォルダには最新バージョンの 2.1.20032.135 が
実行時にはなぜか一つ前の 2.1.20032.124 が読み込まれています

292 名前:デフォルトの名無しさん mailto:sage [04/07/28 14:21]
Windowsアプリケーションから、
任意のsqlスクリプト(ファイル名.sql)を読み込んで
実行させることって出来ますか?

293 名前:291 mailto:sage [04/07/28 16:05]
C:\WINNT\ASSEMBLY
の情報を書き換えたらうまくいきました

294 名前:デフォルトの名無しさん [04/07/29 17:20]
VB.NETで他フォームを参照するにはどうすればよいのでしょうか?
例えば、form1とform2があったとき、
form1からform2のコントロールを直接取得したいのです。

BorlandC++のときは、実行中のフォームのインスタンスを参照できた
のですが、VB.NETではそれが見あたりません・・・
よいアイディアがありましたら教えて頂けると
大変助かります。よろしくお願いいたします。

295 名前:デフォルトの名無しさん [04/07/29 17:47]
>>294
Form1の中に、
Form2 form2 = new Form2();
form2.hoge = "Hage";
って感じでどうですか?



296 名前:デフォルトの名無しさん mailto:sage [04/07/29 17:49]
上のほうでVB.NETでブラウザ作ってた人はどうなったんだろう?
なにげに気になってたんだがw

297 名前:デフォルトの名無しさん [04/07/29 18:22]
どこかにVB.NET(2003)を使って、シリアルポートからデータを受信して表示するプログラムの
ソースが公開されていませんでしょうか?

CreateFile とか ReadFile とかのAPIを使うっていうのはわかっているのですが、
公開されているのを見ると
Public Declare Function WriteFile Lib "kernel32" Alias "WriteFile" _
(ByVal hFile As Integer, lpBuffer As Any, _
とか書いてあって(As AnyはVB.NETでは使えない)
そのままだと使えないんです。

VB6のMSCommを使えばいいのかもしれませんが、APIを使いたいのです。



298 名前:デフォルトの名無しさん mailto:sage [04/07/29 18:27]
>>297
なぜVBにこだわる?


299 名前:デフォルトの名無しさん [04/07/29 18:31]
>>298
つっか、APIたたくならC#でもVBでもC++でも答えは似たようなもんでしょ。
あと、VBが一番安いんだっけか?


300 名前:デフォルトの名無しさん [04/07/29 18:43]
>>297
その程度のことでいちいち人に聞いてるレベルじゃ、
まず間違いなくファイルI/O系のAPI使いこなすなんて無理だと思う。

ほかのスレでこんなの見つけたけど、これなんか使えるのでは?
www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=b06e30f9-1301-4cc6-ac14-dfe325097c69

>>294
久々に「別フォームの……」キター

301 名前:デフォルトの名無しさん mailto:sage [04/07/29 18:45]
As Any って As Object で代用できなかったっけ?

302 名前:デフォルトの名無しさん mailto:sage [04/07/29 19:54]
どこかにVB.netのゲームサンプルがある場所ってありますでしょうか?

303 名前:294 mailto:sage [04/07/30 00:48]
>>295
ありがとうございます。
でもそれだと実行中のフォームじゃなくなってしまうので
ダメなんですよね・・・


304 名前:デフォルトの名無しさん mailto:sage [04/07/30 01:34]
>>303
インスタンスの扱いが理解できてるなら、Form2のインスタンス作成時に
参照をとっておけばどうにでもなることくらい分かりそうなもんだが…

305 名前:デフォルトの名無しさん mailto:sage [04/07/30 02:07]
Form2ってどの段階で表示(生成)されるの?
もしかして別EXE?



306 名前:デフォルトの名無しさん mailto:sage [04/07/31 00:04]
>>302
難しいなぁ。どんなゲームがいいんだ?

307 名前:デフォルトの名無しさん mailto:sage [04/07/31 03:51]
フォームロードイヴェントのときにそのアプリのプロセスIDを取得するのはどうやるのでしょうか?

308 名前:デフォルトの名無しさん mailto:sage [04/07/31 04:59]
Velocityのようなテンプレートエンジンってないの?
フリーの。

309 名前:デフォルトの名無しさん mailto:sage [04/07/31 08:47]
>>307
フォームロードのときというのに深い意味があるのか?
ただ単にプロセスIDのとり方が分からんだけとか?

310 名前:デフォルトの名無しさん [04/07/31 13:27]
Math.Cos(90 / 180 * 3.1415) を実行すると
4.63267948799578E-05   という数値になります。
0または0に近い数値にしたいのですが、どうすればいいのでしょうか?
90の部分は0〜360度の中で変動、0度=1、90度=0、180度=-1、270度=0という結果を出したいのですが・・。
同様にMath.Sinでも変な数値にorz

311 名前:デフォルトの名無しさん mailto:sage [04/07/31 13:46]
>>310
小数点以下3桁くらいで四捨五入しろ


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]
どっちがえらいの?






[ 続きを読む ] / [ 携帯版 ]

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

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