ふらっとC#,C♯,C#(初心者用) Part67
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/12/16(木) 18:23:33「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part66
http://hibari.2ch.net/test/read.cgi/tech/1290854247/
■関連スレ
C#, C♯, C#相談室 Part63
http://hibari.2ch.net/test/read.cgi/tech/1289733048/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0951デフォルトの名無しさん
2011/01/13(木) 12:14:44じゃあ>>948のようなトップノードを最初に追加して必要に応じて部分的にノードを追加するしかないな
この辺が参考になるかと
http://www.atmarkit.co.jp/fdotnet/dotnettips/260createtreeview/createtreeview.html
0952デフォルトの名無しさん
2011/01/13(木) 12:16:51>>951でやれば結構楽と思うよ
メモリの容量によると思うけど
0953デフォルトの名無しさん
2011/01/13(木) 12:48:000954デフォルトの名無しさん
2011/01/13(木) 13:56:16回転中心の座標を移動させることは出来るのでしょうか?
0955デフォルトの名無しさん
2011/01/13(木) 13:59:470956デフォルトの名無しさん
2011/01/13(木) 14:00:370957デフォルトの名無しさん
2011/01/13(木) 14:00:54なにを言っているか判りませんが
何とかすれば可能でしょうね
0958954
2011/01/13(木) 14:08:49回転する物体を平行移動しているのですが、
どうも平行移動する際に、回転の角度がおかしくなってしまうので、
回転中心が移動されてなく、固定されているんじゃないかなと思ったのです。
ですので、物体の平行移動と同じように回転中心を移動できれば改善されるかなと思ったのです。
0959デフォルトの名無しさん
2011/01/13(木) 14:11:000960デフォルトの名無しさん
2011/01/13(木) 14:11:17Managed DirectXの話?
0961デフォルトの名無しさん
2011/01/13(木) 14:14:310962954
2011/01/13(木) 14:15:54クォータニオンで回転させているのですが、物体を移動させないときはきちんと回転させれるのですが、
移動すると平行移動しかしてないにも関わらず、変な方向にぶっ飛んでいきます
>>960
>だからまず回転する物体とはなんなのか説明してよ
すみません、何を聞かれているのかがわかりません。
WPF,C#,Direct3Dでしょうか
0963デフォルトの名無しさん
2011/01/13(木) 14:16:05一旦ポリゴンを分割して回せばいいだけなんだけどな
0964デフォルトの名無しさん
2011/01/13(木) 14:17:29与え方が悪いだけのような
その場所付近のコードは晒せる?
0966デフォルトの名無しさん
2011/01/13(木) 14:18:33逆にしてみ
0967954
2011/01/13(木) 14:22:43理解しました。物体は振り子のようなものです。
>>964
degree = parameter[2]
Quaternion xz = new Quaternion(new Vector3D(0, 0, 1), degree);
Aa.OffsetX = parameter.z[0];
Aa.Rotate(xz);
0968デフォルトの名無しさん
2011/01/13(木) 14:25:24拡大縮小回転の中心が原点にくるように平行移動 -> 拡大縮小 -> 回転 -> 目的の位置へ平行移動
の順で変換する
0971デフォルトの名無しさん
2011/01/13(木) 14:40:46WPFはクォータニオンなんか直接触らなくても回転できる。わかんないなら難しいことしなくていい。
var rotation = new RotateTransform3D(new AxisAngleRotation3D(0,0,1), degree);
var translation = new TranslateTransform3D(平行移動のベクトル);
var transform = new Transform3DGroup();
transform.Children.Add(rotation);
transform.Children.Add(translation);
このtransformを適用するだけ
0972デフォルトの名無しさん
2011/01/13(木) 14:52:58やってみます。
0973デフォルトの名無しさん
2011/01/13(木) 15:01:36とおもったけどTransform3DGroup.Childrenが全部やってくれるのなら
それでいいのかも
0975デフォルトの名無しさん
2011/01/13(木) 15:20:380976デフォルトの名無しさん
2011/01/13(木) 15:20:42テーブル定義で、
command.CommandText = "create table Id_Name (id char NOT NULL primary key, name char)";
と、Id_Nameというテーブルを定義しました。
これでidは重複する文字は登録できなくなったのですが、
書き込むときに、
idが重複した場合エラーを
Messagebox.Showで表示したいんですが
判定条件?はどうしたらいいですか?
それから、NOT NULLにしてるので
文字が書き込まれなかった場合も
上記同様にしたいのですが
どうしたらいいですか?
参考ページなどでもいいのでお願いします!
0977デフォルトの名無しさん
2011/01/13(木) 15:22:410978デフォルトの名無しさん
2011/01/13(木) 15:23:040979デフォルトの名無しさん
2011/01/13(木) 15:23:59(;´д`)
0980デフォルトの名無しさん
2011/01/13(木) 15:24:16try
{
//処理
}
catch
{
//エラー処理
}
こんな感じかな
0981デフォルトの名無しさん
2011/01/13(木) 15:25:100982デフォルトの名無しさん
2011/01/13(木) 15:31:470983デフォルトの名無しさん
2011/01/13(木) 15:32:14他に何かあればと思ったんですが・・・
0984デフォルトの名無しさん
2011/01/13(木) 15:33:09やってみます!
0985デフォルトの名無しさん
2011/01/13(木) 15:36:46俺は基本的に例外はかせたくないタイプ
例外は本当に例外の時だけ 捕まえれるものは捕まえたい
0986デフォルトの名無しさん
2011/01/13(木) 15:42:25順番にやっていけ
http://cs2ch.blog123.fc2.com/blog-entry-1.html
0987デフォルトの名無しさん
2011/01/13(木) 15:50:26C/C++時代のようにリターンコードを見るって感じじゃないみたいね
一応try catchもcatch側で細かいエラータイプをみれるようだけど
0988デフォルトの名無しさん
2011/01/13(木) 15:59:29command.CommandText = "create table Id_Name (id char NOT NULL primary key, name char)";
command.ExecuteNonQuery();
}
catch(Exception)
{
MessageBox.Show("NOT NULL or primary key ERROR!!");
return;
}
これでエラーを出すことが出来ました。
>>985さん同様例外はかせたくないのですが
データ量がこれから多くなります・・・
水際でキャッチというのもよくわからなかったので><
0989デフォルトの名無しさん
2011/01/13(木) 16:00:58catch(Exception)
になっているんですけど
Exception以外のほうがいいんですかね??
0990デフォルトの名無しさん
2011/01/13(木) 16:04:20CatchはDuplicationExceptionとか、重複した時に(に限らず想定できるもの)起こりうるような例外だけにして、
それ以外の物はキャッチするなり、しないなりしてリソースとかを適切に処理した後、
再度スローして任せるようにしたりするのはどう?
0991990
2011/01/13(木) 16:05:06これ
もし、UnhandledExceptionとかで捕捉してるなら
の間違い
0992デフォルトの名無しさん
2011/01/13(木) 16:10:21このtrycatchの外でも
違う場所で例外が出る可能性があるので
trycatchしています。
それもExceptionになってます。
trycatchが二重になっているといえばわかるでしょうか?
DuplicationExceptionとは、初めて聞きました。
ネットで調べてみたのですが
よくわかりません・・・
catch(DuplicationException)としてみると
usingディレクトリまたはアセンブリ参照が不足しています
と出てしまいます。
何をusingすればいいですか???
0993デフォルトの名無しさん
2011/01/13(木) 16:15:58そりゃ取りあえずそれっぽい名前で書いただけだからあるわけがない
リファレンスの説明見るのが早いけど
一旦Exceptionで主キー重複例外発生させて
うけたExceptionの中身が本当は何なのかを見れば一応元の例外は判ると思うよ
あと入れ子になってる例外処理はバグとか調査の難航になると思ってるのは俺だけだろうか・・・
0994デフォルトの名無しさん
2011/01/13(木) 16:35:50(Exception e)
e = {"Abort due toconstraint violation\r\nclumn Sirial_No is not unique"}
でした。
でも表示すると長ったらしく書いてあります。
なんの例外だかわかりますか?
trycatchの二重はやっぱりよくないですか・・・。
なんの例外だかわかれば二重にしなくてもいいのですが・・・
0995デフォルトの名無しさん
2011/01/13(木) 16:38:06Sirial_Noとはidのことです!
0996デフォルトの名無しさん
2011/01/13(木) 16:41:23チェックしたほうがいいって。
いきなりDBに突っ込んで例外で判定なんてDQNだ。
0997デフォルトの名無しさん
2011/01/13(木) 16:57:23catch(Exception){}
これで解決しそうです。
>>996さん
selectで見つからなかった場合は例外が発生しませんか?
いきなりDBに突っ込むのはまずいんですかね;
もう一つ質問です!
NOT NULLのことなんですけど
"insert into Id_Name(id, name) values (null, 'A')"
"insert into Id_Name(id, name) values ('', 'A')"
"insert into Id_Name(id, name) values (NULL, 'A')"
"insert into Id_Name(id, name) values ('NULL', 'A')"
どのパターンで書き込んでも
例外にならないんですけど
NOT NULL って何を書き込めばいいんですか?
0998デフォルトの名無しさん
2011/01/13(木) 17:15:46GCHandle.Allocで取得した領域を後から書き換える事って出来ますか?
ある構造体でAllocした領域を丸ごと同じ型の構造体データで上書きとかでもいいのですが…
0999デフォルトの名無しさん
2011/01/13(木) 17:18:28select count(id) from テーブル名 where id = @id
これで最低でも0はかえってくるんだぞ?
そうでなくてもレコードが返ってこないだけなんだから問題ない
DBのNULLは DBNull.Value ちゃうのん?
1000デフォルトの名無しさん
2011/01/13(木) 17:24:11なるほど
Countのことなど頭になかったです!
ありがとうございます!
やってみます☆
DBNull.Valueですね
こっちもやってみます!
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。