C#, C♯, C#相談室 Part59
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/05/16(日) 23:13:52前スレ
C#, C♯, C#相談室 Part58
http://pc12.2ch.net/test/read.cgi/tech/1269261310/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>1-5くらい
0232デフォルトの名無しさん
2010/05/31(月) 00:50:03それは「変数をフォルダ名にする」じゃ言葉足らずもいいとこだろ。
var path = Path.Combine(basePath, string.Format("フォルダ{0}", i);
Dicretory.CreateDirectory(path);
とかでもダメ?
0233デフォルトの名無しさん
2010/05/31(月) 00:54:08>>232
ありがとうございます
試してみます
0234デフォルトの名無しさん
2010/05/31(月) 10:28:12ゲーム作るつもりなら最終的には自分でメッセージループ回すことになると思うぞ
0235デフォルトの名無しさん
2010/05/31(月) 15:06:34どのように取得するのでしょうか?
0236デフォルトの名無しさん
2010/05/31(月) 15:41:05どうしてもやりたかったらビルド前のコマンドでコード生成
0237デフォルトの名無しさん
2010/05/31(月) 17:43:21ありがとう
0238デフォルトの名無しさん
2010/05/31(月) 23:18:02internal static class VersionInfo { public const string Date = "2010/05/31"; }
こういうのを生成してcsファイルに保存する処理をスクリプトかなんかで書いてビルド前イベントで呼ぶだけ
0239デフォルトの名無しさん
2010/06/01(火) 00:56:560240デフォルトの名無しさん
2010/06/01(火) 04:51:570241デフォルトの名無しさん
2010/06/01(火) 15:22:12__DATE__みたいなオモチャ使わず各自で好きにやるのが普通だと思ってるんだろうな
0242デフォルトの名無しさん
2010/06/01(火) 16:22:490243デフォルトの名無しさん
2010/06/01(火) 16:50:03[assembly:CompileDate("2010/05/31")]みたいな
どっちみちコード生成が必要だから>>238の方が楽
0245デフォルトの名無しさん
2010/06/01(火) 19:50:35まじかよw
これまでの作業量について考えるのだけはやめておくんだ!これからが大事!な!
0246デフォルトの名無しさん
2010/06/02(水) 05:36:500247デフォルトの名無しさん
2010/06/02(水) 08:58:57あまりにも調べが足りなさすぎるがこれも勉強だw
0248デフォルトの名無しさん
2010/06/02(水) 10:55:140249デフォルトの名無しさん
2010/06/02(水) 13:09:26.NET3.5でWindowsフォームアプリケーションを作成しています。
Webカメラやリモートカメラなどの映像を取り込み、その映像をリアルタイムにフォーム内に表示したいのですが、
可能でしょうか?
「webカメラ キャプチャ」等のワードで検索しても良い資料が見つからなかったので、
どなたか良い方法をご教授ください…
0250デフォルトの名無しさん
2010/06/02(水) 13:34:04DirectShow辺りに答えがあるんじゃないかな?
あと、ヒントならGraphEditPlusというツールを使うのもありかも。
0251デフォルトの名無しさん
2010/06/02(水) 13:51:48普通に使える
0252251
2010/06/02(水) 14:00:170253デフォルトの名無しさん
2010/06/02(水) 14:38:34機器との通信により得られた16進数の浮動小数点データ形式文字列を、
10進数にしてを表示するプログラムを作成したいのですが、よい方法はないでしょうか?
<例>受信データ:42C80000 出力:100.0
といったものを作りたいのです。
なお、受信データを文字列に変換するところまでは、できています。
0254デフォルトの名無しさん
2010/06/02(水) 14:49:05int n = Convert.ToInt32("42C80000", 16);
intを浮動小数点に変換
float f = BitConverter.ToSingle(BitConverter.GetBytes(n), 0);
100.0のような書式で出力するのはわかるよね?
0255デフォルトの名無しさん
2010/06/02(水) 15:00:180256デフォルトの名無しさん
2010/06/02(水) 15:01:560257253
2010/06/02(水) 15:29:16できました。
ようやくConvert.ToInt32の意味がわかりました。
どうもありがとうございます。
0258デフォルトの名無しさん
2010/06/02(水) 20:34:47フォーム内のコントロールで TabIndex が一番若い番号のコントロールを
簡単に知る方法はないでしょうか?
現在複数のフォームを使うアプリを書いているのですが、
インスタンス化の処理が結構重い(DBから情報ひっぱってきてコントロールを沢山つくる)ので
フォームのインスタンスを使いまわすことにしました。
Close() のかわりに Hide() を使ったまではいいのですが、
再度表示したときに当然のごとくフォーカスの位置が前回と同じなままになってしまいます。
ロードイベントあたりで先頭のコントロールに対して Select() を使って対処していますが、
コントロール名をハードコーディングしているのでデザイナでの TabIndex 変更に追従出来ていません。
0259デフォルトの名無しさん
2010/06/02(水) 20:45:33意味がわかりません
0260デフォルトの名無しさん
2010/06/02(水) 20:56:45動的なフォーム構築で追加したコントロールのTabIndex再設定ができません、と聞こえる。
手を抜かないでFormのControlsを回して設定し直せばいいんじゃね?
0261258
2010/06/02(水) 21:04:19TabIndex が一番若いコントロールを決めうちして
Load イベントで直接 Select() しちゃっています。
デザイナで順番かえたりした場合は一々 Select() を呼び出すコントローラーを変更しています。
>>260
全部を動的に追加しているわけじゃなく、いくつか固定で置いてあるものもあるんですが、
動的フォーム構築をする場合って全部の TabIndex をコードビハインド側でふりなおすのが普通なんでしょうか?
その場合ってデザイナ側での並び順がかわったら一々コードも修正しないといけないですよね?
0262デフォルトの名無しさん
2010/06/02(水) 21:08:09ありがとうございます
0263デフォルトの名無しさん
2010/06/02(水) 21:08:450264デフォルトの名無しさん
2010/06/02(水) 21:13:57AVIファイル形式での作成の仕方はサンプルみつけたんだけど、
WMVもしくはMP4で作成できる人いる?
AVI形式はサイズが大きすぎて、、、小さくしたいんだよね。
0265デフォルトの名無しさん
2010/06/02(水) 21:20:46そういうのはC#にこだわらずにC++のコードとか漁らないと
0266258
2010/06/02(水) 21:22:48フォームの VisibleChanged イベントハンドラで自分自身に対して SelectNextControl() を使うことで
希望の動作となりました。
0267デフォルトの名無しさん
2010/06/02(水) 21:33:450268デフォルトの名無しさん
2010/06/02(水) 21:36:45子のコードは信じられない。
0269デフォルトの名無しさん
2010/06/02(水) 21:50:28タブ順はデザイナーで管理したい、って話じゃないの?
俺はそういうのはデザイナ側で完結してないと気持ちわるいけどな。
WPF万歳だよほんと。
0270デフォルトの名無しさん
2010/06/02(水) 21:53:20まータブ順変更しただけでコード書き換えなきゃいけないような実装はタコだと思うけど。
0271デフォルトの名無しさん
2010/06/02(水) 22:00:380272デフォルトの名無しさん
2010/06/02(水) 22:13:29C#ユーザーってもっとミーハーが多いのかと思ってた
0273デフォルトの名無しさん
2010/06/02(水) 22:16:09SilverLightがなければやろうと思わなかった
0274デフォルトの名無しさん
2010/06/02(水) 22:19:16ほんとにやってんの?
0275デフォルトの名無しさん
2010/06/02(水) 22:21:09実装差違とかあるのもわかってるよ
どっちかといえばsilverlightのついでにWPFやる感じ
0276デフォルトの名無しさん
2010/06/02(水) 22:21:360277デフォルトの名無しさん
2010/06/02(水) 22:24:340278デフォルトの名無しさん
2010/06/02(水) 22:26:380279デフォルトの名無しさん
2010/06/02(水) 22:31:28XAMLなんかDesigner.csをXMLにしただけのもの
触りたくなけりゃ触らなくてもデザイナ任せでWinForms程度のUIは作れる
0280デフォルトの名無しさん
2010/06/02(水) 22:32:19動かすと「URLが正しくないため、読み込めませんでした」。
エクスプローラからダブルクリックしても全く動かない。
0281デフォルトの名無しさん
2010/06/02(水) 22:34:02winformでも同じような仕組み作れるよ
Formにwebbrowser貼り付けてそこへ起動時にhtmlコード入れて
webbrowserのどれがクリックされたとかイベント処理すればOK
0282デフォルトの名無しさん
2010/06/02(水) 22:34:120283280
2010/06/02(水) 22:42:260284デフォルトの名無しさん
2010/06/03(木) 01:14:15タブによって英数字と平仮名のキー分けてをそれぞれ実装しています
ある文字ボタン(ここでは「か」と書かれたボタン)を押すとイベントが発生し、以下のような処理を行います。
private void buttonH_SA_Click(object sender, EventArgs e) {
SendKeys.SendWait("ka"); //"平仮名の「か」を送りたい
}
このようにして、ソフト上でキーボードを実現したいのですが、
例えばメモ帳アプリケーションに対してこのような処理を実行すると、"か"ではなく"ka"としか表示されません。
なんとかして、メモ帳に"ka"ではなく"か"と表示させることはできないのでしょうか?
対象テキストボックスのImeModeプロパティが弄れたらいいのだけれどもそれは無理ですし…
何か良い方法があればご教授下さい。
よろしくお願いします。
0285デフォルトの名無しさん
2010/06/03(木) 07:01:55でいかんのか?
0286デフォルトの名無しさん
2010/06/03(木) 10:42:43それは試しましたが、確かに「か」と出力されます。
しかし未変換の状態で出力されてほしいのです。(文字に下線がついて出力されるように)
その方法では既に確定した状態で出力されてしまいます。
0287デフォルトの名無しさん
2010/06/03(木) 11:06:270288デフォルトの名無しさん
2010/06/03(木) 11:55:11大丈夫です
0289デフォルトの名無しさん
2010/06/03(木) 14:22:47ならWin32 APIのSendInputを呼び出すんだな。
IMEがMS IMEなら下線付きで送信される。でも残念ながらATOKは確定済みで送信される
0290デフォルトの名無しさん
2010/06/03(木) 14:27:220291デフォルトの名無しさん
2010/06/03(木) 15:43:17これにIMEの制御つけるだけじゃないの?
0292デフォルトの名無しさん
2010/06/03(木) 16:14:03Imm系がそれだったような気もするが詳しくは知らん
てか情報なさ過ぎ
0293デフォルトの名無しさん
2010/06/03(木) 16:17:15それより問題なのがOSがvista以降くらいになると
IME関連の制御が違うとかどうのって記述を見かけたたんだよな・・・
0294デフォルトの名無しさん
2010/06/03(木) 17:53:48これだな ttp://social.technet.microsoft.com/forums/ja-JP/windowsvistasoftwareja/thread/973a7407-5ddb-4b34-9aea-0fb36f762cf4/
VistaからTextServicesFramework、略してTSFなるものに変わったらしい
まったく毎度毎度要らんことしてくれるわM$さんはよう
0295デフォルトの名無しさん
2010/06/03(木) 18:06:11それそれ
MS関連でタッチパネル系デバイスが普及しないのは
そういうところなんだよね〜
0296デフォルトの名無しさん
2010/06/03(木) 18:39:37かんけーねーし、
そもそも携帯電話以外で巷にあふれているタッチパネルのデバイスの大半はMSのOS使っているだろ。
0297デフォルトの名無しさん
2010/06/03(木) 18:42:340298デフォルトの名無しさん
2010/06/03(木) 18:49:58ニートは言うことが面白い。
0299デフォルトの名無しさん
2010/06/03(木) 19:07:43WindowsMobileを無視するとは。
0300デフォルトの名無しさん
2010/06/03(木) 19:16:50自分の家が世界の全てだからな。
0301デフォルトの名無しさん
2010/06/03(木) 19:18:380302デフォルトの名無しさん
2010/06/03(木) 19:47:370303デフォルトの名無しさん
2010/06/03(木) 19:51:54>>294も>>295もどっちもどっちではある。
Windowsでサポートされてたタッチパネルってほとんどマウスエミュレーション系じゃない?
ああいうのを今日的な感覚でタッチパネルって言っていいのかどうか。
0304デフォルトの名無しさん
2010/06/03(木) 21:56:450305280
2010/06/03(木) 22:06:50でもないのか、iPhoneとかでも使われてるし。
0307デフォルトの名無しさん
2010/06/04(金) 01:11:120308デフォルトの名無しさん
2010/06/04(金) 01:12:45一つの要素に配列の様に複数の値が入ってる場合にちょっと困ってます。
↓こんな要素があって、colorをRGBAで読み込みたいんです。
<ambient>
<color>0.50000 0.50000 0.50000 1</color>
</ambient>
とりあえず文字列としてはcolorがデシリアライズできましたが、
public class ambient
{
public string color;
}
使い勝手が悪いのでfloat4つのR,G,B,Aを持ったcolorクラスとして、
もしくはfloat[4]として読み込みたいです。
public class color
{
public float r, g, b, a;
// public float[] rgba;
}
何かいい方法ないでしょうか?
0309デフォルトの名無しさん
2010/06/04(金) 01:17:48<color a="0" r="0" g="0" b="0"/>
</ambient>
とか
<ambient>
<color>
<a>0</a>
<r>0</r>
<g>0</g>
<b>0</b>
</color>
</ambient>
とか
0310デフォルトの名無しさん
2010/06/04(金) 01:19:190311デフォルトの名無しさん
2010/06/04(金) 01:35:51文字列で読み込んでから分割するしかないですかね。
0312デフォルトの名無しさん
2010/06/04(金) 01:38:150313デフォルトの名無しさん
2010/06/04(金) 01:40:04というか何でできないの?
最悪の場合は変換前のxmlに正規表現の置換でもかけて
XmlSerializer向けに直してやるとかは?
0314デフォルトの名無しさん
2010/06/04(金) 02:04:400315デフォルトの名無しさん
2010/06/04(金) 02:08:250316デフォルトの名無しさん
2010/06/04(金) 10:44:26他社との連携とかほんと無視。
0317デフォルトの名無しさん
2010/06/04(金) 10:56:28フィルタ書けてそう言うのも簡単に読み書きできるし
0318デフォルトの名無しさん
2010/06/04(金) 12:17:33最も完全なのはecmaのCLI
オペコードのリファレンスとしてわかりやすいのはMSDNのSystem.Reflection.Emit.OpCodes
0319デフォルトの名無しさん
2010/06/04(金) 14:51:38それを悪とするあつかましさが醜い
0320デフォルトの名無しさん
2010/06/04(金) 20:48:130321デフォルトの名無しさん
2010/06/04(金) 21:58:470322デフォルトの名無しさん
2010/06/04(金) 22:38:210323デフォルトの名無しさん
2010/06/04(金) 22:41:160324デフォルトの名無しさん
2010/06/04(金) 23:13:470325デフォルトの名無しさん
2010/06/04(金) 23:26:360326デフォルトの名無しさん
2010/06/04(金) 23:49:38VC2008 C#の、イミディエイトウィンドウ内で
IEnumerable実装クラスなどを列挙させるのに
いい方法はないでしょうか。
0327デフォルトの名無しさん
2010/06/05(土) 00:02:080328デフォルトの名無しさん
2010/06/05(土) 00:19:070329デフォルトの名無しさん
2010/06/05(土) 00:29:27全部ウォッチウィンドウで済ませちゃってるんだけど。
0330デフォルトの名無しさん
2010/06/05(土) 00:33:08副作用のあるメソッド呼び出しとか。
0331デフォルトの名無しさん
2010/06/05(土) 00:35:07試せよ
配列なら自動的に中身が表示される
■ このスレッドは過去ログ倉庫に格納されています