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


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

C#, C♯, C#相談室 Part59



1 名前:デフォルトの名無しさん [2010/05/16(日) 23:13:52 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ 
C#, C♯, C#相談室 Part58
pc12.2ch.net/test/read.cgi/tech/1269261310/

Visual C# 2008 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>1-5くらい

206 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 13:07:35 ]
>>205
ちゃんと参照設定してないだろそれ
usingのことじゃないぞ>参照設定

207 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:51:07 ]
.NET framework 4でoffice 2003のアドイン作れますか??

208 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 18:21:20 ]
タイプライターのように文字表示したいのですがUIでThreadを使うなと以前書いてあったと思います
どのようにwaitをかければ良いでしょうか
ttp://ideone.com/NZMm7

209 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 18:42:43 ]
>>208
Dispatcher通せば別スレッドからアクセスできるよ。

210 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 19:08:07 ]
>>208
System.Windows.Timerを使えばいい。

211 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 19:54:56 ]
waitを掛けるって発想が大昔のBASICっぽいなw

212 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 19:56:20 ]
UIでThreadを使うなって
Invokeしろって意味じゃないのか?

213 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 19:59:38 ]
正しくは「UIスレッドを止めるな」だな
スレッドを止めたいときは別のスレッドを作る

214 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:09:56 ]
208です
BackgroundWorkerを使って別スレッドにしてみましたが結局UIを触るなってことらしく
にっちもさっちも行きません
Thread.Sleepで止めて、その間UIを触れないようにしました



215 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:17:29 ]
タイマ使え
ループはいらん

216 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:42:04 ]
>>214
どこを参照してそのような知識を得たのか晒してみるといいよ

217 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:51:58 ]
タイマーだと、タイプライターのような入力文字列によるインターバルの差や、
入力速度の揺らぎを再現しようとすると、綺麗に纏まらないな

勿論、それくらいやるよね>>208

218 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:55:56 ]
それでもそんなことにスレッド使うのはありえない
短い間隔で頻繁にコールバックかけて時間測るようにするだろ
ゲームみたいに自分でメッセージループ回してもいい

219 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:03:16 ]
>>214
だからDispatcher使えって。
別スレッドから、「UIスレッドでこの処理実行してくれ」ってお願いする機能。


220 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:07:38 ]
いやそもそも普通そんなことにスレッド使わないから

221 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:08:55 ]
>>219
普通DispatcherというとSystem.Windows.Threading.Dispatcherだが、
WinFormの話でそんなんだされても困る

222 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:13:49 ]
208です
さすがに素人でも214の処理はまずいと思いましたのでTimerを使ってみました
ideone.com/za8su
期待通りの動きといえば期待通りなのですがどうでしょうか

223 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 22:18:26 ]
>>221
あー、Control.Invoke (Delegate) のことね。

224 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 23:19:51 ]
>>222
なんかおかしくね?



225 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:17:46 ]
なんかって何?

クリックするたびにTickのイベントハンドラが増えるとか、
TypeWriter()の引数を使っていないとか、
typewriterは1単語だからケースがおかしいとか?

226 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:20:47 ]
>>225
やさしいなw

227 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:29:16 ]
C#でフォルダを作るときに変数をフォルダ名にすることはできますか?

228 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:35:42 ]
変数を使わずにフォルダを作る方法がわかってるんだったら
フォルダ名を文字列で直接指定する代わりに変数を与えればいいだけ

229 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:35:42 ]
なぜそうしたいんですか?

230 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:44:24 ]
>>228
すいません
それがうまくいかなくて…

>>229
例えば「5」と入力したらフォルダ1、フォルダ2、…、フォルダ5というようにフォルダを作りたいので

231 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:49:00 ]
>>230
for (int i = 1; i <= 5; i++) {
string folder = string.Format("フォルダ{0}", i);
}


232 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:50:03 ]
>>230
それは「変数をフォルダ名にする」じゃ言葉足らずもいいとこだろ。

var path = Path.Combine(basePath, string.Format("フォルダ{0}", i);
Dicretory.CreateDirectory(path);

とかでもダメ?


233 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 00:54:08 ]
>>231
>>232
ありがとうございます
試してみます

234 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 10:28:12 ]
ゲ製から来た人かなあ
ゲーム作るつもりなら最終的には自分でメッセージループ回すことになると思うぞ



235 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:06:34 ]
C++の__DATE__みたいなコンパイル日付は
どのように取得するのでしょうか?

236 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:41:05 ]
無理
どうしてもやりたかったらビルド前のコマンドでコード生成

237 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 17:43:21 ]
無いですか・・・残念
ありがとう

238 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:18:02 ]
コード生成っていったって
internal static class VersionInfo { public const string Date = "2010/05/31"; }
こういうのを生成してcsファイルに保存する処理をスクリプトかなんかで書いてビルド前イベントで呼ぶだけ

239 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 00:56:56 ]
svnのリビジョンを読み取ってソースに書き込む奴とかな。

240 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 04:51:57 ]
わざわざ読み取らなくても勝手に変えてくれるよ

241 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 15:22:12 ]
MSってコード生成とかメタプログラミングとか好きだから
__DATE__みたいなオモチャ使わず各自で好きにやるのが普通だと思ってるんだろうな

242 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 16:22:49 ]
どうしても必要ならリフレクション。

243 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 16:50:03 ]
リフレクション使うにしてもコンパイル時に埋めこんどかないと無理
[assembly:CompileDate("2010/05/31")]みたいな
どっちみちコード生成が必要だから>>238の方が楽

244 名前:239 mailto:sage [2010/06/01(火) 19:34:49 ]
>>240
うわあ、今までPerlのスクリプトで処理してた・・・



245 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 19:50:35 ]
>>244
まじかよw
これまでの作業量について考えるのだけはやめておくんだ!これからが大事!な!

246 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 05:36:50 ]
245 のやさしさに泣いた

247 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 08:58:57 ]
まぁ遠回りして勉強になることもあるし・・・
あまりにも調べが足りなさすぎるがこれも勉強だw

248 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 10:55:14 ]
まあデフォルトのままだとかわらないからな

249 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:09:26 ]
相談です。

.NET3.5でWindowsフォームアプリケーションを作成しています。

Webカメラやリモートカメラなどの映像を取り込み、その映像をリアルタイムにフォーム内に表示したいのですが、
可能でしょうか?

「webカメラ キャプチャ」等のワードで検索しても良い資料が見つからなかったので、
どなたか良い方法をご教授ください…

250 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:34:04 ]
>>249
DirectShow辺りに答えがあるんじゃないかな?

あと、ヒントならGraphEditPlusというツールを使うのもありかも。

251 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:51:48 ]
Directshow.NET使ってる。
普通に使える

252 名前:251 mailto:sage [2010/06/02(水) 14:00:17 ]
あーあとOpenCVの.NET版も試したけど使えたよ

253 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 14:38:34 ]
どなたか教えてください。

機器との通信により得られた16進数の浮動小数点データ形式文字列を、
10進数にしてを表示するプログラムを作成したいのですが、よい方法はないでしょうか?
<例>受信データ:42C80000 出力:100.0
といったものを作りたいのです。

なお、受信データを文字列に変換するところまでは、できています。

254 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 14:49:05 ]
16進文字列をintに変換
int n = Convert.ToInt32("42C80000", 16);
intを浮動小数点に変換
float f = BitConverter.ToSingle(BitConverter.GetBytes(n), 0);
100.0のような書式で出力するのはわかるよね?



255 名前:デフォルトの名無しさん [2010/06/02(水) 15:00:18 ]
その前にエンディアンとかの話は大丈夫なんだろうか・・・

256 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 15:01:56 ]
受信データの例を見る限り問題無いでしょ

257 名前:253 mailto:sage [2010/06/02(水) 15:29:16 ]
>254さん
できました。
ようやくConvert.ToInt32の意味がわかりました。
どうもありがとうございます。

258 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:34:47 ]
フォーム内のフォーカスを初期表示時と同じにする、もしくは
フォーム内のコントロールで TabIndex が一番若い番号のコントロールを
簡単に知る方法はないでしょうか?

現在複数のフォームを使うアプリを書いているのですが、
インスタンス化の処理が結構重い(DBから情報ひっぱってきてコントロールを沢山つくる)ので
フォームのインスタンスを使いまわすことにしました。

Close() のかわりに Hide() を使ったまではいいのですが、
再度表示したときに当然のごとくフォーカスの位置が前回と同じなままになってしまいます。
ロードイベントあたりで先頭のコントロールに対して Select() を使って対処していますが、
コントロール名をハードコーディングしているのでデザイナでの TabIndex 変更に追従出来ていません。




259 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:45:33 ]
>コントロール名をハードコーディングしているのでデザイナでの TabIndex 変更に追従出来ていません。
意味がわかりません

260 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:56:45 ]
とてつもないドキュソ実装の香り。
動的なフォーム構築で追加したコントロールのTabIndex再設定ができません、と聞こえる。
手を抜かないでFormのControlsを回して設定し直せばいいんじゃね?

261 名前:258 mailto:sage [2010/06/02(水) 21:04:19 ]
>>259
TabIndex が一番若いコントロールを決めうちして
Load イベントで直接 Select() しちゃっています。
デザイナで順番かえたりした場合は一々 Select() を呼び出すコントローラーを変更しています。

>>260
全部を動的に追加しているわけじゃなく、いくつか固定で置いてあるものもあるんですが、
動的フォーム構築をする場合って全部の TabIndex をコードビハインド側でふりなおすのが普通なんでしょうか?
その場合ってデザイナ側での並び順がかわったら一々コードも修正しないといけないですよね?


262 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:08:09 ]
>>250,251
ありがとうございます

263 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:08:45 ]
LinQで検索でいけるじゃんと思ったけどPanelとか使ってると結構めんどくさいな

264 名前:デフォルトの名無しさん [2010/06/02(水) 21:13:57 ]
USBカメラを使って、動画を
AVIファイル形式での作成の仕方はサンプルみつけたんだけど、
WMVもしくはMP4で作成できる人いる?
AVI形式はサイズが大きすぎて、、、小さくしたいんだよね。



265 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:20:46 ]
スレ違い
そういうのはC#にこだわらずにC++のコードとか漁らないと

266 名前:258 mailto:sage [2010/06/02(水) 21:22:48 ]
自己解決しました。

フォームの VisibleChanged イベントハンドラで自分自身に対して SelectNextControl() を使うことで
希望の動作となりました。



267 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:33:45 ]
フォームインスタンス使いまわしはクリアの処理が汚なくなりがちだからきらいだな

268 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:36:45 ]
きちんと戦略を練られるならいいけど、タブ順の管理すらメンドクサなんていう
子のコードは信じられない。

269 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:50:28 ]
>>268
タブ順はデザイナーで管理したい、って話じゃないの?
俺はそういうのはデザイナ側で完結してないと気持ちわるいけどな。
WPF万歳だよほんと。

270 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:53:20 ]
コードビハインドはどっちかっつーとまだデザインの範疇じゃね?
まータブ順変更しただけでコード書き換えなきゃいけないような実装はタコだと思うけど。


271 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:00:38 ]
WPFありがたがってるのは総じてアホ

272 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:13:29 ]
新しいものを受け付けなくなったら終わりだよ
C#ユーザーってもっとミーハーが多いのかと思ってた

273 名前:デフォルトの名無しさん [2010/06/02(水) 22:16:09 ]
WPF単体だと見切る可能性大だったな
SilverLightがなければやろうと思わなかった

274 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:19:16 ]
>SilverLight
ほんとにやってんの?



275 名前:デフォルトの名無しさん [2010/06/02(水) 22:21:09 ]
xamlという共通な部分があるからね
実装差違とかあるのもわかってるよ

どっちかといえばsilverlightのついでにWPFやる感じ

276 名前:デフォルトの名無しさん [2010/06/02(水) 22:21:36 ]
test

277 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:24:34 ]
xamlがわからない

278 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:26:38 ]
xamlやるぐらいならHTML5とJavaScriptやる

279 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:31:28 ]
たかが設定ファイルに何そんなに騒いでるの
XAMLなんかDesigner.csをXMLにしただけのもの
触りたくなけりゃ触らなくてもデザイナ任せでWinForms程度のUIは作れる

280 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:32:19 ]
なんでか、うちのWindows7じゃWPF動かんし。
動かすと「URLが正しくないため、読み込めませんでした」。
エクスプローラからダブルクリックしても全く動かない。

281 名前:デフォルトの名無しさん [2010/06/02(水) 22:34:02 ]
>>277
winformでも同じような仕組み作れるよ
Formにwebbrowser貼り付けてそこへ起動時にhtmlコード入れて
webbrowserのどれがクリックされたとかイベント処理すればOK

282 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:34:12 ]
何を勘違いしてるのか知らんがプログラミングやるようなレベルじゃないな

283 名前:280 mailto:sage [2010/06/02(水) 22:42:26 ]
あ、すまん勘違い。なんかいじってた設定が悪かった。新規作成したら動いたわ。

284 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 01:14:15 ]
ソフトウェアキーボードを作っています。
タブによって英数字と平仮名のキー分けてをそれぞれ実装しています

ある文字ボタン(ここでは「か」と書かれたボタン)を押すとイベントが発生し、以下のような処理を行います。
private void buttonH_SA_Click(object sender, EventArgs e) {
 SendKeys.SendWait("ka"); //"平仮名の「か」を送りたい
}

このようにして、ソフト上でキーボードを実現したいのですが、
例えばメモ帳アプリケーションに対してこのような処理を実行すると、"か"ではなく"ka"としか表示されません。

なんとかして、メモ帳に"ka"ではなく"か"と表示させることはできないのでしょうか?
対象テキストボックスのImeModeプロパティが弄れたらいいのだけれどもそれは無理ですし…

何か良い方法があればご教授下さい。
よろしくお願いします。




285 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 07:01:55 ]
SendKeys.Send("か");
でいかんのか?


286 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 10:42:43 ]
>>285
それは試しましたが、確かに「か」と出力されます。

しかし未変換の状態で出力されてほしいのです。(文字に下線がついて出力されるように)

その方法では既に確定した状態で出力されてしまいます。

287 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:06:27 ]
DLLのAPI呼び出しでもいい?

288 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:55:11 ]
>>287
大丈夫です

289 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:22:47 ]
>>288
ならWin32 APIのSendInputを呼び出すんだな。
IMEがMS IMEなら下線付きで送信される。でも残念ながらATOKは確定済みで送信される

290 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:27:22 ]
Imm〜で何とかできそうな

291 名前:デフォルトの名無しさん [2010/06/03(木) 15:43:17 ]
cs2ch.blogspot.com/2010/04/blog-post_10.html
これにIMEの制御つけるだけじゃないの?

292 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 16:14:03 ]
多分「詳細なテキストサービス」の出番ではなかろうか
Imm系がそれだったような気もするが詳しくは知らん
てか情報なさ過ぎ

293 名前:デフォルトの名無しさん [2010/06/03(木) 16:17:15 ]
>>292
それより問題なのがOSがvista以降くらいになると
IME関連の制御が違うとかどうのって記述を見かけたたんだよな・・・

294 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 17:53:48 ]
>>293
これだな ttp://social.technet.microsoft.com/forums/ja-JP/windowsvistasoftwareja/thread/973a7407-5ddb-4b34-9aea-0fb36f762cf4/
VistaからTextServicesFramework、略してTSFなるものに変わったらしい
まったく毎度毎度要らんことしてくれるわM$さんはよう



295 名前:デフォルトの名無しさん [2010/06/03(木) 18:06:11 ]
>>294
それそれ
MS関連でタッチパネル系デバイスが普及しないのは
そういうところなんだよね〜

296 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 18:39:37 ]
>>295
かんけーねーし、
そもそも携帯電話以外で巷にあふれているタッチパネルのデバイスの大半はMSのOS使っているだろ。

297 名前:デフォルトの名無しさん [2010/06/03(木) 18:42:34 ]
業務用で終わってる内は普及したとはいわねーよw

298 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 18:49:58 ]
>>297
ニートは言うことが面白い。

299 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 19:07:43 ]
>>296
WindowsMobileを無視するとは。

300 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 19:16:50 ]
>>298
自分の家が世界の全てだからな。

301 名前:デフォルトの名無しさん [2010/06/03(木) 19:18:38 ]
普及したって定義は実際はどうなの?

302 名前:デフォルトの名無しさん [2010/06/03(木) 19:47:37 ]
なんか一気に雰囲気悪くなったな

303 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 19:51:54 ]
まあネタに真面目に突っ込むのもアレだけど、
>>294>>295もどっちもどっちではある。

Windowsでサポートされてたタッチパネルってほとんどマウスエミュレーション系じゃない?
ああいうのを今日的な感覚でタッチパネルって言っていいのかどうか。

304 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:56:45 ]
いきなりネガキャンされたらいい気しない人も結構いるってことじゃないの?



305 名前:280 mailto:sage [2010/06/03(木) 22:06:50 ]
かといって、タップ&ホールドを持ち込まれるとついていけない子がいっぱい。
でもないのか、iPhoneとかでも使われてるし。

306 名前:294 mailto:sage [2010/06/03(木) 23:33:13 ]
>>303
ちょwww俺もかよwwwwww
アンカーミスだよな?






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

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

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