全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
C#, C♯, C#相談室 Part58
- 1デフォルトの名無しさんsage2010/03/22(月) 21:35:10
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ
C#, C♯, C#相談室 Part55 (実質56)
http://pc12.2ch.net/test/read.cgi/tech/1260111240/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>1-5くらい
- 2デフォルトの名無しさんsage2010/03/22(月) 21:38:11
- 関連スレ
ふらっとC#,C♯,C#(初心者用) Part57
http://pc12.2ch.net/test/read.cgi/tech/1269018938/
Visual Studio 2008 Part 19
http://pc12.2ch.net/test/read.cgi/tech/1259076828/
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
【VB.NET】LINQ友の会【C#, C♯, C#】
http://pc12.2ch.net/test/read.cgi/tech/1202568694/
C#,C#の宿題片付けます。
http://pc12.2ch.net/test/read.cgi/tech/1197620454/
ASP.NET + Atlas or Ajax について
http://pc12.2ch.net/test/read.cgi/tech/1150036430/
Microsoft Silverlight その5
http://pc12.2ch.net/test/read.cgi/tech/1260010993/
Visual Studio 2010 Part3
http://pc12.2ch.net/test/read.cgi/tech/1267092670/
- 3デフォルトの名無しさんsage2010/03/22(月) 21:39:19
- 参考リンク
MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://forums.microsoft.com/MSDN-JA/default.aspx?SiteID=7
pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
- 4デフォルトの名無しさんsage2010/03/22(月) 21:40:51
- 質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。
初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
※コードの量が多い場合は下記サイトを使うなどしたほうがいいかも※
http://codepad.org/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
- 5デフォルトの名無しさんsage2010/03/22(月) 21:45:14
- C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1265283175/
こっちが本当の前スレ
- 6デフォルトの名無しさんsage2010/03/22(月) 21:45:49
- >>1
乙
前スレ
C#, C♯, C#相談室 Part57
http://pc12.2ch.net/test/read.cgi/tech/1265283175/
- 7デフォルトの名無しさんsage2010/03/23(火) 08:45:19
- codepadはC#ないじゃん。
ideoneにすればいいのに
http://ideone.com/
- 8デフォルトの名無しさんsage2010/03/23(火) 11:59:11
- イデオーン?
- 9デフォルトの名無しさんsage2010/03/23(火) 17:09:29
- ASP.NETサーバーを借りているんですが、
SecurityPermissionFlag.UnmanagedCodeのクラスは使えないらしく、
Mutexクラスが使えません
代替手段ってどんなものが考えられるでしょうか?
- 10デフォルトの名無しさんsage2010/03/24(水) 02:29:07
- part55>>997-1000
回答ありがとうございます。いろいろXMLについて調べてみます
- 11デフォルトの名無しさんsage2010/03/24(水) 02:46:53
- >>10
http://dobon.net/vb/dotnet/file/xmlserializer.html
- 129sage2010/03/24(水) 03:02:43
- いちおう、ファイルが開けるかどうかで排他状態を管理するオブジェクトを作りました
他にいい方法があったら教えてください
- 139sage2010/03/24(水) 03:04:46
- あと、追加で質問です
ローカルでセキュリティのテストをしたいのですが、
コマンドプロンプトからSecurityPermissionFlag.UnmanagedCodeなどを禁止した状態で
実行する方法はないでしょうか?
- 14デフォルトの名無しさんsage2010/03/24(水) 05:23:15
- 多分
ttp://msdn.microsoft.com/ja-jp/library/tkscy493(VS.80).aspx
のHigh設定になってるんじゃないかね?
- 15デフォルトの名無しさんsage2010/03/24(水) 05:26:42
- 訂正、High以上の制限のどれか。
Mediumが多いのかな?
- 16デフォルトの名無しさんsage2010/03/24(水) 20:05:23
- >>15
Mediumです
ローカルでレンタルサーバーと同じ設定にしたいのですが、XPHomeなのでIISが使えません
なので、普通のコンソールアプリケーションでセキュリティを指定して実行する方法がないかなぁ・・と
- 17デフォルトの名無しさんsage2010/03/24(水) 20:28:07
- まず、IISがちゃんと動く環境を構築しなよ。
- 18デフォルトの名無しさんsage2010/03/24(水) 20:55:52
- つーか開発Webサーバ使え
- 19デフォルトの名無しさん2010/03/25(木) 00:13:46
- Formに処理をずらずら書きたくないのでコントロールではないクラスを
間にはさんでコントロールを管理したいんだがその管理クラスに土台となる
コントロールのインスタンスを渡すのは邪道だろうか?
- 20デフォルトの名無しさんsage2010/03/25(木) 00:15:16
- コントロールを管理って良く分かんないなぁ
- 21デフォルトの名無しさんsage2010/03/25(木) 00:16:41
- ビヘイビアみたいなもん?
- 22デフォルトの名無しさんsage2010/03/25(木) 00:17:47
- まあbuttonとかGUI部品をFormに貼り付けるとイベントハンドラが
Formの中にできますよね
Form上の部品もある程度機能ごとに分けれるので内部的に
自作クラスをはさんでコードも機能わけできればなあと
- 23デフォルトの名無しさんsage2010/03/25(木) 00:23:40
- 日本語で説明だと分かりにくいですねw
管理クラスは自分が管理するコントロールを動的に生成します。
このほかにもHogeBなどと別の管理クラスがあってクラス間でやり取りするときは
デリゲートを使ってForm経由でやり取りします。
class HogeA
{
public HogeA(Control control)
{
Button button = new Button();
control.Controls.Add(button);
}
//イベントハンドラなどもこのクラスで管理
}
- 24デフォルトの名無しさんsage2010/03/25(木) 00:35:36
- >>23
もしユーザーコントロール(複合コントロール)のことを知らずに
ユーザーコントロール的なものをやろうとしてるのなら、別に普通。
ただFormのコードを見た目だけスッキリさせたい(何のために?)、
なんてだけの動機なら、恐らく愚行。
- 25デフォルトの名無しさんsage2010/03/25(木) 00:37:00
- FormはただのViewで実装はクラスファイルでしたいって言えば通じるよ
- 26デフォルトの名無しさん2010/03/25(木) 00:38:31
- >>24>>25
まあユーザーコントロールの存在は知ってるのですが
意味合い的には>>25のいうような感じですかね・・・
- 27デフォルトの名無しさんsage2010/03/25(木) 00:53:18
- >>26
そもそもコントロールの制御ってのは、>>25のいう「ただのView」の仕事なんだけど。
でなきゃViewの仕事って何があるんだよ。
逆に言えば、ロジックを実装してるクラスでコントロールなんか普通の常識があれば
触りたくないと思うだろう。
なんか>>25も>>23も勘違いしてないか。
- 28デフォルトの名無しさんsage2010/03/25(木) 00:56:03
- >>27
まあ理由があるんですよ
デザイナーが出力するようなコードをわざわざ書いてる部分もあるんですが
どうしても動的に配置を変えたり、コントロールを動的に作るコードを書か
ないといけないので試行錯誤した結果こういう案ができあがったんですよ・・・
このクラスはviewを管理コントロールするクラスというか
- 29デフォルトの名無しさん2010/03/25(木) 00:57:04
- つまりMVC?
WPFではCはVに全く依存しないように作れるんだけど(MVVMという)
WinFormsではどこかでCにVを渡さないと無理
- 30デフォルトの名無しさんsage2010/03/25(木) 00:57:07
- 理由があるならそうすればいい
邪道かどうかなんて聞くまでもない
邪道だと言った所で聞き入れないだろ?
- 31デフォルトの名無しさんsage2010/03/25(木) 00:58:49
- >>30
ほかに方法があれば〜と思っただけです
- 32デフォルトの名無しさんsage2010/03/25(木) 01:04:10
- >>29
まあそんな感じですね
- 33デフォルトの名無しさんsage2010/03/25(木) 01:06:35
- まあそもそもの原因がsplitContainerにあるんですが・・・
splitContainerって分割を変えると上からもしくは左からが基準になってますけど
下からとか右からってできましったっけ?
これができるといいんですが
- 34デフォルトの名無しさんsage2010/03/25(木) 01:37:48
- すまんが>>33の言いたいことが全く理解出来ない
Splitって二つ以上に分割できたっけ?
- 35デフォルトの名無しさん2010/03/25(木) 01:40:12
- >>34
panel1とpanel2と分割されるけど
panel1 panel2
panel1
panel2
っていうのはあるけど
panel2 panel1
panel2
panel1
はないよね?ってことじゃないの?
- 36デフォルトの名無しさんsage2010/03/25(木) 02:02:41
- 継承してそういう機能付ければ
- 37デフォルトの名無しさんsage2010/03/25(木) 02:28:41
- panelを2つ置いて間にsplitter使ったら?
- 38デフォルトの名無しさんsage2010/03/25(木) 22:45:11
- ちょっと失礼するよ
仕事で使うみたいだからC♯の勉強をはじめたんだが
なにかを作りたいわけでもないのでイマイチはかどらないんだ
やっぱり目標は必要だよな?
プログラミングを独学学んだ人がいればどういう風に勉強に取り組んだか聞かせてもらえないかい?
- 39デフォルトの名無しさんsage2010/03/25(木) 22:46:44
- あきらめろよ。
- 40デフォルトの名無しさんsage2010/03/25(木) 22:47:03
- 独学でやるような人はプログラミング自体が目的になってる
- 41デフォルトの名無しさんsage2010/03/25(木) 22:50:02
- >>39
はやくね?ww
>>40
現状そうだな
なにかを作るわけでもないから得た知識がすぐに抜けていく感じがするわ
- 42デフォルトの名無しさんsage2010/03/25(木) 22:56:21
- ゲームでも作れば
フォームアプリと違ってごまかしが効かないから勉強になるよ
- 43デフォルトの名無しさんsage2010/03/25(木) 22:57:51
- お題を出すスレがあるからそこの奴を作る
- 44デフォルトの名無しさんsage2010/03/25(木) 23:02:32
- なにか必要性や目的があるとか、プログラミング自体が楽しいとかでないなら意味なくね?
たぶん身につかないよ。
- 45デフォルトの名無しさんsage2010/03/25(木) 23:05:10
- あるそふとから出ている音を
マイク入力とすることってできませんか
- 46デフォルトの名無しさんsage2010/03/25(木) 23:06:34
- 仕事用のちょっとしたツールでも作ってみればいいやん。
- 47デフォルトの名無しさんsage2010/03/25(木) 23:39:56
- はかどらないなりにやってればそのうち覚えると思うよ。
- 48デフォルトの名無しさんsage2010/03/25(木) 23:42:02
- >>45
・・・マイク出力端子をマイク入力端子に直結でいいやん。
- 49デフォルトの名無しさんsage2010/03/25(木) 23:50:36
- >>48
一つのソフトが出してる音だけ。
がほしいんです
- 50デフォルトの名無しさんsage2010/03/25(木) 23:57:18
- ステレオミキサー使えばいいんじゃない?
たまにハード的に使えないPCあるけど、その場合はオーディオストリームキャプチャー機能ついたソフトで。
- 51デフォルトの名無しさんsage2010/03/26(金) 00:06:16
- 拍手の左手の鳴った音だけ欲しい。と仰るか。
- 52デフォルトの名無しさんsage2010/03/26(金) 00:08:57
- やるとしたら、DirectSound横取りして録音かなぁ。
http://www.4gamer.net/specials/tooearlytogetvista/003/tooearlytogetvista_003.shtml
よーわからん。
- 53デフォルトの名無しさんsage2010/03/26(金) 02:54:11
- どうせエロゲの音声だろ
- 54デフォルトの名無しさんsage2010/03/26(金) 03:03:21
- radikoでしょ。
- 55デフォルトの名無しさんsage2010/03/26(金) 03:35:08
- >>41
手っ取り早くなら専ブラ作れ
ざっくり学べる
- 56デフォルトの名無しさんsage2010/03/26(金) 03:37:17
- >>54
radikoだろうな
現状はrtmpをそのまま受信するあのツールを起動するGUIを書くか
質問のようにフックとかしてぶっこ抜きか、ごく普通な手段として
録音ソフトを別途起動するか
最後の方法は音が鳴っちゃうからなあ
- 57デフォルトの名無しさんsage2010/03/26(金) 03:41:13
- フックとかそんな面倒なことじゃなくて
ドライバ作ればいいだけじゃん
- 58デフォルトの名無しさんsage2010/03/26(金) 03:52:24
- >>57
ドライバー作れるようなのがどれだけいるのか
仮想デバイスドライバーくらいならやってみたいがどこから手をつけていいかわからん
- 59デフォルトの名無しさんsage2010/03/26(金) 04:57:19
- 音声を女の声にするやつとかあるよな
- 60デフォルトの名無しさんsage2010/03/26(金) 14:52:32
- >>57
お前最高にアホだわ(^ω^;)
- 61デフォルトの名無しさんsage2010/03/26(金) 16:06:11
- 誰も的確なレスが返せないみたいですし、時間の無駄みたいですね
プログラムに関する質問を日本語の掲示板に頼っている時点でここの連中の程度は知れますけど
まぁがんばってください
- 62デフォルトの名無しさんsage2010/03/26(金) 16:09:19
- >>61
なにぶちきれてるか知らんけど結論とすればC#でやることじゃないよってことだよw
・ほかのツールで録音すれば?->C#は関係ないし
・ドライバー作れば?->C/C++の話だし
・フック->これもC/C++の方がいいだろう
- 63デフォルトの名無しさんsage2010/03/26(金) 17:15:07
- 何使うにせよ言語スレでやるような話題じゃない
- 64デフォルトの名無しさんsage2010/03/26(金) 17:31:32
- C#でするのは難しいと言うことなので
C/C++のほうで考えてみます
質問に答えてくださってありがとうございます。
- 65デフォルトの名無しさんsage2010/03/26(金) 19:06:27
- 仕事でC#使うから勉強に、ってのが最初の話じゃなかったのか・・・Cのほうに行ってどうすんだよ
- 66デフォルトの名無しさんsage2010/03/26(金) 19:15:59
- それ別人とちゃうの?
仕事で〜
radikoの録音で〜
- 67デフォルトの名無しさんsage2010/03/26(金) 19:16:44
- >>65
どう見ても別人だろ・・・
- 68デフォルトの名無しさんsage2010/03/26(金) 19:35:02
- Buttonをクリックした時だけそのボタンのツールチップを
表示させようとしているのですが、1回クリックして表示すると
2回目以降はButtonにフォーカスを当てただけで表示されてしまいます。
Buttonに紐付けられたツールチップのオブジェクトの参照を
無効にするには、どのタイミングのイベントで行えばよいでしょうか?
- 69デフォルトの名無しさんsage2010/03/26(金) 19:38:48
- Leaveとかじゃね
- 70デフォルトの名無しさんsage2010/03/26(金) 20:10:36
- >>68
MSDNライブラリのToolTipsメンバ一覧を見てそれを言ってるとしたらかなり頭が悪い。
見ずにいってるとしたら性格が異常。
- 71デフォルトの名無しさんsage2010/03/26(金) 20:16:02
- >>69
MouseLeaveで解決しました。
>>70
ありがとうございます。
- 72デフォルトの名無しさんsage2010/03/26(金) 23:30:50
- Showメソッド使ってやれよ、せっかくあるんだから。
- 73デフォルトの名無しさん2010/03/26(金) 23:50:25
- form1でハローワールドやってるものです。
javaだとpublic static void mainというところでインスタンスを作るけど
c#はその必要はないのですか?
- 74デフォルトの名無しさんsage2010/03/26(金) 23:52:38
- >>73
プロジェクトのフォルダにあるProgram.csを見てみるといい。
- 75デフォルトの名無しさんsage2010/03/26(金) 23:57:33
- >>73
ない
windowsアプリの場合Program.csの中のstatic void Main()で勝手にやってる
デザイナーでデザインした際に自動で書いてくれるコードは
Form1.Designer.csの中に入ってる。(Form1のコンストラクタがInitializeComponent()を呼び出してる)
こんな構造
なので基本的にはコンストラクタのInitializeComponent();の後か
Loadイベントを作ってその中にコードを書くなどすればOK
- 76デフォルトの名無しさんsage2010/03/27(土) 00:00:19
- VS2003の頃はフォームの中にMainが作られてたな
Javaなんかだと何故かあれを好む人がいるけど普通に考えたら不自然だよな
- 77デフォルトの名無しさんsage2010/03/27(土) 00:02:21
- >>76
不自然だねw
IDEが勝手に用意していきなり作られるForm1だって所詮はFormを継承したクラスに過ぎないからねえ
プログラムとしてみると今の方が普通
- 78デフォルトの名無しさんsage2010/03/27(土) 00:05:00
- >>74>>75
確認しました。ありがとうごぜいます。
そのようにいたします。
- 79デフォルトの名無しさんsage2010/03/27(土) 07:07:06
- 海外サイトで見つけたクラスをそのまま使ってるコードを
sourceforgeで晒すのって問題あるんだろうか?
コメントで入手先とか書いとけばいいのかな?
- 80デフォルトの名無しさんsage2010/03/27(土) 07:25:27
- >>79
書いた人間に訊けよ
そんなこと他の誰も許可できん
- 81デフォルトの名無しさんsage2010/03/27(土) 07:26:50
- ライセンスないなら聞け
- 82デフォルトの名無しさんsage2010/03/27(土) 07:29:12
- いちいち聴く必要ないだろ
めんどくさい
- 83デフォルトの名無しさんsage2010/03/27(土) 08:50:54
- 自己責任じゃね?
- 84デフォルトの名無しさんsage2010/03/27(土) 18:08:56
- 別のプロセスが使用中のファイルを開くと例外がでるのですが、
ファイルを開く前にプロセスで使用中か調べる方法ってありますか?
- 85デフォルトの名無しさんsage2010/03/27(土) 18:12:55
- ファイルを開く前に調べても
ファイルを開く時には使用中かもしれないので
全くの無駄な行為でしかない
- 86デフォルトの名無しさんsage2010/03/27(土) 18:15:17
- >>85
ファイルを開くときに使用中でも問題ないです
例外を処理する回数を減らしたいので
- 87デフォルトの名無しさんsage2010/03/27(土) 18:18:32
- 事前にチェックしてもしなくても、例外の処理回数は変わらないだろ。
- 88デフォルトの名無しさんsage2010/03/27(土) 18:21:25
- Exist()は使用中かどうかも調べてくれなかったっけ
- 89デフォルトの名無しさんsage2010/03/27(土) 18:24:47
- そんなんない。
- 90デフォルトの名無しさんsage2010/03/27(土) 18:26:36
- 全てのプロセスを列挙して、それらが使っているハンドルを列挙
その中に目的のファイルがあるかどうか調べる
という感じだっけ?
- 91デフォルトの名無しさんsage2010/03/27(土) 18:26:54
- >>86
なるほどそういうことね
Existsでいいんじゃない
>呼び出し元が必要なアクセス許可を持ち、path に既存のファイル名が格納されている場合は true。
>それ以外の場合は false。
>呼び出し元が指定したファイルを読み取るための十分なアクセス許可を持たない場合、例外はスローされず、
>このメソッドは、path の有無にかかわらず false を返します。
- 92デフォルトの名無しさんsage2010/03/27(土) 18:34:29
- >>87
別のプロセスが使用中のときはファイルを開きません
>>88,91
File.Existsは読み取り許可をチェックするだけみたいです
1: 2: ともにTrueになりました
File.WriteAllText("aaa.txt", "test", Encoding.UTF8);
Trace.WriteLine("1: " + File.Exists("aaa.txt"));
using (var stream = File.OpenWrite("aaa.txt"))
{
Trace.WriteLine("2: " + File.Exists("aaa.txt"));
}
>>89
やっぱりないんですかね
>>90
そこまでするなら例外を処理したほうが良さそうです
- 93デフォルトの名無しさんsage2010/03/27(土) 18:41:09
- 使った事無いけど、FileSecurityってのは使えない?
- 94デフォルトの名無しさんsage2010/03/27(土) 18:41:50
- 使えない。
- 95デフォルトの名無しさんsage2010/03/27(土) 18:44:40
- >>92
>>85 の言ってること理解しようよ。
1. ファイルが他のプロセスで開かれてるかチェック
2. 開かれてないので、自分のアプリで開く
3. 1. - 2. の間に他のプロセスが開いてたら例外発生
なんだから、いきなり 2. をやって例外をトラップすればいいだけ。
- 96デフォルトの名無しさんsage2010/03/27(土) 18:59:55
- >>95
>>86の言ってる事を理解しようぜ
- 97デフォルトの名無しさんsage2010/03/27(土) 19:04:06
- まあ最終的な結論としては>>95なんだけどね
- 98デフォルトの名無しさんsage2010/03/27(土) 19:05:27
- まったく理解できん。事前にチェックすると、なんで例外処理の回数が減るの?
- 99デフォルトの名無しさんsage2010/03/27(土) 19:28:28
- 仮に例外処理なしで事前にチェックできるなら
2 を実行しない分例外処理の回数が減るだろ
- 100デフォルトの名無しさんsage2010/03/27(土) 19:29:48
- 例外処理が発生するのは1-2の間に他プロセスで開かれた時のみ
超レアケースだな
- 101デフォルトの名無しさんsage2010/03/27(土) 19:30:34
- >>98
自分のアプリからしか使わないファイルで、
そのアプリが多数で同時に使われないなら減るんじゃね。
- 102デフォルトの名無しさんsage2010/03/27(土) 19:32:05
- まあ数万ファイル/秒、しかもその中の相当数がロックとかいう意味不明な状態じゃない限り
有意な差はないだろうけどな
- 103デフォルトの名無しさんsage2010/03/27(土) 19:32:31
- 例外の発生件数を減らす意味ってあるの??
チェックとロック(=ファイルオープン)がアトミックじゃないなんて
典型的なダメダメファイルロックじゃんね。
- 104デフォルトの名無しさんsage2010/03/27(土) 19:33:57
- >>103
実行コストでしょ
例外処理より軽い確認処理があるなら先にやっといて損はない、可能性がある
まあほとんどの場合無意味、むしろ不利益になる可能性の方が高いだろうけど
- 105デフォルトの名無しさんsage2010/03/27(土) 19:35:04
- いやこの場合はあらかじめチェックした方が遅くなるだろ
- 106デフォルトの名無しさんsage2010/03/27(土) 19:36:44
- 例外の発生するケースの方がレアならそうだろうね
- 107デフォルトの名無しさんsage2010/03/27(土) 19:39:15
- というかチェックのコスト自体が大きいはずだからな
- 108デフォルトの名無しさんsage2010/03/27(土) 19:39:46
- えーと、やりたいことはこのスレの>>12です
Mutexが使えないので、ファイルの排他処理でMutexをエミュレートしてます
なので、正常ケース:例外ケースが1:10000くらいになってしまい、
例外を処理するのは効率悪いのではないかと・・・
- 109デフォルトの名無しさんsage2010/03/27(土) 19:40:14
- >>107
( ̄ー ̄)ハァ?
- 110デフォルトの名無しさんsage2010/03/27(土) 19:40:55
- ようやく理解できた。
が、そんなこと気にするより、わかりやすくてシンプルなコードの方がいいと思うよ。
ちなみに、他のプロセスがファイルを開いているかどうかは、>>90みたいな感じで
非公開関数を使うか、openfiles コマンドみたいなのを使う必要あり。
- 111デフォルトの名無しさんsage2010/03/27(土) 19:42:02
- ランチャーとかどうやって作ってるんだろうな
- 112デフォルトの名無しさん2010/03/27(土) 19:42:24
- 実際に計ってみましたか?
- 113デフォルトの名無しさんsage2010/03/27(土) 19:42:27
- >>106
おまえの存在してるケースの方がレアじゃね。
- 114デフォルトの名無しさんsage2010/03/27(土) 19:42:53
- ASP.NETでサーバ単位の排他とか謎だな、としか
- 115デフォルトの名無しさんsage2010/03/27(土) 19:43:38
- >>112
計りましたが・・・
- 116デフォルトの名無しさんsage2010/03/27(土) 19:43:43
- .NET 2.0でListView使ってるんですが、
複数アイテムを洗濯した状態でチェックボックスをクリックすると、
ItemCheckedがアイテム毎に呼ばれるので処理が重くなってしまいます。
何かいい案ないでしょうか。
やりたいこととしては、
チェックが変更された事を契機としたチェックされているアイテム数の表示です。
- 117デフォルトの名無しさんsage2010/03/27(土) 19:44:55
- あります。
- 118デフォルトの名無しさんsage2010/03/27(土) 19:44:58
- 計った?何と何を?
- 119デフォルトの名無しさんsage2010/03/27(土) 19:46:14
- 開いているかどうか、じゃなくて、存在するかどうかを判定条件にすれば、
もう少し楽になると思うよ。
- 120デフォルトの名無しさんsage2010/03/27(土) 19:49:36
- ありません。
- 121デフォルトの名無しさんsage2010/03/27(土) 19:54:24
- >>116
ItemCheckedじゃなくてタイマで定期的に調べるようにしたら
- 122デフォルトの名無しさんsage2010/03/27(土) 19:59:30
- チェックのコストは大きいぞ。API呼ぶんだから。
そんでもって実際に開くときに同じこともう一度やるはめになる。
- 123デフォルトの名無しさんsage2010/03/27(土) 20:03:56
- >>119
あ!まさにそれがベストっぽいですね!
ありがとうございました!
>>122
開けないケースのほうが数多いので、開くときのコストは大きくてもOKです
- 124デフォルトの名無しさんsage2010/03/27(土) 20:10:07
- 以上、目的と手段がごっちゃになった例、でした。
- 125デフォルトの名無しさんsage2010/03/27(土) 20:25:34
- ここで質問していいのかわからないので、まずかったら教えてください
ネット上でフリーで公開されているソースコード?と呼ばれるものを
実行ファイルにしたいのですが(そこでは実行ファイルそのものは公開されていない)
拡張子が「xxxx.c」となっているのですが、これはコンパイルというものをすれば実行ファイルに変わるのでしょうか?
プログラムは完全に初心者なので、どういうソフトで作業を行うのかすらわかりません
4つほど公開されいるソースコードを実行ファイルにするだけです
なにかフリーで手頃なソフトがもし存在するのであれば、教えて頂けると助かります
すれ違いの質問であれば、失礼致しました
- 126デフォルトの名無しさんsage2010/03/27(土) 20:27:13
- とても失礼です。
- 127デフォルトの名無しさんsage2010/03/27(土) 20:29:58
- そういう理解でいいですが、.c の場合は、Cコンパイラが必要です。
ここは C# のスレなので、スレ違いです。
- 128デフォルトの名無しさんsage2010/03/27(土) 20:32:05
- >>116
System.Timers.TimerをAutoReset=falseにしといて、Intervalは33ぐらい、
タイマのイベントで数えて表示、
でItemCheckedではタイマのStart呼び出すだけ、とか
- 129デフォルトの名無しさんsage2010/03/27(土) 20:33:17
- C#というのはCのすごい版…みたいな解釈をしていましたorz
該当スレを探して、再度そちらで質問させて頂きます
スレ違い失礼いたしました
- 130デフォルトの名無しさんsage2010/03/27(土) 20:33:57
- スレ立てるまでもない質問スレはなくなったんだな
- 131デフォルトの名無しさんsage2010/03/27(土) 20:35:06
- >>129
いや、君のレベルだと人に聞く前にとりあえず基礎を調べてから勉強しといたほうが・・・。
- 132デフォルトの名無しさんsage2010/03/27(土) 20:38:21
- >>128
なぜSystem.Windows.Forms.Timerじゃないんだよ。
- 133デフォルトの名無しさんsage2010/03/27(土) 20:42:50
- >>132
AutoResetが便利だからつい
SynchronizingObjectはコンポーネントとしてデザイナにD&Dすれば自動設定だし
- 134デフォルトの名無しさんsage2010/03/27(土) 20:42:52
- アレはうんこなので
- 135デフォルトの名無しさんsage2010/03/27(土) 20:43:23
- >>128
UIをUIスレッド以外で弄ると発狂するよ
- 136デフォルトの名無しさんsage2010/03/27(土) 21:00:37
- このスレの奴はレベルが低いのがよく分かるな。
低いってのは回答する側の方。
ググって過去スレなんか見た時なんかひどいもんだ。
- 137デフォルトの名無しさんsage2010/03/27(土) 21:01:19
- >>135
SynchronizingObject
- 138デフォルトの名無しさんsage2010/03/27(土) 21:03:54
- >>136自己紹介乙
- 139デフォルトの名無しさんsage2010/03/28(日) 01:17:23
- >>133
理由になってない
- 140デフォルトの名無しさんsage2010/03/28(日) 09:56:10
- すいません、質問します。
TabControlについて研究していますが、
たとえば、JaneStyleにあるようなタブコントロールだと、
タブを左クリックすれば、すぐにそのタブが選択されますが、
一般的な.netのTabControlで、JaneStyleのようなFlatButtonの場合ですが、
マウスの右ボタンを押下(DOWN)した状態で→軽くボタンが浮き上がる表示(この状態ではまだ選択という状態になっていません)
そして、
マウスの右ボタンを離した(UP)した状態で→ボタンが押された表示(この状態で、タブが選択されたという状態になります)
となるのですが、
http://ghardzatudan6.es.land.to/up/img-box/img20100327070642.jpg
Janeのように、マウスの右ボタンを押下(DOWN)した段階で、すぐに、そのタブが選択されるような処理をしたい
場合はどのようなコードを入れればいいのでしょうか?
Janeで実装できているのですから、VB.NETでも実装できないわけないと思い、調べていますが、
解決できません。
だれかご存知な方はいらっしゃいますか?
- 141デフォルトの名無しさんsage2010/03/28(日) 10:23:47
- ClickじゃなくてDownイベントいいんでないの?
- 142デフォルトの名無しさんsage2010/03/28(日) 10:32:11
- VBスレ行けw
- 143デフォルトの名無しさんsage2010/03/28(日) 10:36:07
- そうだな。なぜ此処で聞くw
- 144デフォルトの名無しさんsage2010/03/28(日) 11:01:00
- >>140
VBスレで答えがなかったからこっちに書いたと思うけど、
うそでも「C#でも実装できないわけないと思い、」と書いておけw
.NET の TabControl の MouseDown イベントで、どのボタンを
押そうとしているのかとか、マウスポインタがどのボタンの上に
あるのかとかが、取り出せないような気がするので、自分の
希望の挙動をするコントロールを自作しないといけないような
気がする。
- 145デフォルトの名無しさんsage2010/03/28(日) 12:36:12
- 気がする。笑
- 146140sage2010/03/28(日) 12:58:09
- 解決しました
Captureを外して(false)、その後、SelectedIndexに選択するインデックスを
設定すれば、ワンクリックで選択されるようになりました。
- 147デフォルトの名無しさんsage2010/03/28(日) 13:01:16
- >>146
乙
そういえば、.NETスレないよね
C#とVBで分ける意味がわからない
- 148140sage2010/03/28(日) 13:06:08
- 通常のTabControlとJaneStyleのタブコントロールでの呼ばれる
イベントの違いをSpyで比べてたら、
JaneStyleに、「WM_CAPTURECHANGED」が呼ばれてたので、あぁ、
そうかキャプチャーの存在あったか、って思い出して、
解決。
http://ghardzatudan6.es.land.to/up/img-box/img20100328130005.jpg
大変ご迷惑おかけしました。失礼します。
- 149デフォルトの名無しさんsage2010/03/28(日) 13:07:02
- どうせ言語の質問に終始するだけだろ
CLRの挙動やFCL全体について質問する奴は少なそうだし
- 150デフォルトの名無しさんsage2010/03/28(日) 13:13:04
- >>149
愚痴は目障りやめろ
- 151デフォルトの名無しさんsage2010/03/28(日) 13:16:21
- VBユーザの中にはC#を絶対に読もうとしない民族がいる
- 152デフォルトの名無しさんsage2010/03/28(日) 13:17:13
- >>150
お前が.NETスレ立てて頑張ってくれ
- 153デフォルトの名無しさんsage2010/03/28(日) 13:17:14
- 底辺同士仲良くすればいいのにね
- 154デフォルトの名無しさんsage2010/03/28(日) 13:18:45
- ですね
- 155デフォルトの名無しさんsage2010/03/28(日) 13:19:26
- .NETスレがあっても事実上C#スレになっちゃうからな
VBスレ以外の.NET関連のスレでVBのコードはほとんど見かけない
- 156デフォルトの名無しさんsage2010/03/28(日) 13:21:39
- C#でコード例とか書いたら、「C#わからないのでVBのコードください」とか言うやつが
出てくるだけ。
なので、言語ごとでいいんじゃね?
- 157デフォルトの名無しさんsage2010/03/28(日) 13:24:49
- コンバートしろって言って置けばいいんじゃね?
コンバートしてくれるサイト
http://www.developerfusion.com/tools/convert/vb-to-csharp/
- 158デフォルトの名無しさんsage2010/03/28(日) 13:25:06
- 俺VB.NETほとんど知らないけど、MSDNのサンプル位なら余裕で読めるな
.NETFrameworkを使う以上、そんなに差は出ないんで
- 159デフォルトの名無しさんsage2010/03/28(日) 13:26:24
- >>157
ところが「変換したものをコピペしてみましたが動きません」とか言い出すんだ
- 160デフォルトの名無しさんsage2010/03/28(日) 13:27:27
- 面倒だからC#で実行ファイル作って、VBソースとして復元しろw
- 161デフォルトの名無しさんsage2010/03/28(日) 13:31:24
- >>156
C#とVBってキーワードが違うだけなのに。それはOOPが理解できてないってことなんじゃ?
- 162デフォルトの名無しさんsage2010/03/28(日) 13:32:49
- .net必須
アレフガルドを散歩しよう
http://www1.axfc.net/uploader/Sc/so/97427.zip
http://tsushima.2ch.at/s/news2ch54394.png
元のマップ
http://xb_lim.at.infoseek.co.jp/dq/1zentai.png
- 163デフォルトの名無しさんsage2010/03/28(日) 13:39:40
- VBにしかないの無かったっけ
Myなんたら
それはそれとしてRichTextBoxで挿入/上書きモードが解る方法ないですか
- 164デフォルトの名無しさんsage2010/03/28(日) 13:52:51
- >>163
ない キーイベントで自分で管理する
- 165デフォルトの名無しさんsage2010/03/28(日) 13:59:44
- >>163
名前付き引数とか省略可能な引数とか。
COMを呼ぶときに便利だよ。
C#からExcelを呼ぶときにMissingを死ぬほど埋めるのはさすがにしんどい。
- 166デフォルトの名無しさんsage2010/03/28(日) 14:04:46
- 最近プログラム初めたのですが(C#)
今開発中のソースコードを見せて
おっ これは! とか
こいつw とか
わいわいできるスレッドはありますか?
- 167デフォルトの名無しさんsage2010/03/28(日) 14:07:59
- >>165
名前付き引数と省略可パラメータはC#4.0で追加
なんかもうCOMはラッパー使わずに全部dynamicでやってもいいんじゃないかとも思うけどな
Silverlight4なんかそうなってる
- 168デフォルトの名無しさんsage2010/03/28(日) 14:34:14
- >>167
あと、インテリセンスだけは効いてくれるとありがたいんだけどなぁ。
- 169デフォルトの名無しさんsage2010/03/28(日) 14:35:10
- >>167
IDispatchはともかくIUnknownはどうすんのよ
- 170デフォルトの名無しさんsage2010/03/28(日) 14:36:44
- dynamicではキャストも動的にバインドされるから問題ない
- 171デフォルトの名無しさんsage2010/03/28(日) 14:50:31
- >>163
public partial class Form1 : Form {
[DllImport("user32.dll")]
public static extern int GetKeyboardState(byte[] lpKeyState);
static bool isOverType() {
byte[] barr = new byte[256];
const int VK_INSERT = 0x2D;
GetKeyboardState(barr);
return 0 == (barr[VK_INSERT] & 0x01);
}
public Form1() {
InitializeComponent();
setTextMode();
}
void setTextMode() {
toolStripStatusLabel1.Text = isOverType() ? "Ins" : "Ovr";
}
private void richTextBox1_KeyUp(object sender, KeyEventArgs e) {
setTextMode();
}
}
こんな感じでいいらしい。
- 172デフォルトの名無しさんsage2010/03/28(日) 15:01:43
- >>171
Ins状態はコントロールごとに独立してるから、キーのトグル状態調べるだけじゃダメ
- 173デフォルトの名無しさんsage2010/03/28(日) 15:28:32
- VS(2008)でボタンを作成後、Visibleプロパティをfalseにすれば当然「表示されなくなる」が
その状態で他の要素から"Perform.Click"しても実行されないのは仕様?
Visibleは可視/不可視の設定だけだと思うんだが、Enableみたいな動き方をしてちょっと困ってる。
- 174デフォルトの名無しさんsage2010/03/28(日) 16:05:43
- はは、画面上に存在してない物をどうやってクリックするって言うんだい
- 175173sage2010/03/28(日) 16:21:48
- >>174
プログラムの内部的には有効だから動くんじゃないかと思っていたんだが、動かないのか。
ラベルなんかはVisibleをfalseにしても使えるんで、当然ボタンも使えると思っていた。
- 176デフォルトの名無しさんsage2010/03/28(日) 16:24:35
- ラベルの何のイベントだよ
- 177デフォルトの名無しさんsage2010/03/28(日) 16:25:10
- >>172
とりあえずは動いてるんだが(テストアプリだけに独立してIns/Ovr状態が働いて
いるというレベルで)、正しくはどうやるの?
- 178173sage2010/03/28(日) 16:29:35
- >>176
ただ文字列を格納するだけ。
まあでも出来ないのが仕様と分かったんでd。
- 179デフォルトの名無しさんsage2010/03/28(日) 16:33:02
- >>178
ラベルの格納とイベントはちげーだろw
表示されてないってことはイベント拾うための処理がスルーされるってことだぞw
- 180173sage2010/03/28(日) 16:35:37
- >>179
dd。
了解(`・ω・´)
- 181デフォルトの名無しさんsage2010/03/28(日) 16:36:04
- >>177
>>164よ
IsOverwriteModeがあるMaskedTextBoxのOnKeyDownでもそう実装してる
RichTextBox二つ並べて、片方でInsキー押して上書きモードにしても
もう片方のRichTextBoxの方は挿入モードのままでしょ
この状態でどっちにフォーカスがあろうがGetKeyboardStateで取れるInsキーのトグル状態は同じ
- 182177sage2010/03/28(日) 17:02:52
- おー、駄目だわ。メンドウだな。
- 183177sage2010/03/28(日) 17:30:34
- [DllImport("user32.dll")]
public static extern int GetKeyboardState(byte[] lpKeyState);
static bool isOverType() {
byte[] barr = new byte[256];
const int VK_INSERT = 0x2D;
GetKeyboardState(barr);
return 0 != (barr[VK_INSERT] & 0x01);
}
void setTextMode(ToolStripStatusLabel lab) {
lab.Text = isOverType() ? "Ovr" : "Ins";
}
bool OverType1 = false;
bool OverType2 = false;
public Form1() {
InitializeComponent();
toolStripStatusLabel1.Text = OverType1 ? "Ovr" : "Ins";
toolStripStatusLabel2.Text = OverType2 ? "Ovr" : "Ins";
setTextMode(toolStripStatusLabel3);
setTextMode(toolStripStatusLabel4);
}
private void richTextBox1_KeyUp(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Insert) OverType1 = !OverType1;
toolStripStatusLabel1.Text = OverType1 ? "Ovr" : "Ins";
setTextMode(toolStripStatusLabel3);
}
private void richTextBox2_KeyUp(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Insert) OverType2 = !OverType2;
toolStripStatusLabel2.Text = OverType2 ? "Ovr" : "Ins";
setTextMode(toolStripStatusLabel4);
}
スレの肥やしに、試してみた比較コードは貼っておこう。自分で管理せにゃならんのか。
- 184デフォルトの名無しさんsage2010/03/28(日) 18:03:08
- Visible=Falseだとイベントも向こうになるよ。
- 185デフォルトの名無しさんsage2010/03/28(日) 22:16:40
- (`・ω・´)
- 186デフォルトの名無しさんsage2010/03/28(日) 23:04:39
- ファイルシステムを単体テストするときのために、Fileクラスなどを置き換えるクラス作ってる人いる?
StrategyパターンでFileクラスとテスト用のFileクラスを切り替えられるようなやつ
ちょっと必要になったから同じようなことしている人がいたら意見聴きたい
- 187デフォルトの名無しさんsage2010/03/28(日) 23:06:36
- ファイルシステムなんて作ろうとも思わない。
- 188デフォルトの名無しさんsage2010/03/28(日) 23:07:26
- なんでStrategy?
IFileでいいじゃん
- 189デフォルトの名無しさんsage2010/03/28(日) 23:12:51
- Fileは無理じゃないかな、staticだし。mscorlib.dll 内だし。
プロキシかませてやることを抽象化しておいて、それを置き換えるくらいしか。
どのみちファイルシステムの単体テストにはなんないけど。
- 190デフォルトの名無しさんsage2010/03/28(日) 23:19:32
- >>187,189
説明不足でした
ファイルシステムを使うシステムの単体テストです
>>188
インターフェイスだとFileクラスに適用できないので
- 191デフォルトの名無しさんsage2010/03/28(日) 23:20:13
- こういうやつです
public class Client
{
public FileBase FileBase { get; set; }
public void DeleteXXXFiles()
{
...
FileBase.Delete("aaa.txt");
...
}
[TestFixture]
public class ClientTest
{
[Test]
public void DeleteXXXFilesTest()
{
var c = new Clinet();
var testfile = new TestFile();
c.FileBase = testfile;
c.DeleteXXXFiles();
Assert.IsFalse(testfile.Files.Contains("aaa.txt"));
}
}
- 192デフォルトの名無しさんsage2010/03/29(月) 00:09:34
- こういうのMockっていうみたいだな。英語の情報ばっかで読めない・・・
定番のファイルシステムモックとかないんかな
- 193デフォルトの名無しさんsage2010/03/29(月) 00:36:39
- 単体テストのときには実際にファイル作るからそんなのいらない
- 194デフォルトの名無しさんsage2010/03/29(月) 00:40:59
- ばかばっか
- 195192sage2010/03/29(月) 02:01:26
- >>194は俺ではないです。念のため
- 196デフォルトの名無しさんsage2010/03/29(月) 08:54:39
- ファイルぐらいだったら作っちゃった方が早いかもねえ。
ネットワークとかDBだったらモックあるならモック使うけど。
- 197デフォルトの名無しさんsage2010/03/29(月) 12:47:20
- Windows7用APICodePack使ってDirect2Dためしてみた。
直径80ピクセルぐらいのEllipseを、あらかじめ用意していたSolidBrushからランダムに切り替えながら3000個描画するのに130ミリセクぐらいなんだがこんなもん?
マシンはCore2Duo9300、グラフィックは965Expressのオンボード。
同じような内容をGDI+でやるとダブルバッファーなしで9秒ぐらいだった。ダブルバッファーありだと40ミリせく。
- 198デフォルトの名無しさんsage2010/03/29(月) 12:54:55
- C#からDirect2D使う意味がわからん
C++向けのちょっと低レベルなWPFだろあれ
- 199デフォルトの名無しさんsage2010/03/29(月) 17:18:09
- >>197
よくわからんけど.netでグラフィックって考えてるならやねうらお氏のところが
確か.net時代のゲームつくりってのでライブラリ公開しててそれが標準コントロールに
描画してた記憶があるのであれでみてきてみなよ
- 200デフォルトの名無しさんsage2010/03/29(月) 17:50:10
- >>199
それ触ったことあるけど大した機能もない割に癖が強くて気持ち悪い
コントロールに直接描画するだけならDirect3Dで普通にできる
- 201デフォルトの名無しさんsage2010/03/29(月) 17:54:12
- C++でしか触ったことないけどhWndからサーフェイス取って描画できるから
C#でできないってことはないわ
- 202197sage2010/03/29(月) 19:19:02
- 説明足らずですいません。
試したかったことはVista以降で動くはずのDirect2Dでの高速描画のテストです。
GDI+よりも高速にかけると色々と都合が良かった(既存のライブラリの以降に)のでどんなもんかと。
自分も詳しく把握してないですが,要はDirect3Dサーフェスを使ってかけるアクセラレーションの聞く2D描画APIという認識でいます。
WPFとかぶるところもありますが、Direct2Dはよりプリミティブな描画APIだと思っています。
テキスト描画とかからむとNativeAPIもしくはそのラッパーでゴニョゴニョできれば都合いいかとCodePackいじってみた次第です。
- 203デフォルトの名無しさんsage2010/03/29(月) 19:52:57
- vista以降はGUIの変更の関係で従来の2D部分はソフトウェアレンダリングじゃなかったっけ?
Direct2Dの深部がどうなってるか知らんけど
- 204デフォルトの名無しさんsage2010/03/29(月) 19:54:54
- ソース
http://www.4gamer.net/specials/tooearlytogetvista/001/tooearlytogetvista_003.shtml
- 205デフォルトの名無しさんsage2010/03/29(月) 20:06:51
- Direct2DってWPFとは違って即時モードで描画するんだっけ
さすがに図形を毎回計算し直したりはしてないだろうけど
3000回テクスチャ切り替えてるとしたら結構なコストなんじゃないの
- 206デフォルトの名無しさんsage2010/03/29(月) 20:08:27
- >>205
描画命令を発行してもプログラム側でタイミングを見計らってバッファ切替するなら効率もいいけど
windowsのGUIのように動かれると効率はよくないな
- 207デフォルトの名無しさんsage2010/03/29(月) 20:18:00
- WPFでは宣言的に描画命令出してあとはお任せだから
あまり動かない要素を自動的にビットマップでキャッシュしたりするよ
たぶん現状WPFの方が遅いんだろうけど仕組み的にはWPFの方がUIには適してるんだろうな
- 208197sage2010/03/29(月) 21:40:01
- >205
MSのサンプルだがInvalidate時にDirect2Dもろもろをラップしたクラスから次のメソッドに飛んでくる。
private void RenderScene(){
CreateDeviceResources();
if (renderTarget.IsOccluded)
return;
renderTarget.BeginDraw();
renderTarget.Clear(WhiteBackgroundColor);
foreach (DrawingShape shape in drawingShapes)
shape.Draw(renderTarget);
renderTarget.EndDraw();
}
shapeの中は
protected internal override void Draw(RenderTarget renderTarget){
if (_fill)
renderTarget.FillRectangle(_rect, _parent.brushes[_selectedBrushIndex]);
else
renderTarget.DrawRectangle(_rect, _parent.brushes[_selectedBrushIndex], _strokeWidth);
}
こんな感じ。 renderTarget.FillRectangleの中まで見てない。これもC++/CLIで実装されたラップクラス。
shapeまわりとかあくまでサンプルなのでたぶん使い易い分かなり不効率なことやってそうだけど・・・
- 209デフォルトの名無しさんsage2010/03/29(月) 22:18:07
- 単なる丸投げラッパーだろ
たぶんC++で同じようなの書いてもほとんど速度は変わらないと思うよ
- 210デフォルトの名無しさんsage2010/03/29(月) 22:31:42
- Form1からForm2のウィンドウを生成するとウィンドウ自体は
アクティブになるのですが、Form2上にDockさせたWebBrowser
コントロールにフォーカスが当たっておらず、1回クリックしないと
マウスホイールに反応してくれません。
Form2.Active()やForm2.Focus()あるいはWebBrowser.Focus()
では制御出来ないのでしょうか?
- 211デフォルトの名無しさん2010/03/30(火) 12:09:55
- C#は糞
http://pc12.2ch.net/test/read.cgi/tech/1246520657/
- 212163sage2010/03/30(火) 12:36:03
- 亀だけど色々ありがとう
しかしTextBox系はあちこちウンコだのう
かと言って巷のコンポーネントで日本語完全対応のは無いっぽいし
困ったもんだ
- 213デフォルトの名無しさんsage2010/03/30(火) 12:36:11
- >>210
なんのこっちゃと思ってたがこういうことか
webBrowserの場合、マウスをクリックするとホイールが効いてスクロールするってことは
その中のDocumentにフォーカスを当てないとだめだよ
サンプルコード
http://ideone.com/MRJeDOwz
でこのDocumentなんだけどNavigatedイベントもしくはDocumentCompletedイベント
発生後じゃないと無いので下手な場所でフォーカス当てるとこけるから
- 214デフォルトの名無しさんsage2010/03/30(火) 12:39:56
- >>213
昔のExcelでもあったよな、前面にしただけじゃダメでクリックしないとホイール効かないっての
それに対処するフリーウェアあったけど・・・今でも配布してるんだろうかってスレチだな
- 215デフォルトの名無しさんsage2010/03/30(火) 12:42:48
- >>214
webBrowserは便利そうでめんどくさいんだよな
使いこなせると強力なレンダリングエンジンの恩恵受けれるんだが
- 216デフォルトの名無しさんsage2010/03/30(火) 12:49:47
- GraphicsPathのIsOutlineVisibleとIsVisibleの違いが分からない
引数違うだけ?
- 217デフォルトの名無しさんsage2010/03/30(火) 13:01:09
- >>213
ありがとうございます。質問の仕方が下手でした…。
そのコード通りに実装してフォーカスが当たるようになりました。
あと自分で試したものでは下記のコードでも同様に動きました。
private void Form2_Activated(object sender, EventArgs e)
{
this.ActiveControl = WebBrowser;
}
- 218デフォルトの名無しさんsage2010/03/31(水) 22:13:07
- TextBoxを半透明にしたいのですが調べてもいまいちわかりません・・・。
- 219デフォルトの名無しさんsage2010/03/31(水) 22:14:29
- >>218
無理
- 220デフォルトの名無しさんsage2010/03/31(水) 22:15:26
- できません
見た目を気にするならきっぱり諦めてWPFに移行しましょう
- 221デフォルトの名無しさんsage2010/03/31(水) 22:21:40
- 無理ってことは無いけど面倒
- 222デフォルトの名無しさんsage2010/03/31(水) 22:25:23
- 専用に枠のない子ウィンドウを開くようなアホな方法はないこともないけど諦めた方がいい
- 223デフォルトの名無しさんsage2010/04/01(木) 08:37:06
- フォームがアクティブでない時にキーが押されると
フォームの処理を中断するようにしたいのですが
どのようにすればいいでしょうか、ご教授宜しくお願いします
- 224デフォルトの名無しさんsage2010/04/01(木) 13:51:41
- つttp://hongliang.seesaa.net/article/7539988.html
- 225デフォルトの名無しさんsage2010/04/01(木) 22:20:09
- .NETがない環境でも動かしたい、見た目もほどほどには気にしたいって需要もあるわけで
不可能でなければアホな方法もアリだろう
- 226デフォルトの名無しさんsage2010/04/01(木) 23:16:13
- インフラ用のTextBoxBase#BackGroundImageに背景画像を設定したら、どうなるんだろ。
試してみる気もしないが、これでナンチャッテ半透明TextBoxにならんかな?
- 227デフォルトの名無しさんsage2010/04/01(木) 23:23:27
- .NETなしでC#動かしたかったらSilverlightくらいしかないな
ちなみにSilverlightなら全くコード書かずにできる
- 228デフォルトの名無しさんsage2010/04/01(木) 23:57:14
- まだ半透明がどうのとか言ってるのか。
そういう人はそもそもその「半透明」が何を意味してるのか、
恐らくちゃんと突き詰めて考えてないだろ。
透けて見えるようにしたいのはコンテナ(フォーム)の奥のコントロール(ウィンドウ)?
それって透けてるのはTextBoxじゃなくてコンテナだろ。
TextBoxを半透明にしたってコンテナが透けて見えるだけだが、嬉しいかそんなの。
- 229デフォルトの名無しさんsage2010/04/02(金) 00:19:31
- オサレな外観にしたいんじゃない?
- 230デフォルトの名無しさんsage2010/04/02(金) 00:22:17
- WPF使わないと無理じゃないかな
外のコントロールだとオーナードロー駆使すればわりとなんとかなるが
textboxだけはかなり深部いじってできるかどうか・・・?ってレベルのような
- 231223sage2010/04/02(金) 14:20:40
- 223です。
224の方返信ありがとうございます。
参考にさせていただきます。
「TextBoxを透明に」についてですが
このようなのはどうでしょうか?
ttp://www1.axfc.net/uploader/Sc/so/99375.zip&key=C#
- 232デフォルトの名無しさんsage2010/04/02(金) 14:26:20
- 半透明って言ってるだろ
- 233デフォルトの名無しさんsage2010/04/02(金) 16:50:15
- Windows使ってて.NETが無い環境ってどれだけあるんだろうな
キチガイとしか思えない
- 234デフォルトの名無しさんsage2010/04/02(金) 17:17:58
- >>228
そんなに貧困な脳みそを自慢するなよw
そのコンテナがピクチャボックスだったら嬉しい事もあるだろ
- 235デフォルトの名無しさんsage2010/04/02(金) 19:56:05
- B地区がみえたりしたらそこに文字入力したくなくなるけどね
- 236デフォルトの名無しさんsage2010/04/05(月) 11:26:11
- 俺の金曜日の最後の書き込みからだれも書き込んでないことに泣いた・・・
- 237デフォルトの名無しさんsage2010/04/05(月) 11:28:46
- 規制食らったからねえ
あと専門板住人減ってるからあんまり詰まんないことして人いなくなるようなことしないでおこうよw
- 238デフォルトの名無しさんsage2010/04/06(火) 11:09:25
- 静かですな〜
こんなところへ質問しないと進まなかった人たちは
がんばってぐぐって解決してるのかな?
- 239デフォルトの名無しさんsage2010/04/06(火) 12:44:30
- 俺もそうだけどここにいるのはほとんどが趣味プログラマだろ
別に分からなきゃ分からないで困るわけじゃない
- 240デフォルトの名無しさんsage2010/04/06(火) 18:01:57
- >>238
質問が無いのは大規模規制があったから。
- 241デフォルトの名無しさんsage2010/04/06(火) 18:23:00
- 俺が規制されてないのに大規模規制とか笑わせる
- 242デフォルトの名無しさんsage2010/04/06(火) 19:16:45
- 知らんがな
- 243デフォルトの名無しさんsage2010/04/06(火) 21:53:08
- >>240
どうみても>>238はそれをわかって書いてるようにみえるが?
- 244デフォルトの名無しさんsage2010/04/08(木) 13:56:38
- ComboBoxでドロップダウンリストをクリックすると、そのアイテムが一番上に来るようにしたい
DataSourceにはList<T>をバインドし、SelectedIndexChanged内でリストをSuspendBinding() & ResumeBinding()して強制更新
これが上手く行かない
ドロップダウンから選択すると、ドロップダウン内が真っ白になる
それでもリスト自体は存在するらしく、クリックするとリスト自体は更新される
この問題を解決する何かいい方法はないだろうか
ちなみにList<T>をBindingList<T>にすると無限ループする
SelectedIndexChanged内でリスト変更してるから当たり前っちゃ当たり前だけど
- 245デフォルトの名無しさんsage2010/04/08(木) 16:21:08
- 単純にChangedイベント内部でフラグチェックで出来ない?
bool changedEnabled = true;
Changedイベント
{
if( changedEnabled )
{
changedEnabled = false;
煮るなり焼くなり
changedEnabled = true;
}
}
- 246デフォルトの名無しさんsage2010/04/08(木) 16:22:07
- ああごめんちゃんと読んでなかった
- 247デフォルトの名無しさんsage2010/04/08(木) 16:23:25
- 直接張るならhtmlエンコードしてくれ
そうじゃないなら外部のコード貼れるところ使ってくれ
- 248デフォルトの名無しさんsage2010/04/08(木) 16:24:27
- あれほどサンプルソースさらせと・・・
- 249デフォルトの名無しさんsage2010/04/08(木) 16:29:43
- >>244
ピンポイントで対応できる少数を待つか、自分がはまった箇所を再現できる適当な
ソースを晒してコードを見て対策考えれる多くの人から回答待つか
どちらか選べ
- 250デフォルトの名無しさんsage2010/04/08(木) 16:29:47
- これっぽちのソース我慢しろよww
- 251244sage2010/04/08(木) 16:36:58
- 自己解決
リストデータの中に何時の間にかnullが紛れてて、取り除いたら動いた
お騒がせしました
詫びがてらコードを晒しとく
この手の需要は微妙にあるような気がしないでもないようなあるような
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cb = (ComboBox)sender;
int selno=cb.SelectedIndex == -1) return;
cb.BindingContext[cb.DataSource].SuspendBinding();
string selecttext=combodata[selno];
combodata.RemoveAt(selno);
combodata.Insert(0,selecttext);
cb.BindingContext[cb.DataSource].ResumeBinding();
}
- 252244sage2010/04/08(木) 16:39:37
- ミス
×int selno=cb.SelectedIndex == -1) return;
○int selno=cb.SelectedIndex;
if(selno==-1) return;
ハンパにコピペするもんじゃないな
- 253デフォルトの名無しさんsage2010/04/08(木) 16:43:23
- SuspendとResumeはなんで必要なの?
- 254デフォルトの名無しさんsage2010/04/08(木) 16:47:14
- >>253
DataSourceのChangedイベントあるからなあ
それを止めるんじゃね?
RemoveAtやInsertの時に下手に見られてると困るじゃん
- 255244sage2010/04/08(木) 17:05:14
- >>253
つttp://msdn.microsoft.com/ja-jp/library/w67sdsex.aspx
List<T>みたいに IBindingListを実装しない手合いをバインドする時は
こうしないとドロップダウンリストがいつまで経っても更新されない
- 256デフォルトの名無しさんsage2010/04/08(木) 22:04:36
- hage
- 257デフォルトの名無しさんsage2010/04/08(木) 22:15:17
- >>255
ありがとう!
そこだけ注意すれば後は簡単だね
- 258デフォルトの名無しさんsage2010/04/08(木) 22:15:33
- >>244
たぶん余計なお世話だろうけど、要はcombodataの要素の並び替えをしたいんだろうから、
それならcombodataを直接バインドするんじゃなくて、
(0) SelectedIndexChangedにはcombodata.ToArray()をバインドしておく。
(1) SelectedIndexChangedイベントではcombodataの並び替えのみを行う。
(2) DropDownClosedあたりのイベントでcombodata.ToArray()をバインドする。
とかの方がいいのでは?
バインドしてるデータをSelectedIndexChangedでいじっちゃうって、たとえ動作に問題ないとしても
お行儀悪すぎじゃないの?
これならSuspendBindingだのResumeBindingだの訳のわからんメソッドを呼ぶ必要もないし。
- 259デフォルトの名無しさんsage2010/04/08(木) 22:21:59
- あー>>258だと注意しないとイベントの無限連鎖になるから、
問題ないのなら全部DropDownClosedイベントで処理した方がいいかも。
とりあえずそれで>>244が言うような動作が可能なことは確認した。
- 260デフォルトの名無しさんsage2010/04/09(金) 08:21:47
- そういえばみなさん開発途中のバージョン(やリビジョン)管理はどうしてますか?
オープンソースならフォゲとかありますけど、ソースはクローズドでやりたい場合もありますよね・・
- 261デフォルトの名無しさんsage2010/04/09(金) 08:53:18
- クローズなら管理委らんだろ
- 262デフォルトの名無しさんsage2010/04/09(金) 08:54:51
- いや修正掛けてて戻したいなあ・・・とかありません?
- 263デフォルトの名無しさんsage2010/04/09(金) 09:12:51
- SourceForgeの使い方を知っててそれはないだろ。釣りにしてはしつこすぎる。
- 264デフォルトの名無しさんsage2010/04/09(金) 09:19:59
- つまりsubversionのサービスを非公開でやってるところが無いか?とかそんなの?
- 265デフォルトの名無しさんsage2010/04/09(金) 09:21:47
- 普通にSVNとか使えばいいだろ
ローカルでも使えるし内部のサーバーに置いてもいいし
- 266デフォルトの名無しさんsage2010/04/09(金) 09:29:20
- ローカルで使うって発想が無いんでしょ。
- 267デフォルトの名無しさんsage2010/04/09(金) 09:39:50
- ローカルだったらTortoiseSVNでも使えば一瞬で構築完了
- 268デフォルトの名無しさんsage2010/04/09(金) 10:10:18
- 好きなフォルダをSQLCompactにバージョンつけてたたっ込める仕組み自前で作ったわ。
- 269デフォルトの名無しさんsage2010/04/09(金) 10:13:09
- なぜそんな無駄なことを。
- 270デフォルトの名無しさんsage2010/04/09(金) 10:28:12
- そこまで規模のでかい物作ったことないから一定量進んだら
プロジェクト丸ごとコピペしてるけど不便だと思ったことは無いなぁ
- 271デフォルトの名無しさんsage2010/04/09(金) 10:32:14
- と思ったけど調べてみたら便利そうなので使ってみることにしましたまる
- 272デフォルトの名無しさんsage2010/04/09(金) 10:33:26
- ファイルが2〜3個ぐらいならそれで別に何の問題もないしな。
まあ今日日VCS使ったことない開発者なんて普通居ないだろうけど・・・
- 273デフォルトの名無しさんsage2010/04/09(金) 10:35:38
- 少人数でもそこそこ大きな物書いてるとsubversionは欲しくなるけど
今度はsubversion鯖の管理の手間が増えるからなあ・・・
外部でそういうことがやれるのがあるといいんだがとは思う
- 274デフォルトの名無しさんsage2010/04/09(金) 10:37:16
- 結構いるんじゃね?
- 275デフォルトの名無しさんsage2010/04/09(金) 10:37:57
- つSourceForge
- 276デフォルトの名無しさんsage2010/04/09(金) 10:40:12
- >>275
それってコードをオープンにしないと基本的にサービス利用できないだろって・・・
- 277デフォルトの名無しさんsage2010/04/09(金) 10:40:46
- クローズド開発だと有料なら結構あったような気がするけどな。
- 278デフォルトの名無しさんsage2010/04/09(金) 10:44:42
- クローズドであることを辞めるとか。
まあ適当に安いレンタルサーバ借りて使えばいいんじゃね?
ssh 使えるとこなら問題ないっしょ。
管理の手間っていっても一度構築しちゃえば問題無いだろし。
- 279デフォルトの名無しさんsage2010/04/09(金) 10:49:42
- VCSなんて使うやつはチキン
- 280デフォルトの名無しさんsage2010/04/09(金) 11:05:18
- >>277
結構あるね
MSはメールを無料でやる前にこういう方向も無料で進めていけばいいんじゃなのかね?w
- 281デフォルトの名無しさんsage2010/04/09(金) 11:12:08
- ごめん
MSってcodeplexっていうのをやってるんだな
- 282デフォルトの名無しさんsage2010/04/09(金) 12:03:55
- svnはレポジトリから除去する時にメンド杉
ポリシーかなんか知らんけど、もう少し何とかならんものか
それはそれとしてローカルでやるならVisualSVN最強
- 283デフォルトの名無しさんsage2010/04/09(金) 12:09:50
- >>282
ローカルでやるのによさそうですね
- 284デフォルトの名無しさんsage2010/04/09(金) 13:15:58
- 今なら分散型のgit, hg, bzrを使うだろ
- 285デフォルトの名無しさんsage2010/04/09(金) 13:18:50
- 分散型ってなにを分散してるの?
- 286デフォルトの名無しさんsage2010/04/09(金) 15:11:29
- リポジトリを。
- 287デフォルトの名無しさんsage2010/04/09(金) 21:06:41
- Mercurialいいよ。
VisualHGの出来もいいしCodePlexも対応してる。
- 288デフォルトの名無しさんsage2010/04/09(金) 22:11:30
- 分散リポジトリ型は
作りかけで動かない(けど保存しときたい)ローカルなコミットと
テストも通るある程度纏まった完成品のコミットを
ちゃんと分けて使えるのが良いんだよな。
でも運用ルールよく考えないと結構めんどくさい。
- 289デフォルトの名無しさんsage2010/04/09(金) 23:27:04
- C#でiPadアプリ開発、MonoTouch 2.0登場
ttp://journal.mycom.co.jp/news/2010/04/09/071/index.html
- 290デフォルトの名無しさんsage2010/04/09(金) 23:39:04
- と思いきや規約変更(ソースはC、C++、ObjectiveC、WebKitのJavascriptに限定w)で使えなくなったでござるの巻
- 291デフォルトの名無しさんsage2010/04/10(土) 02:41:01
- ヤード法かメートル法のうちどちらが単位として使われているか取得する方法はない?
MSDNのCulterInfoの部分を調べたんだが、それらしいプロパティがなかった。
- 292デフォルトの名無しさんsage2010/04/10(土) 03:10:12
- RegionInfoとかじゃねーの
- 293デフォルトの名無しさんsage2010/04/10(土) 06:46:13
- >289
俺\(^o^)/オワタ
- 294デフォルトの名無しさんsage2010/04/10(土) 09:16:07
- >>290
AppleはいつまでたってもAppleなんだなーって思ったわ。
- 295デフォルトの名無しさんsage2010/04/10(土) 14:32:35
- VisualC++2008の本を買いに本屋に行ったら、C#の本のほうが多く展示されていたのだが、
世の中の主流はC#に移り変わってきたのですかね。
- 296デフォルトの名無しさんsage2010/04/10(土) 14:34:44
- VCの本は、昔からそれほど多くない。
- 297デフォルトの名無しさんsage2010/04/10(土) 14:35:34
- >>295
そういう本だと無料の開発環境とかで話進めなかったっけ?
VC++2008EEはGUI作るにはちょっと初心者向きじゃないしね
それにMSとしては.netで行きたいみたいだし
- 298デフォルトの名無しさんsage2010/04/10(土) 15:16:03
- >>295
用途によるだろ。
- 299デフォルトの名無しさんsage2010/04/10(土) 15:19:12
- >>298
やっぱりSilverrightが本命なんですかね。
Flashはipadでサポートされないとかで、もうダメみたいだし。
- 300デフォルトの名無しさんsage2010/04/10(土) 15:20:13
- その意味で言うなら、HTML5だろ。
- 301デフォルトの名無しさんsage2010/04/10(土) 15:21:25
- そうでもないけどな・・・
結局どういうマシンのソフトを開発したいかで使う物が変わるしなあ
VC++でGUIやりたいならWTLでぐぐってみなよ
それかゲームをやるならDXライブラリとか龍神録とか
- 302デフォルトの名無しさんsage2010/04/10(土) 16:45:12
- >>299
iPad は C# もサポートしないから SilverLight もダメだよ。
徹底して囲いこみしてる。
- 303デフォルトの名無しさんsage2010/04/10(土) 16:49:55
- 囲いこみとか時代に逆行しまくりだよな。
オープンなものは使わせてもらうけど、こちらはオープンにしませんとかw
- 304デフォルトの名無しさんsage2010/04/10(土) 16:58:24
- しょせんオープンだのなんだの、ってのは、売るための方便でしかないし。
圧倒的なシェアをとったところで手のひらを返す、ってのもよくあるパターン。
- 305デフォルトの名無しさんsage2010/04/10(土) 17:01:28
- どういう動作になるのか保証できないからサポートしたくない、
というのなら気持ちは分からんでも無い
- 306デフォルトの名無しさんsage2010/04/10(土) 17:01:56
- MSになら手のひらを返されてもいい。
- 307デフォルトの名無しさんsage2010/04/10(土) 17:05:37
- 今回のAppleのは、わけわかんないだろ。アセンブラ禁止といってもいい。
近いうち、マルウエアを防止するためAppleのサーバーでコンパイル、リンクしたものだけってことになるぞ。
その次は、Appleのソースコード利用権。
- 308デフォルトの名無しさんsage2010/04/10(土) 17:05:49
- どんな言語で作ったアプリでも、動作保証なんてするわけないじゃん。
- 309デフォルトの名無しさんsage2010/04/10(土) 17:06:28
- 今回のはFlash(ActionScript)つぶしだよ。
- 310デフォルトの名無しさんsage2010/04/10(土) 17:07:27
- >>308
まあそうだよな
何でもかんでも保証すればバグの面倒までアップルが見る羽目になる
あくまで場所貸しだからな
- 311デフォルトの名無しさんsage2010/04/10(土) 17:11:59
- つーか内容の規制ならまだしも言語の規制とかイミフすぎる。
WM7 と Android を応援するぜ俺は。
- 312デフォルトの名無しさんsage2010/04/10(土) 19:53:00
- つうか普通に特定ベンダの技術よりHTML5でどうにかしたいだけだろ
- 313デフォルトの名無しさんsage2010/04/10(土) 20:08:23
- >>292
とんくす。
そのクラスの中にあった。
- 314デフォルトの名無しさんsage2010/04/10(土) 21:10:22
- ともかく、このスレでappleを話題にするとしたらドトネト復活してからだな。
X05HTの次にと考えてたけど止めたわ。
- 315デフォルトの名無しさんsage2010/04/10(土) 21:13:55
- .NETしたいなら素直にWindowsMobile搭載端末を買えよ・・・
- 316デフォルトの名無しさんsage2010/04/10(土) 21:23:15
- monoを全否定かっこいいw
- 317デフォルトの名無しさんsage2010/04/10(土) 21:24:23
- >>315
Objective-Cがクソだから、できれば使いたくない。
- 318デフォルトの名無しさんsage2010/04/10(土) 21:56:21
- 醜悪なコードになるよな
C++以上に
- 319デフォルトの名無しさんsage2010/04/10(土) 21:58:53
- 使ったことない。が、スレ違いなのでどうでもいい。
- 320デフォルトの名無しさんsage2010/04/10(土) 21:59:03
- Cでsmalltalkしたいから作ってみましたwww
な言語なので
- 321デフォルトの名無しさんsage2010/04/10(土) 21:59:58
- C#経験したあとだとどっちも一緒w
C++だって糞じゃん
ヘッダにクラスの宣言部書いて、cppの方にメンバ関数書くとか
- 322デフォルトの名無しさんsage2010/04/10(土) 22:06:11
- >>319
C#での相談事という意味では、スレ違いでもないんだけど。
- 323デフォルトの名無しさんsage2010/04/10(土) 22:09:47
- 誰も相談なんてしてないだろ。
- 324デフォルトの名無しさんsage2010/04/10(土) 22:10:53
- iPhoneってJavaで開発できんの?
- 325デフォルトの名無しさんsage2010/04/10(土) 22:12:59
- スレチだし、そのくらい自分で調べろ
- 326デフォルトの名無しさんsage2010/04/10(土) 22:52:26
- このスレ的にはもう iPhone さようならで終了なんだよな。
- 327デフォルトの名無しさんsage2010/04/11(日) 01:56:46
- なんですぐ「スレ的には〜」とか馬鹿な事を言い出すんだ。
- 328デフォルトの名無しさんsage2010/04/11(日) 03:01:21
- BeginInvokeやSystem.Timers.Timerでスレッドを実行中に例外が発生した場合、
スレッドが停止して例外が行方不明になるのですが、
このせいでどこが問題箇所なのかわかりません。
このような場合に皆さんはどうやってデバッグされますか?
- 329デフォルトの名無しさんsage2010/04/11(日) 03:08:31
- BeginInvokeはEndInvokeしたら飛んでくるし、
System.Timers.Timer実行中ならキャッチしなけりゃ異常終了するし、
どう行方不明になると言ってるのか分からん。
異常終了の場合の話か?
- 330デフォルトの名無しさんsage2010/04/11(日) 03:09:43
- 単に発生場所が分からないだけなら、デバッグの例外オプションで
スロー時に停止させりゃいい。
- 331デフォルトの名無しさんsage2010/04/11(日) 03:24:13
- >>329
異常終了するのはSystem.Threadの方みたいです。
EndInvokeも使わない方向で。
Do(){ try{Do2();}catch{} }についてDo.BeginInvoke(null,null)して、
本来ならDo2の例外をDo内でcatchできると思う…のですが、
Do2内でInvokeによってUIスレッドを呼び出しているせい(?)か
Doごと死んでしまう、のです。
- 332デフォルトの名無しさんsage2010/04/11(日) 03:32:57
- もう少し正確に書け。
- 333328sage2010/04/11(日) 03:33:04
- >>330
助かりました。ありがとうございます。
- 334デフォルトの名無しさんsage2010/04/11(日) 03:38:31
- >異常終了するのはSystem.Threadの方みたいです。
System.Threadってなんだ?
みたいってのはどういうことだ?
>EndInvokeも使わない方向で。
使わない方向ってのはどういうことだ?
BeginInvokeとかじゃないから元々使えないのか、
あえてEndInvokeを呼ばない糞コードにする気なのか?
>Do(){ try{Do2();}catch{} }についてDo.BeginInvoke(null,null)して、
>本来ならDo2の例外をDo内でcatchできると思う…のですが、
>Do2内でInvokeによってUIスレッドを呼び出しているせい(?)か
>Doごと死んでしまう、のです。
ControlのInvokeはちょっとまた話が違うからな。
UIスレッドでの例外はUIスレッド内でキャッチする必要がある。
しなければ、普通にUIで例外をキャッチしなかったのと同じ状態になる。
- 335デフォルトの名無しさんsage2010/04/11(日) 03:52:25
- >>334
> BeginInvokeとかじゃないから
とかってなんだ?
> UIスレッドでの例外はUIスレッド内でキャッチする必要がある。
> しなければ、普通にUIで例外をキャッチしなかったのと同じ状態になる。
ご飯を食べる必要がある。食べなければご飯を食べなかったのと同じ状態になる
- 336デフォルトの名無しさんsage2010/04/11(日) 03:55:27
- で?
意味が通じない書き方と意味が通じる書き方じゃ全然違うんだけどな。
- 337デフォルトの名無しさんsage2010/04/11(日) 03:58:51
- で?といわれても、揚げ足を取ってるレスがあまりにもひどかったのでつい。
- 338デフォルトの名無しさんsage2010/04/11(日) 03:59:50
- >>334がどういう風にあげ足なのか言ってみろ。
お前は>>334で言ってることがちゃんと分かるのか?
- 339デフォルトの名無しさんsage2010/04/11(日) 04:00:33
- お前は>>334で言ってることがちゃんと分かるのか?
↓
お前は>>333で言ってることがちゃんと分かるのか?
だった間違い。
- 340デフォルトの名無しさんsage2010/04/11(日) 04:01:49
- System.Threadなんて名前空間はない
BeginInvokeとEndInvokeは対になるべき
別スレッドの例外を補足できない
だと思うんだが違うのかな
そもそも>>333で解決していることに対して面倒なレスをつけるなよ
- 341デフォルトの名無しさんsage2010/04/11(日) 04:04:17
- え。
>>333の言ってることは理解してるつもりだよ
てか、それ以外にどう読めばいいの
- 342デフォルトの名無しさんsage2010/04/11(日) 04:05:19
- >お前は>>334で言ってることがちゃんと分かるのか?
>↓
>お前は>>333で言ってることがちゃんと分かるのか?
>だった間違い。
↓
お前は>>331で言ってることがちゃんと分かるのか?
の間違い。
間違いまくり。
- 343デフォルトの名無しさんsage2010/04/11(日) 04:06:14
- 勘弁してください寝てください
- 344デフォルトの名無しさんsage2010/04/11(日) 04:06:48
- >>335
上げ足とりに突っ込んでるつもりで見当違いのことを言ってることに気づいてるの?
- 345328sage2010/04/11(日) 04:09:15
- >>334
申し訳ありません。私がいい加減なのはわかりますが、
ただ、あまり攻撃的に反応されても…。
System,Threading.TimerまたはThreadの方ですね。
らしいってのは↓見ただけなのと、理解が適当かもしれないので。
ttp://gushwell.ldblog.jp/archives/cat_50041244.html
実際には、BeginInvokeではなくてTimers.Timerの方を使っているのですが、
BeginInvokeのほうが書くの楽そうだったのでそれを書いて、
EndInvoke使わない方向で云々は話題をずらしたくなくて、です。
例外キャッチの心得は参考になりました。
ぐだぐだ言い訳みたいで申し訳ないのですが、
最後くらい誠実にレスしてみました。
姉歯設計に苛つかれるお気持ちはわかりますが、仲良く行きましょう^^
- 346デフォルトの名無しさんsage2010/04/11(日) 04:09:19
- >>334は伝わる書き方をすべき。
そもそも>>328で解決すべきは
> どこが問題箇所なのかわかりません
であり、BeginInvokeがどうとかは枝葉。
だから>>330で解決してんじゃん。
- 347328sage2010/04/11(日) 04:11:02
- 本当にすみません。私のせいでこんな深夜に荒れてしまった。
仲良く行きましょう。なんかおもしろい話題ないですかね。。。
- 348デフォルトの名無しさんsage2010/04/11(日) 04:15:12
- 疑問に対して何故かの話を進めた方がプラスになると思ったんだがな。
>>331で疑問に思ってるみたいだから何故かが気になってるんだと思ったんだが。
まあ>>329だけでよかったならもう言うことはない。
>BeginInvokeがどうとかは枝葉。
って言ってるけど、例外が行方不明になることと
BeginInvokeはめちゃめちゃ重要な関係がある話だよ。
まあ>>331の疑問がそのままでいいなら確かにどうでもいい話だが。
- 349デフォルトの名無しさんsage2010/04/11(日) 04:15:17
- 気にせずがんばれ
- 350デフォルトの名無しさんsage2010/04/11(日) 04:20:18
- うぜえwどんだけ俺のレスの方が有意義だアピールをする気だよw
>>329で解決してんじゃなくて、>>330によって、例外発生箇所が分かったことがよかったんじゃないの?
- 351デフォルトの名無しさんsage2010/04/11(日) 04:21:59
- ついでに言うと>>334を書いてる途中に>>333が書かれてたんで、
入れ違いにもなったんだよ。
>>330で一度答えた後だしな。
- 352デフォルトの名無しさんsage2010/04/11(日) 04:22:16
- まじめだから>>329に分からないながらも、分かる範囲でレスしたんだろうな。
これに懲りずまた質問してね。
- 353デフォルトの名無しさんsage2010/04/11(日) 04:24:32
- 言っとくが>>329も>>330も俺だ。
答えた上で>>331が来たから>>334を書いた。
その書いてる時点では>>333はまだ書かれてなかった。
ってことだよ。
- 354デフォルトの名無しさんsage2010/04/11(日) 04:25:54
- まあ基調が攻撃的だったのは悪かったよ、気にしないでくれ。
2ちゃんだから平気でこういう書き方する時がある。
別にそこまで恐縮してもらう必要はない。
ってか書いといてなんだけど基調をいちいち気にするな。
- 355デフォルトの名無しさんsage2010/04/11(日) 04:26:59
- 基調じゃなくて口調だすまん。
あと荒れたとしても最初の書き込み者がそれを気にする必要なんかない。
- 356デフォルトの名無しさんsage2010/04/11(日) 05:16:27
- 深夜に何騒いでんだ?
- 357デフォルトの名無しさんsage2010/04/11(日) 05:36:19
- ttp://ideone.com/I94e3
これ実行すると期待通りの結果が出たんだけど、何が問題なんだ?
もしかして、キャッチ出来ない例外が飛んできてるとか?
- 358デフォルトの名無しさんsage2010/04/11(日) 09:22:14
- UnHanldedException ハンドラーていぎせぇよ
- 359デフォルトの名無しさんsage2010/04/11(日) 09:53:09
- 異常終了時の対応はmain()の中全部tryで囲うの?
でもこれだとmain()が異常終了したときはどうすればいいの?
- 360デフォルトの名無しさんsage2010/04/11(日) 10:02:34
- お前は何を言ってるんだ
- 361デフォルトの名無しさんsage2010/04/11(日) 10:11:50
- すでに例外が出ているようです(´・ω・`)
- 362デフォルトの名無しさんsage2010/04/11(日) 10:22:45
- retrun 0; してないから、ではないのか?
- 363デフォルトの名無しさんsage2010/04/12(月) 12:19:07
- Action<T>型でBeginInvokeした時に、AsyncCallbackの受け口を一本化したいんだけど上手い手はないかな
普通にやるとAction<int>とAction<string>とで別の受け口用意しなきゃならん
AsyncDelegateはキャストしないと使えないし
単にEndInvoke呼びたいだけなんだからもちっと簡便にならないかと
- 364デフォルトの名無しさんsage2010/04/12(月) 14:18:02
- ジェネリックでAction<T>にキャストしたら?
- 365デフォルトの名無しさんsage2010/04/12(月) 16:19:13
- なるほど
ジェネリックメソッド定義してキャストに使うと
いい感じサンクス
- 366デフォルトの名無しさんsage2010/04/12(月) 23:15:40
- まじでEndInvoke()呼ぶだけなら、無理にまとめる必要ないと思うが
action.BeginInvoke(obj, action.EndInvoke, null);
これでも十分簡潔なのに、これ以上何を求めるのか
public static void AsyncInvoke(this Action action, T obj) { ... }
public static void AsyncInvoke<T>(this Action<T> action, T obj) { ... }
public static void AsyncInvoke<T1, T2>(this Action<T1, T2> action, T1 arg1, T2 arg2) { ... }
// 以下<T1,...,T16>まで同様 (.NET 4.0)
ここまでしないと不満とか?
- 367デフォルトの名無しさんsage2010/04/13(火) 17:50:30
- Int16からUInt32へビット数を保持したまま
変換する関数ってありますか?
- 368デフォルトの名無しさんsage2010/04/13(火) 17:52:54
- >>367
意味がわからん
- 369デフォルトの名無しさんsage2010/04/13(火) 18:12:45
- わかりにくくて申し訳ない。
Int16の0xFFFFをUInt32の0x0000FFFFに
変換したいという意味でした。
そのまま0x0000FFFFの論理和で出来るみたいですが
正式なやり方あるのかなと。
- 370デフォルトの名無しさんsage2010/04/13(火) 18:15:24
- uncheckedでいったんUInt16にキャストすれば
- 371デフォルトの名無しさんsage2010/04/13(火) 18:28:35
- >>370
ありがとう。試してみます。
- 372デフォルトの名無しさんsage2010/04/13(火) 20:34:00
- すいません。相談にのってください。
UIスレッドとタスクスレッドの2つのスレッドで
構成されているアプリケーションを作っています。
タスクスレッドにて例外が発生した時、
適切な例外処理ってどんなもんなんでしょうか?
Thread.GetDomain().UnhandledException
にて例外を集約させるところまではgoogle先生で調べれたのですが、
このイベントハンドラ内で、アプリの強制終了を行うしか手が無いのかな?
//UIスレッド
try{
//タスクスレッド起動
UI.ShowDialog()
//タスクスレッドJoin
}finally{
//UI後処理
}
本当は、UIスレッドの後処理(finally節)も確実に実行したいのですが・・
- 373デフォルトの名無しさんsage2010/04/13(火) 21:14:09
- >>372
タスクスレッド側で処理する
- 374デフォルトの名無しさんsage2010/04/13(火) 21:25:57
- タスクスレッドって初めて聞いた。
- 375デフォルトの名無しさんsage2010/04/13(火) 21:26:30
- 普通に UI 側に通知して終わればいいんじゃね?
- 376デフォルトの名無しさんsage2010/04/13(火) 22:27:22
- decimal.Tryparse の 第1引数て、どんなの渡せばいい?
"1.00E+4"を渡しても変換結果が0なんだわ。+外しても駄目だった。
- 377デフォルトの名無しさんsage2010/04/13(火) 22:39:40
- >>376
試してないけど NumberStyles.AllowExponent フラグをたてなきゃいけないんじゃね?
- 378デフォルトの名無しさんsage2010/04/13(火) 23:07:01
- double.TryParseでパースしておいてdecimalに変換すれば。
- 379デフォルトの名無しさんあs2010/04/14(水) 00:26:35
- >>377-378
ありがとう、明日確認してみる
- 380デフォルトの名無しさんsage2010/04/14(水) 01:01:16
- >>379
うむ。
- 381デフォルトの名無しさんsage2010/04/14(水) 12:40:56
- C#2.0でツールパレットを実装するのに簡単な方法は無いでしょうか?
アプリの状態によってボタンが変わるので、List系コントロールが使えればいいのですが
ボタンをタイル状に敷き詰めるのはどうやら無いっぽいので・・・
FlowLayoutPanelにRadioButtonを自力で詰め込んでいくしかないのでしょうか?
- 382デフォルトの名無しさん2010/04/14(水) 12:44:39
- ツールパレットってのがどういうのかわからん
ざっくりしたイメージ画像とかない?
- 383デフォルトの名無しさんsage2010/04/14(水) 12:50:22
- ないない
- 384デフォルトの名無しさんsage2010/04/14(水) 12:51:33
- 聞いたこと無い用語なのでググってみたがどうやら
ドッキングツールバーのことのようだ
http://homepage.mac.com/mkino2/sketchBp/modification/toolPalette.html
- 385デフォルトの名無しさん2010/04/14(水) 12:52:13
- ツールパレットでぐぐるとそれなりにヒットするので何かのソフトが
ツールパレットと呼んでる物があってそれと同じような物が実装
したいんだろうから、そのスクリーンショットでもいいんだがな
- 386381sage2010/04/14(水) 12:52:59
- >>382
こんなのです↓
ttp://home.riise.hiroshima-u.ac.jp/~nagato/Linux/img150.png
ドローツールで良くある、ペンとか選択モードを指定する奴ですね
- 387デフォルトの名無しさん2010/04/14(水) 12:53:23
- >>384
それならC#にあるやん
あとはツールバーへコントロールを動的に増減してやればいいだけだよ
- 388デフォルトの名無しさんsage2010/04/14(水) 13:09:47
- >>386
Form1.cs
http://ideone.com/KrGyF
Form1.Designer.cs
http://ideone.com/aQKxZ
- 389381sage2010/04/14(水) 13:26:24
- >>388
ありがとうございます
なんとかやってみます
- 390デフォルトの名無しさん2010/04/14(水) 20:05:51
- private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
backgroundWorker2.RunWorkerAsync();
backgroundWorker3.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while(){重い処理}
}
backgroundWorker2_DoWork,backgroundWorker3_DoWorkも1と同じような処理。
これを実行すると、初回起動時に1,2は同じタイミングで始まるんだが、3だけ遅れて始まる。
一旦停止して、再スタートするとすべて遅れなく始まるんだが、初回から、1から3すべて遅れなく始める方法ない?
- 391デフォルトの名無しさんsage2010/04/14(水) 20:19:42
- なぜ開始タイミングを揃えなければならないのか
- 392デフォルトの名無しさんsage2010/04/14(水) 20:30:49
- >>391
各スレッドの処理結果を呼出しもとで使用するのに、
タイミングが揃っていた方が都合がよいからです。
- 393デフォルトの名無しさんsage2010/04/14(水) 20:36:06
- 内部で同期させる仕組みを作れよ
- 394デフォルトの名無しさんsage2010/04/14(水) 20:42:29
- >>392
同時に開始しても同時に終了するとは限らないんだけど。
結局は、終わったかどうか個別にチェックしないと。
- 395デフォルトの名無しさんsage2010/04/14(水) 20:42:39
- >>392
処理結果を呼び出しもとで使用するときに処理が終わってるかどうかは見ないのかい?
見てるなら別にいつ始まっていつ終わってもよかろ
- 396デフォルトの名無しさんsage2010/04/14(水) 20:42:59 ?2BP(0)
- >>392
なんで3つ全部終わるのを待てないの?
- 397デフォルトの名無しさんsage2010/04/14(水) 20:45:47
- 終了タイミングが揃うことを前提にした実装なんか怖すぎるだろ
実際にだいたい揃ってるとしても必ず待つように作るわ
- 398デフォルトの名無しさんsage2010/04/14(水) 20:48:41
- 処理が終わったかどうかはチェックしています。
すべての処理が終わってからメインのスレッドで次の処理をしています。
ただ、初回は3番のスレッドだけ遅れてスタートし、2回目以降は遅れなくすべてのスレッドが
スタートするという現象が気になったので、質問しました。
- 399デフォルトの名無しさんsage2010/04/14(水) 20:51:27
- スレッドプール使う以上は黙って任せるしかない
嫌ならThreadクラスを直に使えばいいよ
- 400デフォルトの名無しさんsage2010/04/14(水) 20:52:11
- >>398
ならCPU増やすかThreadPoolの設定変えるか
- 401デフォルトの名無しさんsage2010/04/14(水) 21:04:07
- 答えてくださった方々ありがとうございました。
試行錯誤してみます。
- 402デフォルトの名無しさんsage2010/04/14(水) 21:32:23
- ThreadPoolでは、CPUが空いてなければ処理は投入されない。
もうひとつ、CPUが空けばプロセッサ数以上のスレッドも投入されるが、
その際は0.5秒に一つずつスレッドが開始される。
例えばThreadPoolの最小スレッド数はデフォルトでプロセッサ数になっているが、
これを増やしてやれば必要になった時点でスレッドを作成するときの0.5秒のタイムラグがなくなる。
ただ、どっちにしても基本的にはCPUが空いてるときに動く仕組みだからその辺は注意。
- 403デフォルトの名無しさんsage2010/04/14(水) 21:37:02
- 0.5秒って宇宙刑事ギャバンじゃあるまいしw
そんなに遅いわけないだろ常識で考えて。
どんな妄想だよそれ
- 404デフォルトの名無しさんsage2010/04/14(水) 21:54:21
- >>402
ありがとうございます。
ThreadPool..::.SetMinThreads メソッドを使用して、最小スレッドを変更したらできました。
- 405デフォルトの名無しさんsage2010/04/14(水) 22:07:33
- >>403
msdnライブラリから抜粋
スレッド プールは、最少数のアイドル スレッドを維持します。
ワーカー スレッドでは、この最少数の既定値はプロセッサ数です。
GetMinThreads メソッドを使用すると、最少数のアイドル ワーカーと
I/O 完了スレッドを取得できます。
スレッド プールのすべてのスレッドがタスクに割り当てられている場合、
スレッド プールは新しいアイドル スレッドの作成をすぐには開始しません。
スレッドのスタック領域の不要な割り当てを避けるために、
新しいアイドル スレッドは間隔を置いて作成されます。
"この間隔は現在 0.5 秒です"が、.NET Framework の将来のバージョンでは
変更される可能性があります。
スレッド プールの多数のタスクがキューに置かれて
アプリケーションのアクティビティが急激に増加した場合は、
SetMinThreads メソッドを使用してアイドル スレッドの最少数を増やします。
この操作をしないと、新しいアイドル スレッドの作成が遅延するこの組み込み
の設定が、ボトルネックになる可能性があります。
- 406デフォルトの名無しさんsage2010/04/14(水) 22:09:47
- >>403
ttp://msdn.microsoft.com/ja-jp/library/system.threading.threadpool(v=VS.90).aspx
スレッド プールのすべてのスレッドがタスクに割り当てられている場合、スレッド プールは新しいアイドル スレッドの作成をすぐには開始しません。
スレッドのスタック領域の不要な割り当てを避けるために、新しいアイドル スレッドは間隔を置いて作成されます。この間隔は現在 0.5 秒ですが、
.NET Framework の将来のバージョンでは変更される可能性があります。
>この間隔は現在 0.5 秒ですが
なんで最近何も知らないくせいに下らんことばっか言う奴が多いのかね。
- 407デフォルトの名無しさんsage2010/04/14(水) 22:11:31
- こういうのみてるとスレッドとかバカをふるい落とす壁になるのがわかる・・・
- 408デフォルトの名無しさんsage2010/04/14(水) 22:11:37
- しかしまあ正直言って0.5秒はちょっと待ちすぎのようには思ったりする。
- 409デフォルトの名無しさんsage2010/04/14(水) 22:12:59
- 細かいな
- 410デフォルトの名無しさんsage2010/04/14(水) 22:28:09
- 0.5秒おきに起動されるのを目の当たりにしたときは何かの間違いかと思うよな。
で、MSDN見てびっくりして設定変える、と。
- 411デフォルトの名無しさんsage2010/04/14(水) 22:29:40
- 逆にあれが50msecくらいの遅延だったりしたら、その遅延の存在に気付かない恐れがあるから
もっと遅くてもいいかも知れん
- 412デフォルトの名無しさん2010/04/14(水) 22:47:02
- C#じわじわきてるな
http://bit.ly/9xp451
- 413デフォルトの名無しさんsage2010/04/14(水) 23:10:06
- 短縮URLはんなカス
- 414デフォルトの名無しさんsage2010/04/14(水) 23:13:58
- ドキドキしちゃった
- 415デフォルトの名無しさん2010/04/14(水) 23:15:12
- >>413
黙れゴミ。誰にたてついてるんだ?コラ。あ?シバキアゲタルゾこのクソが。
- 416デフォルトの名無しさんsage2010/04/14(水) 23:18:02
- ウンコがいきがってんなよ
- 417デフォルトの名無しさんsage2010/04/14(水) 23:20:24
- >>415
しゃべった!うんこがしゃべった!
- 418デフォルトの名無しさんsage2010/04/14(水) 23:46:34
- >>415
じわじわきてますよね///
- 419デフォルトの名無しさんsage2010/04/15(木) 05:27:29
- Visual C# 2008でwindowsフォームアプリケーション作成中です。
テキストボックスで文字を反転した際の色を変更したいのですが、SystemColors.Highlightは読み取り専用で変えることが出来ません。
どのような方法を取ればいいのかご教授お願いします。
- 420デフォルトの名無しさんsage2010/04/15(木) 07:09:50
- SystemColors.Highlight.Value=
- 421デフォルトの名無しさんsage2010/04/15(木) 13:06:52
- 自作ジェネリッククラスを型付コレクションにするのは無理かな
class A<T>
{
}
List<A<T>> a_list; ←コンパイルエラー
ArrayListでキャストしてやればいいっちゃいいんだけど、可能なら型付がいい
あ、Tは違うのが混在するんでList宣言のところで固定はできない
- 422デフォルトの名無しさんsage2010/04/15(木) 13:17:07
- 試さないでいうけど A<T>のスーパークラスを作って List<Super> a_list じゃだめなん?
- 423デフォルトの名無しさんsage2010/04/15(木) 13:30:22
- >>422
それよくやる
インターフェイス使う方が多いかな
- 424デフォルトの名無しさんsage2010/04/15(木) 13:45:15
- スーパークラス!!そういうものもあるのか
それで行こう
THX.
- 425デフォルトの名無しさんsage2010/04/15(木) 15:36:31
- >>420
Valueメソッドが無いです。
- 426デフォルトの名無しさんsage2010/04/15(木) 15:53:30
- ふーん
- 427デフォルトの名無しさん2010/04/15(木) 16:00:48
- SystemColorsってBrushesなんかと同じであくまで
システムデフォルトなんかの塊なんじゃないの?
やるとしたらwindowsその物の設定をいじるとかになりそうな予感
- 428デフォルトの名無しさん2010/04/15(木) 16:03:07
- アプリ単位では変えられないって事ですか。分かりました諦めます。
ありがとうございました。
- 429デフォルトの名無しさん2010/04/15(木) 16:08:38
- 予感ってだけね
ttp://tsushima.2ch.at/s/news2ch58652.png
たぶんSystemColorsってこの辺の情報を持ってるだけのような気がする
たんなる隠しになってるだけだと継承して・・・とかやれるんだろうけど
ソースが手元に無いのでわからん
- 430デフォルトの名無しさんsage2010/04/15(木) 16:47:43
- ┐(´д`)┌ヤレヤレ
- 431デフォルトの名無しさん2010/04/17(土) 10:34:39
- 過疎ですな
>>430
何にあきれててるの?
それともそれは某バーガーさんを模したAA?
- 432デフォルトの名無しさんsage2010/04/17(土) 18:47:48
- .NET 3.5 から .NET 4 へプロジェクトを乗せ替えるのって何か弊害になることあるんですか?
- 433デフォルトの名無しさんsage2010/04/17(土) 18:50:57
- 動かすのに.NET4が必要
Windows7ですらそのままでは動かん
- 434デフォルトの名無しさん2010/04/18(日) 03:06:21
- sliverlightでゲームループ作るにはどうすればいいんだ
検索結果の上にくるところは書いてる人の能書きばっかりが目立つし
能書きよりサンプルコード晒してくれた方がよっぽど役に立つのに・・・
- 435デフォルトの名無しさんsage2010/04/18(日) 03:35:00
- http://www.google.co.jp/search?q=sliverlight+%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%AB%E3%83%BC%E3%83%97&ie=utf-8&aq=t&hl=ja
- 436デフォルトの名無しさんsage2010/04/18(日) 03:50:07
- >>434
能書きですみません。
あなたの技術レベルが分からないと教えようがないので、今までの実績を教えてくれますか?
- 437デフォルトの名無しさんsage2010/04/18(日) 04:18:19
- >>434
お前が理解出来ないことは全て相手の能書きか
- 438デフォルトの名無しさんsage2010/04/18(日) 06:51:24
- あるクラスを継承してoverrideしたメソッドを持つクラスが
さらに継承されたときそのメソッドをoverrideして欲しくないときってどうすればいいですか?
- 439デフォルトの名無しさんsage2010/04/18(日) 09:30:39
- sealed
- 440デフォルトの名無しさんsage2010/04/18(日) 09:34:42
- >>434
SilverlightにはDoEventsみたいなのがないのでいわゆるゲームループは作れない。
CompositionTarget.RenderingやDispatcherTimerやStoryboardでコールバックかける。
- 441デフォルトの名無しさんsage2010/04/18(日) 22:50:51
- >>439
ありがとうございます
- 442デフォルトの名無しさん2010/04/18(日) 22:59:40
- 日本語の解説なくていいのでコードを乗せてくれれば勝手にやるよってことでしょ
プログラマーはコードで会話する
日本語で語ろうとする=能書き
- 443デフォルトの名無しさんsage2010/04/18(日) 23:01:52
- >>435で理解できないなら何使ってもできないと思うよ
コードあっても理解できないだろうね
- 444デフォルトの名無しさん2010/04/18(日) 23:04:23
- >>443
うーん
sliverlight初心者だとサンプルソースをプロジェクトごと眺めてみたいってのもあるだろうから
>>435ででてくる日本語ずらずらコードは一部で説明されると能書きだけに見えるよね
日本語はいいコード出せって感じで
- 445デフォルトの名無しさん2010/04/18(日) 23:18:46
- ゲーム作ったことある俺でC#もできるが>>435は日本語多すぎだな
サンプルプロジェクトと一緒にその説明だと親切だなあと思うが
そのままだと重いつたこと書き散らしただけのチラシの裏に書いておけ
でしかないような気がする
- 446デフォルトの名無しさんsage2010/04/18(日) 23:20:54
- >>445
日本語少しおかしいよ・・・・・・
- 447デフォルトの名無しさん2010/04/18(日) 23:25:40
- >>446
言いたいことは俺も能書きが多くみえるということだ
検索してこの手が一番迷惑なんだよね
- 448デフォルトの名無しさんsage2010/04/18(日) 23:27:15
- 必要な情報を取捨選択する能力にかけてるってことですね
- 449デフォルトの名無しさん2010/04/18(日) 23:28:19
- >>448
開く時間も持ったないと言ってる
ツイッターが引っかかるくらいうざい
- 450デフォルトの名無しさんsage2010/04/18(日) 23:31:35
- ageてるから自作自演バレてるぞ
- 451デフォルトの名無しさんsage2010/04/18(日) 23:32:51
- そうだぞ
- 452デフォルトの名無しさん2010/04/18(日) 23:34:36
- そうだぞ
- 453デフォルトの名無しさんsage2010/04/18(日) 23:35:41
- Silverlightなんかまだまだマイナーだしゲーム用でもないんだから情報があるだけマシ
- 454デフォルトの名無しさん2010/04/18(日) 23:36:20
- そうだぞ
- 455デフォルトの名無しさんsage2010/04/19(月) 00:43:56
- >>445
>ゲーム作ったことある俺でC#もできるが
今更だがこれって「能書きたれてるのはお前の方だ」っていうツッコミ待ちだったのでは?
みんな気づいてあげろよ……。
- 456デフォルトの名無しさんsage2010/04/19(月) 09:11:54
- >検索してこの手が一番迷惑なんだよね
>開く時間も持ったないと言ってる
>ツイッターが引っかかるくらいうざい
検索したら自分の欲しい物だけが与えられると思っているのは、いかにもゆとりらしい考え方だな。
- 457デフォルトの名無しさんsage2010/04/19(月) 11:14:53
- ゆとりでなくてもはてなウゼーとかよく言ってるのを目にするが
- 458デフォルトの名無しさんsage2010/04/19(月) 11:37:48
- でたらめ書いてあるのは迷惑と思ったりもするが、
そうでないなら何様だとしか言いようがない。
- 459デフォルトの名無しさんsage2010/04/19(月) 11:47:06
- うざいならスクリプトでも書いて除外すればいいじゃん
プログラマなんでしょ
- 460デフォルトの名無しさんsage2010/04/19(月) 22:49:42
- ttp://tore.vestues.no/2009/01/05/creating-a-dynamic-xml-reader-with-c-40/
これみたいなXMLをdynamicにする奴で
ちゃんと動くのってどっかにないですか
- 461デフォルトの名無しさんsage2010/04/20(火) 00:37:19
- 最近本当にうざいのは、はてなよりもウィキペディアのコピペサイト
- 462デフォルトの名無しさんsage2010/04/20(火) 00:43:10
- 俺は別のブログ記事へのリンクだけの広告ブログが本当にいやだ
- 463デフォルトの名無しさん2010/04/20(火) 00:43:48
- スパムでいいじゃん
- 464デフォルトの名無しさんsage2010/04/20(火) 12:40:23
- >>460
どれも技術サンプル程度
昔のDOMはともかく今はLINQ to XMLという優秀なライブラリがあるから
dynamicで使えてもそんなに変わらないよ
- 465デフォルトの名無しさんsage2010/04/21(水) 23:35:52
- htmlやデータなどからURLを抜き出すクラスの名前は何がいいでしょうか?
抜き出すメソッド名はGetURL()にしようかと思っています
- 466465sage2010/04/21(水) 23:50:50
- スレ間違えました
- 467デフォルトの名無しさんsage2010/04/23(金) 14:55:11
- C#というよりXAML(3D)についての質問ですが、専用質問スレがないのでここで
お願いします。メタセコイア形式mqoからXAMLに変換するプログラムを
つくりたいのですが、カメラの変換手法をご存じの方いらっしゃませんか。
既存の変換ソフトウェアでは、
Scene {
pos 0.0000 0.0000 1494.2412
lookat 4.5152 74.7634 0.3124
head 0.3000
pich 0.3100
ortho 1
zoom2 6.6503
amb 0.250 0.250 0.250
}
から
<PerspectiveCamera x:Name="Camera_blueknight"
Position="-244.763901,513.030212,1388.125000"
LookDirection="0.163176,-0.342020,-0.925416"
UpDirection="0.000000,1.000000,0.000000" FieldOfView="20.000000"
NearPlaneDistance="1" FarPlaneDistance="10000" />
に変換されているのですが、数字に関連性を見つけられなくて
やり方の見当がつかないのです。
- 468デフォルトの名無しさんsage2010/04/23(金) 20:52:33
- WPFの3Dって触ったことないけどプロパティ名見る限りDirect3Dそのまんまなんだなw
Direct3Dのドキュメントとか解説サイトとか見たらわかるよ
- 469467sage2010/04/23(金) 21:10:59
- 自己解決しますた。
- 470デフォルトの名無しさんsage2010/04/23(金) 23:53:42
- >>469
他人になりすますのって意味があるのでしょうか。
自己解決したならおしえてほすぃです。
>>469
Direct3D方面で調べます。ありがとうございました。
- 471デフォルトの名無しさんsage2010/04/23(金) 23:55:52
- mqoからXあたりにコンバートしてさらにってのは駄目なのかね?
MDXとかXNA関連であさればコンバートライブラリとかでてきそうだな
- 472デフォルトの名無しさんsage2010/04/24(土) 01:21:20
- 作者がmqoは互換性考えていないと言い切ってるから、やるならプラグイン
じゃね?C++だからスレチになっちゃうけど。
- 473デフォルトの名無しさんsage2010/04/24(土) 21:13:32
- XMLってソフトウェアからすると読みやすいかもしれないけど
人間には読みづらい
もっと人間寄りのいいアイディアないものかね
- 474デフォルトの名無しさんsage2010/04/24(土) 21:14:17
- あ、ふらっとの方に書いたつもりだったのに、まぁいいか
- 475デフォルトの名無しさんsage2010/04/24(土) 21:15:49
- >>473
ツールで編集できるようにするしかないね
XMLをGUIで編集するツールあるでしょ
- 476デフォルトの名無しさんsage2010/04/24(土) 21:25:34
- XMLスキーマとかメモ帳で書ける奴いるんだろうか
VSならインテリセンス頼みでなんとか書けるけど
- 477デフォルトの名無しさんsage2010/04/24(土) 22:30:22
- >>473
lisp があるじゃない
- 478デフォルトの名無しさんsage2010/04/24(土) 23:05:39
- スキーマはRelaxNGでしか書けない。
XSDじゃ書けない構造があるんでまともな変換ツールがないとかあって、C#じゃ
使ってないが・・・良いライブラリとか無いかな?
- 479デフォルトの名無しさんsage2010/04/24(土) 23:10:30
- 結局諦めてXSD使ってる
スキーマ指定してXML編集するときにインテリセンスが効いたりとかサポートが強力すぎる
- 480デフォルトの名無しさんsage2010/04/25(日) 19:04:37
- 質問させてください:
MenuStripをカスタムドローしようとしているのですが、
OnRenderItemTextでDrawThemeTextEx()を使って
文字を描画しようとすると、
真っ黒な四角が表示されてしまいます。
Graphic.DrawString()を使えば描画は出来るのですが、
ウィンドウにAero Glassを適用したとき、ClearTypeのフォントを描画すると
周りにアンチエイリアスのゴミが表示されるので、敬遠してます。
メイリオ使うなw とか言わずによろしくお願いします。
- 481480sage2010/04/25(日) 19:06:48
- protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
base.OnRenderItemText(e);
if (e.ToolStrip.IsDropDown)
{
return;
}
using (var img = new Bitmap((int)e.Graphics.VisibleClipBounds.Width, (int)e.Graphics.VisibleClipBounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
using (var g = Graphics.FromImage(img))
{
var hDC = g.GetHdc();
var hMemDC = IntPtr.Zero;
var rect = new RECT();
rect.left = e.TextRectangle.Left;
rect.top = e.TextRectangle.Top;
rect.right = e.TextRectangle.Right;
rect.bottom = e.TextRectangle.Bottom;
var pb = BeginBufferedPaint(hDC, ref rect, BPBF_TOPDOWNDIB, IntPtr.Zero, out hMemDC);
//BufferedPaintSetAlpha(hMemDC, IntPtr.Zero, 255);
DrawThemeTextEx(hTheme, hMemDC, 0, 0, e.Text, -1, DT_NOCLIP | DT_CENTER | DT_SINGLELINE | DT_VCENTER, ref rect, ref option);
Uxtheme.EndBufferedPaint(pb, true);
g.ReleaseHdc(hDC);
e.Graphics.DrawImage(img, g.VisibleClipBounds);
}
}
}
- 482デフォルトの名無しさんsage2010/04/25(日) 19:12:08
- TextRendererは?
- 483デフォルトの名無しさんsage2010/04/25(日) 19:30:20
- >>481
Win32詳しくないんで違ってたらごめん。
普通にBitmapの背景を塗ってないから、なんて間抜けなオチじゃないよねまさか。
- 484480sage2010/04/25(日) 19:37:12
- >>482
ありがとうございます。
試してみたところうまくいきましたが、
DwmExtendFrameIntoClientArea()でAeroにしたら
Color.FromArgb(255, 0, 0, 0)でも文字が透明になりました。。
>>483
ありがとうございます。
それは確認してます。
背景をあらかじめ描いておいても、
上書きで黒い四角が現れます。
- 485デフォルトの名無しさんsage2010/04/25(日) 19:43:24
- >>484
くどいようだけど、
>背景をあらかじめ描いておいても、
これって、ちゃんと>>480のコードのimgのGraphicsに対して行ってるんだよね?
どうもe.Graphicsに対して描画してるようにも聞こえるけど....
- 486デフォルトの名無しさんsage2010/04/25(日) 19:58:47
- for (int i = 0; i < 10; i++)
{
textBox1.Text = "実験";
Thread.Sleep(500);
textBox1.Text = "";
//Thread.Sleep(500);
}
- 487デフォルトの名無しさんsage2010/04/25(日) 20:00:14
- テキストボックスの文字を点滅させたくて
ためしに上のようにしたのですが処理が終わるまで固まったように
なります。
簡単に点滅させられないのでしょうか
- 488デフォルトの名無しさんsage2010/04/25(日) 20:01:49
- //Thread.Sleep(500);
//があるのは間違いです。ごめん。
- 489480sage2010/04/25(日) 20:04:15
- >>485
はい。 e.Graphics ではなく、Graphics.FromImage(img) でつくった g にです。
あっ…
でも、hMemDCには何も描いていませんでした。
DrawThemeTextEx() の直前に FillRect(hMemDC, ref rect, GetStockObject(LTGRAY_BRUSH))
を入れてみたところ、
灰色の四角が現れました。
でも、文字は描画されません…
文字の色を白にしてもみてもダメでした。
- 490デフォルトの名無しさんsage2010/04/25(日) 20:24:19
- >>486
そのコードはどう見ても10秒間一切操作ができなくなるけど
for()ループを使うんじゃなくて、
System.Windows.Forms.Timer クラスを使うべきなんじゃない?
- 491467sage2010/04/25(日) 20:28:37
- >>486
http://dobon.net/vb/dotnet/vb2cs/event.html
- 492480sage2010/04/25(日) 20:51:49
- メイリオをあきらめてフォントをMS ゴシックにしたら、
「ファイル(F)」が「ブアゥレ(F)」に文字化けしたwww
だれか、Aero Glassのメニューに綺麗に文字が描ける方法を知りませんか?
- 493デフォルトの名無しさんsage2010/04/25(日) 20:54:03
- >>490
タイマを使うとテキストボックスの文字を点滅できました
forを使うとなぜ10秒間、「実験」の文字すらでてこなくなるのか
教えていただけるとありがたいのですが。
テキストボックス以外が固まるのはそうだろうなと思うのですが。
- 494デフォルトの名無しさんsage2010/04/25(日) 20:56:13
- >>492
VisualStyleRenderer.DrawText使えば?
- 495デフォルトの名無しさんsage2010/04/25(日) 20:57:10
- >>493
> forを使うとなぜ10秒間、「実験」の文字すらでてこなくなるのか
描画するのも同じスレッド
ところがそのスレッドがループで詰まってるから描画もできない
- 496デフォルトの名無しさんsage2010/04/25(日) 21:08:49
- >>495さん
ほえー
ありがとう。今日ずっと悩んでいたんです。
.AppendTextなら文字がでてくるのに
なんで.textでは出てこないのかなーと。
本当にありがとう。
- 497デフォルトの名無しさんsage2010/04/25(日) 21:12:32
- for (int i = 0; i < 10; i++)
{
textBox1.Text = "実験";
textBox1.Refresh();
Thread.Sleep(200);
textBox1.Text = "";
textBox1.Refresh();
Thread.Sleep(200);
}
としたらちゃんと点滅できました。ありがとう。
- 498デフォルトの名無しさんsage2010/04/25(日) 21:14:29
- >>497
お前は何もわかっていない
Thread.Sleepはマルチスレッドなど非同期で動かしたりする場合に使う
シングルスレッド、ましてやFormクラスで使うべきじゃない
- 499デフォルトの名無しさんsage2010/04/25(日) 21:21:45
- >>498さん
そのとおりです
今、マルチスレッドをやっているところなんです。
通信を別スレッドで受けている間
文字を点滅させられないかなと悩んでました。
怒らないで。
- 500480sage2010/04/25(日) 21:23:45
- >>494
ありがとうございます。
やってみましたが、やっぱり文字が透明になりました。
- 501デフォルトの名無しさんsage2010/04/25(日) 21:24:58
- で、通信データは別スレッドからテキストに固まらずに表示されるのに
なぜ、点滅みたいな簡単なことで固まるのかわからなかったので。
- 502デフォルトの名無しさんsage2010/04/25(日) 21:28:35
- >>501
それはマルチスレッドじゃなくて
ただのスレッド処理だから
もう一方が処理している間、他のスレッドは割り込めない
割り込みたいならlockキーワードを使うべし
- 503490sage2010/04/25(日) 21:32:36
- 「メッセージループ」でぐぐるといいよ。
- 504デフォルトの名無しさんsage2010/04/25(日) 21:53:10
- >>492
ブアゥレ 噴いたww
- 505デフォルトの名無しさんsage2010/04/25(日) 22:10:01
- >>502-503さん
ありがとう。しばらく悩んでみます。
- 506デフォルトの名無しさんsage2010/04/25(日) 22:33:15
- そう言えばスレの流れとあんま関係ないんだけどさ
BitmapとかGraphicsとか、巷のサンプルだと必ずDisposeしてるじゃん?
GC来るまで残りっぱなのは理解してるけど、マネージリソースなんだから
そんな明示的にせんでもいいような気がするんだけど
なんか理由あるん?
- 507デフォルトの名無しさんsage2010/04/25(日) 22:51:33
- GraphicsもBitmapもどっちもアンマネージリソース抱えてるよ
Bitmapなんか実体はほとんどアンマネージメモリに置かれてるわけだし
- 508デフォルトの名無しさんsage2010/04/26(月) 02:28:31
- >>507
ソースある?
- 509デフォルトの名無しさんsage2010/04/26(月) 05:25:18
- >>480
少なくともVistaまでのAPIで透明の上にClearTypeで描画することはできない。
これはClearTypeの技術上仕方がない。
だからIEとかグラスの上に乗せるテキストはClearTypeじゃなくてただのアンチエイリアシングになっている。
直接の解決策ではないが.NET 4.0のWPFでは自己責任で透明の上にClearTypeで描画できるようになった。
Direct2Dは調べてないので知らないができるかもしれない。
- 510デフォルトの名無しさんsage2010/04/26(月) 05:54:41
- >>508
ReflectorでSystem.Drawing.dllを逆アセンブルしてみると分かるが、
これはGDI+のラッパーだから。
- 511デフォルトの名無しさんsage2010/04/26(月) 06:07:00
- ハンドル持ってる時点で分かると思うんだがなぁ
- 512デフォルトの名無しさんsage2010/04/26(月) 06:18:24
- IDisposableが継承してるならDisposeしろ。
GCで解決するならIDisposable継承しない、するな。
- 513デフォルトの名無しさんsage2010/04/26(月) 08:53:14
- IDisposableってのは、「Disposeしろ!」っていう開発者からのメッセージだから。
- 514デフォルトの名無しさんsage2010/04/26(月) 11:18:15
- アクションゲームなのだとスターを取ると無敵とかありますよね
他にもフラワーをとったら火が出たりするのとかメタル化したりとか
こういうのをやるときにそのキャラクターのクラスにフラグを持たせる方法もあると思いますが
そうしないで外からそのキャラクターのインスタンスに機能を拡張するのはどうすればいいでしょうか
まあ、上の例位だと、あたり判定の部分にデリゲードを使って
その部分を差し替えるとかでもいいかもしれませんが
はじめからyを押された時の処理を描くつもりがなくてそういう関数を用意していない時とかに
フラワーとったらどうしたらいいでしょうか。
- 515デフォルトの名無しさんsage2010/04/26(月) 11:19:40
- >>514
IronPython
- 516デフォルトの名無しさんsage2010/04/26(月) 11:29:06
- >>515
ありがとうございます
今ちょっとぐぐってみました
.Netから使えるスプリクト言語みたいなものですか?
ちょっと調べてやってみます.
- 517デフォルトの名無しさんsage2010/04/26(月) 11:30:53
- オブジェクト指向を勉強したら>>514みたいに考えたくなるのはよくわかるけど
特にゲームは実際やってみるとやっぱり上から神様が管理しないと難しいよ
- 518デフォルトの名無しさんsage2010/04/26(月) 11:34:04
- >>517
そうですね痛感してますw
でも趣味の勉強なのでいろいろ試してみたいと思います。
- 519デフォルトの名無しさんsage2010/04/26(月) 12:10:47
- ゲームはソース読んで勉強するのが一番わかり易いと思う
- 520デフォルトの名無しさんsage2010/04/26(月) 14:05:19
- DataTableに自作のクラスを入れることができますか?
入れようとするとToStringの中身が入ってしまうようですが。
- 521デフォルトの名無しさんsage2010/04/26(月) 14:14:59
- できますん
- 522デフォルトの名無しさんsage2010/04/26(月) 14:40:23
- >>514
継承できなければ委譲。拡張メソッドで行ける場合もある。
- 523デフォルトの名無しさんsage2010/04/26(月) 14:58:42
- >>514
has-aでいいんじゃない?
Marioをコンストラクタで受け取る
FlowerMarioクラスを作ってやればいいと思う
と、どう考えても回答者側の知識量ではない俺がいってみる。
- 524デフォルトの名無しさんsage2010/04/26(月) 14:59:52
- >>520
できるよ
単に表示されるときにToStringが呼ばれてるだけでしょ
- 525デフォルトの名無しさんsage2010/04/26(月) 15:04:26
- >>523
それは無意味
MarioとFlowerMarioの間に継承関係が無いなら
アプリケーションがFlowerMarioをあらかじめ知っていないといけない
- 526デフォルトの名無しさんsage2010/04/26(月) 15:07:05
- >>525
ああそうだね、じゃあ両方にインターフェースをつけるとか
- 527デフォルトの名無しさんsage2010/04/26(月) 15:07:30
- >>512
Disposeできない時のためにFinalizeがあるんじゃないの
- 528デフォルトの名無しさんsage2010/04/26(月) 15:09:56
- >>514
ステートマシンを内部に持てばいいんじゃないの、と適当言ってみる
それをオブザーバーパターンで外から操作とか
- 529デフォルトの名無しさんsage2010/04/26(月) 15:13:24
- Decoratorとか?
まあゲームだったら結局仕様をきっちり決めて決め打ちが一番いいと思うけど
- 530デフォルトの名無しさんsage2010/04/26(月) 15:21:44
- ゲームの場合、一度納品してから仕様変更なんて、基本的にはないだろうしな。
- 531デフォルトの名無しさんsage2010/04/26(月) 15:26:41
- ゲームのキャラクターなんか激しく周りの環境に依存するんだから
プラグイン的な拡張をやろうとすると結局グローバル環境的なものを丸ごと渡すことになって
あんまり意味が無さそう
- 532デフォルトの名無しさんsage2010/04/26(月) 15:38:43
- ありがとうございます
>>519-531
Decoratorパターンていうんですね>>526さんの
方法は一応考えたんですが、羽と花をとったときに
両方の効果を使える用にしたいなと思いまして。
>>528
調べてみます
拡張性に意味はないかもしれませんが勉強なので。
- 533デフォルトの名無しさんsage2010/04/26(月) 16:04:32
- >>521,524
ありがとう
次のようなコードで試したんですが、使い方間違ってますか?
foreach( DataRow row in table.Rows )
{
row["col1"] = new MyClass();
MyClass obj = row["col1"] as MyClass; //失敗する
}
- 534デフォルトの名無しさんsage2010/04/26(月) 16:16:39
- それ、col1列のDataColumnのDataTypeがStringになってる
- 535デフォルトの名無しさんsage2010/04/26(月) 16:19:26
- >>523
重要なことだからつっこませてもらうと、MarioがFireFlowerを取るとFireMarioになるんです。
Luigiクラスはいりません。バグの元ですから。
- 536デフォルトの名無しさんsage2010/04/26(月) 16:21:04
- >>530
最近はオンラインアップデートがあるからなんとも言えなくなってきたかも。
追加要素という名のアンロックは別としても、修正パッチあたるよ。
- 537デフォルトの名無しさんsage2010/04/26(月) 16:29:22
- てか、MODだろ
- 538デフォルトの名無しさんsage2010/04/26(月) 16:50:34
- >>534
おぉ、できました。
ありがとう
- 539536sage2010/04/26(月) 17:00:05
- ああ、家庭用ゲームだと思い込んでレスした
- 540デフォルトの名無しさんsage2010/04/26(月) 18:32:54
- >>523
has-aならStateをキャラクターとアイテムが持ったらいいんじゃね?
FireStateを持ったFireFlowerをMarioがとるとMarioがFireStateを持つようにする
- 541デフォルトの名無しさんsage2010/04/26(月) 20:14:52
- 正直、マリオ程度のゲームなら
愚直にステート値でswitchするコードを書くほうが結局分かりやすいと思う。
こういうの、最近はすっかり「不吉な臭い」扱いになっちゃてるけどw
デリゲートやインターフェイス使ってストラテージパターンみたいなことしても、
自己満足以上の効果はないと思う。
- 542デフォルトの名無しさんsage2010/04/26(月) 21:59:06
- 風マリオと雷マリオと闇マリオと土マリオとマリエと・・・
stateの量の問題?
- 543デフォルトの名無しさんsage2010/04/26(月) 22:01:16
- 実際のゲーム機の開発でそこまで綺麗にクラス使ってるのかね?
- 544デフォルトの名無しさんsage2010/04/26(月) 23:01:59
- ゲーム機のゲームも結構な規模になってるだろし
それなりに綺麗な設計せざるを得なくなってるんじゃないかね?
- 545デフォルトの名無しさんsage2010/04/26(月) 23:18:51
- 家庭用ゲームのソースコードなんて見る機会無いからね。
このスレに業界人は居るのかなぁ。
- 546デフォルトの名無しさんsage2010/04/27(火) 01:35:19
- テートスとかジーラテはスーコーあげあげだからねー
ウィチスーでスーケーしてるほうが現実見てるってyou know?
- 547デフォルトの名無しさんsage2010/04/27(火) 01:45:26
- 日本語でおk
- 548デフォルトの名無しさんsage2010/04/27(火) 02:25:00
- StateまたはStrategypatternは時間がかかります。
switch caseを使用するのは現実的です。理解?
- 549デフォルトの名無しさんsage2010/04/27(火) 02:54:50
- 把握した
- 550デフォルトの名無しさんsage2010/04/27(火) 06:59:08
- スーコーあげあげいいなw
スーコーマシマシ!
- 551デフォルトの名無しさんsage2010/04/27(火) 21:27:43
- object同士でプリミティブ型であれば
ある程度大小比較してくれる関数ってありますか?
具体的に言うとstringとint(byteなど)で比較を
正しく行いたいのですが。
- 552デフォルトの名無しさんsage2010/04/27(火) 21:39:01
- "a"と100のどっちが大きいかなんか定義次第なんだから正しい比較も何もないだろ
- 553デフォルトの名無しさんsage2010/04/27(火) 21:41:11
- どうやって"one"と5を比較できると思うんだ?
数値に変換できる文字列なら、数値に変換して比較するしかなかろう。
- 554デフォルトの名無しさんsage2010/04/27(火) 21:49:10
- int.Parse
- 555551sage2010/04/27(火) 21:56:06
- 書き忘れました。
型が同じことが前提です。
>>552-554
ありがとう
やはりParseが一般的ですか。
DataViewもParseで比較してるのかな。
- 556デフォルトの名無しさんsage2010/04/27(火) 22:04:26
- 型が同じって、Objectに入ってるInt32同士を比較したいってことなのか?
ならComparerクラスとか
- 557デフォルトの名無しさんsage2010/04/27(火) 22:13:55
- もう、自分がやろうとしていることを意味的に把握してないから人にうまく説明できないわけで、
その時点でちょっと.....
- 558デフォルトの名無しさんsage2010/04/27(火) 22:15:50
- 関係ないけどstringやobjectは組み込み型だけどプリミティブ型ではないよ
- 559デフォルトの名無しさんsage2010/04/27(火) 22:55:53
- >>502
なぬ?
>>512
残念ながら一貫してそうはなってない。
- 560デフォルトの名無しさんsage2010/04/27(火) 23:55:42
- まあ確かにWin9xでなきゃ目くじら立ててDisposeする必要がないものでもIDisposable
実装してたりするし
関係ないけどインターフェイスを「継承」する、って言い回しはJava方面の方言?
それとも単にありがちな誤用ってだけなのか。
- 561デフォルトの名無しさんsage2010/04/28(水) 00:03:00
- ありがちな誤用
- 562デフォルトの名無しさんsage2010/04/28(水) 00:03:04
- >>560
C#方言。
インターフェイスの概要
インターフェイスには、次の特徴があります。
インターフェイスは抽象基本クラスに似ています。インターフェイスを継承する非抽象型は、すべてのインターフェイス メンバを実装する必要があります。
インターフェイスは直接インスタンス化できません。
インターフェイスには、イベント、インデクサ、メソッド、およびプロパティを含めることができます。
インターフェイスには、メソッドの実装が含まれません。
クラスと構造体は、複数のインターフェイスを継承できます。
インターフェイス自体が複数のインターフェイスを継承できます。
- 563デフォルトの名無しさんsage2010/04/28(水) 00:06:37
- >>555
型が同じなら、IComparableにキャストしてCompareToするとか。
http://codepad.org/m37TS28P
- 564デフォルトの名無しさんsage2010/04/28(水) 00:09:13
- かと思ったら、Javaでも使ってるな。 interface inheritance
言語規定より。
This (multiple) interface inheritance allows objects to support (multiple) common behaviors without sharing any implementation.
この(多重)インタフェース継承は,オブジェクトがいかなる実装も共有せずに(多重の)共通的な振る舞いをサポートすることを可能とする。
- 565デフォルトの名無しさんsage2010/04/28(水) 00:14:38
- インターフェースはインターフェースを継承できる
- 566デフォルトの名無しさんsage2010/04/28(水) 00:15:28
- >>565
なるほど、それが「実装」だったら確かにおかしいな。
- 567デフォルトの名無しさんsage2010/04/28(水) 00:38:38
- Javaだと、implements と extends とキーワード異なるけれども、C#だと、どっちもコロンだから用語を忘れてしまうんだな。
- 568デフォルトの名無しさんsage2010/04/28(水) 02:12:26
- クラスがインターフェースを継承している時点で実装があるはずなんだから、継承だけ使えば意味通じるでしょ
- 569デフォルトの名無しさんsage2010/04/28(水) 02:19:02
- >>565
- 570デフォルトの名無しさんsage2010/04/28(水) 07:58:33
- >具体的に言うとstringとint(byteなど)で比較を
>正しく行いたいのですが。
>型が同じことが前提です。
どっちだよw
- 571デフォルトの名無しさん2010/04/28(水) 08:01:22
- >>551
遅レスだけどこんなのダメだっけ
if (obj1 is IComparable)
{
return (obj1 as IComparable).CompareTo(obj2);
}
- 572デフォルトの名無しさんsage2010/04/28(水) 11:06:44
- インターフェースて使った事ないんだけど
どういうときに使うの?
- 573デフォルトの名無しさんsage2010/04/28(水) 11:40:01
- >>572
継承関係にない型の間に共通の機能を持たせて、同じように扱いたいとき。
>>563,571がまさにそれ。
C#の言語仕様(foreachだのusingだの)とも密接に結びついているので、
知らず知らずのうちにインターフェースを活用しているはず。
たとえば、IEnumerableを実装しさえすれば、どんな型でもforeachで列挙できる。
- 574デフォルトの名無しさんsage2010/04/28(水) 11:53:40
- >>563
>>571
これって文字の比較であって、数値の比較じゃないでしょ?
- 575デフォルトの名無しさんsage2010/04/28(水) 11:55:54
- >>574
何を言ってるんだ
- 576デフォルトの名無しさんsage2010/04/28(水) 12:02:44
- >>574
冷静になるんだ
- 577デフォルトの名無しさんsage2010/04/28(水) 12:34:27
- あるクラスを継承してメンバ関数だけオーバーライドして使いたい場合
元のクラスで扱っても大丈夫でしたっけ?
- 578デフォルトの名無しさんsage2010/04/28(水) 12:36:13
- >元のクラスで扱っても大丈夫でしたっけ?
インスタンスを作った後も元のクラスで扱っても大丈夫でしたっけ?
- 579デフォルトの名無しさんsage2010/04/28(水) 12:38:51
- 元のクラスで扱うってのはどういうことなんだ?
継承元のクラスにキャストするとかそういうこと?
- 580デフォルトの名無しさんsage2010/04/28(水) 12:41:53
- >>579
ゲームの中にでてくる物体(障害物、自機、敵など)はすべて座標系など特定の
情報を持つという部分では共通ですが、動きだけが違うので管理上は継承前の
クラスで管理して、動きに関連するメンバ関数だけを差し替えを実現したい・・
という感じです
- 581デフォルトの名無しさんsage2010/04/28(水) 12:46:35
- オーバーライドしなくてもいいんじゃないか?
継承先で個別に実装すれば
100%書き換えることが前提になってる感じだからむしろIFとかにしてみるとか・・・
いや・・・いろいろ方法はあると思うが 継承元で関数書いてもどうせ空の実装とかにしかならんだろうし
オーバーライドしなけりゃ元の動作のまんまになってしまうのはバグの元だと思うんだ・・・
- 582デフォルトの名無しさんsage2010/04/28(水) 12:47:23
- >>580
普通にできるが
- 583デフォルトの名無しさんsage2010/04/28(水) 12:49:39
- >>581
むかーしgcc上で書いた物を移植中なので.netなりの方法はないかなあと模索してたりします。
C時代は関数ポインタのテーブルを用意して・・・とかやってたんですけどね
>>582
どんな感じでやればいいですかね?
- 584デフォルトの名無しさんsage2010/04/28(水) 12:54:08
- >>583
いやだから基本クラスで動き意外の関数作って
継承したクラスで新しく動きの関数作ればいいだけだけど
何が問題なの?
- 585デフォルトの名無しさんsage2010/04/28(水) 12:58:17
- class 物体
{
public void 動き以外の処理(){}
}
class 自機:物体
{
public void 動きの処理(){}
}
- 586デフォルトの名無しさんsage2010/04/28(水) 12:58:27
- >>584
Hogeクラスを継承したHogeA,HogeB・・・・・HogeZとかあったとして
管理はList<Hoge>として全体をまとめたいんです・・
- 587デフォルトの名無しさんsage2010/04/28(水) 12:58:42
- 抽象クラス使えば?
- 588デフォルトの名無しさんsage2010/04/28(水) 13:03:24
- >>586
>>573
- 589デフォルトの名無しさんsage2010/04/28(水) 13:13:10
- 関数ポインタ使っていたなら、そのまま構造体を抽象クラスにして、関数ポインタを仮想関数にしたら、完成のように思うが。
- 590デフォルトの名無しさんsage2010/04/28(水) 14:47:22
- >>577
やってみたらいいのに何でわざわざ面倒な手順を踏んでるんだ?
- 591デフォルトの名無しさんsage2010/04/28(水) 15:27:18
- まあvirtualでググればいいんじゃないかな!かな!
>>577
- 592デフォルトの名無しさんsage2010/04/28(水) 18:20:03
- 模索している割には他の提案を聞き入れようとしない件について
もし判ってないならそれは技術力不足以外の何物でもないな
- 593デフォルトの名無しさんsage2010/04/28(水) 18:47:36
- >>592
聞き入れないわけではなく聞いた上で調べた結果実装を考えた際に
こういう時どうしようとか悩んでるわけなんですよ
たとえばクラスを継承してインスタンスを作る際は確かに一つの
メンバ関数をオーバーライドですれば済みますが状態がわかった際に
インスタンス化されてしまってるクラスのメンバ関数を状態遷移に応じて
さらにオーバーライドできるかとか
できないなら、昔書いたように関数ポインタもどきを実装するしかないのだろうかとか
でもクラスに関数ポインタぽいことを実装すると関数ポインタのテーブルを
もったインスタンスがいっぱいできる?・・・とか
- 594デフォルトの名無しさんsage2010/04/28(水) 18:48:18
- >状態がわかった際に
この記述は無しで
- 595デフォルトの名無しさんsage2010/04/28(水) 18:57:23
- >>593
デリゲート
- 596デフォルトの名無しさんsage2010/04/28(水) 19:00:03
- 頭の中が混乱してるみたいですね。
デザインパターンのテンプレートメソッドとストラテジーあたりを勉強するといいかも。
理解できないならIF文で押し切れw
- 597デフォルトの名無しさんsage2010/04/28(水) 20:05:06
- 以下のようなメソッドを用意して、データをネットワーク越しに通信するプログラムを書いています。
private byte[] CompressBytes(object rawData)
{
using (MemoryStream stream = new MemoryStream())
{
using (DeflateStream compressedStream = new DeflateStream(stream, CompressionMode.Compress, true))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(compressedStream, rawData);
}
return stream.ToArray();
}
}
- 598597sage2010/04/28(水) 20:06:16
- private object DecompressBytes(byte[] compressedData)
{
using (MemoryStream stream = new MemoryStream(compressedData))
{
using (DeflateStream decompressedStream = new DeflateStream(stream, CompressionMode.Decompress))
{
BinaryFormatter formatter = new BinaryFormatter();
return formatter.Deserialize(decompressedStream);
}
}
}
単一のプログラムでテストする場合は問題なく動作するのですが、
クライアント・サーバのプログラムにそれぞれメソッドを組み込んで通信をしていると、
return formatter.Deserialize(decompressedStream);
の部分で、「デコード中に無効なデータが見つかりました。」というエラーが出ます。
具体的にはNetwork Streamに対してbyte配列を書き込み、
相手側で読み出すという作業をしているだけなのですが、ローカルとネットワークの場合で挙動が変わるのかよくわかりません。
# ネットワーク越しといっても、サーバプログラムで127.0.0.1に対してポートを開いて、クライアントプログラムで127.0.01にアクセスしているので、マシンスペックに違いは無いはずなのですが…
もし何か注意することがあれば教えていただけないでしょうか?
- 599デフォルトの名無しさんsage2010/04/28(水) 20:10:35
- http://www.sherwooddungeon.com/SherwoodDungeon.htm
こんな3Dネトゲが4M程度で実現できてるんだけど
C#でやるにはwebdeveloperとかsilverlightが必要?
- 600デフォルトの名無しさんsage2010/04/28(水) 20:14:07
- 俺的に3Dゲームはudkやsource modを使うのが一番現実的だと結論付けた
- 601デフォルトの名無しさんsage2010/04/28(水) 20:22:13
- >>599
inしてみたが週末Flashスレで貼られる戦車のゲームとエリア規模は似てるな
まあ4MBってのも圧縮した状態だと小さくなるしなあ
- 602デフォルトの名無しさんsage2010/04/28(水) 20:26:47
- 気軽に対戦ゲーム作りたくてもサーバーが難しいよね
- 603デフォルトの名無しさんsage2010/04/28(水) 20:32:16
- ↓ここで簡単厨のターン
- 604デフォルトの名無しさん2010/04/28(水) 21:17:01
- まぁ俺にかかったら1日で何でもできるけどね
- 605デフォルトの名無しさんsage2010/04/28(水) 22:22:27
- >>598
そのエラーが出てるとこのデータの中身はどうなってるんだ?
ちゃんと送りつけた時と一緒になってるか?
まずはそこからだ
- 606デフォルトの名無しさんsage2010/04/28(水) 22:30:49
- >>602
ほとんどのレンタルサーバーはゲーム禁止だからな
ATPAGESではOKだが、負荷をかけすぎるとアカウント自体止められる
- 607デフォルトの名無しさんsage2010/04/28(水) 22:34:13
- >>583
abstract class foo
{
foo(){}
abstract bar(){}
}
class xxx : foo
{
override bar(){}
}
とやって、xxxのインスタンスをList<foo>にでも突っ込めばいける
- 608デフォルトの名無しさんsage2010/04/28(水) 22:36:24
- あと、遷移ごとにfooを継承したクラスを作って突っ込めばいい
詳しくResponserパターンでくぐってみろ
- 609デフォルトの名無しさんsage2010/04/28(水) 22:45:58
- デザインパターンなんてみんな覚えてるの?
- 610デフォルトの名無しさんsage2010/04/28(水) 23:24:35
- >>609
そりゃデザパタから入った人は「覚える」って意識になるんだろな。
- 611デフォルトの名無しさんsage2010/04/28(水) 23:46:55
- 趣味で一人でプログラミングするなら、無理にオブジェクト指向を意識する必要はないけどな。
下手にクラス設計に凝るくらいなら、ひたすらstaticでプログラム組んだ方がましだと思う。
どうせ誰かにソースを見せたり、過去の資産を利用したり、誰かから仕様変更を言い渡されたりはしないんだろ。
- 612デフォルトの名無しさんsage2010/04/28(水) 23:48:17
- >>611
妄想で語るな
- 613デフォルトの名無しさんsage2010/04/28(水) 23:51:44
- いや、正しい
- 614デフォルトの名無しさんsage2010/04/28(水) 23:55:35
- いや、過程に過ぎない
つまり妄想
- 615デフォルトの名無しさんsage2010/04/28(水) 23:58:52
- 構造体の配列で回して、キャラのタイプIDでswitchしまくりで別に問題ない
- 616デフォルトの名無しさんsage2010/04/29(木) 00:10:33
- 趣味なら作ってて楽しければいいし、どんなソースでも動けばいいんだよ。
- 617デフォルトの名無しさんsage2010/04/29(木) 00:12:40
- 正解
- 618デフォルトの名無しさんsage2010/04/29(木) 00:39:40
- うん。
でもね、べつにクラス設計とかって伊達で導入されてるわけじゃないんだけどな。
規模が大きくならないとあんまり意味がないってことなら同意だけど。
- 619デフォルトの名無しさんsage2010/04/29(木) 01:19:21
- >>616
動いたけどsbyteで済むようなただのフラグ用の変数すらintで書いていて起動しただけで10MB超のメモリを食ったのは恥ずかしい経験w
やっていくうちに分かるってのはあるが、どんなソースでもとかいう気持ちだといつまで経っても向上しないような気はする。
- 620デフォルトの名無しさんsage2010/04/29(木) 01:38:49
- まあ目的と手段を間違えないことだな
- 621デフォルトの名無しさんsage2010/04/29(木) 01:41:56
- ゲームの場合オブジェクト指向が有効そうにみえるんだが
案外そうでもなかったりするんだよな・・・
もうちょっといい方法があればいいんだが
- 622デフォルトの名無しさんsage2010/04/29(木) 01:56:24
- >>598
受信途中のデータの後ろが欠けてるんじゃない?
MemoryStreamじゃなくて、直接NetworkStream渡せば?
- 623デフォルトの名無しさんsage2010/04/29(木) 13:22:01
- >>620
それはあるねー。
もっとも趣味プログラマの場合、楽しく正しく書くってのも目的に入ってる人は多いんじゃね?
- 624デフォルトの名無しさんsage2010/04/29(木) 15:04:41
- WPFやっててバインディングがものすごくよかったんだけど
WinFormでも同じようなことできましたっけ?
- 625デフォルトの名無しさんsage2010/04/29(木) 15:12:13
- バインディングの仕組み自体は似たようなもんだけどUIが貧弱なんだよ
コレクションへのDataTemplateを使ったバインディングのようなことをやろうとすると大量のコードが必要になる
- 626624sage2010/04/29(木) 15:19:16
- >>625
そうなんですか・・・
残念
- 627デフォルトの名無しさんsage2010/04/29(木) 15:23:23
- >>623
プログラムのプロをプロフェッショナルとかけたダジャレで
昭和生まれは素人プログラマのことをアマグラマって言うんだぜ
- 628デフォルトの名無しさんsage2010/04/29(木) 15:24:38
- >>625
WPFだとTreeNode.TagにList<>なんかが入ってても
簡単に取得できるの?
- 629デフォルトの名無しさんsage2010/04/29(木) 15:26:28
- WPFではTreeNodeみたいなのは直接扱わないんだよ
元々ツリー上になってるオブジェクトグラフからバインディングだけでノードを生成する
- 630デフォルトの名無しさんsage2010/04/29(木) 15:28:44
- >>628
WPFのサンプルみた感じだとTreeNodeじゃなくてツリーを形成するための
クラスを自分で作ってTreeViewにぶっこめば勝手に表示してくれてたな
- 631デフォルトの名無しさんsage2010/04/29(木) 15:35:31
- C#で作られたものをWPFに移植しようとしたら
また1から作り直し?
- 632デフォルトの名無しさんsage2010/04/29(木) 15:37:38
- >>631
WinForm依存のデータ格納クラスはそうなるかも
でも最初から依存をなるべく避けたコード書いてればそれほど問題にならない
- 633デフォルトの名無しさんsage2010/04/29(木) 15:37:39
- ロジックからコントロールを直接触ったりするような馬鹿な造りにしていなければ修正はUIまわりだけ
- 634デフォルトの名無しさんsage2010/04/29(木) 15:38:01
- >>630
ほー
今メニューの項目をそのままTreeViewに表示しようとしているんだけど
激しく面倒くさい
- 635デフォルトの名無しさんsage2010/04/29(木) 15:50:17
- ツリービューの項目にボタンを付けてボタンの上にhoge.ImageUriプロパティの値をバインドしてアイコンを表示して
アイコンの右にhoge.Nameプロパティをバインドしてテキストを表示して
子プロパティとしてhoge.Childrenプロパティをバインドして再帰的に展開して…
みたいなことがXAMLだけでできる
- 636デフォルトの名無しさんsage2010/04/29(木) 15:52:11
- とにかくすごいわ
C++からC#でかなり楽になったけどさらにWPFで楽できそうな感じ
- 637デフォルトの名無しさんsage2010/04/29(木) 15:53:22
- MSはWinFormよりWPFに力入れてるの?
おれもやってみようかな
- 638デフォルトの名無しさんsage2010/04/29(木) 15:55:40
- WinFormsは完成放置状態
Silverlightに力入れててWPFはそれに合わせてる感じ
- 639デフォルトの名無しさんsage2010/04/29(木) 16:42:59
- 2008expressはもうダウンロード出来ないのかよ
- 640デフォルトの名無しさんsage2010/04/29(木) 16:47:07
- http://www.microsoft.com/downloads/details.aspx?FamilyID=94de806b-e1a1-4282-abc5-1f7347782553&displaylang=ja
これISOかな?
- 641デフォルトの名無しさんsage2010/04/29(木) 17:22:18
- 銀光はApacheとかがMIMEタイプを標準で持つようにならないと普及しないと思う
窓鯖でもIIS7でないと標準で対応してないのがもうね
これ、意外と高い壁だよ
- 642デフォルトの名無しさんsage2010/04/29(木) 17:26:31
- >>641
おいおい
.netにはおさるさんがあるじゃなか
銀光とセットで月光あるしLinux上で.net動くぞ
完全互換とは言いがたいが
- 643デフォルトの名無しさんsage2010/04/29(木) 18:05:26
- WinFormで出来てWPFでできないことって何?
- 644デフォルトの名無しさんsage2010/04/29(木) 18:21:38
- >>643
wndprocのフック
コモンコントロールがないに等しいので自作しないといけない
- 645デフォルトの名無しさんsage2010/04/29(木) 18:27:08
- お客さんに売り込み辛いんだよな、WPF・・・
- 646デフォルトの名無しさんsage2010/04/29(木) 18:29:15
- 短期納品、コストさげろ
これって生産性あげろってことなのにWPFだめって言われるとねえ・・・
- 647デフォルトの名無しさんsage2010/04/29(木) 18:31:14
- WPFって実際生産性高いのか
xamlが手間かかりそうなんだけど
- 648デフォルトの名無しさんsage2010/04/29(木) 18:32:18
- 最近コンソールとかサーバーサイドばっかりで、UIのあるアプリ作ってないなぁ。
- 649デフォルトの名無しさんsage2010/04/29(木) 18:34:49
- >>647
なれるまでが面倒かな
XAMLその物はHTMLでwebページ作成するような感じなので
慣れが必要かなあ
- 650デフォルトの名無しさんsage2010/04/29(木) 19:00:35
- >>641
MIMEタイプが問題になるのはSilverlightより、WPF/XBAPやClickOnceだな。
- 651デフォルトの名無しさんsage2010/04/29(木) 19:07:54
- htmlはコード見ただけで拒絶反応
- 652デフォルトの名無しさんsage2010/04/29(木) 19:08:36
- ルーズXAML
application/xaml+xml
XBAP
application/x-ms-xbap
ClickOnce
application/x-ms-application
このくらいかな。IEは無くても処理してくれるが、firefoxの.NET Assistantアドオンを使う場合に必要。
- 653デフォルトの名無しさんsage2010/04/29(木) 19:12:43
- .htaccessをいじらせてもらえなくても、perlは使えるところが多いので、
こんな感じで無理やり対応できる。
#!/usr/local/bin/perl
# -- hoge.cgi --
print "Content-type: application/xaml+xml\r\n";
print "\r\n";
open(INF,"<hoge.xaml");
for (<INF>) {
print $_
}
close(INF);
- 654デフォルトの名無しさんsage2010/04/29(木) 19:24:42
- >>644
>wndprocのフック
http://blogs.msdn.com/nickkramer/archive/2006/03/18/554235.aspx
>コモンコントロールがないに等しい
WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。
- 655デフォルトの名無しさんsage2010/04/29(木) 19:51:18
- とりあえず画像ビュアー的なのを作ろうと思うんだけど
皆さんだとWinFormとWPFだとどっちが速く作れます?
サムネイル一覧表示
書庫から画像読み込み
各種フィルタ機能
画像の変換
を予定してます
- 656デフォルトの名無しさんsage2010/04/29(木) 20:10:13
- >>654 >wndprocのフック
こりゃありがてえ!
- 657デフォルトの名無しさんsage2010/04/29(木) 20:13:39
- >>642
いやそう言う話じゃなくて
.xapのMIMEタイプを指定してやらんと貼っても認識しない
>>653みたいなことも出来なくはないけど、それじゃあFlashの代わりとしては敷居が高すぎる
- 658デフォルトの名無しさんsage2010/04/29(木) 20:14:24
- >>657
ああすまん
httpヘッダのあれか・・
- 659デフォルトの名無しさんsage2010/04/29(木) 20:30:34
- xapを直接クリックでも起動できたっけ?
普通はHTMLLからsilverlightControlHostやsilverlight.js経由で
読み込むからMIMEの登録は不要なはず。
video再生くらいならxapなしで書けたりする。
ttp://www7a.biglobe.ne.jp/~fbsoft/test/BinaryStar.html
- 660デフォルトの名無しさんsage2010/04/29(木) 20:34:14
- あれ・・・yahoo移管後のGyaoってSLのプレーヤーだな・・・
どうやってるんだろ
- 661デフォルトの名無しさんsage2010/04/29(木) 22:04:42
- >654
できるのか。知らんかった
>WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。
コモンコントロールあるのか・・・
そのキットにはコモンダイアログもついてるのか?
フォントダイアログを自作する作業はもう嫌だよ・・・
せめてそのくらいつけてくれ>MS
- 662デフォルトの名無しさんsage2010/04/29(木) 22:06:41
- ファイルダイアログくらいは仕方ないとしても、
コモンダイアログは本質的にWPFの範囲外だから付けたくないんだろ
- 663デフォルトの名無しさんsage2010/04/29(木) 22:34:35
- フォント選択ダイアログはこの辺参考に自分で作るか、WinFormsの利用するしかないかな。
http://ov-p.spaces.live.com/blog/cns!39D56F0C7A08D703!253.entry
http://blogs.msdn.com/text/archive/2006/11/01/sample-font-chooser.aspx
- 664デフォルトの名無しさんsage2010/04/29(木) 22:36:51
- >>661
WPFだとFont列挙してListboxにでも入れてしまえばいいような気がする
- 665デフォルトの名無しさんsage2010/04/30(金) 00:21:52
- C#に限ったことではないのですが
ループする項目に対していろいろな条件によって
continue;するプログラムを書いていると
ついループが長くなりがちでなんとかしたいのですが
コツのようなものはありますでしょうか
すぐ思いつくのは
・ループ内からメソッドを呼ぶようにして
結果をboolで返すとか(処理結果を他で使いたい場合に問題)
・例外でループまで戻ってくる
(処理コストの面と意味的な面で例外を使うのはどうか)
と言った辺りですが思いつくことありましたらご意見を。
- 666デフォルトの名無しさんsage2010/04/30(金) 00:26:02
- >ついループが長くなりがち
なったことないのでわからん
どんな処理書いてるのか見せてもらえると一番なんだが・・・
コード晒す場合は>>4の※コードの量が多い場合・・・のところを使ってね
- 667デフォルトの名無しさんsage2010/04/30(金) 00:34:08
- >>665
bool返すメソッドをデリゲートに設定すれば
一つのメソッドで複数のメソッドを呼び出すことができる
一つのif文で済む
あとはその処理用にデータ構造を設けてコードが短く済むようにする
- 668デフォルトの名無しさんsage2010/04/30(金) 01:47:47
- よく分からんが、ループ内をごっそり他の関数にするとか大きな処理にまとめるとか?
- 669デフォルトの名無しさんsage2010/04/30(金) 01:56:16
- 多態使うとか
- 670デフォルトの名無しさんsage2010/04/30(金) 02:02:16
- ↓な感じでPictureBoxのサイズ変更時にImageのサイズも
変更しようとしてるんですけどImageのサイズが変わりません。
この方法まずいでしょうか。
※PictureBoxはフォーム全体にアンカーを貼っていてフォームサイズが変わると
連動するようになっています。
Private void pictureBox1_Resize(object sender, EventArgs e)
{
pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
}
- 671デフォルトの名無しさんsage2010/04/30(金) 02:23:50
- なにをしたいか知らんがpictureBoxはこんなことができる
http://ideone.com/Cs4gU
- 672デフォルトの名無しさんsage2010/04/30(金) 02:23:58
- 変更したサイズのImageが実際に欲しいのか、
Pictureboxのサイズに合わせて表示も拡大したいのか良く分からんけど、
後者ならプロパティに設定するだけ。
SizeModeをZoomかStretchImageにすればいける。
- 673デフォルトの名無しさんsage2010/04/30(金) 02:31:27
- それよりぶち抜きでcontinueとかbreakしたいのは俺だけか
一番内側から最外ループまで一気に戻りたい時とか面倒で仕方ない
- 674デフォルトの名無しさんsage2010/04/30(金) 02:33:28
- そんなのはケースによるしな
どんなコードの状況になてて>>665なのかわからんし
当たり障りの無い回答しかできないのも事実
- 675デフォルトの名無しさんsage2010/04/30(金) 02:51:11
- >>672
SizeMode設定で出来ました。
ありがとうございます。
別のGraphicsの画像をPictureBox.Imageに拡縮貼り付けしていて
PictureBoxのサイズが変わったら貼り付ける座標も変わるだろうということで
PictureBox.ImageのサイズをPictureBoxのサイズに変えたかったんですけど
PictureBoxはPictureBox.ImageをStretchBltしてくれるみたいなイメージなんですね。
>>671
なんだか・・・いろいろやってくれるんですね.NETは
今までWin32APIでしかウインドウズプログラミングしたことなかったので
勉強になります・v・
- 676デフォルトの名無しさんsage2010/04/30(金) 17:10:33
- 次は、縮小画像がガタガタなんですけど…という質問が来るにちがいない。
- 677デフォルトの名無しさんsage2010/04/30(金) 17:17:39
- >>676
ファミコンの画像を縮小したら変に滑らかになって困ります。RGB接続した時のようなまま縮小したいです
- 678デフォルトの名無しさんsage2010/04/30(金) 17:26:09
- >>677
Bitmapオブジェクトを直接弄るしかない
- 679665sage2010/05/01(土) 01:05:49
- 意見ありがとうございます。
実物はアレなので話のネタにサンプルコードとしますがこんな感じ
IEnumerable<T> e = xx;
foreach (var x in e)
{
bool a = this.A(x);
if (a)
{
continue;
}
bool b = this.B(x);
if (!b)
{
continue;
}
string c = ExtLibC.C(a, b)
if (c == null)
{
continue;
}
DD d = ExtLibD.D(x, a, b, c)
if (d == null || d.D == null || d.DD == null) {
continue;
}
// こんな処理が数十行続くとか
// もっとネストが深いとか
}
- 680デフォルトの名無しさんsage2010/05/01(土) 01:54:42
- 適当な粒度でメソッドに分ければ?
この例だと有効なdを取得したいんだろうから、こんな感じかね
foreach(var x in e) {
var d = D(x);
if (d == null || d.D == null || d.DD == null) continue;
// 処理
}
--
DD D<T>(T x) {
if (A(x) || !B(x)) return null;
string c = ExtLibC.C(false, true);
return (c != null) ? ExtLibD.D(x, false, true, c) : null;
}
- 681デフォルトの名無しさんsage2010/05/01(土) 03:02:05
- >>679
まあ分かって聞いてるんだと思うけど、そんなの汎用的な方法論なんてあるわけないよね。
冗長なコードが悪なのは誰も異論がないとしても、
それは全ての処理はコンパクトな記述が可能だってことを意味しないわけで。
- 682デフォルトの名無しさんsage2010/05/01(土) 04:10:07
- ListViewのLargeIconモードでD&D並べ替えがしたいんだけど、スクロールが出来ない
DragDropEffects.Scroll指定するだけじゃダメなの?
- 683デフォルトの名無しさんsage2010/05/01(土) 16:40:31
- DataGridViewってセル結合出来ないのね・・・
- 684デフォルトの名無しさんsage2010/05/01(土) 17:55:36
- >>683
諦めるんだ・・・
サードパーティが売れなくなるだろ?
- 685デフォルトの名無しさんsage2010/05/01(土) 19:22:19
- できないことはないけど、コードガリガリ書くの面倒だよ
- 686デフォルトの名無しさんsage2010/05/02(日) 13:10:14
- 面倒なんでhtmlにしてWebBrowser貼付けた
楽すぎるw
- 687デフォルトの名無しさんsage2010/05/02(日) 13:22:41
- >>686
ブラウザで代替出来る程度のことなら、素直にTableLayoutPanelでも使った方が
もっと簡単なんじゃないかと....
- 688デフォルトの名無しさんsage2010/05/02(日) 14:48:35
- >>687
中の文章でセルサイズを自動調節したいんで、
TableLayoutPanelでは難しいです
- 689デフォルトの名無しさんsage2010/05/02(日) 18:17:07
- if(a == 1 && a == 2 && a == 3)
{
}
こんな感じのコードをもっとスマートに書く方法ってないですかね。
例えば
if(a == (1 && 2 && 3))みたいな感じで。
「かつ」ではなく「もしくは」ならswitch文で代用できるんですけど。
よろしくお願いします。
- 690デフォルトの名無しさんsage2010/05/02(日) 18:18:44
- if(false)
- 691デフォルトの名無しさんsage2010/05/02(日) 18:20:36
- すみません。間違えました。確かにこれはおかしいですねw
if(a != 1 && a != 2 && a != 3)
{
}
こんな感じのです。
- 692デフォルトの名無しさんsage2010/05/02(日) 18:22:36
- また「スマート = 文字数が少ないこと」と勘違いしている人かな。
- 693デフォルトの名無しさんsage2010/05/02(日) 18:23:27
- switchとか!(new[] { 1, 2, 3 }.Contains(a))とか
- 694デフォルトの名無しさんsage2010/05/02(日) 18:28:22
- >>691
用途上 a >= 0 に限定できるなら
if (a && a > 3)
{
}
- 695デフォルトの名無しさんsage2010/05/02(日) 18:43:52
- >>692
今回例に出したのは数値型でしたが、文字列型だった場合には条件式の組み合わせが非常に多くなってしまって鬱陶しかったんで。
個人的なことですが、if文等の括弧の途中で改行挟むのが嫌いなものの、改行しないでいると横スクロールが面倒になるという始末。
まぁ比較用のbool変数に対して予め比較を終わらせておくって手段もあるんですがね。
要はわがままです。
>>693-694
ありがとうございます。配列に対してContainsを使う方法は思いつきませんでした。
文字列型の場合にも有効活用できそうですね。
- 696デフォルトの名無しさんsage2010/05/02(日) 18:58:05
- >>695
いずれにせよ、値の評価関数(ようはintならintを引数にとってboolを返す関数)
をつくるベタなやり方の方がいいと思うけど。
ifの()の中の記述に場当たり的な技巧を凝らすのは時間の無駄だし馬鹿っぽい。
- 697デフォルトの名無しさんsage2010/05/02(日) 19:13:09
- 実行速度を計測してみたところまぁ当たり前な気もしますが、単純に比較するのとContainsを使う方法では前者のほうが圧倒的に速かったです。
実行速度を気にしなくて言い場合にはContainsは有効ですね。
>>696
上記の理由より、予め比較を終わらせておく手段をとるのが最善のようですね。
- 698デフォルトの名無しさんsage2010/05/02(日) 19:13:41
- 数が多くなるならリストを予め作っといて>>693の後者の考え方で判定するのがきれい
- 699デフォルトの名無しさんsage2010/05/02(日) 19:34:51
- >>695
>>まぁ比較用のbool変数に対して予め比較を終わらせておくって手段もあるんですがね。
俺もこうするかな
bool b1 = a != 1;
bool b2 = a != 2;
bool b3 = a != 3;
if( b1 && b2 && b3 )
{
}
- 700デフォルトの名無しさんsage2010/05/02(日) 20:21:29
- 俺は状態を管理するクラスを作るかな。
- 701デフォルトの名無しさんsage2010/05/02(日) 20:24:30
- var b = a != 1;
b &= a != 2;
b &= a != 3;
if (b)
{
}
だろ
- 702デフォルトの名無しさんsage2010/05/02(日) 20:24:47
- ただ条件文自体は普通に書くのが一番分かり易いし取り回しもいいと思う。
- 703デフォルトの名無しさんsage2010/05/02(日) 20:25:45
- >>702
まあ状況によりけりだが素直に条件式書く方がスマートだったりするよな
- 704デフォルトの名無しさんsage2010/05/02(日) 20:31:55
- 拡張メソッドでNotIn作れば良いよ
- 705デフォルトの名無しさんsage2010/05/02(日) 20:34:00
- 素直に条件式書いた方がコンパイラ的にも最適化しやすいと思うし。
- 706デフォルトの名無しさんsage2010/05/02(日) 20:40:56
- 業務アプリならifのパフォーマンスなんかどうでも良くて人間が見やすいことが優先されることが圧倒的に多いけどな
- 707デフォルトの名無しさんsage2010/05/02(日) 20:50:31
- 業務アプリなら他のプログラマが見ることもあるだろうから普通に書いた方がいい。
個人なら好きにすればいいよ。
- 708デフォルトの名無しさんsage2010/05/02(日) 20:57:54
- >>695
つまらないこだわりはよせ
月にロケットを飛ばすプログラムが一行で書けたところで
何の意味もない
- 709デフォルトの名無しさんsage2010/05/02(日) 21:07:20
- あれ?2010からはヘルプはドキュメントブラウザじゃなくてウェブブラウザになったの?
しかもオンラインのみ?
ローカルに設定したんだけど・・・
- 710デフォルトの名無しさんsage2010/05/02(日) 21:13:25
- あ、失礼w
ローカルアドレス参照になってましたorz
- 711デフォルトの名無しさんsage2010/05/02(日) 21:18:03
- >>708
意味あるだろ
- 712デフォルトの名無しさんsage2010/05/02(日) 21:32:35
- >>711
どこに?
- 713デフォルトの名無しさんsage2010/05/02(日) 21:36:39
- 俺ルールだと
if ( a != 1
&& a != 2
&& a != 3
) {
}
条件の追加削除が楽だし、&&なのか||なのかが前に並んで、俺が分かりやすい。
後ろに置くとチェック変数の変数名長でガタついて見間違えやすいから。
横並びなんて誰得。複合条件ならカッコつけてインデント。複雑なら変数方式。
これを部下に押し付けてる。
途中で||とか変な条件入ったら693なんてどーすんの?
- 714デフォルトの名無しさんsage2010/05/02(日) 21:38:20
- 大昔のパソコン雑誌(確かASCII)にはその手のコンテストがあったな。
一行プログラムコンテストだっけ?
オッサンの独り言でした
- 715デフォルトの名無しさんsage2010/05/02(日) 21:40:59
- >>713
これとか、カンマを文頭に書くのは好きになれないなぁ。
確かに見やすい&わかりやすいけどね。
- 716デフォルトの名無しさんsage2010/05/02(日) 21:52:31
- >>713
途中で||が入ったとしても、&&で括れるグループ毎にまとめるとかはできるでしょう。
それに様々な条件が入り交ざったモノってそこまで条件式自体は長くないのが多いし、仮に長かった場合には関数なりなんなりでわかりやすく分離すればいいかと。
- 717デフォルトの名無しさんsage2010/05/02(日) 21:57:35
- >>716
分解したら今度は読み解くのにあっちこっち見に行かなければならない
- 718デフォルトの名無しさんsage2010/05/02(日) 22:02:28
- 神経質な人はやりたくなるのは分かるけど、
手作業でコードの整形とか時間の無駄なんだよな。
- 719デフォルトの名無しさんsage2010/05/02(日) 22:15:44
- そんなことよりswitch文で必ずbreak入れなければならない仕様は改悪だと思うんだ
- 720デフォルトの名無しさんsage2010/05/02(日) 22:18:14
- caseの中身書かなければ並べられるので不便だと感じたことはないな
- 721デフォルトの名無しさんsage2010/05/02(日) 22:28:38
- >>719
少数意見だろうな。
- 722デフォルトの名無しさん2010/05/02(日) 22:30:54
- http://1.bp.blogspot.com/_GxQVDnAyExw/SsNvlU5GFAI/AAAAAAAAAAU/4ir3g-WMg1E/s1600/meat2.jpg
- 723デフォルトの名無しさんsage2010/05/02(日) 22:33:40
- フォールスルーの読みづらさは凶悪
フォールスルーが言語でもめったに使われてないからたまに使われてるとほぼ確実に見落とす
- 724723sage2010/05/02(日) 22:35:15
- フォールスルーが許されてる言語でも の間違い
- 725デフォルトの名無しさんsage2010/05/02(日) 22:38:46
- >>722
交通事故かな
- 726デフォルトの名無しさんsage2010/05/03(月) 00:51:47
- まさかプログラム板でグロ画像見るとは思わなかった。
- 727デフォルトの名無しさんsage2010/05/03(月) 01:27:07
- 病んでるんだろ
ほっとけ
- 728デフォルトの名無しさんsage2010/05/03(月) 01:33:15
- >>726
まあ休みの深夜だしw
- 729デフォルトの名無しさんsage2010/05/03(月) 03:27:15
- 長期休暇は変な人があちこちに出没するなぁw
- 730デフォルトの名無しさんsage2010/05/03(月) 09:47:15
- >>723
フォールスルーするならコメント書いとけ
- 731デフォルトの名無しさんsage2010/05/03(月) 13:15:11
- これもヘンな人?
http://ameblo.jp/ryujiohta/entry-10524500598.html
- 732デフォルトの名無しさんsage2010/05/03(月) 13:24:51
- 削除ガイドライン違反
8. URL表記・リンク
宣伝・罠・実行リンク
・明らかに宣伝を目的としたリンク・クリックや訪問で課金が発生するもの等は、宣伝掲示板以外では削除します。
- 733デフォルトの名無しさんsage2010/05/03(月) 14:23:53
- コピペ君も同類だけどな、まで読んだ。
- 734デフォルトの名無しさんsage2010/05/04(火) 00:25:02
- このプログラムなのですが、どうしてもエラーが消えません。
どこがおかしいのでしょうか?
C:\Documents and Settings\tutomu\My Documents\Visual Studio 2008\Projects\gomokuproguram\sironoisi.cs
- 735デフォルトの名無しさんsage2010/05/04(火) 00:30:23
- >>734
知りません。
答えようがありません。
- 736デフォルトの名無しさんsage2010/05/04(火) 00:31:21
- キチガイの相手すんな
- 737デフォルトの名無しさんsage2010/05/04(火) 00:32:48
- 知らんがな。つとむくん。
- 738デフォルトの名無しさんsage2010/05/04(火) 00:58:19
- うお、うpろだにあげるの忘れてた
- 739デフォルトの名無しさんsage2010/05/04(火) 01:01:27
- つとむくん
忘れてたってレベルじゃねぇぞ!
ところで
gomokuproguram
は
GomokuProgram
ではないか?
- 740デフォルトの名無しさんsage2010/05/04(火) 01:04:52
- もうやめて!つとむくんのライフゼロよ!
- 741デフォルトの名無しさんsage2010/05/04(火) 01:07:32
- つとむくんは盲点だったわww
確かにwwww
- 742デフォルトの名無しさんsage2010/05/04(火) 01:10:06
- 山口さんちのツトム君
このごろ少し変よ どうしたのかナ
- 743デフォルトの名無しさんsage2010/05/04(火) 01:12:46
- 何歳だよお前
- 744デフォルトの名無しさんsage2010/05/04(火) 01:20:32
- うpろだにつながらなくなってしまった
なんで名前知ってるの・・・?
いちようウイルスソフトは入れている
2chになんかカキコするんじゃなかった
- 745デフォルトの名無しさんsage2010/05/04(火) 01:24:02
- 誰だよお前
- 746デフォルトの名無しさんsage2010/05/04(火) 01:26:50
- 例え私が滅びようが第二、第三のツトムが五目プログラムを作るであろう・・・
グフッ
- 747デフォルトの名無しさんsage2010/05/04(火) 01:34:27
- >>744
ウイルスソフトなんて入れてるから駄目なんだと思います。
>>746
ワロタww
- 748デフォルトの名無しさんsage2010/05/04(火) 01:39:30
- ツトム君の人気に嫉妬した
- 749デフォルトの名無しさんsage2010/05/04(火) 02:25:23
- プログラム一通り見たけど、設計がなってない
- 750デフォルトの名無しさんsage2010/05/04(火) 02:44:44
- シロノイシ
なんか小説でも書けそうなタイトル
- 751デフォルトの名無しさんsage2010/05/04(火) 09:32:12
- つとむ君のスレになりそうだな
【五目】C#相談室【白の石】
- 752デフォルトの名無しさんsage2010/05/04(火) 09:50:42
- こうだろ
【五目】C#相談室(ツトム君専用)【白の石】
- 753デフォルトの名無しさんsage2010/05/04(火) 10:07:25
- OSに頼らずにジェスチャーを実装することって可能かなあ・・・
マウスだとボタンとポインター移動部分が独立してるけど
タッチパネルとなるとタッチした瞬間にカーソル移動+
MouseDownとかイベント発生しそうだし・・・
- 754デフォルトの名無しさんsage2010/05/04(火) 10:25:11
- >>753
戦車ゲームが難しいな
タッチしたら旋回して即発射
つねに振り向きざま即発射
- 755デフォルトの名無しさんsage2010/05/04(火) 11:09:10
- 白の意思・・・か・・・
ついにはじまるのか・・・
- 756デフォルトの名無しさんsage2010/05/04(火) 11:46:18
- 燃え尽きた・・・真っ白に・・・
- 757デフォルトの名無しさんsage2010/05/04(火) 12:38:42
- 原因がわかりました
iとjをまちがいていました
変数名をtateとyokoにすることによって解決。
forの変数はiから順に使うとならったけど
名前を使ったほうが分かりやすいと思う
あと名前をカキコするのはやめてください。
どこで知ったのかわかりませんが
ちゃんとうpろだに成功してたのかな?
- 758デフォルトの名無しさんsage2010/05/04(火) 12:41:08
- "つとむ" はローマ字だと"tsutomu"だよ。
"tutomu"じゃないよ。
- 759デフォルトの名無しさんsage2010/05/04(火) 12:41:58
- >>757
ネタなのかマジなのか
>>734で自分で晒してるよ
IDEのデフォルトの保存場所にするとマイドキュメントになるので
下手にプロジェクトとか晒すとユーザーネームまるばれなんだよw
- 760デフォルトの名無しさんsage2010/05/04(火) 12:42:48
- >>758
僕はtutomuって書くことが多いですね
最近はローマ字で名前書いたことないですけど
- 761デフォルトの名無しさんsage2010/05/04(火) 12:44:00
- >>759
はぁー!
フォルダに名前使ったおぼえないのに
C#が勝手に作った!?_
- 762デフォルトの名無しさんsage2010/05/04(火) 12:45:34
- >>761
お前面白いなwww
- 763デフォルトの名無しさんsage2010/05/04(火) 12:45:42
- >>761
プロジェクト保存するときに保存先を聞いてくるので
見逃してたら自己責任だろうw
- 764デフォルトの名無しさんsage2010/05/04(火) 12:47:14
- >>758
訓令式というものがあってな
- 765デフォルトの名無しさんsage2010/05/04(火) 12:55:48
- だめだフォルダの名前が変えれない
名前フォルダの中にデスクトップがあるし訳が分からない
デスクトップの中にエクスプローラーがあってその中にデスクトップがある。
でも普通にファイル開けた
- 766デフォルトの名無しさんsage2010/05/04(火) 12:59:30
- もうやめてあげて!ツトムくんが人間の形を留めていられなくなっちゃう!
- 767デフォルトの名無しさんsage2010/05/04(火) 13:07:42
- 鼠人間ツトム
- 768デフォルトの名無しさんsage2010/05/04(火) 13:12:11
- そろそろ板違いだから。
これ以上やりたければ、パソコン初心者板でも行こうな。つとむくん。
- 769デフォルトの名無しさんsage2010/05/04(火) 13:14:15
- >>768
既に聞きに行っているみたいだぞwww
http://pc12.2ch.net/test/read.cgi/win/1267768729/828
- 770デフォルトの名無しさんsage2010/05/04(火) 13:26:27
- ネタじゃなくてマジだったのかw
- 771デフォルトの名無しさんsage2010/05/04(火) 14:08:40
- 板を超えた釣りだろ
- 772デフォルトの名無しさんsage2010/05/04(火) 16:53:13
- >>769
予想の斜め上www
- 773デフォルトの名無しさんsage2010/05/04(火) 17:02:31
- プログラム作る前にやることあるだろ
- 774デフォルトの名無しさんsage2010/05/04(火) 17:56:23
- 「白の石」って響きがすごくかっこよいんですけど。
- 775デフォルトの名無しさんsage2010/05/04(火) 20:02:39
- でも、黒の石と別にする合理的な理由が思いつかない
- 776デフォルトの名無しさんsage2010/05/05(水) 00:20:35
- 黒の意思か・・・
・・・風が吹いてきたな・・・
- 777デフォルトの名無しさんsage2010/05/05(水) 03:14:02
- 本人だけじゃなくてパソコンの先生にも問題があると思う
無条件に変数をiから使うとか教えてるっぽいし
- 778デフォルトの名無しさんsage2010/05/05(水) 08:52:18
- パソコンの先生wwwww
- 779デフォルトの名無しさんsage2010/05/05(水) 09:26:18
- VS2008を使ってます。
httpでHEADリクエストを送るにはどうすればいいでしょうか。
WebRequest, WebResponseを使うとGETで全部取ってきてしまうので・・
- 780デフォルトの名無しさんsage2010/05/05(水) 09:33:54
- >>779
Method プロパティに "HEAD" 入れりゃいいだけの話。
"POST" したことあるならやり方わかるよね?
- 781デフォルトの名無しさんsage2010/05/05(水) 09:54:38
- >>780
Method指定でできましたー
どうもありがとうございます
- 782デフォルトの名無しさん2010/05/05(水) 15:10:58
- VS2005なんですが、デザイナで自動生成されるコードで、
プロジェクト規定の名前空間を含めないようにすることはできますか?
規定の名前空間が'hoge'で、コンパイル時に
型名'hoge1'は型'hoge.hoge'に存在しませんとなるのを避けたいのですが・・・
- 783デフォルトの名無しさんsage2010/05/05(水) 15:29:35
- テンプレートをいじればいけるかも。
- 784デフォルトの名無しさんsage2010/05/05(水) 18:29:47
- C#をやってみようと思いますが、
Visual C# 2010 Expressというのは製品版と比べて
どんな制限があるんでしょうか?
- 785デフォルトの名無しさんsage2010/05/05(水) 18:43:22
- >>784
普通にやる分には、全く制限が無いと思ってもいい。
- 786デフォルトの名無しさんsage2010/05/05(水) 18:52:04
- >>785
えーっすごいですね!
早速参考書を買いに行ってきます。
- 787デフォルトの名無しさんsage2010/05/05(水) 18:53:26
- そういやC#部分だけ見たらほとんど制限ないな
- 788デフォルトの名無しさんsage2010/05/05(水) 18:54:40
- ところで、どこかに比較表とかありますか?
- 789デフォルトの名無しさんsage2010/05/05(水) 18:58:45
- 2010の比較表はまだ無いようだ。
参考書はとりあえずやめとけ。ネットで調べたらいくらでも出てくる。
- 790デフォルトの名無しさんsage2010/05/05(水) 18:59:40
- MSのサイトにあるだろ。
- 791デフォルトの名無しさんsage2010/05/05(水) 19:07:52
- >>789
勉強時間が移動中か寝る直前ですし、
本のほうが集中して読めるので。。
>>790
http://www.microsoft.com/express/Windows/
このページの右の「Compare Express Products」ですか?
読んでもよくわかりません…(英語がわからないのではなく)
- 792デフォルトの名無しさんsage2010/05/05(水) 19:08:56
- 出来ること
http://www.microsoft.com/japan/msdn/vstudio/2008/product/express/aboutexpress.aspx
これは広告だから制限は書いていない。
重要な制限としてはテスト周りが制限されている。
・ 単体テスト機能が無いので、外部ツールの NUnit を使う必要がある。
・ アドインが使えないので、TestDriven.Net を使うには工夫が必要がある。
・ C++ とか C# とか言語別製品になっているため、言語の混在したソリューションが作れない。
→ C++で作ったDLLを参照して使うC#のプロジェクトのデバッグでC++のソースは見えない。
えーと、間違いとか校正よろしく。
- 793デフォルトの名無しさんsage2010/05/05(水) 19:18:27
- > 1. 無償
> Visual Studio 2008 Express Edition は無償で提供しています。さらに作ったアプリケーションは商用利用が可能です。
これすごいですね
- 794デフォルトの名無しさんsage2010/05/05(水) 19:21:14
- >>789
オヌヌメのサイトある?
- 795デフォルトの名無しさんsage2010/05/05(水) 19:21:40
- 初心者スレ行けば?
- 796デフォルトの名無しさんsage2010/05/05(水) 19:25:04
- ちょいと行ってくる
- 797デフォルトの名無しさんsage2010/05/05(水) 20:10:15
- >>793
すごくない
当たり前のこと
- 798デフォルトの名無しさんsage2010/05/05(水) 20:13:23
- C# Builder Personalとか、商用利用はダメじゃなかったっけ?
それを考えれば「当たり前」とは言えないでしょ。
- 799デフォルトの名無しさんsage2010/05/05(水) 20:33:50
- 何でも人の逆を言ってみたいだけのガキを相手にしてくてもいいのに
- 800デフォルトの名無しさんsage2010/05/05(水) 20:35:21
- 天邪鬼か
- 801デフォルトの名無しさんsage2010/05/05(水) 21:22:35
- 「天邪鬼」とは言えないでしょ。
- 802デフォルトの名無しさんsage2010/05/05(水) 22:20:26
- C#ExpressはFormだけで完結するアプリ作るんなら必要十分だが
DB絡むと途端に使えない子になる
まあ無償だからしょうがないが
- 803デフォルトの名無しさんsage2010/05/05(水) 22:30:24
- >>792
>・ アドインが使えないので、TestDriven.Net を使うには工夫が必要がある。
どうすれば使えるんですか?
ご教示ください。
- 804デフォルトの名無しさんsage2010/05/05(水) 23:47:48
- >>803
スマンやり方を忘れてしまった。
http://project.iifp.biz/modules/mydownloads/
から拾ってきたテンプレートでごしょごしょやった気がしたが・・・
NCover単体でやってたのかな?カバレッジのために使ってたし。
- 805デフォルトの名無しさんsage2010/05/06(木) 05:58:35
- >>802
そんなことないよ。
- 806デフォルトの名無しさんsage2010/05/06(木) 14:59:05
- スレッドの意味がよくわかりません。
デリゲートと比較すると引数もコールバックも渡せない。
敢えてスレッドを選択するのはどういう場面なんでしょうか。
- 807682sage2010/05/06(木) 15:03:43
- 自力でなんとか調べて、InsertionMark.NearestIndexとEnsureVisibleで
ある程度D&D時のスクロールは実現出来た
ただ、上方向へはスクロールするけど下方向がスクロールしない
マウス近くのアイテムが表示範囲に入ったところで止まってしまう
下方向へもスクロールするにはどうしたらいい?
- 808デフォルトの名無しさんsage2010/05/06(木) 15:08:32
- >>806
常にバックグランドで待ち構えていなければならないような用途かな
例えばアーカイバプロジェクトDLLはほとんどがマルチスレッドに対応していない
だからアクセス専用スレッド待機させて、生産者消費者パターンでシリアル化する、みたいな
まあUIスレッドのために存在する、って言っちゃってもいいんだけどw
- 809デフォルトの名無しさんsage2010/05/06(木) 15:34:01
- >>808
なるほど。
スレッド=タスク分散のためのマルチスレッド処理に使う物
と勝手に思い込んでたのでなんでこんな糞仕様なのかと疑問だったのですが
そもそもそういうことに使うものじゃないんですね。
もやが晴れましたどうもありがとうございました。
- 810デフォルトの名無しさんsage2010/05/06(木) 17:48:37
- >スレッド=タスク分散のためのマルチスレッド処理に使う物
これはこれで合ってるんじゃね?
- 811デフォルトの名無しさんsage2010/05/06(木) 17:50:49
- デリゲートの非同期呼び出しやスレッドプールはスレッドを使って実装されてる
ややこしい手続きを引き受けてくれる代理店みたいなもん
- 812デフォルトの名無しさんsage2010/05/06(木) 20:19:22
- 非同期呼び出しのおかげで明示的にスレッドを使う機会がめっきり減った。
- 813デフォルトの名無しさんsage2010/05/06(木) 21:10:36
- ExcelやVisualStudioのタブみたいなTabControlが使いたい件。
- 814デフォルトの名無しさんsage2010/05/06(木) 21:20:29
- メールのタイトル?
- 815デフォルトの名無しさんsage2010/05/06(木) 21:21:39
- つWPF
- 816デフォルトの名無しさんsage2010/05/06(木) 22:17:45
- コードプロジェクト行けばそういうサンプルなんて何ぼでもあるぞ
とくにそれは見掛けたことがあるから絶対になるわ
- 817デフォルトの名無しさんsage2010/05/06(木) 22:25:55
- >>816
You've got my 5!
- 818デフォルトの名無しさん2010/05/07(金) 03:39:53
- てs
- 819デフォルトの名無しさんsage2010/05/08(土) 02:12:36
- ThreadPoolもどきを実装してるのは俺だけでいい
- 820デフォルトの名無しさんsage2010/05/08(土) 07:42:37
- CCRもどきを実装するのも俺だけで十分だ( ^ω^)・・・
- 821デフォルトの名無しさんsage2010/05/08(土) 08:56:32
- 時間で消えるメッセージボックスもどきを実装させられるのも俺だけで十分だ
- 822デフォルトの名無しさんsage2010/05/08(土) 10:49:32
- それは割とよくあるな。
- 823デフォルトの名無しさんsage2010/05/08(土) 11:39:24
- そんなもん非同期にしなくてもWinFormsのタイマで頻繁に時間調べればいいだけじゃね
5分で作れる
- 824デフォルトの名無しさんsage2010/05/08(土) 12:20:56
- >>823
安価付けろタコ
- 825デフォルトの名無しさんsage2010/05/08(土) 13:30:30
- User32.dllに MessageBoxTimeout という関数があってな。
- 826デフォルトの名無しさんsage2010/05/08(土) 13:56:24
- >>825
当然それじゃ要求に満たないわけでな。
- 827デフォルトの名無しさんsage2010/05/08(土) 14:36:21
- >>823
メッセージボックスの場合はDialogResult返さないといけないから、
普通はそう単純にはいかない。
あと数値だけ受け付けるTextBoxとかComboBoxなんかも
かなりの頻度で車輪の再発明されてそうだな。
- 828デフォルトの名無しさんsage2010/05/08(土) 14:46:23
- 入力内容の制限は本来はバインディングでやるべきだな
WPFでは実際にそうなってるが
- 829デフォルトの名無しさんsage2010/05/08(土) 14:56:51
- >>828
それって「馬鹿の一つ覚え」でしょ。
そういう方法論もあるとは思うが、それが「べき」なんていえる万能な方法なわけがない。
だいいち、入力を弾くなんていうGUI寄りの泥臭い処理を
データを持ってるオブジェクトが担当するなんて、どう考えても悪い設計にしか思えない。
- 830デフォルトの名無しさんsage2010/05/08(土) 15:06:09
- >>829
「入力を弾く」のはロジックであって、そもそもGUIの仕事ではない。
逆に入力ルールをUIに持たせようとする神経を疑う。
UIは、あくまでデータの見せ方を定義するもの。ロジックは他に任せろ。
- 831デフォルトの名無しさんsage2010/05/08(土) 15:07:39
- いい加減スレ違い。
- 832デフォルトの名無しさんsage2010/05/08(土) 15:13:47
- >>830
話が噛みあってないな恐らく。
同じ「入力を弾く」という言葉を使っていても、
君は例えば設定範囲外の数値を弾くようなことを想定しているんだろう。
俺はそんな話はしてないの。(>>827)
- 833デフォルトの名無しさんsage2010/05/08(土) 15:46:18
- C#ってもしかしてJavaにそっくり?
Javaが使えれば、何となくC#もできちゃう?
- 834デフォルトの名無しさんsage2010/05/08(土) 15:47:25
- よくわからんな、入力書式のチェックの話でしょ?別に勘違いはしてないと思う。
指定したキー(文字)以外の入力は受け付けない、という機能であればViewの仕事だと
思うけど、そういう話?
# 単にキーで入力制限すると、数値しか入力させないつもりが"1.1.0-"なんて
# 入力ができちゃったりするから、個人的にはあんまり意味ないと思うけど。
- 835デフォルトの名無しさんsage2010/05/08(土) 15:56:58
- >>834
そうそういう話。
君自身言ってるとおり、そんなのはViewあるいはGUI部品の仕事でしょ。
1個以上の小数点の入力を抑止したり、先頭以外の-の入力を抑止(あるいは、初めて
-が入力された時、先頭に-を表示する)するのは別に難しくない。というか普通そうする。
- 836デフォルトの名無しさんsage2010/05/08(土) 16:00:08
- >>833
Javaよりだいぶ洗練されてるけど、まあ、似てるっちゃ似てる。
元々が「SUNがあまりに要領得ないからうちでJavaに似た別言語創るよ」みたなノリだし。
今やJavaよりかなり高機能になってるけど、逆にJava側がC#の機能を輸入してたりするし。
- 837デフォルトの名無しさんsage2010/05/08(土) 16:03:23
- Javaより良いのか!
今まで興味なかったけど、何だか急に興味が沸いてきちゃったじゃないか。
- 838デフォルトの名無しさんsage2010/05/08(土) 18:11:36
- ただ最近ちょっと言語仕様太りすぎじゃね?って気もしてきたけど
IDEが優秀だからあんまり気にならなかったり
- 839デフォルトの名無しさんsage2010/05/08(土) 18:18:31
- >>837
後発で MS が作ってるものが悪いわけないじゃん。
MS が Java の仕様をあれこれ改善しようとして、それを SUN が断固拒否しなけりゃ
今頃 Java はいい言語になってただろうにねぇ。
>>838
IDE 抜きでもなかなかきれいにまとめてると思うよ、あれだけの高機能を。
- 840デフォルトの名無しさんsage2010/05/08(土) 18:19:42
- 実際はVJ++で改悪しようとしてたけどな
- 841デフォルトの名無しさんsage2010/05/08(土) 18:33:44
- VJ++のどこら辺が悪いかな?
Write once, run everywhere. でなくなることぐらいだったような。
いろいろ便利なので、JDK1.1で成長を止められてしまったのに、長々と使われていた(日本ではほとんど使われなかったけど)。
- 842デフォルトの名無しさんsage2010/05/08(土) 18:35:06
- テキストボックスに開いたCSVを、1次元配列に入れていこうとしたのですが
配列の要素数が後ろに増えていくと思ったのですが
1行分の要素しか格納されていきません
要素全てを格納したいのですがどう直せばいいのでしょうか?
// 変数の宣言
string Str = "";
string[] stArrayData = {};
// テキストボックスの1行単位処理
for(int i=0;i<textBox1.Lines.Length;i++){
Str = textBox1.Lines[i]; // テキストボックスから1行取得
stArrayData = Str.Split(','); // カンマでsplit
}
- 843デフォルトの名無しさんsage2010/05/08(土) 18:35:39
- > Write once, run everywhere. でなくなることぐらいだったような。
それ駄目だろ、最大のウリだったのに。
- 844デフォルトの名無しさんsage2010/05/08(土) 18:42:31
- カンマでSplitした配列をListにAddすれば?
- 845デフォルトの名無しさんsage2010/05/08(土) 18:46:33
- >>841
当時 Pure Java とか言ってたくらいだし、
亜種作ることを SUN がとことん嫌ってたから。
なんか係争に発展してなかったっけ?
- 846デフォルトの名無しさんsage2010/05/08(土) 18:49:19
- >>841
Write once, run anywhere.
Write once, debug everywhere.
混ざってないか
>>842
stArrayData = textBox1.Lines.SelectMany(s => s.Split(',')).ToArray();
- 847デフォルトの名無しさんsage2010/05/08(土) 18:50:11
- >>844
すみません。頂いたヒントからググっても
どうにも上手くいかず
上のコードをどう直していけばよいのでしょうか
- 848デフォルトの名無しさんsage2010/05/08(土) 19:02:26
- C# の欠点はオープン系のみで構築したいなんて案件だとちょっと辛いってとこぐらいかな。
MONOってどうなの?業務で使った人居る?
- 849デフォルトの名無しさんsage2010/05/08(土) 19:39:02
- GPLが混入した時点で全く使い物にならないだろ
.NET関連のオープンソースプロジェクトってGPLより緩いライセンスがほとんどだし
サードパーティのライブラリとかも全滅
- 850デフォルトの名無しさんsage2010/05/08(土) 19:41:02
- >>847
// 変数の宣言
string Str = "";
List<string> arrayData = new List<string>();
// テキストボックスの1行単位処理
for (int i = 0; i < textBox1.Lines.Length; i++)
{
Str = textBox1.Lines[i]; // テキストボックスから1行取得
arrayData.AddRange(Str.Split(','));
}
// string[]に変換
// arrayData.ToArray();
- 851デフォルトの名無しさんsage2010/05/08(土) 19:52:00
- >>850
ありがとうございます!できました
…C#難しいよ…Perlのが楽だよ
- 852デフォルトの名無しさんsage2010/05/08(土) 19:54:14
- 面倒というならわかるが難しいならそりゃPerlもわかってないんだよ
オブジェクト指向してないでしょ
- 853デフォルトの名無しさんsage2010/05/08(土) 20:03:39
- 2002年以前の情報のままの奴がいるな。
GPLじゃなくなってから8年もたつのに。
- 854デフォルトの名無しさんsage2010/05/08(土) 20:09:30
- >>850
Strの場所おかしくないか?(そして何故大文字)
- 855デフォルトの名無しさんsage2010/05/08(土) 20:13:44
- >>854
元のソースで、とりあえずそのままでもいいところは
そのままにしているだけ、だと思う。
- 856デフォルトの名無しさんsage2010/05/08(土) 20:14:16
- 本家もできてないけどな
- 857デフォルトの名無しさんsage2010/05/08(土) 21:14:17
- Perlでもあのロジックじゃ上手く行かないと思うのは俺だけか
- 858デフォルトの名無しさんsage2010/05/08(土) 22:20:25
- Perl はぶっちゃけオブジェクト指向する必要ないと思うぜ
- 859デフォルトの名無しさんsage2010/05/08(土) 23:47:15
- Perlでオブジェクト指向するくらいならRubyがいいな。
- 860デフォルトの名無しさんsage2010/05/09(日) 00:01:58
- スレ違い。
- 861デフォルトの名無しさんsage2010/05/09(日) 20:52:45
- enum を作るときって、関連するクラスの中に作ります?
それとも同じ名前空間内のクラスの外側に作ります?
- 862デフォルトの名無しさんsage2010/05/09(日) 20:54:41
- そのクラスの外に見せるならクラスの外に作らないとガイドライン違反
- 863デフォルトの名無しさんsage2010/05/09(日) 21:35:19
- >>862
ソースは?
- 864デフォルトの名無しさんsage2010/05/09(日) 21:38:28
- >>862
何のメリットが
- 865デフォルトの名無しさんsage2010/05/09(日) 21:54:25
- http://msdn.microsoft.com/ja-jp/library/ms229027%28v=VS.100%29.aspx
http://msdn.microsoft.com/ja-jp/library/ms182162%28v=VS.100%29.aspx
公式には完璧にアウト
- 866デフォルトの名無しさんsage2010/05/09(日) 22:06:36
- キリ
- 867デフォルトの名無しさんsage2010/05/09(日) 22:09:19
- クラス内のenumを使うユーザーコントロールがデザイン時にエラーになってかなり困ったことがあるよ。
あんまり想定されてなくて危ないのでやめたほうがいい。
- 868デフォルトの名無しさんsage2010/05/09(日) 22:27:07
- わかりにくいし使いにくいし探しにくい
- 869デフォルトの名無しさんsage2010/05/09(日) 22:28:07
- >>862,865,867
なるほど。
確かに名前空間の分離で充分賄える内容でした。
とはいえ流石に enum 用の名前空間分けるのも変なかんじなんで
"Foo"StatusType みたいにそれっぽいプリフィクス付けて対処してみます。
ありがとうございました。
- 870デフォルトの名無しさんsage2010/05/10(月) 11:51:30
- めんどくせーからpublic classの中にpublic enumでつくってもごもご。
- 871デフォルトの名無しさんsage2010/05/10(月) 12:00:24
- namespace HogeProject
{
public class HageClass
{
//(ry
}
}
namespace HogeProject.HageClass
{
enum StatusType
{
hoge = 0,
hage = 1,
}
}
- 872デフォルトの名無しさん2010/05/10(月) 12:02:19
- 禿ワロタw
- 873デフォルトの名無しさんsage2010/05/10(月) 12:04:06
- if(this.Status == HogeProject.HageClass.StatusType.hage)
{
MessageBox.Show("禿");
}
- 874デフォルトの名無しさん2010/05/10(月) 12:46:53
- C#は糞2.0
http://pc12.2ch.net/test/read.cgi/tech/1272608727/
- 875デフォルトの名無しさんsage2010/05/10(月) 13:27:17
- >>871
using HogeProject;
var hage = new HageClass(); // <- 名前空間はnewできない
って書けなくなるじゃん
- 876デフォルトの名無しさんsage2010/05/11(火) 05:38:15
- http://www.itmedia.co.jp/enterprise/articles/1004/30/news051.html
これってどうよ?
- 877デフォルトの名無しさんsage2010/05/11(火) 06:07:53
- C#で文字解析をしたいのですが、
なにかいい方法はあるでしょうか?
例えば、テキストボックスにある
文字列が
"A B" C | D -E
という場合は、
A B AND C OR D ANDNOT E
という文字列に置換したいです。
今は文字列を1バイトずつ調べて
いますが、なにかmethodを使い
よい方法があればと思い質問します。
C#は初心者ですが、よろしく
お願いします。
- 878デフォルトの名無しさんsage2010/05/11(火) 06:38:39
- 正規表現とか
- 879デフォルトの名無しさんsage2010/05/11(火) 07:45:43
- ぶっちゃけいうとF#でFslex,yacc使った方が幸せになる
- 880デフォルトの名無しさんsage2010/05/11(火) 10:04:31
- C#でExcelシートを読み込む処理を作っています。
OleDbで接続して読み込むことはできるのですが、
どうしても読み込むことのできない列があり、その列の値だけは
何行目でも空になってしまいます。
試しに他のExcelファイルに変えてみましたが、最初のファイルとは別の
列がまったく読み込めませんでした。
Excelファイルに問題があるのでしょうか?
それともOleDbでDBのように読み込むには何かの制限があるのでしょうか?
よろしくお願いします。
- 881デフォルトの名無しさんsage2010/05/11(火) 10:17:39
- で、それはどんな列なんだ?
- 882デフォルトの名無しさんsage2010/05/11(火) 10:22:23
- >>881
商品一覧のようなシートで、読めない列には金額が入っています。
他の列にも同じような値が入っているのですが、一部の列だけ読めないんです。
やはりこれだけの情報では厳しいでしょうか?
- 883デフォルトの名無しさんsage2010/05/11(火) 10:26:28
- じゃぁその読めない列と読める列の適当なサンプル提示してみれば?
個人情報が残らないようにしてソースの一部とともに公開すれば親切な誰かが見てくれるかもしれんよ
- 884デフォルトの名無しさんsage2010/05/11(火) 10:35:27
- 接続文字列に IMEX=1とか?
- 885デフォルトの名無しさんsage2010/05/11(火) 10:59:30
- 皆さんありがとうございます。
>>884さんの仰るとおりIMEX=1を追加したところ
動作しました。
C#に全然関係ない質問しちゃって失礼しました。
- 886デフォルトの名無しさん2010/05/11(火) 11:09:52
- >>883
いつもソース要求しかしないアホ丸出し
- 887デフォルトの名無しさんsage2010/05/11(火) 11:13:01
- どっちにしてもソース晒すのが礼儀
- 888デフォルトの名無しさんsage2010/05/11(火) 11:20:25
- >>886
予想が当たったけど、データがなければ分からんのだから、指摘変だよ。
- 889デフォルトの名無しさんsage2010/05/11(火) 11:38:01
- 接続文字列の情報があれば
IMEX=1
が無かったは明白だったわけだから解決は早かったかもしれんの
- 890デフォルトの名無しさんsage2010/05/11(火) 15:56:07
- C#2010で2008のプロジェクトを変換すると
プロジェクトプロパティにビルド構成が表示されるように
なったんですが、2008と同じようにする方法はありますか?
2010の新規プロジェクトを作ると2008と同じになるようですが・・。
- 891デフォルトの名無しさんsage2010/05/11(火) 19:54:46
- 上の件で、どうも元のソリューションのプラットフォームがAnyCPU
だと変換後に2008と同じような表示にならないようでした。
(テキストエディタでslnとcsprojのAnyCPUをx86に書き換えて確認)
書き忘れましたが環境はC# 2008 Express(一度削除)→C# 2010 Expressです
2010ExpressだとAnyCPUは推奨されないーとか、AnyCPUのときは手動で
ビルド構成の切り替えが必要ーとか、何か関連がありそうな事があれば
教えていただきたい。
- 892デフォルトの名無しさんsage2010/05/11(火) 21:47:27
- >>891
メニューの「ツール」ー「設定」に基本設定と上級者設定があるからそれで切り替える。
変換元が基本設定でカバーできない範囲だったら上級者設定になるんじゃねーか?
その他の微調整はカスタマイズ、オプションで。
- 893デフォルトの名無しさんsage2010/05/11(火) 22:02:23
- VisualStudioのエディタのデフォルトエンコードを UTF-8 から ShiftJIS に
したいのですが、何かレジストリとかで設定できないでしょうか?
保存オプションの詳細設定でいちいち変更するのが面倒になりました。
UTF-8でいいじゃないかという意見もあるでしょうが、UTF-8 をサポートしない
ツールにソースをコピーペーストすると文字が化けるので。
例) かちゅ〜しゃ
/// <summary>
/// 繝繧ケ繝
/// </summary>
- 894デフォルトの名無しさんsage2010/05/11(火) 22:11:27
- 一旦メモ帳にペーストして再コピーすると良いよ
多分無いんじゃないかな
- 895デフォルトの名無しさんsage2010/05/11(火) 22:18:08
- テンプレートを修正するんだったかな。
- 896デフォルトの名無しさんsage2010/05/11(火) 22:26:34
- そもそもファイルの文字コードと関係なくクリップボードはUnicodeでコピーされる。
- 897デフォルトの名無しさんsage2010/05/11(火) 22:30:15
- つまり、vsのファイルはシフトJISだから、そのファイルを他の
エディタで開けば読めると思うが、コピペだと文字化けする、
ということか。
- 898デフォルトの名無しさんsage2010/05/11(火) 22:34:14
- >>896は大嘘だけどな
- 899デフォルトの名無しさんsage2010/05/11(火) 22:44:03
- 嘘と言い切ることもできないが(CF_UNICODETEXTも付いてるから)
しかしCF_TEXTにUTF-8とか止めて欲しいもんだ
- 900デフォルトの名無しさんsage2010/05/11(火) 22:45:28
- UTF-8 をサポートしないツールを捨てよう
- 901デフォルトの名無しさんsage2010/05/11(火) 22:48:49
- WinDiffのことかー!
- 902デフォルトの名無しさんsage2010/05/11(火) 22:57:29
- windiffはもうずっと使っていないなぁ。WinMerge便利だし。
変な文字コードのクリップボードはxyzzyでクリップボードエンコーディングを指定して貼付けがいいよ。
xyzzyは貼付けの文字コード自動判別もできると楽なんだけどなぁ。
- 903デフォルトの名無しさんsage2010/05/11(火) 23:01:33
- 秀丸はOK
- 904デフォルトの名無しさんsage2010/05/11(火) 23:07:10
- >>893
そんな問題に対応するクリップボード拡張ツールがあってもおかしくないな、
と思って検索したら、ベクターにこんなのあったよ。
http://www.vector.co.jp/soft/win95/util/se285480.html
使えるかどうかは確認してない。
- 905デフォルトの名無しさんsage2010/05/11(火) 23:59:26
- /// <summary>
/// テスト
/// </summary>
うん、Windows7で動作。
オプションでShiftJISに変換するのとどちらが便利か比べてみる。
ありがとう。
- 906デフォルトの名無しさんsage2010/05/12(水) 08:11:27
- C#の本でVisualStudioのGUI操作を主に取り扱ってる、お勧めな本ありますでしょうか?
C#の言語仕様や文法については他の言語を知っているので詳しく書いてなくてもいいのですが。
特に、GUIコンポーネントの継承、VSS、外部参照方法など
エンタープライズ向けの操作方法が乗ってるのがありましたら教えてください。
- 907デフォルトの名無しさんsage2010/05/12(水) 08:20:31
- http://www.amazon.co.jp/dp/4891005009
- 908デフォルトの名無しさんsage2010/05/12(水) 12:06:03
- >>892
ありがとう。色々いじってみました。
2010ってデフォルトがAny CPUからx86に変わったんですね。
とりあえずは32ビットwinだとx86じゃないと必ず表示されるという結論
に達しました。
これに関連してか、Any CPUだと「プロジェクトおよびソリューション」
の「ビルド構成の詳細を表示」をOFFにしても「ソリューションのビルド」
でリリース構成としてビルドされないっぽい事がわかりました。
また何か情報あったら教えてください
ありがとうございました。
- 909デフォルトの名無しさん2010/05/12(水) 12:22:26
- >>908
AnyCPUで作っちゃうといろいろ問題が起きるから2010では
デフォルトをx86つまり32bitにしておくことになったはず
この辺はAnyCPU vs2010とかググるとでてくるよ
まあこちらで経験した中ではブラウザコアを使った件はもろこれにあたったな
AnyCPUでブラウザコアを使うアプリ組むと64bitOS上だと64bitのIEが呼び出され
Flashまわりも64bitの物を要求するらしいんだけどないのでエラーになるとか
まあそれ以外にもいろいろあるようだけど
radikoのアプリ書いたときもろこれになった
そういう問題があるので2010ではデフォルトをx86にしてWOW64を当てにして
動かすようにしたとか
- 910デフォルトの名無しさんsage2010/05/12(水) 12:28:57
- >>909
あれから開発は進んだ?
- 911デフォルトの名無しさん2010/05/12(水) 12:30:02
- >>910
誰と勘違いしてるのか知らないけどradiko関連は最初に作った以上はやらないよw
- 912デフォルトの名無しさんsage2010/05/12(水) 13:43:14
- 普段から64bitOSで作業してるからこれにすぐ引っかかる
コーディングしてデバッグ開始して外部DLLの初期の時にもう落ちるからねえ
- 913デフォルトの名無しさんsage2010/05/12(水) 18:38:59
- >>845
亀だが、係争に発展した挙句SUNが負けたような
- 914デフォルトの名無しさん2010/05/12(水) 18:40:53
- >>912
.netとかいっても内部はネイティブDLLなんかの単なるラッパーだったりするからねえ
- 915デフォルトの名無しさん2010/05/12(水) 19:52:30
- よろしくお願いします。
VSC#2008です。
int.Parseに続くカッコ内に2バイト文字の数字を入れると、挙動がおかしいのですが
デバッグ付実行でエラーでず、素通りしてしまいます。
2バイト文字の数字をint型にするには、どういった方法がよいでしょうか。
- 916デフォルトの名無しさんsage2010/05/12(水) 20:08:30
- 2バイト文字をint型に入れようって考えるのがそもそもおかしいと思うが…
Parseする前にワンクッション、全角数字を半角数字に置換するようにすればいい。
- 917デフォルトの名無しさんsage2010/05/12(水) 20:11:08
- いったん半角にすればいいじゃん。
- 918デフォルトの名無しさんsage2010/05/12(水) 20:11:38
- むしろReplaceで充分。
- 919デフォルトの名無しさんsage2010/05/12(水) 20:19:12
- その前に
>デバッグ付実行でエラーでず、素通りしてしまいます。
の部分が変だな。どんなコードかいてるの?
- 9209152010/05/13(木) 12:34:06
- Microsoft.VisualBasic.Strings.strConvでNarrowにするのって、
半濁音のピは、ヒと゜に分解されるんですね・・・2文字になるのか・・・orz..
- 921デフォルトの名無しさんsage2010/05/13(木) 12:40:22
- 濁点付き文字を別に用意したら文字数が増えすぎて文字コードの隙間に入りきらないだろ
視認性も確保できない
*作られた当時の話
- 922デフォルトの名無しさんsage2010/05/13(木) 12:40:42
- 復活のじゅもんだって半濁音は2文字だろうが!
- 9239152010/05/13(木) 12:48:42
- そうでしたね、ありがとうございます・・・。
ファイル名から数字をChar.IsDigitを駆使して抜き出してから
strConvしたらうまくいきました・・。
便乗質問ですが、
int.Parseで変換しようとしている文字列が表現する数字の桁数が相当多くて、
intに入りきらない場合ってあるじゃないですか。
でね、そんなケースを実験してみたら、
return int.Parse(Microsoft.VisualBasic.Strings.StrConv(str.Substring(startindex, finalindex - startindex + 1), Microsoft.VisualBasic.VbStrConv.Narrow, 0));
デバッグ付実行なのに、何らエラー(バグったり凍ったりダイアログが勝手に出たり)でずに
素通りして、何食わぬ顔でシステムアイドル状態に戻るんですよね。
うーん。うまくいってんのかいってないのかわかんねーと悩んでいます。
- 9249152010/05/13(木) 12:51:02
- なるほど、
これを
OverflowException
s が MinValue 未満の数値か、MaxValue より大きい数値を表しています。
というんですね・・・。
try catch finallyで囲って強制的に例外を吸い上げる(何もしないとスルーしやがるので)しか
ないのでしょうかね・・・ORZ
http://msdn.microsoft.com/ja-jp/library/b3h1hf19%28VS.80%29.aspx
- 925デフォルトの名無しさんsage2010/05/13(木) 12:53:09
- COM系のイベント内でやってないか?
- 9269152010/05/13(木) 12:53:53
- >>919さん
わかった!INT.PARSEって明示的に例外処理を用意してやんないと
スルーするんですね?ってことであってますでしょうか。
で、厄介なのはスルー後、何事もなかったかのようにシステムアイドルに
戻るっていうこと。
何食わぬ顔で実行中のFOREACHから抜けだすし、それが記述されてるメソッドからも
抜け出す・・・。
- 9279152010/05/13(木) 12:54:42
- >>925
private void MainForm_DragDrop(object sender, DragEventArgs e)
内でやっています。
(MAINFORMはFORM1のことです)
- 928デフォルトの名無しさんsage2010/05/13(木) 13:02:35
- DragDropイベントもCOM系だな
.NETの例外はHRESULTに変換されてCOMの呼び出し元に返値として渡されるので
例外は外部に通知されない
- 929デフォルトの名無しさん2010/05/13(木) 13:35:36
- >>928さん
まじでつか・・・ORZ
どうすりゃいいの変になりそう(byビース、ZEROより)
- 930デフォルトの名無しさんsage2010/05/13(木) 13:51:48
- いきなりParseせずチェック入れた後に変換すればいいのでは?
多倍長ライブラリでInt範囲にあるかチェック→変換
もしくは
文字数カウント→Decimal変換→Int範囲にあるかチェック→変換
- 931デフォルトの名無しさんsage2010/05/13(木) 14:02:07
- イベント内で例外処理すれば良いだけじゃん?
- 932デフォルトの名無しさんsage2010/05/13(木) 14:03:35
- >>915MSDNくらい読め、くそが。
TryParse
- 933デフォルトの名無しさんsage2010/05/13(木) 14:06:39
- TryParse()使えば
- 9349152010/05/13(木) 14:20:13
- >>932、933さん
ですね・・・クビ吊ってきます・・・ORZ
- 935デフォルトの名無しさんsage2010/05/13(木) 14:32:32
- お前は既に釣っている
- 936デフォルトの名無しさんsage2010/05/13(木) 15:29:06
- だれうま
- 937デフォルトの名無しさんsage2010/05/13(木) 15:31:15
- ついでに、intで範囲外ならlongを使えばいいじゃない
幾ら何でもlongを超えるような桁数扱う訳じゃないだろ
あ、先に言っとくがlong.TryParse()だからな?
intからキャストするとかマヌケなことはナシだぜ
- 9389152010/05/13(木) 16:06:38
- ファイル名に日付が入っている場合は、
例えば20100513で8桁。
更に時刻も入っていれば、
201005131606で12桁。
ファイル名から数字を抽出する作業でインチージャを使うのは
その時点ですでに無謀ですね・・・おrz
- 939デフォルトの名無しさん2010/05/13(木) 16:09:11
- >>938
結局何がしたいの?
無理して数値型を最初の器にするからはまるんじゃないの?
- 940デフォルトの名無しさんsage2010/05/13(木) 16:09:19
- 計算に使うんじゃないのかよw
- 941デフォルトの名無しさんsage2010/05/13(木) 16:19:58
- もういいから正規表現使えよwwwwww
- 9429152010/05/13(木) 16:26:38
- そんなにいっぺんにいろいろ言わないで下さい・・・滝汗
加工したいファイルをアプリにDDする。
DDされたファイルのファイル名を解析する。
ファイル名は、どのような形式か予測できない。
ファイル名は、おそらく少なくとも1文字の0でない数字が入っているものと想像する。
ファイル名の文字列のうち、頭から探っていって最初に0でない数字と出くわしたら、
そこから、数字の連続が途切れるまでシークし、
少なくとも1文字以上の数字列を抜き出す。
ということをしているんです。
抜き出した数字列をとりあえずイントにしていた、というだったんです。
シクシク・・・
- 943デフォルトの名無しさんsage2010/05/13(木) 16:46:58
- だったらなおさら正規表現使え
見た目難解とかの言い訳は聞かん
- 944デフォルトの名無しさんsage2010/05/13(木) 16:47:39
- (ノД`)シクシク
- 945デフォルトの名無しさんsage2010/05/13(木) 16:49:39
- おれもそれやるなら正規表現でやるわ。
- 946デフォルトの名無しさん2010/05/13(木) 16:49:57
- >>943
難解かね?
最悪わからなければ正規表現スレで書いてもらえばいいだけだし
,netの正規表現はperl5互換だったのでその旨だけ書いておけば
人がいれば書いてくれるよ
- 9479152010/05/13(木) 16:53:47
- kwsk(ノД`)シクシク
- 948デフォルトの名無しさんsage2010/05/13(木) 16:56:10
- >>946
だな
とにかく>>942みたいなことをやりたいなら正規表現一択
そっから数値型に落としたいならVBのStrConv()をC#で使えばいい
- 9499152010/05/13(木) 16:57:59
- http://www.2shared.com/document/4s_FwtR1/915.html
(ノД`)シクシク
- 950デフォルトの名無しさん2010/05/13(木) 16:58:18
- ところでたとえば>>938をどういう風に加工するの?
>例えば20100513で8桁。
>更に時刻も入っていれば、
>201005131606で12桁。
これをどうintの範囲に収めるか
ルールがないとねえ・・・
- 951デフォルトの名無しさん2010/05/13(木) 17:00:30
- intの最大がこれか
2147483647
- 952デフォルトの名無しさんsage2010/05/13(木) 17:07:23
- >>950
いや日時って事前に解ってればDateTime型にするだろJK
例え日時と連番が混在してたとしても、正規表現で一工夫すればある程度分離可能
- 953デフォルトの名無しさん2010/05/13(木) 17:09:32
- >>952
いやいや
事前にわかってない物をルール決めて
intの範囲に落とし込むんでしょ?
そのルールというか仕様を決めないとどうしようもないって話・・・
- 9549152010/05/13(木) 17:17:34
- とにかく949でアップしたおソースをゲットして、
諸先輩方からの辛口批判を希望します。
- 955デフォルトの名無しさんsage2010/05/13(木) 17:21:28
- この意図不明なソース見てどうしろと?
意味じゃなくて意図が不明
まず仕様をはっきりさせるのが先だ
- 956デフォルトの名無しさん2010/05/13(木) 17:21:55
- >>954
本人だったのか
使い方わからんし、いろいろポップアップするしでスルーしてたわw
できれば>>4か>>7のコード貼るサイト使ってくれ
- 957デフォルトの名無しさんsage2010/05/13(木) 17:22:52
- 949は怖くてダウンロード出来ません
- 958デフォルトの名無しさんsage2010/05/13(木) 19:25:45
- >>942-943
new Regex("(\D*?(\d*?)\D*?)", RegexOptions.IgnoreCase)
要するにこうか?
未検証だからこのまま動くかどうかは知らん
- 959958sage2010/05/13(木) 19:27:11
- おっと最後の繰り返しが抜けてた
new Regex("(\D*?(\d*?)\D*?)*", RegexOptions.IgnoreCase)
こうだな
- 960デフォルトの名無しさんsage2010/05/13(木) 21:33:49
- なんのこっちゃさっぱり分からん。
915が説明すらまともに出来ないクズなのか、俺の頭が悪いのか
- 961デフォルトの名無しさんsage2010/05/13(木) 23:05:51
- さっぱり分かるけど、21億、または42億を超えるような数字が取れてしまった場合どうするのかと、
数字が含まれていない可能性もあると書いているのに、1文字以上の数字列を返すところ
後者は"0"返せばいいのかな。
- 962デフォルトの名無しさんsage2010/05/13(木) 23:07:27
- そもそも数値が欲しいのか数字列が欲しいのかすら分からんわけで
- 963デフォルトの名無しさんsage2010/05/14(金) 01:45:28
- おまんこが欲しいです…
- 964デフォルトの名無しさんsage2010/05/14(金) 03:13:16
- だったらこんな板にいないで歌舞伎町にでも飛び出せ
早くしろ
- 965デフォルトの名無しさんsage2010/05/14(金) 08:40:37
- 要するに文字列から「連続した数字文字列」を抽出したいといことなんだろう。
何に使用するかは知らないけど。
- 9669152010/05/14(金) 09:27:23
- >>965
そのとおりでつ!
ただし、数字文字列の先頭は0であってはならない。
抽出した数字文字列は1バイト文字に変換しなければならない。
でっつ!
- 967デフォルトの名無しさん2010/05/14(金) 09:54:03
- あ、いや、むりして数字にしなくても、数字文字から成る文字列stringのままでもいいかも・・・。
でも、その代わり全角か半角か混在している場合はどちらかに統一するような処理をしたいけれどもでつ。
- 968デフォルトの名無しさんsage2010/05/14(金) 10:09:35
- ジョニー・デッツ
- 969デフォルトの名無しさんsage2010/05/14(金) 12:26:36
- でっつ奉公
- 970デフォルトの名無しさんsage2010/05/14(金) 13:28:59
- >>966
>>959
- 971デフォルトの名無しさんsage2010/05/14(金) 14:35:15
- >>966
間違っています。
以上。
はい次の方。
- 9729672010/05/14(金) 15:16:49
- 915です、とりあえず戻り値をintじゃなくstringのままにしたら、全く問題ありませんでした。
諸先輩方、ありがとうございました。
- 973デフォルトの名無しさんsage2010/05/14(金) 15:31:59
- ゆとりらしい解決だったな
- 974デフォルトの名無しさんsage2010/05/14(金) 17:45:06
- 結局設計意図がわからなかった
- 975デフォルトの名無しさんsage2010/05/14(金) 19:43:33
- ぽかーん
- 976デフォルトの名無しさんsage2010/05/15(土) 13:54:24
- f
- 977デフォルトの名無しさんsage2010/05/15(土) 20:23:26
- 機械制御プログラムとかで、コマンド送信時にタイムアウト値を指定する必要があります。
それぞれのコマンドに推奨の最低タイムアウト値が存在するのですが、
こういうのは enum で定義した方がいいんでしょうか?
それとも const int の方が良いのでしょうか?
それぞれのコマンド送信メソッドではタイムアウト値は int で受けつける仕様にする予定です。
(最低タイムアウト値 +- αの値を指定する必要があるため)
- 978デフォルトの名無しさんsage2010/05/15(土) 20:25:11
- readonly int
- 979デフォルトの名無しさんsage2010/05/15(土) 20:27:42
- static readonly intに訂正
constはできるだけ使わない(値そのものに意味があるenumも同じ)
- 980977sage2010/05/15(土) 21:25:43
- 値そのものに意味がある enum は NG ですか。
enum → 意味のある数字への変換メソッド等用意するのが正道ということでしょうか?
機械制御のコマンドも数値で表現されているのですが、想定していない数字を受けつけないよう
enum で型を作ってメソッドにわたすようにしていたのですが、
これは適当なクラスを作って定数を持たせるようにする方がいいのかな?
例)
class ControlCode {
public int Value { get; private set }
private ControlCode(int value) { Value = value; }
public readonly ControlCode Reset = new ControlCode(101);
.....
}
... public void SendControlCode(ControlCode code, int timeout);
- 981デフォルトの名無しさんsage2010/05/15(土) 22:08:30
- 別にそのコマンドの数値自体には意味はないんだし
絶対にその値を変えることが無いと言い切れるならenumでもいいと思うけどな
値をラップする型を作る方法をとるのであればクラスじゃなくて構造体使うのが普通
==と!=とGetHashCodeは必ず実装すること
WPFなんかでは列挙体みたいな構造体は確かに多用されてる
- 982デフォルトの名無しさんsage2010/05/16(日) 09:07:14
- なるほど。
MSDN を再度見返してみましたが、後から変更がかかりそうな定数なんかは enum にするのは
よろしくないんであって、意味のある数字を持たせてはいけないってわけではなさそうですね。
今後の拡張や定数自体にプロパティを持たせる必要があるか等考えて再検討してみます。
ありがとうございました。
- 983デフォルトの名無しさんsage2010/05/16(日) 09:51:40
- enumにご執心のようだが、同じ数値セットできないことは認識してるのかな。
異なるコマンドでタイムアウト値が同じ状況は十分ありえそうだが。
- 984デフォルトの名無しさんsage2010/05/16(日) 11:53:12
- >>983
できるよ。
- 985デフォルトの名無しさんsage2010/05/16(日) 14:09:28
- んな馬鹿なと思ってためしてみたら本当に出来たでござる
- 986デフォルトの名無しさん2010/05/16(日) 14:13:00
- enumって手抜き用みたいなもんでしょ
- 987デフォルトの名無しさんsage2010/05/16(日) 14:17:44
- >>984
んな馬鹿なとおもったけど>>985のレスでできるのだなぁと思い、そういやC#のenumはかなり変更されたんだったなと思い出した
- 988デフォルトの名無しさんsage2010/05/16(日) 14:25:01
- >>985
感謝しろ
- 989デフォルトの名無しさんsage2010/05/16(日) 14:36:10
- これが出来るって事?
public enum eSwich {
VALUE1 = 1,
VALUE2 = 1
}
- 990デフォルトの名無しさんsage2010/05/16(日) 14:37:13
- 昔からできたでしょ
- 991デフォルトの名無しさんsage2010/05/16(日) 15:02:47
- これとかよくあるパターンだろ
enum Hoge { A, B, Default = A }
ついでに、別環境(Compactなど)で値が異なるとか
enum Hoge { A, B, Default = B }
>>982
・要素を追加/削除しない
・要素の値を変更しない
・利用者が値を意識する必要が無い
を守れないならenumは不適切
- 992デフォルトの名無しさんsage2010/05/16(日) 17:32:26
- >>991
ふーん
- 993デフォルトの名無しさんsage2010/05/16(日) 20:21:10
- 列挙体といえば.NET4で今更Enum.HasFlagが追加されたわけだけどこんなの使う?
ものすごい遅そうなんだけど
- 994デフォルトの名無しさんsage2010/05/16(日) 20:45:44
- これから新しく書くものには使う。
- 995デフォルトの名無しさんsage2010/05/16(日) 20:51:43
- [Flags]が付いた列挙体に対してはコンパイラが
その型専用に最適化されたバージョンのHasFlagを生成するとかできなかったのかな
ボックス化+リフレクションだからビット演算に比べると途方もなく巨大なコストだよな
- 996デフォルトの名無しさんsage2010/05/16(日) 20:58:11
- using とか lock みたいな構文糖衣でもよかったよね。
- 997デフォルトの名無しさんsage2010/05/16(日) 21:10:16
- unko
- 998デフォルトの名無しさんsage2010/05/16(日) 21:18:05
- static bool HasFlag<T>(T value, T flag) {
return ((dynamic)value & flag) == flag;
}
こうしてみたらEnum.HasFlagの1/10くらいの処理時間になった
それでもビットマスクの数百倍だけどdynamic結構速いね
- 999デフォルトの名無しさんsage2010/05/16(日) 21:18:23
- o
- 1000デフォルトの名無しさんsage2010/05/16(日) 21:19:43
- C#最強
- 10011001Over 1000 Thread
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
- 215KB (220855Byte)
- dummy_for_searchRef