ふらっとC#,C♯,C#(初心者用) Part75
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/06/04(土) 20:29:47.16「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part74
http://hibari.2ch.net/test/read.cgi/tech/1304161005/
■関連スレ
C#, C♯, C#相談室 Part66
http://hibari.2ch.net/test/read.cgi/tech/1303889653/
ミスターサタンのC#相談室
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part36)
http://hibari.2ch.net/test/read.cgi/tech/1301828549/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0002デフォルトの名無しさん
2011/06/04(土) 20:29:57.99コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0003デフォルトの名無しさん
2011/06/04(土) 20:34:39.92MIDIそのものは楽譜データだけで音色は実装側次第だからなあ・・・
なんでいまさらそんな物を使うのか
前スレ>>999
System.Diagnostics.Debug.WriteLineとかではダメ?
0004デフォルトの名無しさん
2011/06/04(土) 20:40:49.47ギリギリでスレ立て乙!
0005デフォルトの名無しさん
2011/06/04(土) 20:43:25.640006デフォルトの名無しさん
2011/06/04(土) 20:45:53.37http://ideone.com/iZDn4
起動後、1.wmvの再生は出来るのですが、
問題は再生終了後に2.wmvが読み込まれているみたいですが再生されません
手動で再生ボタンを押さないと2.wmvが再生できません
どう改善すると2.wmvも自動で再生できますでしょうか?
0007デフォルトの名無しさん
2011/06/04(土) 20:52:39.66そのときは構成マネージャーのリストビューの「ビルド」というチェックボックスの
チェックがなんかしらんけど外れていた。けっこうトラップだと思う
0008デフォルトの名無しさん
2011/06/04(土) 20:55:29.24BeginInvokeでPlayするとか
0009デフォルトの名無しさん
2011/06/04(土) 21:03:02.88this.axWindowsMediaPlayer1.Ctlcontrols.play();
break;
と、readyになってからPlayしてみたらどう?(テストしていません)
0010デフォルトの名無しさん
2011/06/04(土) 21:13:30.88System.Diagnostics.Debug.WriteLine
だめでした
>>7
ありがとうございます構成マネージャをいじっていたら解決しました
C#AnyCPU DLLx64
コンパイルできない
C#AnyCPU DLLx86
コンパイル出来るがデバッグが使えない
C#x64 DLLx64
コンパイルデバッグ共にできる
C#x86 DLLx86
コンパイルデバッグ共にできる
AnyCPUは使わない事にしますありがとうございました
0011デフォルトの名無しさん
2011/06/04(土) 21:53:20.75BeginInvokeを検索して調べてみたのですが敷居が高くて手に届きません
http://ideone.com/KsWxy
0012デフォルトの名無しさん
2011/06/04(土) 22:33:24.790013デフォルトの名無しさん
2011/06/04(土) 22:35:10.75そのwmpコントロールはどのスレッドで動いてるんよ
0014デフォルトの名無しさん
2011/06/04(土) 22:39:43.16BeginInvokeは別スレッドからの呼び出しのほかに
次以降のメッセージループで処理させるために使う場合がある
0015デフォルトの名無しさん
2011/06/04(土) 22:45:25.02そもそも、その独自メソッドをどこからコールしてるんだろ?と素朴な疑問が。。。
Timerとかから呼ぶ様にしてみては
0016デフォルトの名無しさん
2011/06/04(土) 23:13:08.92昔のソース見たらURIに一端空文字を入れてから操作しているな
こっちではソースは音楽ファイルだし、イベント発生させて他のクラスから
次のファイルをセットしているからどうなるか判らんが
0017デフォルトの名無しさん
2011/06/04(土) 23:13:56.35http://ideone.com/n258k
詳しく知りたければDelphiだけどここ参照で。
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200903/09030027.txt
0018デフォルトの名無しさん
2011/06/04(土) 23:19:47.12this.axWindowsMediaPlayer1.URL = @"C:\douga\2.wmv";
this.axWindowsMediaPlayer1.Ctlcontrols.play();
の次にMessageBox("test");を足して動かすと、何故こうなるのか分からないのですが2.wmvが自動的に再生できました
メッセージボックスを閉じると動画が停止されてしまうので何でこうなってしまうのか分かりません
>>12-17
今から参考にして調べてみます
0019デフォルトの名無しさん
2011/06/04(土) 23:40:10.17System.Threading.TimerとSystem.Timers.Timerのどちらがもっとも精度に長けてますか?
0020デフォルトの名無しさん
2011/06/04(土) 23:42:39.52使ってる物は同じ
0021デフォルトの名無しさん
2011/06/05(日) 00:03:32.21下記のようなフォームをイメージしているのですが、似た機能を見つけられません。
小さなことでも構わないので、何かしらご教授頂けますでしょうか・・・。よろしくお願いします。
http://brunhild.sakura.ne.jp/up/src/up501574.jpg
0022デフォルトの名無しさん
2011/06/05(日) 00:05:46.84後は全部自前で描け
0023デフォルトの名無しさん
2011/06/05(日) 00:15:27.19>>14が既に答えてるけど、これでいけた。
case (int)WMPLib.WMPPlayState.wmppsMediaEnded:
this.BeginInvoke((MethodInvoker) (() => {
axWindowsMediaPlayer1.URL = @"C:\douga\2.wmv";
axWindowsMediaPlayer1.Ctlcontrols.play();
}));
break;
0024デフォルトの名無しさん
2011/06/05(日) 00:19:24.11タイムラインコントロール使えばいいじゃん
0025デフォルトの名無しさん
2011/06/05(日) 00:34:32.66解決したのかいな。頑張って書いたから乗せておく。
ttp://ideone.com/mPK2i
この方法はメディアプレイヤつかったことないとわからん。
要するにプレイリスト作ってプレイヤーに登録してるだけ。
0026デフォルトの名無しさん
2011/06/05(日) 00:46:07.25「PInvoke で渡す構造体はC#側で用意してあげればいい」
というのは構造体をC#で作ってDllImportでC#で再定義して使うということでいいんでしょうか
DirectXInputのDLLはどこにあるんですか?SDKのDeveloperRunTimeの中から選ぶとマニフェストを含んでいないと言われます
0027デフォルトの名無しさん
2011/06/05(日) 00:56:21.42もう同じ質問するなよ
お前に言えることは全くない
0028デフォルトの名無しさん
2011/06/05(日) 01:00:41.190029デフォルトの名無しさん
2011/06/05(日) 01:04:07.16c#でDirectX使った事ないけど、こう言う本は見かけた事あるお
http://www.amazon.co.jp/gp/aw/d/487593419X/ref=mp_s_a_1?qid=1307203269&sr=8-1
0030デフォルトの名無しさん
2011/06/05(日) 01:08:16.090031デフォルトの名無しさん
2011/06/05(日) 01:10:06.27Microsoft.DirectX.DirectInput
とかってMDXの関連だっけ?
http://www.clks.jp/csg/dx003.html
http://techno-st.net/2008/04/24/visual-c.html
0032デフォルトの名無しさん
2011/06/05(日) 01:14:37.75ただしこれ単体で呼び出していいものなのかは不明だ
0033デフォルトの名無しさん
2011/06/05(日) 01:30:49.15コントローラー持ってないから関数が正常終了することしか確認できないけど…
たかが15行程度だし、この辺見ながら自分で書けよ
ref以外に特に引っかかりそうな部分無いしな
http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
http://msdn.microsoft.com/ja-jp/library/bb174829%28v=VS.85%29.aspx
http://msdn.microsoft.com/ja-jp/library/bb174834%28v=VS.85%29.aspx
http://msdn.microsoft.com/ja-jp/library/bb174832%28v=VS.85%29.aspx
0034デフォルトの名無しさん
2011/06/05(日) 01:31:10.01xinput1_1.dllもマニフェストなんたらのエラーが出ます。
開発で使えるようなDLLは用意されていないということですか?
defがないとすると使われることを想定してないということですよね
やはりLibと.hで使うにはC++CLIを使うしかないんでしょうか?
C++CLIを通すならC++でDLLにしてC#から使う方が手間がかからないと思うんですが
ラッパーとして使うC++CLIの存在意義を考えるとネイティブからの変換目的の為だけに使うことはないと思うんですが
みなさんはどうやってアンマネージDirectXをC#で使ってるんですか?
0035デフォルトの名無しさん
2011/06/05(日) 01:32:03.67ありがとうございます!がんばります
0036デフォルトの名無しさん
2011/06/05(日) 01:36:09.60http://code.google.com/p/x360ce/source/browse/trunk/x360ce.App/Microsoft/Xna/Framework/Input/UnsafeNativeMethods.cs?r=403
0037デフォルトの名無しさん
2011/06/05(日) 01:53:38.82わかることはBeginInvokeがデリゲートの処理開始時、EndInvokeが処理終了時ということくらいしかわかりません・・・
よくわかるように教えてもらえないでしょうかないでしょうか?・・・
0038デフォルトの名無しさん
2011/06/05(日) 01:54:48.03ありがとうございました!
0039デフォルトの名無しさん
2011/06/05(日) 01:58:56.79>わかることはBeginInvokeがデリゲートの処理開始時、EndInvokeが処理終了時ということくらいしかわかりません・・・
理解してるじゃん
それ以外に何もないよ
0041デフォルトの名無しさん
2011/06/05(日) 02:07:56.480042デフォルトの名無しさん
2011/06/05(日) 02:08:28.55すいません出来たんですが、XNAを使わない理由はDirectShowとDirectComputoも使いたかったので統一したかったんです
なので総合的に考えてC++CLIにすることにしました。
C#から直接使うのは使い物にならないということが分かって勉強になりましたありがとうございました
0043デフォルトの名無しさん
2011/06/05(日) 02:12:02.13本当に頭が可笑しいんだな
0044デフォルトの名無しさん
2011/06/05(日) 02:14:41.11DirectshowをC#で使う方法を質問していたと思います
XInputからやってまずかったでしょうか?
0045デフォルトの名無しさん
2011/06/05(日) 02:15:52.560046デフォルトの名無しさん
2011/06/05(日) 03:00:10.01私の彼女は今プログラミング中ですがとてもいいですよ。
0047デフォルトの名無しさん
2011/06/05(日) 04:48:31.16として開いて、
var sr = new StreamReader(stream, System.Text.Encoding.ASCII);
で数行読んだ後、
var br = new BinaryReader(stream);
そこからバイナリで読みたいんですが、続きがあるのに
br.ReadByte();にてEndOfStreamExceptionが投げられます。
途中からReaderを切り替えることはできないんですか?
0048デフォルトの名無しさん
2011/06/05(日) 05:09:50.96続きがあるってことはEndOfStreamExceptionをcatchした時
Stream.Position < Stream.Lengthになってるのを確認してるんだよな
0049デフォルトの名無しさん
2011/06/05(日) 05:12:01.080050デフォルトの名無しさん
2011/06/05(日) 05:53:01.78ありがとうございます。
確認してみたところ、その可能性がとても高そうです。
StreamReaderにその分だけストリームを進めるように指定するには
どうすればいいですか?
0051デフォルトの名無しさん
2011/06/05(日) 07:16:38.000052デフォルトの名無しさん
2011/06/05(日) 08:08:36.540053デフォルトの名無しさん
2011/06/05(日) 12:47:27.61プロジェクトを作るとForm1.csっていうファイルとprogram.csってファイルが出来ました
起動したときに必ず処理したいことって言うのはprogram.csのMain()の中に書くのと、
Form1.csのForm1()かたはForm1_Load()の中に書くのどちらで書くべきでしょうか?
0054デフォルトの名無しさん
2011/06/05(日) 12:59:42.270055デフォルトの名無しさん
2011/06/05(日) 13:00:55.60form1を作る前に必ず処理したいなら、Main
0056デフォルトの名無しさん
2011/06/05(日) 13:06:11.91たとえば複数の画面をもってて、広く影響を与えるなら Main という考え方もある。
0057デフォルトの名無しさん
2011/06/05(日) 13:07:00.05あまりカリカリしてもするだけ損だ
0058デフォルトの名無しさん
2011/06/05(日) 13:27:14.96ShowDialogで同じインスタンスを再利用しないとしても本来ちょっと奇妙だよな。
もちろん一部の処理はコンストラクタには書けないから仕方が無い面はあるんだけど。
0059デフォルトの名無しさん
2011/06/05(日) 13:48:16.61巣に帰れzk
0060デフォルトの名無しさん
2011/06/05(日) 15:03:26.51{
StartAccept();
}
private static void StartAccept(Socket server)
{
server.BeginAccept(
new System.AsyncCallback(AcceptCallback), server);
}
上記のコードを実行すると
>引数を 0 個指定できる、メソッド 'StartAccept' のオーバーロードはありません
というエラーが出ます。どなたか解決策を教えてくれないでしょうか?
0061デフォルトの名無しさん
2011/06/05(日) 15:08:12.560062デフォルトの名無しさん
2011/06/05(日) 15:13:56.20{
StartAccept();
}
private static void StartAccept()
{
Socket server = new Socket();
server.BeginAccept(
new System.AsyncCallback(AcceptCallback), server);
}
このように変えてみたけど今度は
> 'System.Net.Sockets.Socket' に、引数を 0 個指定できるコンストラクターがありません。
って出でしまう。
0063デフォルトの名無しさん
2011/06/05(日) 15:21:46.280064デフォルトの名無しさん
2011/06/05(日) 15:26:24.960065デフォルトの名無しさん
2011/06/05(日) 15:47:42.20これで拡張子txtのファイルのみ一覧取得できるのですが、
txt以外にdocも取得したいと思います
string[] files = System.IO.Directory.GetFiles("C:\\,test", "*.txt; *.doc", System.IO.SearchOption.TopDirectoryOnly)
で出来ると思ったのですが出来ませんでした
C#4.0で方法ございませんか?
0066デフォルトの名無しさん
2011/06/05(日) 16:04:12.36ディレクトリ内のファイルを列挙して文字列比較か正規表現でも使って抽出すればいい。
0067デフォルトの名無しさん
2011/06/05(日) 16:06:34.34智恵無さ杉
0068デフォルトの名無しさん
2011/06/05(日) 16:06:59.12.Where(file => { var ext = System.IO.Path.GetExtension(file); return ext == ".txt" || ext == ".doc"; })
.ToArray();
0069デフォルトの名無しさん
2011/06/05(日) 16:16:12.58この点は.Net Framework5.0で改善してもらいたいものだ
0070デフォルトの名無しさん
2011/06/05(日) 16:26:16.580071デフォルトの名無しさん
2011/06/05(日) 16:43:06.280072デフォルトの名無しさん
2011/06/05(日) 17:10:30.810073デフォルトの名無しさん
2011/06/05(日) 17:32:31.02ClientRectangle -> PointToClientを他のアプリケーションに対して実行することはできますか?
GetClientRectを使おうとしたけど挫折しました…
0074デフォルトの名無しさん
2011/06/05(日) 17:42:09.120075デフォルトの名無しさん
2011/06/05(日) 17:44:33.10GetClientRectじゃないとダメ、という話で大丈夫ですか?
勉強してきます…
0076デフォルトの名無しさん
2011/06/05(日) 18:02:20.89ウィンドウハンドルがわかってるならGetWindowRectでスクリーン座標が取れるが
[DllImport( "user32.dll" )]
static extern bool GetWindowRect( IntPtr hWnd, out RECT pRect );
struct RECT
{
public int left;
public int top;
public int right;
public int bottom;
}
0077デフォルトの名無しさん
2011/06/05(日) 18:07:01.410078デフォルトの名無しさん
2011/06/05(日) 18:18:18.21http://ideone.com/e4u8T
これは最前面のウインドウの位置とサイズを取得するだけ
任意のウインドウのハンドルが欲しければそれなりのAPIを使ってね
0079デフォルトの名無しさん
2011/06/05(日) 18:30:34.25>>76-78
申し訳ないんですけど、欲しいデータは
「任意のウィンドウの『クライアント領域の』スクリーン座標」なんです…
GetWindowRectで帰ってくるのはウィンドウのスクリーン座標なので、申し訳ないんですが上手くいかない感じです…
0080デフォルトの名無しさん
2011/06/05(日) 18:36:33.33呼び出し手順的には関数名ぐらいしか変わらないじゃん…
0081デフォルトの名無しさん
2011/06/05(日) 18:37:22.52これを
static extern bool GetClientRect( IntPtr hWnd, out RECT pRect );
するだけで動くだろ
しかしまあP/Invoke関連の質問がバカ丸出しであることだ
酷いね
0082デフォルトの名無しさん
2011/06/05(日) 18:38:46.90いや、GetClientRectで返ってくるデータってスクリーン座標じゃないですよね?
そこで詰まってるんです…
0083デフォルトの名無しさん
2011/06/05(日) 18:39:11.12何もできないって終わってると思う
0084デフォルトの名無しさん
2011/06/05(日) 18:40:12.87ぐぐれよかす
http://www.geocities.jp/ky_webid/win32c/008.html
0085デフォルトの名無しさん
2011/06/05(日) 18:42:11.37ありがとうございました
ClientToScreenっていう関数があるんですね…
0086デフォルトの名無しさん
2011/06/05(日) 18:43:06.770087デフォルトの名無しさん
2011/06/05(日) 18:53:16.90カスゆえにググれない
0088デフォルトの名無しさん
2011/06/05(日) 19:29:22.940089デフォルトの名無しさん
2011/06/05(日) 19:32:29.650090デフォルトの名無しさん
2011/06/05(日) 19:40:25.460091デフォルトの名無しさん
2011/06/05(日) 19:48:52.45「>>xx
ググれば出る」
で十分だろ
0092デフォルトの名無しさん
2011/06/05(日) 20:15:57.670093デフォルトの名無しさん
2011/06/05(日) 20:18:16.940094デフォルトの名無しさん
2011/06/05(日) 20:37:19.02数ある書籍の中からおすすめの本ってございませんか?
0095デフォルトの名無しさん
2011/06/05(日) 20:41:42.090096デフォルトの名無しさん
2011/06/05(日) 21:10:01.38>>25
ありがとうございます
いろいろやり方がありますね
0097デフォルトの名無しさん
2011/06/05(日) 23:04:20.85ツールボックスにShockwave Flash Objectを追加してフォームに配置してます
実行しても画面が白いままで右クリックすると「ムービーが未ロード」となってました
読み込まれれば実行できる?のかと思うのですがどうかお知恵を拝借させてください
http://ideone.com/fYnXP
0098デフォルトの名無しさん
2011/06/05(日) 23:15:28.17http://www.codeproject.com/KB/audio-video/flashexternalapi.aspx
ちょっと複雑なことやってるようだが
0099デフォルトの名無しさん
2011/06/05(日) 23:16:06.77さらにAxShockwaveFlash(flash)を生成してフォームのAxShockwaveFlashに追加する意味が分からない
0100デフォルトの名無しさん
2011/06/05(日) 23:18:29.65AxShockwaveFlashObjectsの参照設定ができねえ
どこにあるんだ?
0101デフォルトの名無しさん
2011/06/05(日) 23:20:11.85ActiveX版Flashを入れる。
参照にCOMコンポーネントからShockwaveFlashObjectsを追加する。
メニューのツール→ツールボックスアイテムの選択→COMコンポーネントからShockwaveFlashObjectを追加する。
デザイナで配置する。
0102デフォルトの名無しさん
2011/06/05(日) 23:24:00.16あり
IE使わないから無いわけだ
0103デフォルトの名無しさん
2011/06/05(日) 23:31:28.10>>98では再生用のswfを介しているようだし
0104デフォルトの名無しさん
2011/06/06(月) 00:03:06.62以下のようなレイアウトで、TabControl下にあるtabPage1、tabPage2のタブボタンに各イベントを設定することできませんか?
0105デフォルトの名無しさん
2011/06/06(月) 00:19:03.590106デフォルトの名無しさん
2011/06/06(月) 00:22:01.520107デフォルトの名無しさん
2011/06/06(月) 00:30:34.940108デフォルトの名無しさん
2011/06/06(月) 00:40:19.200109デフォルトの名無しさん
2011/06/06(月) 00:42:16.64ニュー速とかで使ってるロダ使うと夜は確実にテンポルからなあ
0110デフォルトの名無しさん
2011/06/06(月) 00:53:17.97webbrowser貼り付けてそこへhtml含めて流し込めば早いかもとか思ってしまった
html上で動画再生するためのサンプルはいろいろあるだろうし
0111デフォルトの名無しさん
2011/06/06(月) 05:51:49.820112104
2011/06/06(月) 15:03:02.22適当なロダにアップロードしました
以下のようなレイアウトで、TabControl下にあるtabPage1、tabPage2のタブボタンに各イベントを設定することできませんか?
tabPage1のタブボタンはtabControlに分類されているようでtabPage1の中身をクリックしたときだけtabPage1のMouseDownイベントが起きるみたいです
0113デフォルトの名無しさん
2011/06/06(月) 17:02:16.590114デフォルトの名無しさん
2011/06/06(月) 17:11:22.31いつもタブ毎にFocus、LostFocusで使ってたから気にならなかった
0115デフォルトの名無しさん
2011/06/06(月) 23:09:48.45swfから呼び出す形でflvを利用してみます
0116デフォルトの名無しさん
2011/06/06(月) 23:52:48.87スリープ時に別スレッドはアボートされるでOK?
0117デフォルトの名無しさん
2011/06/07(火) 00:03:23.510118デフォルトの名無しさん
2011/06/07(火) 00:10:25.320119デフォルトの名無しさん
2011/06/07(火) 00:17:28.53てーてーてー
ずんずんずんずんずんずんずんずんーててっ!
0120デフォルトの名無しさん
2011/06/07(火) 00:19:04.77仮想PCをでゲストOSを一時停止するのと同じこと。
0121デフォルトの名無しさん
2011/06/07(火) 00:20:36.720122デフォルトの名無しさん
2011/06/07(火) 00:25:38.10アボートとかサスペンドとかいうのは、プロセスの視点に立った用語なわけで。
ゲストOSの視点からはゲストOSは止まってないように(当たり前だな)、
プロセスの視点からは(以下略
0123デフォルトの名無しさん
2011/06/07(火) 00:46:14.18PowerModeChanged()で復帰時に
スレッドをnewしてたんだが。
0124デフォルトの名無しさん
2011/06/07(火) 01:09:14.72動画を再生するアプリを作成中です。
media playerで再生できる動画が、AxWMPLib.AxWindowsMediaPlayerを張り付けた
アプリでは再生できない(すべて再生できない訳ではない)。
コンテキストメニューでバージョンを確認した限りでは、同じバージョンです。
なにか分かる人居ませんか????
0125デフォルトの名無しさん
2011/06/07(火) 01:11:38.130126デフォルトの名無しさん
2011/06/07(火) 01:30:35.11再生できないものに共通する事柄を探すのが先決だなってのは分かるよ
逆に言うとそれ以外アドバイスできることは無いね
0127デフォルトの名無しさん
2011/06/07(火) 01:46:51.45確か拡張子をちゃんと関連づけしていないと再生できないって制限があったかと
コーデックだけで再生したければDirectShow.Net辺りを使ったらどうかな
http://directshownet.sourceforge.net/index.html
WpfでもMediaElementで同じ現象が起こる。この場合もWPF MediaKit を使うと良いよ
http://wpfmediakit.codeplex.com/
俺はこっち使って遊んでいる
0128デフォルトの名無しさん
2011/06/07(火) 02:06:32.60再生できる奴と再生できない奴の情報をmedia player classicのプロパティで
見てみると
再生できる
Video: MPEG4 Video (H264) 512x288 23.98fps [Video]
Audio: AAC 24000Hz stereo 768kbps [Audio]
再生できない
Audio: MPEG Audio Layer 3 22050Hz stereo 64kbps [Audio]
Video: Flash Video 4 512x384 [Video]
でもって、media playerのプロパティでコーデックを見てみると
両方とも
ffdshow Video Decoder
でした。
DirectShow フィルターとかコーデックとかよく分かってないから、なかなか
難しい。やっぱりこの辺でうまく行っていないんですよね。。。
エロビデオを暗号化したいだけなのに。orz
0129デフォルトの名無しさん
2011/06/07(火) 18:22:31.01delegate bool SampleDelegate01(int i)
SampleDelegate01 sd01 = i => i > 5;
と言う場合と
delegate int SampleDelegate02(int i)
SampleDelegate02 sd02 = i => { return i * i; };
では{}とreturnがあるかどうかの違いなのですが
ラムダ式では返り値がbool型である場合、returnを省略できるという認識でいいのでしょうか?
あと
SampleDelegate02 sd02 = i => return i * i;
こういう書き方をするとビルドが通らないのでreturnを書くときは{ }も付けないといけないということでしょうか?
0130デフォルトの名無しさん
2011/06/07(火) 18:32:37.52しかし、i > 5やi * iというのは式で、返り値を持つ。
0131デフォルトの名無しさん
2011/06/07(火) 18:44:44.26そのフォームに、リストビューを追加し、
そのアイテムの表示形式をカスタマイズしたいと考えています。
ただ、ListViewを継承しカスタマイズで可能なのか、自前で作るしかないのかわかりません。
アイテムの表示内容としては、イメージ、テキスト、プログレスバーを表示したいと思っています。
プログレスバーの表示ON/OFFは可能にしたいです。
上記のコントロールを作りたい場合、
既存.NETクラスのカスタマイズでは無理でしょうか?
0132デフォルトの名無しさん
2011/06/07(火) 19:01:52.720133デフォルトの名無しさん
2011/06/07(火) 19:07:09.09ありがとうございます。オーナードローですね。
調べてみます。
0134デフォルトの名無しさん
2011/06/07(火) 19:31:28.88voidでも () => WriteLine() みたいな書き方({} 抜き)できるよ。
bool 以外でも、i => i * i って書けるし。
0135デフォルトの名無しさん
2011/06/07(火) 19:44:30.67>>134
そういうことだったんですね。ありがとうございます。
0136デフォルトの名無しさん
2011/06/08(水) 02:28:41.12<条件式> ? <真> : <偽>で真の部分だけ実行させることってできないんですか?
<条件式> ? <真>みたいなことをしたいんです・・・
0137デフォルトの名無しさん
2011/06/08(水) 02:29:56.400138デフォルトの名無しさん
2011/06/08(水) 02:32:08.470139デフォルトの名無しさん
2011/06/08(水) 02:59:36.140140デフォルトの名無しさん
2011/06/08(水) 03:00:56.19DirectX関連でなんか問題あるらしく起動しないわ。
普通にエクスプローラとかからダブルクリックすると正常に起動するんだけど
どうしたらいいか聞こうと思ったけどやっぱいいです。特に問題あるわけじゃないし。
0141デフォルトの名無しさん
2011/06/08(水) 03:00:58.40条件演算子って、式なわけよ、値を返す式。
偽の側なかったら値返さないパスが出るじゃない。
真の部分を実行したいだけならそれは if 文の領分。
0142デフォルトの名無しさん
2011/06/08(水) 03:43:48.10List<int> _list
public void Addするよ(int item)
{
lock (_list)
{
_list.Add(item);
}
}
って、やっちゃだめ?
0143デフォルトの名無しさん
2011/06/08(水) 03:47:48.75lockするオブジェクトが外から見えていないのなら
0144デフォルトの名無しさん
2011/06/08(水) 08:00:42.91作業フォルダだろ。簡単に妥協すると進歩がないよボク
0145デフォルトの名無しさん
2011/06/08(水) 12:26:41.900146デフォルトの名無しさん
2011/06/08(水) 12:40:33.760147デフォルトの名無しさん
2011/06/08(水) 16:50:35.03forを二重にしてカウントするやり方ではなくて、それっぽいメソッドがあったら教えてくれ
0148デフォルトの名無しさん
2011/06/08(水) 17:08:33.930149デフォルトの名無しさん
2011/06/08(水) 17:12:59.88多次元配列だとfor回すしかないんじゃね
0150デフォルトの名無しさん
2011/06/08(水) 17:15:21.46配列での foreach の使用 (C# プログラミング ガイド)
http://msdn.microsoft.com/ja-jp/library/2h3zzhdw%28v=vs.80%29.aspx
冗談言ってる場合ではない
0151デフォルトの名無しさん
2011/06/08(水) 17:16:21.940152デフォルトの名無しさん
2011/06/08(水) 21:41:18.430153デフォルトの名無しさん
2011/06/08(水) 21:49:23.450154デフォルトの名無しさん
2011/06/08(水) 23:08:14.65private void OnPaint(object sender, System.Windows.Forms.PaintEventArgs e)
{
}
ってメソッドがあったんだけど、これってなに?
人間ならユーザの定義したメソッドではないのは分かるけどC#はどうやってそれをわかり、WM_PAINTのハンドラであると理解するの?
っていうかoverrider?overrideって書いてないけどオーバーライド?overrideキーワードって省略可能なの?
それとも基底クラスのOnPaintのオーバーライドではない別の何か?
すみませんよろしくお願いしますm(_ _)m
0155デフォルトの名無しさん
2011/06/08(水) 23:11:32.060156デフォルトの名無しさん
2011/06/08(水) 23:17:42.10というかどう見てもユーザの定義したメソッド
Control.OnPaintとは引数違うだろ
0157デフォルトの名無しさん
2011/06/08(水) 23:18:31.71そのサンプルのアドレスを晒すんだ
0158デフォルトの名無しさん
2011/06/08(水) 23:22:40.61すみません・・
>>156
明らかにオーバーライドじゃないんですね。ありがとうございます。
>>157
http://uchukamen.com/Programming1/Region/index.htm
ちょっと長いけど、このページの下の方にコードがあって、そこにあります。
ってすみません、ちゃんとユーザ定義のメソッドでした。自分でイベント追加してますね
皆さん済みません!
0159デフォルトの名無しさん
2011/06/09(木) 03:21:54.680160デフォルトの名無しさん
2011/06/09(木) 03:29:52.63WinFormsが現役なのはある意味当然。
0161デフォルトの名無しさん
2011/06/09(木) 10:51:30.23流石にないわ
COBOLは同意だ
基幹系は息長いよね
0162デフォルトの名無しさん
2011/06/09(木) 10:58:26.140163デフォルトの名無しさん
2011/06/09(木) 11:57:06.16それだったらコンポーネント使いまくってる会社おわってんな
まぁだめだったらVMWare+XPとかで動かすんだろうな
0165デフォルトの名無しさん
2011/06/09(木) 12:49:32.40技術刷新って同時に金のネタでもあると思うんだけどなあ
変な保守契約するからだよ
0166デフォルトの名無しさん
2011/06/09(木) 13:53:30.38>どこかのコンポーネントがWPFに移行してユーザーがキレ気味
ちょっとこれ覚えてる限りで詳しく
0167デフォルトの名無しさん
2011/06/09(木) 14:10:07.64http://www.infoq.com/jp/news/2011/03/WinForms-ERP
0168デフォルトの名無しさん
2011/06/09(木) 14:20:27.66サンクス
書いてあることはもっともだ
ウチもまだWinFormsメインだしなぁ
0169デフォルトの名無しさん
2011/06/09(木) 15:07:40.82今のところ通常の事務業務アプリで並列つかう必要性を感じない
めっちゃ実践で使ってみたいのに。。。。
制御系に振られた連中うらやましい くやすぃ・・・
0170デフォルトの名無しさん
2011/06/09(木) 15:15:08.84並列?
非同期でなくて。
非同期なら、UIスレッドを止めないという意味でむしろ必要だと思うけども。
0171デフォルトの名無しさん
2011/06/09(木) 15:17:04.04非同期は使ってるんですが、折角だから4.0からのparallel を試してみたかったんです。
何か使い道がないかなと模索してまして・・・
0172デフォルトの名無しさん
2011/06/09(木) 15:25:23.060173デフォルトの名無しさん
2011/06/09(木) 16:13:14.09プログラムから終了させるのではなく
Ctrl+Cで終了させたときに特定の処理が行いたいのですが
このような強制終了?のときにイベントを実行させる方法ってございませんか?
0174デフォルトの名無しさん
2011/06/09(木) 16:39:25.73Console.CancelKeyPress
0175デフォルトの名無しさん
2011/06/09(木) 16:43:21.35ありがとうございます
0176デフォルトの名無しさん
2011/06/09(木) 19:28:54.880177デフォルトの名無しさん
2011/06/09(木) 20:02:03.27自分のアプリの中なのか、デスクトップなのか、他のアプリの上なのか。
0178デフォルトの名無しさん
2011/06/09(木) 20:22:09.28ttp://www.pexforfun.com/
0179デフォルトの名無しさん
2011/06/09(木) 20:32:37.80スゴイスゴイ
0180デフォルトの名無しさん
2011/06/09(木) 20:38:13.530181デフォルトの名無しさん
2011/06/09(木) 21:36:40.520182デフォルトの名無しさん
2011/06/09(木) 23:02:11.04これより高精度で1秒待機する書き方をご教示お願いします
0183デフォルトの名無しさん
2011/06/09(木) 23:17:43.98なぜってそれは無意味だから。
何で高々1〜数個のCPUコアしかないのに1つ以上のスレッドを持つプロセスが
何十個も同時に走るのか考えましょう。
そうすればなぜ無意味かが分かります。
0184デフォルトの名無しさん
2011/06/09(木) 23:21:32.61extern static void Sleep(int dwMilliseconds);
Sleep(1000)を試したところこれはThread.Sleepよりも制度が悪かったです
0185デフォルトの名無しさん
2011/06/09(木) 23:26:39.57それでも、非リアルタイムなマルチタスクOSって時点で限界が。
0186デフォルトの名無しさん
2011/06/09(木) 23:27:39.340187デフォルトの名無しさん
2011/06/09(木) 23:41:17.25…いや、なんでもない
0188デフォルトの名無しさん
2011/06/10(金) 00:07:14.280189デフォルトの名無しさん
2011/06/10(金) 00:08:09.390190デフォルトの名無しさん
2011/06/10(金) 00:09:15.530191デフォルトの名無しさん
2011/06/10(金) 00:12:16.02ストップヲッチ自体の精度はppmオーダー以上ある。
問題はWindowsの世界にはストップヲッチのボタンを正確なタイミングで押せる
住人がいないことです。
0192デフォルトの名無しさん
2011/06/10(金) 00:18:06.510193デフォルトの名無しさん
2011/06/10(金) 00:19:51.91というよりマルチタスクOSだと無理じゃないの?
OS抜きでみれば可能だろうけど
0194デフォルトの名無しさん
2011/06/10(金) 00:23:14.540195デフォルトの名無しさん
2011/06/10(金) 00:24:01.510196デフォルトの名無しさん
2011/06/10(金) 00:50:37.370197デフォルトの名無しさん
2011/06/10(金) 01:12:09.86Gecko1.9.2は、XULRunnerのランタイムに含まれる、
mozctlx.dll を参照設定することで利用できました。
しかし、XULRunner2.0には、mozctlx.dll が見当たりません。
0198デフォルトの名無しさん
2011/06/10(金) 01:26:29.74現在時刻を保存しといて、1分経ったか比較しまくるとか?
0199デフォルトの名無しさん
2011/06/10(金) 01:54:18.32ボタンのイベントハンドラに1行書く
Process.Start("http://www.atmarkit.co.jp/fdotnet/");
0200デフォルトの名無しさん
2011/06/10(金) 04:24:46.91越えられないコンテキストスイッチの壁w
間隔 30ms くらいのはず。
0201デフォルトの名無しさん
2011/06/10(金) 05:34:09.28>>184
t = GetTime()
while (t < GetTime() - 1000) {
Sleep(1)
}
GetTime()と、Sleep(1)のループの精度の分だけ正確ではなくなるが、マルチメディアタイマーより安全。
GetTime()は15ミリ秒単位しか取れなかったかも知れないのでそれ以上正確には出来ないが、
最初から15ミリ秒のSleepだとその分だけばらつきが出る。
ちなみにC#は知らないのでC#で当てはまるかは分からない。
0202デフォルトの名無しさん
2011/06/10(金) 07:51:46.71それは良くない
時間測定はQueryPerformanceCounter関数を使うほうが精確
StopwatchはQueryPerformanceCounterで実装されてるので.NETではStopwatchでいい
0203デフォルトの名無しさん
2011/06/10(金) 10:36:14.25Sleepとは違うんじゃないのか?
0204デフォルトの名無しさん
2011/06/10(金) 10:54:27.21前後の文くらい読もうぜ
0205デフォルトの名無しさん
2011/06/10(金) 11:34:28.44時間になるまで待機させる
時間になったら実行
C#暦5ヶ月の俺でもここまで完璧な設計ができる
0206デフォルトの名無しさん
2011/06/10(金) 11:38:10.760207デフォルトの名無しさん
2011/06/10(金) 11:45:40.210208デフォルトの名無しさん
2011/06/10(金) 11:48:13.530209デフォルトの名無しさん
2011/06/10(金) 12:05:03.190210デフォルトの名無しさん
2011/06/10(金) 12:11:58.41一定の間隔で実行したい処理を実行するため
(厳密に同じ間隔ではなかったはず)
0211デフォルトの名無しさん
2011/06/10(金) 12:16:19.02厳密どころかメッセージキューが混雑してると何時までたってもTickが来ない
0212デフォルトの名無しさん
2011/06/10(金) 12:19:25.690213デフォルトの名無しさん
2011/06/10(金) 12:28:25.85}
ループ中にESCを押したらループを抜けるというのはどのように書けますか?
0214デフォルトの名無しさん
2011/06/10(金) 12:29:27.37余計な処理が入らない分、コンソールの方が厳密じゃないかな
0215デフォルトの名無しさん
2011/06/10(金) 12:35:13.14そのTimerのTicksは必ずGUIスレッドで呼び出される(Form.Invokeとかしなくていい)のがメリット
代償としてメッセージキューの制限を受けてしまう(>>211)ので、必要がなければSystem.Threading.Timerを使うべき
0216デフォルトの名無しさん
2011/06/10(金) 12:40:56.70Console.In.Peekを見張る
0217216
2011/06/10(金) 12:42:32.560218デフォルトの名無しさん
2011/06/10(金) 12:54:27.65http://msdn.microsoft.com/ja-jp/library/471w8d85.aspx
0219デフォルトの名無しさん
2011/06/10(金) 12:56:19.78Windowsのタイマ制度変更して
ManualResetEventインスタンスを作成
で、WaitOne
こんな風に待機しても結構制度よかったよ
0220デフォルトの名無しさん
2011/06/10(金) 12:56:30.92{
}
0221219
2011/06/10(金) 13:06:47.16[DllImport("winmm.dll", EntryPoint = "timeBeginPeriod")]
private static extern uint MM_BeginPeriod(uint uMilliseconds);
[DllImport("winmm.dll", EntryPoint = "timeEndPeriod")]
private static extern uint MM_EndPeriod(uint uMilliseconds);
uint res = MM_BeginPeriod(1);
uint res = MM_EndPeriod(15);
System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false);
mre.WaitOne(2);
実際にFAの制御でOSはXP
15mSec以下の精度が必要になって時間もないってことで
思いついたこの方法でやってみてそこそこの精度でたからいけるのかな?とはおもうけど・・・
ほかのプログラムが同居してたら影響あるからあんま通常の使い道ないんちゃうかと
あとほかの割り込みとかあるとすぐ影響受けるし ホントはリアルタイムOSが理想なんだろうなぁ
0222デフォルトの名無しさん
2011/06/10(金) 13:16:18.240223デフォルトの名無しさん
2011/06/10(金) 13:29:27.240224219
2011/06/10(金) 13:37:27.82機械につぶされてくるわ orz
完璧ていうのが何を示すか知らないけど
完璧なんてありえないと思う
0225デフォルトの名無しさん
2011/06/10(金) 13:42:50.53String変数にキャストしたいのですが、可能ですか?
0226デフォルトの名無しさん
2011/06/10(金) 14:02:08.25こんな感じでいかがざんしょ?
0227デフォルトの名無しさん
2011/06/10(金) 14:07:14.98System.Text.Encoding.UTF8.GetString(バイト配列)
UTF8のバイト配列をUTF16のStringに変換してしまいませんか?
0228デフォルトの名無しさん
2011/06/10(金) 14:17:59.310229デフォルトの名無しさん
2011/06/10(金) 14:18:33.01UTF-8だとe6-97-a5-e6-9c-ac-e8-aa-9e
UTF-16だと65-e5-67-2c-8a-9e
になりますが、
"e6-97-a5-e6-9c-ac-e8-aa-9e"のバイト配列を作成してSystem.Text.Encoding.UTF8.GetString(バイト配列)すると
UTF-16のStringになってしまいます。
0230デフォルトの名無しさん
2011/06/10(金) 14:41:09.02例えば、CubaseとかSonorなんかのシーケンサーで使われているタイマーなども誤差があるという事ですか?
0231デフォルトの名無しさん
2011/06/10(金) 15:05:50.82そもそもstring型はutf16で文字列を表現する型なので当たり前です
utf8のstring型なんてものは存在しないのです
utf8のバイト配列なら存在しますけどね
0232デフォルトの名無しさん
2011/06/10(金) 15:14:51.87QueryPerformanceCounter かなんかで取得しないとわからないんじゃないでしょうか?
OSに依存してるはずなんでXPや7などで違う値になるんでは?
自分はリアルタイムOSでない以上 おおよそ というのが正しいのかもしれないと考えています
0233デフォルトの名無しさん
2011/06/10(金) 15:15:56.720234デフォルトの名無しさん
2011/06/10(金) 15:22:59.67Stopwatch sw = new Stopwatch();
for (int i = 0; i < 10; i++)
{
sw.Start();
Thread.Sleep(1);
sw.Stop();
Console.WriteLine(sw.Elapsed);
}
Console.ReadKey();
結果
00:00:00.0003884
00:00:00.0008684
00:00:00.0017886
00:00:00.0028383
00:00:00.0040507
00:00:00.0045341
00:00:00.0054776
00:00:00.0064427
00:00:00.0092481
00:00:00.0093115
精度悪すぎwwwwwww
0235デフォルトの名無しさん
2011/06/10(金) 15:27:55.05Windows上で特別なハードウエア無しにリアルタイムで実行される保証は無いよ。
カーネルモードドライバでさえ、何時でも割り込まれる。
オーディオ再生の様な用途の場合、普通はオーディオレンダリングモジュールに数百ms程度のオーディオバッファがある。
そこのバッファが枯れないようにデータを突っ込んでやるだけ。
だから正確に指定された時刻で動作できなくてもほとんど問題無いよ。
「Windowsの時計は15ms誤差がある」というのは正確ではない。
「Windowsは正確に指定した時間に実行してもらう保証、メカニズムが無い」というのが正しい。
例えばあなたのオーディオデータ生成処理が10ms遅れて呼び出されたとしても、単に10ms分のオーディオデータを余計に作成すればよいだけ。
このときに時計をみて10ms遅れてるなって分かるよ。なぜなら時計自体に15msもの誤差はないから。
単に呼び出されるのが遅れる、あるいは15ms程度で他の処理にCPUを奪われるかも知れないと言うだけであり、
時計自体はそれなりの物を使えば正確だよ。
0236デフォルトの名無しさん
2011/06/10(金) 15:34:05.88sw.Startの前に sw.Reset() いれてやってみた
Win7 SP1 C2Duo 2.1GHz
00:00:00.0007215
00:00:00.0001608
00:00:00.0005269
00:00:00.0006780
00:00:00.0004541
00:00:00.0005425
00:00:00.0005479
00:00:00.0005538
00:00:00.0002341
00:00:00.0006227
うぅん・・・
0237デフォルトの名無しさん
2011/06/10(金) 15:44:24.18string str = System.Text.Encoding.Unicode.GetString(utf8);
こうやるとバイト配列がそのままstrになるのでそれをODBCドライバに渡したんですが、
ODBCドライバで例外が発生して処理してくれませんでした。UTF-16として不正な内容だから?
そのまま処理してくれたらいいのに。。
0238デフォルトの名無しさん
2011/06/10(金) 15:52:58.06ttp://www.vector.co.jp/soft/winnt/art/se470810.htmlではテンポ微調整機能があって
ttp://www1.vecceed.ne.jp/~bemu/va/metrodown.htmではタイマー割り込みの誤差が累積しないようにしてあるようです
こういうのってどうやるのでしょうか?
0239デフォルトの名無しさん
2011/06/10(金) 15:54:15.66・・・え?
0240デフォルトの名無しさん
2011/06/10(金) 15:57:23.23> ODBCドライバで例外が発生して処理してくれませんでした。UTF-16として不正な内容だから?
例外の詳細すら貼らずに何言ってるのお前
0241デフォルトの名無しさん
2011/06/10(金) 15:57:39.46確かに精度わるいね。
少なくとも1msはスリープしてくれそうだが160μsとかあるじゃん。
0242デフォルトの名無しさん
2011/06/10(金) 16:01:52.63C#超関係ねえー
別スレッド立てて現在時刻見ながらポーリングすりゃいいだけだろ
0243デフォルトの名無しさん
2011/06/10(金) 16:11:04.530244デフォルトの名無しさん
2011/06/10(金) 16:14:23.81A first chance exception of type 'System.Data.Odbc.OdbcException' occurred in System.Data.dll
です。
0245デフォルトの名無しさん
2011/06/10(金) 16:17:05.45で、なぜこのエラーでその文字列が原因だと断言したの?
0246デフォルトの名無しさん
2011/06/10(金) 16:18:01.99以下のスレッドで誘導してもらえるかもしれない。
スレ立てるまでもない質問はここで 112匹目
http://hibari.2ch.net/test/read.cgi/tech/1306768580/l50
0247デフォルトの名無しさん
2011/06/10(金) 16:19:23.850248デフォルトの名無しさん
2011/06/10(金) 16:20:29.42おぉ、ありがとう
俺が必要としていたワケじゃないんだけどねw
テンプレに加える…ようなことでもないのかなぁ。
0249デフォルトの名無しさん
2011/06/10(金) 16:26:11.80それはコンソールに出力されてる奴であって例外の内容じゃねーし
0250デフォルトの名無しさん
2011/06/10(金) 16:31:25.97どのDBに
どのODBCドライバで
どんな接続ー処理なのか
なんていうExceptionが発生したのか
そん時の例外メッセージ
位を書かないといけないと思う
エスパーいれば別だけど
0251デフォルトの名無しさん
2011/06/10(金) 16:31:37.73Message=指定されたキャストは有効ではありません。
Source=Test
StackTrace:
場所 Test.Program.Main(String[] args) 場所 C:\Users\owner\AppData\Local\Temporary Projects\Test\Program.cs:行 13
場所 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
InnerException:
こういうのを貼れ
発生した時に例外の詳細をクリップボードに追加を選べばコピーできるはずだ
0252デフォルトの名無しさん
2011/06/10(金) 16:31:56.24ありがとうございます
すいません別スレッドを立てる所はどうやるのかわかりません
0253デフォルトの名無しさん
2011/06/10(金) 16:33:04.83ownerさんこんにちわこんにちわ
0254251
2011/06/10(金) 16:33:58.200255デフォルトの名無しさん
2011/06/10(金) 16:35:17.03オーナーさん
何親切なことやってんすかw
>>252
とりあえず初心者ならBackGroundWorker使ってみては?
0256デフォルトの名無しさん
2011/06/10(金) 16:35:21.680257デフォルトの名無しさん
2011/06/10(金) 16:37:21.74スレッド新規作成ボタンでつくるんだよ。
エロ画像も忘れずにな。
0258デフォルトの名無しさん
2011/06/10(金) 16:41:54.33ありがとうございます
ちょっとやってみます
0259デフォルトの名無しさん
2011/06/10(金) 16:47:36.01おい 本気にしたじゃねぇかwwwwww
掲示板のスレッドじゃなくてメトロノームのPG内部でのスレッドのことだろ?
メトロノームの動きと一緒にチチとか揺れるんならちょっとほしい・・・
0260デフォルトの名無しさん
2011/06/10(金) 16:48:15.80つまり>>259採用
0261デフォルトの名無しさん
2011/06/10(金) 16:51:54.54バイト配列の内容が原因だと考えた理由は、以下のb1で処理すると例外が発生しないのに、
b2でやると先のODBC例外が発生したからです。
byte[] b1 = { 0xe5,0x65, 0x2c,0x67, 0x9e,0x8a, 0x67,0x31 }; //UTF-16で「日本語で」
byte[] b2 = { 0xe6,0x97,0xa5, 0xe6,0x9c,0xac, 0xe8,0xaa,0x9e, 0xe3,0x81,0xa7}; // UTF-8で「日本語で」
string str = System.Text.Encoding.Unicode.GetString(b1);
0262デフォルトの名無しさん
2011/06/10(金) 17:06:12.47その場所で発生しているわけじゃ?
SQL実行時に出てるんだと考えて
そのデータを入れる先のDBの型やDBBCパラメータの型とのマッチングもあるんじゃないかなと
0263デフォルトの名無しさん
2011/06/10(金) 17:08:36.97そんなどうでもいい部分貼られても困るな
0264デフォルトの名無しさん
2011/06/10(金) 18:16:18.06俺11年前にメトロノームを作ってソースもUPしたよ。特許違反の仮処分で消されたけど。
タイミングはディスプレイのタイミングにシンクロ。累積誤差とか画面のフレームレートに合わせれば問題ない。
DirectXで描画したっけ。
ビットマップをぱちっと割り当てると自動で伸張してくれるから意外とシンプルにできたよ。
0265デフォルトの名無しさん
2011/06/10(金) 18:54:24.64メトロノームは作ると特許違反
0266デフォルトの名無しさん
2011/06/10(金) 18:56:19.63>>264
>>265
えええええええええええええええええ
じゃあどうしたらいいいですか?
0267デフォルトの名無しさん
2011/06/10(金) 18:56:22.90じゃあリズムに合わせておっぱいが揺れるのはOK?
0268デフォルトの名無しさん
2011/06/10(金) 19:00:26.500269デフォルトの名無しさん
2011/06/10(金) 19:09:30.570270デフォルトの名無しさん
2011/06/10(金) 21:43:07.14もう遅いけどStringクラスとEncodingの関係が全然わかってないな
0271デフォルトの名無しさん
2011/06/10(金) 21:52:55.85未だに、商用アプリケーションを.NETで作成してる会社なんて皆無みたいだし。
まぁ、LWなんて.NETで書かれたら、冗談じゃないが・・・
0272デフォルトの名無しさん
2011/06/10(金) 21:58:02.03顧客専用のアプリならあるんじゃないかな?
表にでないけど会社の中で使うアプリとか
0273デフォルトの名無しさん
2011/06/10(金) 22:01:19.11なにをいまさら
.NETはUIがすこぶる遅いからまず使われない
0274デフォルトの名無しさん
2011/06/10(金) 22:05:04.000275デフォルトの名無しさん
2011/06/10(金) 22:11:14.880276デフォルトの名無しさん
2011/06/10(金) 22:16:47.170277デフォルトの名無しさん
2011/06/10(金) 22:16:48.36まあ最近はwebが多いけどさ
0278デフォルトの名無しさん
2011/06/10(金) 22:22:10.33最近じゃクラウドのクライアントとしてSilverlightとか
0279デフォルトの名無しさん
2011/06/10(金) 22:23:53.34主としてC,従としてアセンブラ
ですけど、なにか?
0280デフォルトの名無しさん
2011/06/10(金) 22:31:13.330281デフォルトの名無しさん
2011/06/10(金) 22:34:08.59自分の小さな世界の知識だけで使われてないよねとか言っちゃう
0282デフォルトの名無しさん
2011/06/10(金) 22:35:43.71Unreal Development KitとかUnityとかBISHAMONとか意外とゲーム開発系に商用あるよ
Intel Graphics HDやRadeonのコンパネもそうだし
ttp://cache.gyazo.com/512777231e8f396c6f6c439b5caee45c.png
アップルのサイトでもASP.NETが使われてるんだってw
0283デフォルトの名無しさん
2011/06/10(金) 22:39:43.61すいませんポーリングって何ですか?
0284デフォルトの名無しさん
2011/06/10(金) 22:42:28.03今更.NET自体をdisられても反応に困るからWinFX系あたりで煽った方がいいよ
0285デフォルトの名無しさん
2011/06/10(金) 22:45:01.88ああすまん
ボーリングだった
さあググれ
0286デフォルトの名無しさん
2011/06/10(金) 23:09:50.030287デフォルトの名無しさん
2011/06/10(金) 23:10:48.62欧米かっ
0288デフォルトの名無しさん
2011/06/10(金) 23:13:21.83だっけ?
0289デフォルトの名無しさん
2011/06/10(金) 23:20:23.84C# バーで検索してもタイトルバーのほうがヒットしてしまいます
0290デフォルトの名無しさん
2011/06/10(金) 23:27:51.660291デフォルトの名無しさん
2011/06/10(金) 23:31:35.53この記事見つけたんですけどここにはtrack barが書いてあるのに
僕のVC#2010Expressにはありません
無料版にはないのですが
0292デフォルトの名無しさん
2011/06/10(金) 23:33:48.540293デフォルトの名無しさん
2011/06/10(金) 23:35:26.85ここにしか入ってないのですね
0294デフォルトの名無しさん
2011/06/10(金) 23:57:52.97IntPtr abc;
}
public void NNN(){
ここでabcを使いたい
}
Testメソッドで作ったIntPtr abcをNNNメソッドでも使いたいのですが
クラスの頭にpublic IntPtr abc;と書いてNNNメソッドの中でthis.abcとやっても
System.IntPtrは型ですが変数のようにしようされてますとかいろいろエラーが出てしまいます。
どのようにしてNNNメソッドで使いまわすことが出来ますか?
0295デフォルトの名無しさん
2011/06/11(土) 00:00:50.460296デフォルトの名無しさん
2011/06/11(土) 00:02:05.48穴掘ろうがパソコンを叩き壊そうがあなたに3点のダメージを与えようが自殺しようが無理だということです
選択肢は諦める、諦める、諦めるの3つです
0297デフォルトの名無しさん
2011/06/11(土) 00:02:52.84何故出来ないのですか?
0298デフォルトの名無しさん
2011/06/11(土) 00:03:46.59IntPtr abc;
return abc;
}
public void NNN( IntPtr abc){
}
使うとき
IntPtr n = Test();
NNN(n);
0299デフォルトの名無しさん
2011/06/11(土) 00:04:22.880300デフォルトの名無しさん
2011/06/11(土) 00:07:05.74できないのは自分で言ってる通りのコードになってないだけ。
0301デフォルトの名無しさん
2011/06/11(土) 00:09:15.75(クラス、フィールド、プロパティについては検索しろ)
>>298みたいに返り値と引数を使う。
(返り値、引数については検索しろ)
0302デフォルトの名無しさん
2011/06/11(土) 00:12:05.700303デフォルトの名無しさん
2011/06/11(土) 01:03:10.980304デフォルトの名無しさん
2011/06/11(土) 01:29:47.090305デフォルトの名無しさん
2011/06/11(土) 01:44:32.860306デフォルトの名無しさん
2011/06/11(土) 02:28:04.490307デフォルトの名無しさん
2011/06/11(土) 03:23:58.70次はF#ですよ〜
檻の中でもっと開き直って仲良くしようぜ
まあ農家の人から見ればF#作っても所詮電気の檻の中にしか見えないだろうけどw
0308デフォルトの名無しさん
2011/06/11(土) 04:25:51.610309デフォルトの名無しさん
2011/06/11(土) 06:13:41.780310デフォルトの名無しさん
2011/06/11(土) 07:03:52.21オプションで色は変えれるけども。
うち、英語版だけども、Environments の Fonts and Colors ってページで。
#region ってどれになるんだろ。
#region 自体はプリプロセスディレクティブ、
その後ろの文字列はたぶん、コメント
折りたたんだ時のテキストは、折りたたんだテキストみたいな項目なんだろうけど。
0311デフォルトの名無しさん
2011/06/11(土) 08:59:58.76米とか麦は作れないよ
作物に虫がついたりするから気をつけて
0312デフォルトの名無しさん
2011/06/11(土) 09:45:16.83すぅぃーかが甘くて美味しいな
0313デフォルトの名無しさん
2011/06/11(土) 11:28:07.02while (true) {
処理
}
をするのですが
もう一個のButton(停止用)を押して処理を中断させたいのですがボタンが押せなくて何も出来なくなってしまいます
どうやってButtonで停止させられますか?
0314デフォルトの名無しさん
2011/06/11(土) 11:34:20.52While以降を別スレッドで実行してください
0315デフォルトの名無しさん
2011/06/11(土) 11:34:48.740316デフォルトの名無しさん
2011/06/11(土) 11:35:27.620317デフォルトの名無しさん
2011/06/11(土) 11:37:07.06http://dobon.net/vb/dotnet/programing/displayprogress.html
ここを読めばできる
できないのは努力が足りない
できるまで努力せよ
0318デフォルトの名無しさん
2011/06/11(土) 12:01:43.37こうかいたら開始と停止もうまく出来ました。
一応ちゃんと動いたのですがこれで問題ないでしょうか?
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
private void button2_Click(object sender, EventArgs e)
{
backgroundWorker1.WorkerSupportsCancellation = true;
backgroundWorker1.CancelAsync();
backgroundWorker1.Dispose();
}
0319デフォルトの名無しさん
2011/06/11(土) 12:10:32.540320デフォルトの名無しさん
2011/06/11(土) 12:20:20.81「BackgroundWorker は現在ビジー状態であるため、複数のタスクを同時に実行できません。」って出ます
スレッドがちゃんと閉じられてないってことでしょうか
右下のイベントプロパティでRunWorkerCompletedを追加してForm1.csで現れたRunWorkerCompletedのメソッドにメッセージボックスを書きましたが表示されなかったのでスレッドは終了されてないってことですね
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("スレッドの役割は終えました");
}
BackgroundWorker1.WorkerSupportsCancellation = trueをコードから消して右下のプロパティでtrueに設定してみましたが状況はかわりませんでした
とここまでレスを書いてもう一度粘ってみました
そしたら
if (bgWorker.CancellationPending)
{
//キャンセルされたとき
e.Cancel = true;
return;
}
って書いて解決しました
0321デフォルトの名無しさん
2011/06/11(土) 12:22:08.930322デフォルトの名無しさん
2011/06/11(土) 12:29:16.27呼んでもいいけど
あとbutton1_Clickの方ではIsBusy==falseを確認してからRunWorkerAsyncを実行する
そうすれば「BackgroundWorker は現在ビジー状態であるため、複数のタスクを同時に実行できません。」は発生しない。
button2_Clickの方ではIsBusy==trueを確認してからCancelAsyncを実行する
WorkerSupportsCancellationはそこに書くよりデザイナのプロパティで設定しておけ
0323デフォルトの名無しさん
2011/06/11(土) 13:01:33.92自分のローカルのまとめwikiにメモしておきました
0324デフォルトの名無しさん
2011/06/11(土) 17:14:19.19のメトロノームでは理論上22.7ms未満の誤差があって、音の間隔の誤差はさらに小さいと書いてありました。
>絶対時間として誤差はあるが、等間隔である
これはどういう事なんでしょうか?
>>234先生と>>236先生のでだいたい10msぐらい遅れてるってことなのでC#で書くときは精度気にすることないですか?
0325デフォルトの名無しさん
2011/06/11(土) 17:52:31.480326デフォルトの名無しさん
2011/06/11(土) 17:54:53.79意味不明だねw
たぶん言ってる本人がよく分かってないんだろう。
まあ、あえて邪推すれば、個別のイベントの間隔の正確性は低いが
イベントの間隔の平均値(いいかえると時間当たりのイベントの回数)の
正確性は十分高いと言いたいのかもしれない。
きっとヒストグラムとると分散は大きいけど、平均値はきっちり目標値に一致するんだろう。
それは、そのはずだと思う。
全然そういう意味の日本語にはなってないけれどw
0327デフォルトの名無しさん
2011/06/11(土) 17:59:51.39120*5=600なので誤差が0.02msだったら
600*0.02=12秒
5分流して12秒か・・・・
5分で出来れば1秒以内に収めるのって厳しいですかね?
0328デフォルトの名無しさん
2011/06/11(土) 18:01:43.840329デフォルトの名無しさん
2011/06/11(土) 18:01:48.470330デフォルトの名無しさん
2011/06/11(土) 18:07:59.16こういうのはCで作るんだよ
考えてみれば分かるがC#で作られた優良DAWソフトなんてないだろう?
世間で登場する優良DAWソフトは皆Cで開発されてるからなのさ
C#なんてクソ言語で作るのが間違い
0331デフォルトの名無しさん
2011/06/11(土) 18:12:38.15トータル時間として誤差が無く、だいたい不等間隔(誤差なんて感じられるほど無いが)
C#でやるなら二つの方法があるわけで、好きな方を選べばいいよ
0332デフォルトの名無しさん
2011/06/11(土) 18:13:50.34var a = DateTime.Now + s;
while (true)
{
Thread.Sleep(1);
var b = DateTime.Now;
if(a < b){
Console.Beep();
Console.WriteLine(b.Ticks);
a += s;
}
}
これ5分回してみ
0333デフォルトの名無しさん
2011/06/11(土) 18:22:55.39タイマーイベントで処理して、またタイマーイベントで処理・・・
って繰り返せばそりゃ誤差は蓄積する。
正しいのはスレッドをつくって常に時計を監視させること。
その間Sleep(1)で1ms程度のウエイトでループさせる。
このループは1msを正確に寝るためにやるんじゃなくて、ビジーループにならないようにするためにやる。
じゃないとCPUが100%に張り付いてしまうからね。
そしてそのループで毎回時計をみる。
時間になってたらならす。そしてまたループの先頭にもどる。
これでよい。
参照すべき時計だが、>>234,236の実験にあるように確かに1ms以下の誤差がある
(どこから10msくらい遅れてるって話がでてくるんだ?)
この1msの誤差は上記の方法でやれば蓄積しない。
音を鳴らすタイミングが、本来のタイミングから1ms程度前後するだけ。
そして、人間には1ms以下の誤差なんかまったく分からない。
リンク先の話は、多分映像が30フレームなんだろう。その場合最大で33ms遅れるはず。
これの平均が22msなんじゃないのかな。
音声の場合はもっと1フレームが短い時間なので、よりズレが小さいという話だろう。
0334デフォルトの名無しさん
2011/06/11(土) 18:41:45.37横からすいませんが
634 434 142 622 756 619 - 634 434 142 617 756 619 = 4 999 936
4 999 936って4.999936秒って事?
0335デフォルトの名無しさん
2011/06/11(土) 18:47:36.48MSDNすら見ないとか
しかも横からすいませんとか
ナメてんのか手前
http://msdn.microsoft.com/ja-jp/library/system.datetime.ticks%28v=VS.100%29.aspx
Ticksは1000万分の1秒
10 000 000で1秒
すなわち
4 999 936なら0.49秒
BPM120は0.5秒だから0.1秒程度の誤差が出ていると言える
0336デフォルトの名無しさん
2011/06/11(土) 18:49:06.79絶対時間監視してまで最小蓄積誤差を目指すのはプログラマーの意地?
シンクロナイザー作ってるなら理解できるけど。
0337デフォルトの名無しさん
2011/06/11(土) 18:50:17.45それだと余計誤差の幅大きくなってね?
0338デフォルトの名無しさん
2011/06/11(土) 18:54:35.76プログラミングが難しいならともかく、手法があるわけだし
不要な誤差を入れ込む必要が無いじゃないか
0339デフォルトの名無しさん
2011/06/11(土) 18:55:46.260340デフォルトの名無しさん
2011/06/11(土) 19:01:31.94http://www.vector.co.jp/soft/cmt/winnt/art/se335811.html
http://www.vector.co.jp/soft/cmt/win95/art/se441211.html
http://www.vector.co.jp/soft/cmt/win95/art/se358427.html
0341デフォルトの名無しさん
2011/06/11(土) 19:12:29.310342デフォルトの名無しさん
2011/06/11(土) 19:20:53.55マイコンで作るとかしろ
0343デフォルトの名無しさん
2011/06/11(土) 19:22:58.55俺はあのおもりを正確にあわせる自信は無いぞ
0344デフォルトの名無しさん
2011/06/11(土) 19:41:31.60ちょっと考えれば分かるだろうが
0345デフォルトの名無しさん
2011/06/11(土) 19:50:23.21数百万円の手巻き腕時計
どっちが正確かって
ちょっと考えれば分かるだろうが
0346デフォルトの名無しさん
2011/06/11(土) 20:18:21.190347デフォルトの名無しさん
2011/06/11(土) 20:26:45.710348デフォルトの名無しさん
2011/06/11(土) 20:59:07.700349デフォルトの名無しさん
2011/06/11(土) 23:06:02.47http://ufcpp.wordpress.com/2011/02/22/%e9%9d%9e%e5%90%8c%e6%9c%9f%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e5%af%be%ef%bc%88%e9%96%8b%e5%a7%8b%e3%82%ad%e3%83%a3%e3%83%b3%e3%82%bb%e3%83%ab%ef%bc%89/
http://code.msdn.microsoft.com/Silverlight-68df3b59
0350デフォルトの名無しさん
2011/06/12(日) 00:19:02.97object[] ary = (object[]) obj;
foreach (object o in ary) {
Console.WriteLine(o.ToString()); // などの処理
}
としたところobjがstring[]や自作クラス[]の場合はうまく動いたのですが
intなどのプリミティブ型の配列ではうまくいきませんでした。
>型 'System.Int32[]' のオブジェクトを型 'System.Object[]' にキャストできません。
以下の様に全てのプリミティブ型について分岐させるとうまくいったのですが、もっと良い方法はないでしょうか?
object[] ary;
if (obj.GetType().FullName == typeof(int[]).FullName) {
int[] tmp = (int[])obj;
ary = new object[tmp.Length];
for (int i = 0; i < tmp.Length; ) {
ary[i] = tmp[i];
}
} else if (obj.GetType().FullName == typeof(double[]).FullName) {
double[] tmp = (double[])obj;
ary = new object[tmp.Length];
for (int i = 0; i < tmp.Length; ) {
ary[i] = tmp[i];
}
} else {
ary = (object[])obj;
}
0351デフォルトの名無しさん
2011/06/12(日) 00:26:33.26ほかのスレでC#をやるのはCやC++を学んでからやるべきと書かれてあった
のですが?
0352デフォルトの名無しさん
2011/06/12(日) 00:26:48.62IEnumerableとして扱うのでもよいのでは?
0353デフォルトの名無しさん
2011/06/12(日) 00:26:49.190354デフォルトの名無しさん
2011/06/12(日) 00:27:12.170355デフォルトの名無しさん
2011/06/12(日) 00:27:41.390356デフォルトの名無しさん
2011/06/12(日) 00:30:41.56Cみたいな低水準を一度経由してからの方が回り道のようで結局近道のような気もする。
教育者じゃないんで気がするだけで確証はないが
0357デフォルトの名無しさん
2011/06/12(日) 00:30:43.38ただ、ステップの組み方で大ジャンプしたいタイプだと大変。
覚えることはたくさんあるからね。
0358デフォルトの名無しさん
2011/06/12(日) 00:34:00.50CやC++をやった方が、C#が隠してくれている様々なソフトウエアの事情を飲み込めるってだけだろう。
0359デフォルトの名無しさん
2011/06/12(日) 00:41:24.45細かい部分、より内部的な部分がどういう仕組みになっているかを知るにはCをやるのがいいが、
それゆえCをやると細かい部分を沢山覚えて見に染み込ませないといけない。
もちろんそれが知りたいのなら良いんだが、プログラミング初挑戦の人が
ちょっとやりたい事がある、とか小さなアプリケーションを作りたい、という気持ちで取り組むと
やりたい事とは遠く離れた関係にあるCの構造に囚われてしまって、やる気が無くなる。というケースを何人か見てきた。
0360デフォルトの名無しさん
2011/06/12(日) 00:45:10.80C#とC/C++は見た目似てるけど中身は結構違う。
C#からやって問題ない。
0361デフォルトの名無しさん
2011/06/12(日) 00:48:26.22参照型の意味をどう理解するのかは興味深いところではある
0362デフォルトの名無しさん
2011/06/12(日) 00:51:43.970363デフォルトの名無しさん
2011/06/12(日) 00:55:39.02接続詞の正しい使い方を知らないのか、そもそも読解力がないのかその両方か
0364デフォルトの名無しさん
2011/06/12(日) 01:00:22.050365デフォルトの名無しさん
2011/06/12(日) 01:01:52.050366デフォルトの名無しさん
2011/06/12(日) 01:02:57.69お前ほんとにC言語やったことあるのか?
0367デフォルトの名無しさん
2011/06/12(日) 01:04:40.92ただ中の動きは違うかもしれない
そういう細かい話はこの際いいよ
0368デフォルトの名無しさん
2011/06/12(日) 01:06:20.85これは国際公式言語機関でも規定されている*事実*です
0369デフォルトの名無しさん
2011/06/12(日) 01:07:19.320370デフォルトの名無しさん
2011/06/12(日) 01:08:47.36と聞いてみるテスト
0371デフォルトの名無しさん
2011/06/12(日) 01:09:31.090372デフォルトの名無しさん
2011/06/12(日) 01:10:50.98お前はILを知らないのか?
0373デフォルトの名無しさん
2011/06/12(日) 01:12:14.99そういうのは「副読本」的に見るべき。
メインをCにすると何もできん(Cの水準で簡単にできることしか覚えられない)。
0374デフォルトの名無しさん
2011/06/12(日) 01:13:24.60どうしてもわからなければ「プログラムはなぜ動くのか」あたりの本読んどけば大丈夫。
0375デフォルトの名無しさん
2011/06/12(日) 01:14:00.070376デフォルトの名無しさん
2011/06/12(日) 01:14:15.31ポインターの何がいけないって、数値としてそのまま扱うこと。
意味不明のアドレス値の先を書き換えれたり、
有効な領域を超えて加減算できたり。
0377デフォルトの名無しさん
2011/06/12(日) 01:14:22.07じゃあC#の参照を理解する(させる)際はどうやって説明してるだろうか
0378デフォルトの名無しさん
2011/06/12(日) 01:15:16.15>>361(まあイコール俺だが)に仮に参照型はポインタだという含意があれば
>>362は少なくとも会話としては成立している。
が、>>361にそんな意味を読み取るとしたら、そいつの言語感覚は小学校からやり直したほうがいいレベル。
その意味で>>362はナンセンスだけど、それでもあえて話に乗っかるとしても、
参照型がポインタといえるかどうかは「ポインタ」というふり幅の大きい言葉を
どう解釈するか次第だろう。
0379デフォルトの名無しさん
2011/06/12(日) 01:16:35.400380デフォルトの名無しさん
2011/06/12(日) 01:17:26.71小学校からやり直したほうがいいレベル。
0381デフォルトの名無しさん
2011/06/12(日) 01:18:36.27>>361(まあイコール俺だが)に仮に参照型はポインタだという含意があれば
>>362は少なくとも会話としては成立している。
が、>>361にそんな意味を読み取るとしたら、そいつの言語感覚は小学校からやり直したほうがいいレベル。
その意味で>>362はナンセンスだけど、それでもあえて話に乗っかるとしても、
参照型がポインタといえるかどうかは「ポインタ」というふり幅の大きい言葉を
どう解釈するか次第だろう。
0382デフォルトの名無しさん
2011/06/12(日) 01:20:07.000383デフォルトの名無しさん
2011/06/12(日) 01:20:20.70そんなの知らなくてもメモリの仕組み知ればC#の参照型は余裕で理解できるわけよ。
Cなんか学ばなくったってオッケーオッケー
0384デフォルトの名無しさん
2011/06/12(日) 01:21:11.810385デフォルトの名無しさん
2011/06/12(日) 01:23:53.670386264
2011/06/12(日) 01:39:21.34刻みがあるからこつんと止まる
画面のリフレッシュレートはハードウェアが画面を書き換えるタイミングで割り込みいれてくれるから絶対正確だよ。
少なくともパソコンではそれ以上に正確にやる方法はない。
ttp://www2.tky.3web.ne.jp/~yosshin/prog_memo/vsync/010815.html
> vsync API の問題
> vsync はフルスクリーンモード時のみ可能
> DirectX には vsync を取る API が提供されています。 例えば DirectDrawSurface の Flip メソッド等には、 vsync の有無を引数で指定可能です。 ただしこれはフルスクリーンモード時のみ有効です。
知らんかったわ。窓モードだからちゃんと拾ってなかったのか・・・
> もう一つの vsync 問題解決方法 「�冲 可変」
> ここまでで挙げてきた手法は、 ゲームプログラム側で意図したレートで vsync を行うことを前提としていました。
> これとは逆に、モニタのリフレッシュレートは可変であるという前提に立って、 ゲームの中の時間進行自体を、 モニタのリフレッシュレートに合わせるという手法があります。
>
> ゲーム内の 1 フレーム分の時間は、 一般に�冲(デルタ ティー)と言います。 前者の、 ゲーム内の 1 フレーム分の時間は一定とするスタイルを「�冲 固定」、 可変とするスタイルを「�冲 可変」、 と言います。
>
> �冲 = モニタのリフレッシュレートとする「�冲 可変」スタイルを採用することで、 一連の問題は解決することになります。 ただし実装の難易度は上昇しますし、 関連する様々な問題が発生してしまうので、注意が必要です。
>>333
> そして、人間には1ms以下の誤差なんかまったく分からない。
いや分かるし。
テレビが29.97fps x 2(インターレース)なのは、それくらいは余裕で感じ取れるからですが、
人間は目よりも耳の方がタイミングがシビアなんですよ。
0.4ミリ秒の差で聞こえてくる方向を感じ取ったりするらしいですから。
ttp://www.geocities.co.jp/SiliconValley-Oakland/6575/co/96.html
0387デフォルトの名無しさん
2011/06/12(日) 01:41:17.480388デフォルトの名無しさん
2011/06/12(日) 01:43:45.69両方の耳から入ってくる音のズレは分かっても10回メトロノームが音頭をとる間隔が1ms違ったって分からないよ。
試しに10回のうち1回だけ1msわざと遅らせてみてその間隔の違いを言い当てることが出来れば納得してやる
0390デフォルトの名無しさん
2011/06/12(日) 01:48:59.120391デフォルトの名無しさん
2011/06/12(日) 01:51:43.93実際にどっかでやって見せてほしいね
0392264
2011/06/12(日) 01:53:20.88言われてみればそうかもな。
感じ取れる人はよっぽどすごいだろう。
しかし、WAVデータの量はきっちり時間分存在するわけで、ズレた分だけどこかで埋め合わせしないといけないんだけど、どうする?
そう言えば音ズレが発生するのってちゃんと音はつながっているけどどういうことなのかと。
0393デフォルトの名無しさん
2011/06/12(日) 01:55:34.38ポインタは参照型なんですか?
0394デフォルトの名無しさん
2011/06/12(日) 01:56:16.68なんかいろいろ痛い人みたいだけど、それは人の脳の低水準の部分が位相差(位相って分かる?)を
検出しているのであって、必ずしも時間差を検出しているのではないし、
まして人が意識的にそれを感じられるということでもない。
0395デフォルトの名無しさん
2011/06/12(日) 02:14:00.76あと、意識の加速を使えばよゆーで知覚可能。
ttp://www.google.co.jp/search?hl=ja&q=%22%E6%84%8F%E8%AD%98%E3%81%AE%E5%8A%A0%E9%80%9F%22+site%3A2ch.net
でも、意識の加速って使ってる本人はどんな時間の中にいるかを感じ取ることは出来ないんだよね。
だから、音がどれだけずれたかなんて分からない。
少なくとも時間が分かるような物がないと。
仮に映像がついていたとしても、音速が秒速340メートルとかなり遅いけど
よっぽど離れてない限りズレというものを感じないわけで、
自動的に映像にシンクロするようになっているんだよね。多分。
映像処理の遅れがちょうどいいタイミングになってるだけかも知れんが。
0396デフォルトの名無しさん
2011/06/12(日) 02:17:32.430397デフォルトの名無しさん
2011/06/12(日) 02:18:27.570398デフォルトの名無しさん
2011/06/12(日) 02:27:51.630399デフォルトの名無しさん
2011/06/12(日) 02:30:35.83Windowsは定期的に時計を修正するから。
RTCに合うように調整する。
0400デフォルトの名無しさん
2011/06/12(日) 02:31:48.760401デフォルトの名無しさん
2011/06/12(日) 03:05:04.740402デフォルトの名無しさん
2011/06/12(日) 03:12:03.600403デフォルトの名無しさん
2011/06/12(日) 04:07:40.43新規プロジェクトのデフォルトの設定としてあれに足したり引いたりすることってできる?
0404デフォルトの名無しさん
2011/06/12(日) 04:10:52.580405デフォルトの名無しさん
2011/06/12(日) 04:11:44.06テンプレート作るんだっけ?
0406デフォルトの名無しさん
2011/06/12(日) 04:35:56.68ありがとね
0407デフォルトの名無しさん
2011/06/12(日) 08:12:36.49値型の配列をobject[]にする場合にはboxingする必要があるから、
配列の要素を1つずつコピーするのは避けられない。
せめてGenericやLinqを使ってスマートに書こう。
using System;
using System.Linq;
class Program {
static void Main() {
object [] oar0 = new string[] { "a","b","c","d","e","f","g" }; // 参照型はそのまま代入可能
object [] oar1 = MakeBoxingArray(new int[] { 1,3,2,4,3,5,6 }); // 値型
object [] oar2 = MakeBoxingArray(new double[] { 1.2,3.1,2.2,4.8,3.0,5.3,6.2 }); // 値型
}
static object [] MakeBoxingArray<T>(T [] ar) where T : struct {
return ar.Cast<object>().ToArray();
}
}
目的が分からないから的確なアドバイスはできないが、
Genericを使えばobectの配列にする必要自体がなくなるような気がする。
0409デフォルトの名無しさん
2011/06/12(日) 08:23:31.590410デフォルトの名無しさん
2011/06/12(日) 08:43:39.30さりとてstringをポインタとは言わないんじゃないかね
0411デフォルトの名無しさん
2011/06/12(日) 09:02:21.030412デフォルトの名無しさん
2011/06/12(日) 09:04:58.30ばかかおめーら
0413デフォルトの名無しさん
2011/06/12(日) 09:13:01.56825 名前:デフォルトの名無しさん[sage] 投稿日:2011/01/10(月) 12:49:11
>>823
どこにインストールするかは本質的な問題じゃなくて、
OSは「問題の有無を判断すべき(できる)ユーザ」にだけ判断をさせる思想で
作ってあるのに、それと矛盾することをやっていいのかよって話。
829 名前:デフォルトの名無しさん[sage] 投稿日:2011/01/10(月) 13:05:57
>>825
OSはユーザーの権限内であれば何やってもいいように作ってあるだろ
頭おかしいの?
832 名前:デフォルトの名無しさん[sage] 投稿日:2011/01/10(月) 13:19:10
>>829
判断力のないユーザーがインストールしたソフトが、そのユーザーが権限もってる
ディスクのデータを全て破壊する物だとしてもか。
834 名前:デフォルトの名無しさん[sage] 投稿日:2011/01/10(月) 13:20:55
>>832
そんなのバッチだって作れるだろ
0414デフォルトの名無しさん
2011/06/12(日) 09:20:29.840415デフォルトの名無しさん
2011/06/12(日) 09:23:55.270416デフォルトの名無しさん
2011/06/12(日) 09:26:41.860417デフォルトの名無しさん
2011/06/12(日) 09:29:06.510418デフォルトの名無しさん
2011/06/12(日) 09:29:31.58c言語ではポインタはポインタ型です
0419デフォルトの名無しさん
2011/06/12(日) 10:04:17.84つまりそういうことだ。
0420デフォルトの名無しさん
2011/06/12(日) 10:14:04.87DTM板で質問してこいよ
違いが分かるやつ挙手ってな
0421デフォルトの名無しさん
2011/06/12(日) 10:15:37.710422デフォルトの名無しさん
2011/06/12(日) 10:15:59.49概念と実装の区別がついていないと言える
0423デフォルトの名無しさん
2011/06/12(日) 10:38:45.640424デフォルトの名無しさん
2011/06/12(日) 10:40:52.470425デフォルトの名無しさん
2011/06/12(日) 10:42:50.230426デフォルトの名無しさん
2011/06/12(日) 10:58:07.410427デフォルトの名無しさん
2011/06/12(日) 11:13:23.28マイコンについて詳しく教えてください
0428デフォルトの名無しさん
2011/06/12(日) 11:14:22.84あっという間にマスターできる。
0429デフォルトの名無しさん
2011/06/12(日) 11:14:53.910430デフォルトの名無しさん
2011/06/12(日) 11:22:34.470431デフォルトの名無しさん
2011/06/12(日) 11:25:17.430432デフォルトの名無しさん
2011/06/12(日) 11:26:12.03うーん、面白くないかな^^;
もうちょっと頑張りましょう^^;
0433デフォルトの名無しさん
2011/06/12(日) 11:34:04.2617分に1カウントずれるていどに抑えられればいいのですがマイコンなら解決できますか?
0434デフォルトの名無しさん
2011/06/12(日) 11:35:09.290435デフォルトの名無しさん
2011/06/12(日) 11:36:04.10完璧がどの程度の精度かにもよると思んだけど。。。
メトロノームみたいな単純だけど精度を求めるものなら、プログラムならマルチスレッドよりシングルスレッドの方がスレッドのスイッチングが無い分、精度が高く作れる
cpu資源を他のプログラムに使われたく無かったら、そもそもシングルタスクOSとか、組み込みの世界になっちゃうし、厳密に言えば少しのズレも無いメトロノームは理論上作れない
その用途において必要十分な精度で作れるか。を基準に考えては?
0436デフォルトの名無しさん
2011/06/12(日) 11:37:41.09これとか完璧
0437デフォルトの名無しさん
2011/06/12(日) 11:38:27.80無駄な努力の部類
0438デフォルトの名無しさん
2011/06/12(日) 11:38:30.230439デフォルトの名無しさん
2011/06/12(日) 11:47:14.840440デフォルトの名無しさん
2011/06/12(日) 11:47:56.20そうです
精度は数字の上では単純ですが、リアルに精度を求めると、電子の動きさえもコストとして重くのし掛かって来ます
0441デフォルトの名無しさん
2011/06/12(日) 11:49:29.13完璧なものなんて作れないって事ですね
もう妥協します
0442デフォルトの名無しさん
2011/06/12(日) 11:51:02.530443デフォルトの名無しさん
2011/06/12(日) 11:51:05.70マイコンを使おうが完璧には作れないのでデマ回答を鵜呑みにしないでね
0444デフォルトの名無しさん
2011/06/12(日) 12:01:13.66セシウム133原子の2つの超微細準位間の遷移に対応する放射を周期数9192631770回カウントする装置を作れば一秒が正確に求められるし
正確にそのカウントを分解すればテンポが得られる
たかが下手くその楽器あそびにそこまで金を出したければの話だがな
0445デフォルトの名無しさん
2011/06/12(日) 12:06:40.540446デフォルトの名無しさん
2011/06/12(日) 12:07:02.67それすらも精度が高いだけで、厳密に言えば正確じゃないし、読み取るセンサーの時間からも誤差生まれるし
0447デフォルトの名無しさん
2011/06/12(日) 12:26:41.27覚えとけよ
0448デフォルトの名無しさん
2011/06/12(日) 12:34:51.28今日,多くの原子時計はセシウムではなく,光で励起したルビジウム原子を使っている。
ルビジウム時計はセシウム時計よりもかなり低価格で小型だが,正確さは劣る。
原子時計のもう1つの種類は,水素メーザーとして知られている。
タウンズが開発した最初のメーザーはアンモニアを使っていたが,
ハーバード大学のラムゼーらは1960年に水素を使い,超高精度の原子時計として働くメーザーを開発した。
1967年までに原子時計の研究は非常に実りある成果をあげ,
時間の単位である「秒」がセシウム原子の振動に基づいて定義し直されることになった。
今日の一般的な原子時計は10万年に1秒の狂いが出る程度の高精度だ。
米国の時間標準は米国立標準技術研究所で最近稼働を始めた原子時計「NIST-7」で,
その推定精度は300万年に1秒の狂いしかないほどだ。
ttp://www.phileweb.com/news/audio/200301/28/3612.html
ただしセシウム原子時計は高価で、購入するには1,000万円以上が必要となる。
本機はコンシューマー向けモデルとして、低価格でセシウム原子時計に近い精度を実現した。
その秘密は、最近増えてきている電波時計用の電波を使用することにある。
日本では、福島と吸収から40kHzと60kHzの搬送波が発信されているが、
本機はこの電波を常に受信してクロック源にするのだ。
CRV−555 メーカー標準価格 ¥85,000(税別)
ABS−7777 メーカー標準価格 ¥250,000(税別)
なんだ電波時計で正確なクロック出るんじゃん。
自作もできるらしいが・・
ttp://www.h2.dion.ne.jp/~hayakawa/dempa.html
でも電波は不安定だからね。ノイズで拾えないことがあるから、電波をそのままクロックにすることは出来ないだろ。
どこかでひずみが出る。それなら水晶発振子の方がマシ。温度と電圧さえ一定にすれば安定する。
あとはどうやってプログラムを呼び出すかだ。普通にハードウェア割り込みだろうけど、レガシーハードウェアだと優先度低いから、
やっぱりVGAのV/H syncを発生させるのが一番正確で汎用的だ。
0449デフォルトの名無しさん
2011/06/12(日) 12:40:58.920450デフォルトの名無しさん
2011/06/12(日) 12:48:15.31正確さが保障されてんの?
0451デフォルトの名無しさん
2011/06/12(日) 12:57:30.41仕様上そういうことになっているというだけ
実装上はどうだかわからない
0452デフォルトの名無しさん
2011/06/12(日) 13:11:45.86やめてくださいしんでしまいますってくらい災難にあってたが
0453デフォルトの名無しさん
2011/06/12(日) 13:21:33.51だってリアルタイムOSを動かさないといけないんだから。
ハードウェア割り込みは使える個数が決まっていたり、
割り込み使う場合は何ミリ秒以内に制御を戻さないといけないとか決められているでしょ。
でもその正確さがどの程度の精度なのかというと、それは水晶時計以上にはならないですが。
いい情報みっけた。
ttp://www.mnc.co.jp/INtime/user/intimedev.php?%A5%EA%A5%A2%A5%EB%A5%BF%A5%A4%A5%E0%C0%AD%C7%BD%A4%CE%A4%BF%A4%E1%A4%CE%A5%C1%A5%E5%A1%BC%A5%CB%A5%F3%A5%B0
ハードウェア割り込み信号発生から、INtimeアプリケーションの割り込みハンドラが開始されるまでの所要時間を測定した結果を掲載します。
ttp://www.mnc.co.jp/INtime/user/intimedev.php?latency
Core2Duo 2.1GHz
・最小0.83μ秒
・平均1.25μ秒
・最大遅延は1.66μ秒
Pentium4 3.0GHz
・最小3.9μ秒
・平均4.7μ秒
・最大遅延8.3μ秒
周波数が高ければいいってもんじゃないわけですね。
とくにPen4はマイクロコード変換オーバーヘッドがあるから遅れるしばらつきも出る。
いや、シングルコアだからカーネルが動いてるのかな?
ここまでくるとプログラムの命令数やらガベージコレクションやらの時間まで考慮しないといけないね。
0454デフォルトの名無しさん
2011/06/12(日) 13:23:57.920455デフォルトの名無しさん
2011/06/12(日) 13:27:37.48復活してるよ
1回復活してから落雷で死んだけどまた復活した
0456デフォルトの名無しさん
2011/06/12(日) 13:27:59.81usingは
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
コードは
IEnumerable<string> files = Directory.EnumerateFiles("C:\\folder","*.txt");
for (int i = 0; i < files.Length; i++){
MessageBox.Show(files[i]);
}
エラー 1
'System.Collections.Generic.IEnumerable<string>' に 'Length' の定義が含まれておらず、
型 'System.Collections.Generic.IEnumerable<string>' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足しています。
エラー 2
角かっこ [] 付きインデックスを
'System.Collections.Generic.IEnumerable<string>' 型の式に適用することはできません。
ってエラーが出ますたすけてください
0457デフォルトの名無しさん
2011/06/12(日) 13:28:15.70幸いメトロノームは妥協する方針で終わったんだから
0458デフォルトの名無しさん
2011/06/12(日) 13:29:48.27配列でファイル一覧が欲しい時はDirectory.GetFilesを使うんだよ
Directory.EnumerateFilesで取得した時はforではなくforeachを使おう
0459デフォルトの名無しさん
2011/06/12(日) 13:35:41.40ありがとうございます
この機会にお伺いしたいのですが
string[] files = System.IO.Directory.GetFiles("C:\\folder", "*.txt", System.IO.SearchOption.TopDirectoryOnly);
と
IEnumerable<string> files = Directory.EnumerateFiles("C:\\folder","*.txt");
ってどっちが早いですか?
0460デフォルトの名無しさん
2011/06/12(日) 13:37:30.460461デフォルトの名無しさん
2011/06/12(日) 13:39:20.33string[] files = System.IO.Directory.GetFiles("C:\\folder", "*.txt");
=
string[] files = Directory.EnumerateFiles("C:\\folder","*.txt").ToArray();
だと思っとけ
0462デフォルトの名無しさん
2011/06/12(日) 13:39:30.470463デフォルトの名無しさん
2011/06/12(日) 13:59:02.94どれが何の質問の答えになっていないと主張しているのかよく分かりませんね。
Windowsアプリの時間の精度が落ちるのは、最終的にはWindowsのタスクの振り分けが原因ですからね。
リアルタイムOSでない以上、精度が確保できるイベントはハードウェア割り込みだけです。
>>453の実測値はその精度の目安です。
割り込みについてはここで詳しく解説してある。
ttp://www.mars.dti.ne.jp/~otk/bak/200012-linuxkernel24.pdf
結局、普通のアプリで出来るだけ精度をよくするには、プロセスの優先度を上げるしかないわけですが、
.netアプリは当然、.net Framework以上になることはできません。
0464デフォルトの名無しさん
2011/06/12(日) 14:23:12.800465デフォルトの名無しさん
2011/06/12(日) 14:25:33.370466デフォルトの名無しさん
2011/06/12(日) 14:29:11.35を実行したときボタンの部分にフォーカスがあるのでtab+shiftを押してツリーにフォーカスを当てるのが面倒くさいです
実行したときにツリーの部分にフォーカスを当てたいのですが方法ございませんか?
0467デフォルトの名無しさん
2011/06/12(日) 14:46:12.94いつからユーザーアプリがHW割り込みなんか拾えるようになったんだ?
それともまだDOSの時代の延長だと思ってる人?
>>466
Application.EnterThreadModalイベントでどうにかすれば何とかなるはず。
0468デフォルトの名無しさん
2011/06/12(日) 14:54:41.75現在何クロック目の命令なのか、0秒0番目からの通し番号で分かったらいいんじゃないかな。
1秒ごとに0から振りなおすとして、
32ビットあれば4GHzまで、つまり1ナノ秒以下まで正確に時間を測定できるようになってはかどるぞ。
でもそれってGetTimeの実行と何が違うのかと言う話にならなくもないか。
やっぱそのタイミングで関数を呼び出してくれないとな。
でもキャッシュメモリに入ってないと遅れるから・・・
いや待て、Windowsはクロック周波数を元にしてシステム時間を作り出してるんじゃなかったっけ。
だからRTCとのズレが生じるので修正が入る仕組みだったはず。
Widnowsのシステム時間を使うと当然ずれてくる。
しかしRTCタイマーを使うvsync割り込みはCPUのズレとは無縁だからやっぱり正確だろう。
OS自作部屋
ttp://kozos.jp/kozos/kozos34.html
> ということで結論としては,厳密なリアルタイム性が必要なタイマは,ハードウエアが持っているRTCをそのまま使うしかない.
ttp://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF
現在のOSは起動時にリアルタイムクロックを読み取って、CPUの高精度タイマーの精度を校正し、以後リアルタイムクロックから時刻を読み出すのではなく、高精度タイマーのカウンタ値によって時刻を保持している。
これはRTCの時刻精度がおよそミリ秒が限度なのに対して、高精度タイマーはナノ秒からピコ秒の精度をもっており、より正確な時刻管理が出来るためである。
時刻が知りたければCPUから、トリガーを使いたければRTCからってのが一番みたいだ。
0469デフォルトの名無しさん
2011/06/12(日) 14:59:42.92寝言は寝て言えよまったく
0470デフォルトの名無しさん
2011/06/12(日) 15:24:16.41> いつからユーザーアプリがHW割り込みなんか拾えるようになったんだ?
DirectX ライブラリ
ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R6N2
宣言 int WaitVSync( int SyncNum ) ;
概略 CRTの垂直同期信号を指定回数待つ
おまけ
ttp://pc.watch.impress.co.jp/docs/news/event/20110606_450943.html
LucidLogixがVirtuの新技術「Virtu Universal」をアナウンス
一方でフレームレートのリミットがディスプレイのV-Sync(60Hz=60fps)で頭打ちになる。
また、表示の更新間隔が遅くなることによりマウスやキーボードのレスポンスが悪くなったように感じることにもなる。
例えば60Hzであればレスポンスは16.6msということになる。
Virtu Vsyncは、ティアリングを発生させず、かつフレームレートのヘッドルームも取り払うというテクノロジーだ。
その仕組みは、簡単にいえば、内蔵GPUがディスプレイ処理を担当、外付けGPUがレンダリングを担当することで実現する。
0471デフォルトの名無しさん
2011/06/12(日) 15:26:31.83vsyncがRTC他のクロック発生源よりも正確だという根拠は無いわけか
0472デフォルトの名無しさん
2011/06/12(日) 15:35:27.650473デフォルトの名無しさん
2011/06/12(日) 15:36:50.65それは割り込みを拾ってるんじゃないでしょ。
ISRはあくまで特権レベルで走ってるOSの内部にあって、そこから間接的に
通知してもらってるだけ。
だから本当にイベントが発生してからそれがユーザーアプリに通知されるまでの
レイテンシはまったく当てにならない。
>>326にあるように、個々のインターバルの分散は大きくても平均値は正確に真値に
収束する、という意味では正確ではあるが。
0474デフォルトの名無しさん
2011/06/12(日) 15:50:11.74まあVsyncを使うアプリ、ドライバなど殆ど無いから、処理がスカスカで他より正確だとは思うよ
0475デフォルトの名無しさん
2011/06/12(日) 15:52:23.76それは無関係。(>>183)
0476デフォルトの名無しさん
2011/06/12(日) 15:53:00.62BPMが60やら120やら180などなら割り切れるが
90とか155とか割り切れないもんな
60 / 155 = 0.387096774
0477デフォルトの名無しさん
2011/06/12(日) 15:57:42.49いや、俺AV視点だから。システムタイムとRTCをごっちゃにするとずれていくだろ。
映像ソースがモニタの周波数に合うことなんてまずないから、vsyncを使うとしても普通にタイマーは使わないといけないだろう。
でもタイマーは精度が低い。
そのズレが1フレームのズレを生む
> 例えば60Hzであればレスポンスは16.6msということになる。
それが日付と時刻のプロパティ画面の秒針みたいな揺らぎにつながるんじゃないかと。
>>473
あなたは何を期待してんの?あなたが書くプログラムはクロック数まで正確に実行できるわけ?
呼ばれるタイミングが完璧に等間隔になったら、あなたのプログラムは完璧に等間隔で完了できるの?
0478デフォルトの名無しさん
2011/06/12(日) 16:02:01.11いやむしろ、君以外の人のほとんどが君が何を期待してるのかよーわからんと
思っていると思うんだけど....
長々と何を書いてるの本当。
俺は君が正確だと思い込んでいるものを、そうではないよと言ってるだけ。
0479デフォルトの名無しさん
2011/06/12(日) 16:05:55.735分動かしてズレなきゃいいんだよ
それをAV視点だとかわけのわからん事をほざいたり、なんなの?
0480デフォルトの名無しさん
2011/06/12(日) 16:12:46.01>>433
0481デフォルトの名無しさん
2011/06/12(日) 16:15:06.980482デフォルトの名無しさん
2011/06/12(日) 16:15:42.93アホな書き方しなければそんな蓄積するわけがない
0483デフォルトの名無しさん
2011/06/12(日) 16:17:56.470484デフォルトの名無しさん
2011/06/12(日) 16:18:05.240485デフォルトの名無しさん
2011/06/12(日) 16:18:39.150486デフォルトの名無しさん
2011/06/12(日) 16:19:34.040487デフォルトの名無しさん
2011/06/12(日) 16:24:06.97フォームにsplitContainarを置いてdockをFillにします
panel1にlistboxを置いてdockをFillにします
そうしてデバッグしてプログラムを実行するとlistboxの下のほうにスペースが空いてしまいます
フォームデザインのほうではスペースが空いてなかったのに実行したやつだと空いてしまいます
解決する方法をご教示お願いします
0488デフォルトの名無しさん
2011/06/12(日) 16:24:09.180489デフォルトの名無しさん
2011/06/12(日) 16:28:32.29うぜーから他行ってくれ
0490デフォルトの名無しさん
2011/06/12(日) 16:29:04.37Windowsの時計調整が入るようなものを使うと、再生中におかしくなる瞬間があるだろう。
AV関係は永続的じゃないと。
その上でずれがないほうがいい。
>>433
僕はワイヤレスのスピーカーに置き換えるといいと思うんだ。
音を出すのが一つの機械なら、ズレなんて発生しない。
Bluetooth対応スピーカーは1対1でしか通信しないっぽいけど
Googleがクソ重くて頭にくる
FMトランスミッターで飛ばしてFMラジオで受信すれば複数スピーカーになる。
0491デフォルトの名無しさん
2011/06/12(日) 16:29:18.54これはデザイナーの挙動の方がおかしいから解決ってのはない
0492デフォルトの名無しさん
2011/06/12(日) 16:29:33.97うぜーから他行ってくれ
0493デフォルトの名無しさん
2011/06/12(日) 16:30:08.06うぜーから他行ってくれ
0494デフォルトの名無しさん
2011/06/12(日) 16:30:56.11うぜーから他行ってくれ
0495デフォルトの名無しさん
2011/06/12(日) 16:30:56.41なかなか敏感だねえ。びっくりしたよ。
0496デフォルトの名無しさん
2011/06/12(日) 16:31:14.78うぜーから他行ってくれ
0497デフォルトの名無しさん
2011/06/12(日) 16:31:58.320498デフォルトの名無しさん
2011/06/12(日) 16:32:10.00そうでしたか
これはこういうものとして諦めるしかないですね
0499デフォルトの名無しさん
2011/06/12(日) 16:32:21.05うぜーから他行ってくれ
0500デフォルトの名無しさん
2011/06/12(日) 16:33:51.98いやいや、今Dockの変わりにAnchorでやってみたが上手くいくよ。
0501デフォルトの名無しさん
2011/06/12(日) 16:35:40.00C/C++なら関数が用意されてるんですが。
0502デフォルトの名無しさん
2011/06/12(日) 16:37:46.08WAVデータを生成しながらストリーミング再生かループ再生するのじゃ駄目なの?
0503デフォルトの名無しさん
2011/06/12(日) 16:39:22.53http://www.dotup.org/uploda/www.dotup.org1695435.png
0504デフォルトの名無しさん
2011/06/12(日) 16:39:57.14うぜーから他行ってくれ
0505デフォルトの名無しさん
2011/06/12(日) 16:43:05.81探せばある
http://www.google.co.jp/search?hl=ja&q=Lua#sclient=psy&hl=ja&source=hp&q=lua+.net&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=1655978e792a47a6&biw=1322&bih=871
0506デフォルトの名無しさん
2011/06/12(日) 16:44:10.180507デフォルトの名無しさん
2011/06/12(日) 16:44:20.36ListBoxの大きさって、ListViewみたくリニアに大きさ変わらないよな
気になるならListView使うしかない
0508デフォルトの名無しさん
2011/06/12(日) 16:44:29.770509デフォルトの名無しさん
2011/06/12(日) 16:45:41.41気にしないからだろ
うぜーから他行ってくれ
0510デフォルトの名無しさん
2011/06/12(日) 16:47:57.62DockじゃなくてListBoxの仕様の問題だろ
0511デフォルトの名無しさん
2011/06/12(日) 16:49:39.08なるほど確かに。
でもListBoxの枠線が無くてもOKなら、SpliterPanelのBackColorをWindowにしてしまえば
見かけ上は誤魔化せる。
0512デフォルトの名無しさん
2011/06/12(日) 16:49:39.170513デフォルトの名無しさん
2011/06/12(日) 16:49:52.47IntegralHeight
を
切れば
いいんじゃないか
な
0514デフォルトの名無しさん
2011/06/12(日) 16:52:29.10なるほど。
ListBoxなんてほとんど使ったことがないから知らなかった
0515デフォルトの名無しさん
2011/06/12(日) 16:54:23.060516デフォルトの名無しさん
2011/06/12(日) 17:01:34.10ありがとうございました
0517デフォルトの名無しさん
2011/06/12(日) 17:01:46.66かわいそう
0518デフォルトの名無しさん
2011/06/12(日) 17:02:38.80騙された人なんて、いなかったんだ。
0519デフォルトの名無しさん
2011/06/12(日) 17:11:01.00ニコニコ生放送みたいなやつでも、再生側の環境によってかなりズレてくるよ。
>>513
を
れ
んじ
>>505
蜜からなかったよままん
0520デフォルトの名無しさん
2011/06/12(日) 17:22:24.92音声データのHWバッファが空にならないことさえ保証できれば、サウンドカードの
DAの水晶の精度で正確なはず
0521デフォルトの名無しさん
2011/06/12(日) 17:27:49.550522デフォルトの名無しさん
2011/06/12(日) 17:43:16.45仮にHTTP自己ホストするとしても管理者権限が必要だし
0523デフォルトの名無しさん
2011/06/12(日) 17:54:49.31プログラミング何か始めたいんだけど、htmlで終わった大学3年が1年本気出したらどの辺までいける?
何を始めようかも決めかねているんだがw
0524デフォルトの名無しさん
2011/06/12(日) 18:03:46.20フォームにSplitContainarをおきました(DockをFillに設定)
Palel2にPictureBoxを置きました(DockをFillに設定)
右下のプロパティでPanel2のAutoScrollをtrue、pictureBox1のSizeModeをAutoSizeに設定しました
Form1.csのForm1_Loadにこう書きました
private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.ImageLocation = "C:\\img\\101.jpg";
}
ここまでやって実行しました
画像の縦横が大きいのにスクロールバーが出ません
どう直したらスクロールバーが出来るようになりますか?
0525デフォルトの名無しさん
2011/06/12(日) 18:08:49.10そりゃ、PictureBoxをコンテナにドッキングしてたらダメに決まっているのでは?
0526デフォルトの名無しさん
2011/06/12(日) 18:19:47.95(100万分の1) :水晶発振
(10億分の1) :ルビジウム発振
(1兆分の1) :セシウム発振
>>520-521
単体で鳴らすなら水晶発振で問題ないんだけど、複数同時だと個体差が出てくるから
どの道、同期を取る仕組みが必要になる。
ローカルネットワークにタイムサーバー構えてこまめに時計あわせとか、
あらかじめ内臓時計のズレを測定してリアルタイムに自動調整するソフトとか。
でも、インターネットの通信は優先度低いからなかなか完璧にはあわせられないよね。
パケット受信と同時に時刻を取得して補正できるなら同報通信でぴったり合わせられるんだけど。
>>523
まずどこに就職したいか決めてからやらないと無駄。
あと、どっかの研究室とかで面倒見てもらわないと、どうせ何も身に着けられないで終わる。
0527デフォルトの名無しさん
2011/06/12(日) 18:24:27.47お前はメトロノームでオーケストラでも作る気なのか?
0528デフォルトの名無しさん
2011/06/12(日) 18:29:23.190529デフォルトの名無しさん
2011/06/12(日) 18:30:45.54このスレに出た話に、集団で個人練習ってのがあったでしょ。そういう使い方。
あと、地デジテレビの同期。これホントちゃんとして欲しいなと。
隣の部屋に同じ番組でタイミングの違う放送やられたらかなわんわ。
アナログ+デジタルなら割とかなりタイミングずれるからそーでもないが・・・
0530デフォルトの名無しさん
2011/06/12(日) 18:31:57.38もう個体差とか同期とか、何の話をしてるんだw
お前さんが自分の脳内で考えていることなんか誰も知らんって
0531デフォルトの名無しさん
2011/06/12(日) 18:41:33.6010msとしても、10msの累積誤差が個体間に生じるまでの最小の時間は
10 * 1E6 / 5 / 2 = 1,000,000 (ms)
だから、頭で同期を取る事さえ可能なら>>502で実用上問題ないはずだと思うがね。
0532デフォルトの名無しさん
2011/06/12(日) 18:49:22.020533デフォルトの名無しさん
2011/06/12(日) 18:56:33.15それはYahoo知恵遅れの電子メトロノームの話じゃないの?
ノートPCのメトロノームで練習している奴すら見たことが無いのに、集団利用とか荒唐無稽すぎる
0534デフォルトの名無しさん
2011/06/12(日) 19:31:26.760535デフォルトの名無しさん
2011/06/12(日) 19:42:42.140536デフォルトの名無しさん
2011/06/12(日) 19:52:53.950537デフォルトの名無しさん
2011/06/12(日) 19:53:02.100538デフォルトの名無しさん
2011/06/12(日) 19:54:21.680539デフォルトの名無しさん
2011/06/12(日) 19:56:47.040540デフォルトの名無しさん
2011/06/12(日) 20:09:50.02ありがとうございます
DockをnoneしてfromImageで表示したらできました
最初backgroundImage使ってたのですがこれがだめだったようですね
0541デフォルトの名無しさん
2011/06/12(日) 20:35:56.710542デフォルトの名無しさん
2011/06/12(日) 21:38:34.94string[] a = new string[] { 99個の値がここに入る }
これをソートしたいのですが
a1
a11
a12
略
a2
a20
とこんな感じになってしまいます
これを
a1
略
a9
a10
a11
略
a19
a20
のようにする方法はございませんか?
0543デフォルトの名無しさん
2011/06/12(日) 21:56:15.57array.OrderBy(x => int.Parse(Regex.Match(x, @"\d+$").Value))
0544デフォルトの名無しさん
2011/06/12(日) 21:57:27.13axxを、aとxxに分解してxxを数値として判定
必ずaという文字一文字と決まっているなら、長さを比較した後に文字列比較する2段階検査でもいい。
0545デフォルトの名無しさん
2011/06/12(日) 21:57:39.170546デフォルトの名無しさん
2011/06/12(日) 22:03:42.95gを押せば特定の処理はするのですがgの値のある行がセレクトされてしまいます
なので
if (e.KeyData == Keys.G) {
特定の処理();
e.handle = true;
}
とe.handle = true;と書いたのにキーボードが無効化されません
書くところが悪いのかなと思って
private void listBox1_KeyDown(object sender, KeyEventArgs e){
のすぐ増したに書きましたがこれは実行したら以後キーボードが受け付けなくなったのでやめました
キーボードを打ってlistboxで移動しないようにしたいのですがこのやり方は間違ってますか?
0547デフォルトの名無しさん
2011/06/12(日) 22:04:49.44キャパシティを超える単語が出てきたのでちょっと調べてみます
0548デフォルトの名無しさん
2011/06/12(日) 22:20:55.970549デフォルトの名無しさん
2011/06/12(日) 22:36:47.510550デフォルトの名無しさん
2011/06/12(日) 22:37:56.230551デフォルトの名無しさん
2011/06/12(日) 22:38:34.350552デフォルトの名無しさん
2011/06/12(日) 22:40:31.90c#のレベル超えてる
0553デフォルトの名無しさん
2011/06/12(日) 22:43:38.280554デフォルトの名無しさん
2011/06/12(日) 22:50:22.10別の方法を考えます
0555デフォルトの名無しさん
2011/06/12(日) 22:56:07.760556デフォルトの名無しさん
2011/06/12(日) 23:24:55.420557デフォルトの名無しさん
2011/06/13(月) 05:39:37.02全否定されてるのにこの理解でワラタ
0558デフォルトの名無しさん
2011/06/13(月) 06:12:51.300559デフォルトの名無しさん
2011/06/13(月) 06:21:48.88そんなの言ってるのは1人だけだろ
0560デフォルトの名無しさん
2011/06/13(月) 07:00:12.85設計に重要なポイントとか。
0561デフォルトの名無しさん
2011/06/13(月) 07:11:33.13参照型 …使え
0562デフォルトの名無しさん
2011/06/13(月) 07:48:16.89ポインタと参照がまったく完全になにもかも同じだったらunsafeなんていらないだろ。
0563デフォルトの名無しさん
2011/06/13(月) 07:50:16.11Console.WriteLine(dame);とした時に\/:*?"<>|と表示させる方法は無いでしょうか?
もう1回段階評価すれば良さそうなのですが分かりません。
dameはRegex.Matches(fileName, @"["+dame+@"]");として使っています。
0564デフォルトの名無しさん
2011/06/13(月) 07:52:02.46そもそもデータをa01,a01...とした方が早くマイカ?
0565デフォルトの名無しさん
2011/06/13(月) 07:52:37.80a01,a02...な
0566デフォルトの名無しさん
2011/06/13(月) 08:19:26.97Console.WriteLine( Regex.Unescape( dame ) );
0567デフォルトの名無しさん
2011/06/13(月) 08:36:46.05エスケープを解除するというその名もズバリな関数があったのですね。
レスありがとうございました。
0568デフォルトの名無しさん
2011/06/13(月) 08:37:28.620569デフォルトの名無しさん
2011/06/13(月) 11:06:43.820570デフォルトの名無しさん
2011/06/13(月) 12:28:34.80そう言えば unsafe ってのがあったな。
unsafe で宣言した関数とかは他のプロセスから関数呼び出しできるんだろうか。
0571デフォルトの名無しさん
2011/06/13(月) 16:31:23.510572デフォルトの名無しさん
2011/06/13(月) 16:57:27.930573デフォルトの名無しさん
2011/06/13(月) 17:12:18.81センスのなさを痛感している
0574デフォルトの名無しさん
2011/06/13(月) 17:14:20.52絶賛放置中
0575デフォルトの名無しさん
2011/06/13(月) 17:19:47.910576デフォルトの名無しさん
2011/06/13(月) 17:21:32.28そんなにむつかしくねーだろ
0577デフォルトの名無しさん
2011/06/13(月) 17:28:38.910578デフォルトの名無しさん
2011/06/13(月) 17:31:52.490579デフォルトの名無しさん
2011/06/13(月) 17:32:10.43http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient(v=vs.80).aspx
書いてあるけど
0580デフォルトの名無しさん
2011/06/13(月) 19:41:43.440581デフォルトの名無しさん
2011/06/13(月) 20:12:46.40C#のフォーム、もっさりしすぎて使い物にならん
0582デフォルトの名無しさん
2011/06/13(月) 20:31:52.850583デフォルトの名無しさん
2011/06/13(月) 20:33:15.530584デフォルトの名無しさん
2011/06/13(月) 20:36:20.280585デフォルトの名無しさん
2011/06/13(月) 20:41:51.62.netが無料板でも使えるのにMFCは有料版にしか付いてない理由が、それ
0586デフォルトの名無しさん
2011/06/13(月) 20:55:09.62おいおい、じゃあC#の使いどころはどこになるんだよw
0587デフォルトの名無しさん
2011/06/13(月) 20:55:16.320588デフォルトの名無しさん
2011/06/13(月) 21:11:43.640589デフォルトの名無しさん
2011/06/13(月) 21:18:57.66.net : 安全だが遅い。GUIを直感的に作れる。VC#,VB等、複数の言語で共通のライブラリとして使用可能
MFC : 安全性は劣るが速い。ダイアログ以外のGUIは直感的には作れない。有料版にしか付いてない。しかもVC++でしか使えない
まあ、楽に作るか。速さを求めるかで使い分けになるんだろね
VC++とMFCは覚えるの難しいけど、覚えとけばWinでは困る事が無いから、使いこなせる人は羨ましい
いつか、再挑戦したいけど、私ゃ挫折したよ
私 ≠ >>581
0590デフォルトの名無しさん
2011/06/13(月) 21:25:11.450591デフォルトの名無しさん
2011/06/13(月) 21:25:34.670592デフォルトの名無しさん
2011/06/13(月) 21:48:20.470593デフォルトの名無しさん
2011/06/13(月) 21:53:21.100594デフォルトの名無しさん
2011/06/13(月) 21:53:22.740595デフォルトの名無しさん
2011/06/13(月) 21:53:34.58ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身
など、勇気をもって書き込んでください。
0596デフォルトの名無しさん
2011/06/13(月) 21:56:06.840597デフォルトの名無しさん
2011/06/13(月) 21:59:05.570598デフォルトの名無しさん
2011/06/13(月) 22:01:22.880599デフォルトの名無しさん
2011/06/13(月) 22:01:56.350600デフォルトの名無しさん
2011/06/13(月) 22:06:10.070601デフォルトの名無しさん
2011/06/13(月) 22:08:14.760602デフォルトの名無しさん
2011/06/13(月) 22:08:55.510603デフォルトの名無しさん
2011/06/13(月) 22:09:53.700604デフォルトの名無しさん
2011/06/13(月) 22:11:33.120605デフォルトの名無しさん
2011/06/13(月) 22:12:24.470606デフォルトの名無しさん
2011/06/13(月) 22:19:42.32>ImageLength[257] = 104
ってあるけど、サムネイルはこれより小さいの?
0607デフォルトの名無しさん
2011/06/13(月) 22:20:30.380608デフォルトの名無しさん
2011/06/13(月) 22:20:32.510609デフォルトの名無しさん
2011/06/13(月) 22:24:57.180610デフォルトの名無しさん
2011/06/13(月) 22:36:56.340612デフォルトの名無しさん
2011/06/14(火) 10:17:23.71WPFのRadialGradientBrushのようなことをやりたいんですが
簡単に実現する方法はありませんか?
ないとすれば・・・どんな風に実現するのでしょうか?
円を塗りつぶしで描画して、その上からさらに白と元の色のグラデーションで小さい円を描くようなカンジでしょうか?
0613デフォルトの名無しさん
2011/06/14(火) 10:28:51.14http://dobon.net/vb/dotnet/graphics/lineargradientbrush.html
0614デフォルトの名無しさん
2011/06/14(火) 10:43:37.45なんかいまいちだけどそれっぽい結果にw
0615デフォルトの名無しさん
2011/06/14(火) 11:03:52.87ヒントありがとです。
参考にいろいろいじったらいい感じの円がかけました!!
http://ideone.com/p8i9g
0616615
2011/06/14(火) 11:08:41.43へのアンカーを忘れていたという・・・orz
実際組み込んで使ってみるとやっぱりソリッドな円より見栄えがよくなって満足です!
0617デフォルトの名無しさん
2011/06/14(火) 14:08:02.06{
public static void test(object obj)
{
Console.WriteLine("object");
}
public static void test(params object[] args)
{
Console.WriteLine("object[]");
}
static void Main(string[] args)
{
string[] ss = new string[] { "hoge", "2", "3" };
test(ss);
}
}
これを実行すると可変長引数のほうが呼ばれるのですが、何故こうなるのでしょうか?
同じ型の場合、引数を個別に指定したものと可変長にしたものとがあれば前者が優先されると思うのですが。
(試しにobjectの部分をstringに置き換えて実行すると前者が実行されました)
0618デフォルトの名無しさん
2011/06/14(火) 14:13:06.83[]が抜けてました。訂正します。
0619デフォルトの名無しさん
2011/06/14(火) 14:33:50.46string[] ss = new string[] { "hoge", "2", "3" };はobject型とobject[]型のどちらに近いと思う?
0620デフォルトの名無しさん
2011/06/14(火) 14:34:36.48object < object[] < string[]
0621デフォルトの名無しさん
2011/06/14(火) 14:37:07.080622デフォルトの名無しさん
2011/06/14(火) 14:51:30.64>>619
string[]はobject[]型のほうが近いと思いますが、それと可変長の方の関数が実行される事との間に繋がりが見えません。
>>620
test関数の一方は1つのobject型インスタンスを引数に取りもう一方は複数のobject型インスタンスを取る
与えた引数string[] ssは1つのobject型インスタンスなので前者の方がより詳細な方では無いでしょうか?
0623デフォルトの名無しさん
2011/06/14(火) 15:12:36.44{
Console.WriteLine("object[]");
}
と
public static void test(params object[] args)
{
Console.WriteLine("object[]");
}
がなぜ同じクラスに同時に存在できないか考えたことある?
0624デフォルトの名無しさん
2011/06/14(火) 15:29:24.55俺は使ったこと無い
0625デフォルトの名無しさん
2011/06/14(火) 15:32:38.69バグの元だろ
0626デフォルトの名無しさん
2011/06/14(火) 16:10:25.630627デフォルトの名無しさん
2011/06/14(火) 16:18:58.70昔からObject使うなってのが定説
0628デフォルトの名無しさん
2011/06/14(火) 16:24:24.110629デフォルトの名無しさん
2011/06/14(火) 16:25:00.31こえぇよ 何が入ってくるかわからないような代物
0630デフォルトの名無しさん
2011/06/14(火) 16:25:27.28何も知らない頃にやっちまった前科があるのは内緒だ
0631デフォルトの名無しさん
2011/06/14(火) 17:02:49.96少なくとも素のWindowsアプリのEXEは動いたよ
0632デフォルトの名無しさん
2011/06/14(火) 17:09:16.65すげーな
0633デフォルトの名無しさん
2011/06/14(火) 17:20:06.820634デフォルトの名無しさん
2011/06/14(火) 17:27:20.50素のアプリは、ね。
0635デフォルトの名無しさん
2011/06/14(火) 17:35:58.56最初のローダーが動かないよね
0636デフォルトの名無しさん
2011/06/14(火) 17:41:31.360637デフォルトの名無しさん
2011/06/14(火) 17:41:55.20wine入れないときはウインドウ系のエラーだった気がする
数か月前にちょこっとやった程度だが
0638デフォルトの名無しさん
2011/06/14(火) 20:12:36.93値は渡せても戻ってこないよ?
0639デフォルトの名無しさん
2011/06/14(火) 20:27:36.200640デフォルトの名無しさん
2011/06/14(火) 20:40:35.03ポインタになってないだけでした・・
0641デフォルトの名無しさん
2011/06/14(火) 20:41:56.320642デフォルトの名無しさん
2011/06/14(火) 20:44:51.090643デフォルトの名無しさん
2011/06/14(火) 20:49:13.78こきはC#スレです
MFCの話はトラウマなので忘れさせてくさい
0644デフォルトの名無しさん
2011/06/14(火) 21:11:51.410645デフォルトの名無しさん
2011/06/14(火) 21:22:34.86試してみた所、同じパラメータであると言われました。
object[]型を1つ取る関数とobject型を複数個取りobject[]型にまとめる関数は
意味的に別物だと思うのですが、これが同じものとして扱われるのは内部的な話なのでしょうか?
void test(object[] obj) { }
void test(params object[] args) { }
test(new string[]{1,2}); // 後者が呼ばれる。
void test2(string[] string) { }
void test2(params string[] args) { }
test(new string[]{1,2}); // 前者が呼ばれる。
やりたいことは別の手段で実現できたのですが、これが不思議で理由が知りたいです。
0646デフォルトの名無しさん
2011/06/14(火) 21:24:32.98void test2(string[] string) { }
void test2(params string[][] args) { }
test2(new string[]{1,2}); // 前者が呼ばれる。
0647デフォルトの名無しさん
2011/06/14(火) 21:25:20.77void test(object obj) { }
void test(params object[] args) { }
test(new string[]{1,2}); // 後者が呼ばれる。
0648デフォルトの名無しさん
2011/06/14(火) 21:57:52.80けどobjectには変換できる、よって後者が呼ばれる
0649デフォルトの名無しさん
2011/06/14(火) 22:04:33.51http://msdn.microsoft.com/ja-jp/library/ee207183.aspx
0650デフォルトの名無しさん
2011/06/14(火) 22:11:02.19ありがとうございます。配列は共変でないというのがよく分からないので調べてみます。
>>623について考えました。
int sum(params int[]) { }
int amount = sum(3, 8, 293, 29);
↑内部的にこの時点でint[]にまとめてからsum(int[])を呼び出すように
なっているので新たにint sum(int[]) { }を定義できないのではないかと思いました。
0651デフォルトの名無しさん
2011/06/14(火) 22:34:08.18失礼、「array-covariance」だけど「covariant」じゃないから通常の暗黙変換より優先度が低いってことで
0652617
2011/06/14(火) 22:46:26.67string[]→object[]というひとつのobjectには変換できないが
string[]→object, object,...には変換できるので>>647は後者が呼ばれるという理屈ですか?
試したところstring[]→object[]は変換できました。
0653デフォルトの名無しさん
2011/06/14(火) 22:55:19.99paramsが実際は普通に配列引数を取ってるってことは分かっただろ
0654デフォルトの名無しさん
2011/06/14(火) 22:57:12.22string[]→object[]は配列専用の特殊な変換だから優先度は上から4,5番目
0655617
2011/06/14(火) 23:01:52.52string[]が1つのobjectに変換されるのが最優先なら>>647は前者が呼ばれませんか?(>>647はnew stringの引数が少し変でした)
0656デフォルトの名無しさん
2011/06/14(火) 23:05:24.88public static void test(params object[] args)
が内部的には
public static void test(object[] args)
なのだから
public static void test(object arg)
public static void test(object[] args)
で
test(new string[]{ "a", "b" });
を呼んだ時どっちが呼ばれるべきか
>>622で「string[]はobject[]型のほうが近いと思う」と自分で言ってるだろ
その直感の通りだ
0657デフォルトの名無しさん
2011/06/14(火) 23:11:46.80http://msdn.microsoft.com/ja-jp/library/aa691339(VS.71).aspx
"パラメータ配列"という用語が謎だけど、これがparams付きの引数のことを指しているのなら、
paramsの有無で微妙に解釈が違うのかな。
paramsが付かない場合は"object[] is object"であっても逆は成立しないから
string[]⇒object[]が「より適切な変換」になるという理屈のようだ。
0658デフォルトの名無しさん
2011/06/14(火) 23:12:44.530659デフォルトの名無しさん
2011/06/14(火) 23:29:15.91なるほど・・
public static void test(object arg)
public static void test(object[] args)でtest(object[])を呼べば後者が呼ばれるのは分かります。
つまりpublic static void test(params object[] args)は
純粋にobject型の可変長対応版だけを実現しているのではなく、
test(object[] objs)という呼び出しも許容しているのですね。
スッキリしました。丁寧なレスありがとうございました。
0660デフォルトの名無しさん
2011/06/14(火) 23:48:53.600661デフォルトの名無しさん
2011/06/15(水) 00:01:48.65どっちも標準形式で呼べるからparamsは関係ない
0662デフォルトの名無しさん
2011/06/15(水) 00:07:16.70ちゃんと読んでる?
0663デフォルトの名無しさん
2011/06/15(水) 00:09:47.43WPFなダイアログのオブジェクトがガベコレされず操作を繰り返すとOutOfMemoryしてしまいます。
メモリリークが起こっていると思い以下のように調べたのですが、手詰まりになってしまいました。
どこか手順/ガベコレの理解が間違っているでしょうか?
0664デフォルトの名無しさん
2011/06/15(水) 00:11:54.92(HANDLE(STRONG)やHANDLE(PINNED)がなく、HANDLE(Weaksh)やHANDLE(Weaksl)だけになっていることを確認)
2.以下の処理を通過させてガベコレに強制的にお掃除させた上で1と再度同じ手順で確認
GC.Collecion();GC.WaitForCompleteFinalize();GC.Collecion();
1でGCハンドラ全てがWeakshになっていたことを確認したので
2で消えてくれそうな気がするのですが実際にはインスタンスは消えず残っています。
0665デフォルトの名無しさん
2011/06/15(水) 00:34:53.480666デフォルトの名無しさん
2011/06/15(水) 01:15:09.30何が不満かよく分からんが、1.1の言語仕様なんて見てないよ?
とりあえず>>657のリンクは適切かどうかだけで、複数該当した場合のことは書いてない
1.1仕様の「7.4.2.2 より適切な関数メンバ」は役に立たんので4.0の7.5.3.2を見ると、
>• The expanded form is used if the function member was applicable only in the expanded form.
ってあるんで拡張形式は排除される
つまりparamsの有無云々は間違い
で、「より適切な変換」を評価するが、両方暗黙変換可能なので存在しない
だから「より適切な変換」になるってのは間違い
最後に"object[] is object"だが、これはtie-breaking rulesに
>• Otherwise, if MP has more specific parameter types than MQ, then MP is better than MQ.
とあるから、7.4.2.3とは関係ないけど正しい
0667デフォルトの名無しさん
2011/06/15(水) 01:31:29.31どもです。GCHandle化されていない通常の参照があっても、その参照元をたどると
1.GCHandle or Stack上から参照されている
2.その参照自体がどこからも参照されていない
のどちらかで、1ならsosのgcrouteで検出可能、2なら対象インスタンスのGCを妨げないと思うのですが…
# ガベコレには不慣れなのですみません、間違っていたらご指摘ください。
0668デフォルトの名無しさん
2011/06/15(水) 02:05:27.59そっちこそ何がいいたいのか分からないけど、
void hoge(params T[] t){}
MSDNには、params付きの場合、このhogeにS[]を渡して呼べるかどうかは(S[]からT[]ではなく)
SからTへの暗黙の変換があればよいと書いてある。
これはTとSが参照型ならどっちでも恐らく同じことだが、どちらかが値型の場合は配列の共変が働かないから、
params付きとそうでないのでは意味が違ってくるはず。
言ってること変かな?
0669デフォルトの名無しさん
2011/06/15(水) 07:05:28.81で、stringは値型なの?
0670デフォルトの名無しさん
2011/06/15(水) 07:40:01.14Mediaplayerのインスタンスつくってからその再生音量を徐々に上げていく操作をしたくて以下のように書いたんだけど
~~
MediaPlayer mp =new MediaPlayer();
mp.Open(new Uri(@"〜〜〜"));
mp.Volume = 0;
mp.Play();
DoubleAnimation vol_up = new DoubleAnimation(0.1, 1, new TimeSpan(20000000));
mp.BeginAnimation(MediaElement.VolumeProperty, vol_up);
~~
再生自体は出来てるんだけど、どうにも音量が上がってる気配がない
何処を直したらいいのか教えていただきたい
0671デフォルトの名無しさん
2011/06/15(水) 08:00:21.90そもそも依存関係プロパティじゃないよ
0672デフォルトの名無しさん
2011/06/15(水) 09:04:26.48じゃあ自分で依存関係プロパティ定義しなくちゃだめ?
0673デフォルトの名無しさん
2011/06/15(水) 09:27:58.84{
Console.WriteLine("引数の数: {0}, 引数リストの型: {1}", x.Length, x.GetType().Name);
}
static void Main(string[] args)
{
// この2つは同じ意味。
// string → object への暗黙の型変換で動く。
F("aa", "bb", "cc");
F(new object[] { "aa", "bb", "cc" });
// これは別の意味。
// string[] → object[] への型変換(配列の共変性)で動く。
F(new string[] { "aa", "bb", "cc" });
}
0674デフォルトの名無しさん
2011/06/15(水) 09:29:46.99素直にMediaElement使えばいいだろ
0675デフォルトの名無しさん
2011/06/15(水) 09:41:53.960676デフォルトの名無しさん
2011/06/15(水) 09:50:42.700677デフォルトの名無しさん
2011/06/15(水) 10:16:49.83そうするわー
0678デフォルトの名無しさん
2011/06/15(水) 12:41:59.170679デフォルトの名無しさん
2011/06/15(水) 16:12:45.310680デフォルトの名無しさん
2011/06/15(水) 16:19:52.190681デフォルトの名無しさん
2011/06/15(水) 16:30:50.98WPFのパフォーマンス何て気にならなくなってるんでしょ?
0682デフォルトの名無しさん
2011/06/15(水) 16:37:46.920683デフォルトの名無しさん
2011/06/15(水) 17:08:42.07パフォーマンスが向上するって聞いたのに・・・
0684デフォルトの名無しさん
2011/06/15(水) 17:10:27.30さくっと表示されずにアニメーションされちゃうんですけど
さくっと表示するようにするにはどうすればいいでしょう?
0685デフォルトの名無しさん
2011/06/15(水) 17:11:15.73いい夢見れたか?
描画よりレイアウトエンジンが重い
0686デフォルトの名無しさん
2011/06/15(水) 18:06:50.49グラボで表示するけど余計なことまでやってるから結局パワーいるよね
0687デフォルトの名無しさん
2011/06/15(水) 18:15:03.15UI分離型のWinForms出してくれれば良かったんだよ
0688デフォルトの名無しさん
2011/06/15(水) 19:47:43.25外部のPCから自分のPCのデータベースが更新された時に
それをアプリに通知することってできますか?
ODBCはNOTIFY/LISTENをサポートしていないようなので。
0689デフォルトの名無しさん
2011/06/15(水) 20:03:04.320690デフォルトの名無しさん
2011/06/15(水) 20:04:52.71http://www.postgresql.jp/document/NPGSQL/api/Npgsql.NpgsqlConnection.Notification.html
0691デフォルトの名無しさん
2011/06/15(水) 20:31:12.02あることはなんとくなく把握してます。
やっぱりソケット通信とかで通知するのが無難なんでしょうか。
0692デフォルトの名無しさん
2011/06/15(水) 22:08:20.330693デフォルトの名無しさん
2011/06/15(水) 22:15:44.840694デフォルトの名無しさん
2011/06/15(水) 22:18:00.760695デフォルトの名無しさん
2011/06/15(水) 22:27:07.040696デフォルトの名無しさん
2011/06/15(水) 22:32:49.34それがメトロノームさんだよ
0697デフォルトの名無しさん
2011/06/15(水) 22:33:34.37マザーズ上場予定の東大発ベンチャー「このプログラムを書けたら即入社!」
http://hatsukari.2ch.net/test/read.cgi/news/1308135134/
0698デフォルトの名無しさん
2011/06/15(水) 22:38:22.790699デフォルトの名無しさん
2011/06/15(水) 22:46:10.560700デフォルトの名無しさん
2011/06/15(水) 22:50:06.15{
Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
g.Dispose(); ;
}
で描画できません
private void button1_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
g.Dispose(); ;
}
でbuttonを押すと描画されます
プログラムを起動したときに描画したいのでForm1_Loadに書いたのですが何故描画されないのでしょうか?
0701デフォルトの名無しさん
2011/06/15(水) 22:52:07.87Showだっけ?そこに書けば
0702デフォルトの名無しさん
2011/06/15(水) 23:06:54.04{
MessageBox.Show("Test");
Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
g.Dispose(); ;
}
って書いたら表示されました
でもMessageBox.Show("Test");を書かないと表示されません
0703デフォルトの名無しさん
2011/06/15(水) 23:12:24.63        private void Form1_Shown(object sender, EventArgs e)
        {
            Bitmap bmp = new Bitmap(400, 400, PixelFormat.Format32bppArgb);
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
                g.Dispose();
            }
            pictureBox1.Image = bmp;
        }
0704デフォルトの名無しさん
2011/06/15(水) 23:13:32.20総当たりで15!だから適当な評価関数をでっち上げてGAかな?
0705デフォルトの名無しさん
2011/06/15(水) 23:14:07.49その感覚はちょっとというかかなりVBerっぽいなw
0706デフォルトの名無しさん
2011/06/15(水) 23:15:51.55VBはほとんど書いたことがないんだな
まあdobonとか参考にして覚えた書き方なのであの辺の主がVBerなら
そこで感染したのかも
0707デフォルトの名無しさん
2011/06/15(水) 23:16:06.850708デフォルトの名無しさん
2011/06/15(水) 23:42:04.30厳密にいうと問題として成立してないような気もするけど、そこは突っ込んでは
駄目なんだろうなきっと。
まず任意の2つのピースを上下、左右に並べた場合の辺の不一致度のテーブルを作って、
それをもとに15のピースの順列の全部について全体の不一致度の総和を計算して
最小のものを選択するとか、そんなところか。
面倒なだけで高校生ぐらいでも書けそうだな。
0709デフォルトの名無しさん
2011/06/15(水) 23:45:53.41shownで表示されないのは何故なんでしょうか?
0710デフォルトの名無しさん
2011/06/15(水) 23:58:10.880711デフォルトの名無しさん
2011/06/15(水) 23:59:49.880712デフォルトの名無しさん
2011/06/16(木) 00:00:26.08http://www.atmarkit.co.jp/fdotnet/dotnettips/458picboxdraw/picboxdraw.html
0713デフォルトの名無しさん
2011/06/16(木) 00:01:35.55Paintだな
0714デフォルトの名無しさん
2011/06/16(木) 00:05:41.76.netのバージョンが原因ですかね
0715デフォルトの名無しさん
2011/06/16(木) 00:07:15.390716デフォルトの名無しさん
2011/06/16(木) 00:08:01.63書いても消えちゃうから。
一旦書いたら消えないようにするためには、書いた内容を記憶しておくメモリが
必用になるが、各コントロールがおのおのそんなものを持つのはメモリの無駄遣い。
だからWindowsでは、ウィンドウの隠れていた部分が表に出た時など、
再描画が必要になったタイミングでその都度描画するのが基本。
でその「再描画が必要になったタイミング」を通知するのがPaintイベント。
っていうか、この辺りは考えることじゃなくてMSDNとか読んで理解することだから
まず手を動かす前に黙って何か読んだ方がいいよ。
0717デフォルトの名無しさん
2011/06/16(木) 00:09:15.18http://www.dotup.org/uploda/www.dotup.org1702788.png
2.0、3.5、4.0全部同じ結果でした
0718デフォルトの名無しさん
2011/06/16(木) 00:15:20.15Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
g.Dispose(); ;
って書いてました
VC#起動に5分かかるので明日ためしてみます
おやすみなさい
0719デフォルトの名無しさん
2011/06/16(木) 00:56:47.09XPではウィンドウが後ろに隠れると消えてたけど、
Vista以降はそれぞれに画面持ってるから再描画かからないんじゃないかな。
コントロールレベルでは持ってないかもしれないけど
0720デフォルトの名無しさん
2011/06/16(木) 00:59:48.440721デフォルトの名無しさん
2011/06/16(木) 01:33:55.80いや再描画しないでしょ。画面がおかしくなっても復活しないし
0722デフォルトの名無しさん
2011/06/16(木) 04:17:07.81それエアロが有効かどうかで違った気がする
0723デフォルトの名無しさん
2011/06/16(木) 05:36:09.53久しぶりにピュアCでコーディングしたぜ。PPM読んでグレースケールにするまでいって力尽きたけど。
JSのオブジェクト指向っぽく書いてみたけど、ライブラリ組んでるときは苦痛だけど使うときはまー楽なこと。
6時間くらいかかったけど、いい経験になったなー。寝る。
0724デフォルトの名無しさん
2011/06/16(木) 07:48:40.36{
e.Graphics.FillEllipse(Brushes.Red, 50, 50, 100, 100);
//e.Graphics.Dispose();
}
でいけました
でもe.Graphics.Dispose();を実行するとApplication.Run(new Form1());のところでエラーが起こるのは何でですか?
0725デフォルトの名無しさん
2011/06/16(木) 07:50:47.91自分で作ってないGraphicsを勝手に破棄すればpictureBox1_Paintを呼んだ
ところへ戻ったときにそりゃこけるだろ
0726デフォルトの名無しさん
2011/06/16(木) 07:52:22.26disposeって必ず書かないといけないわけでもないのですね
0727デフォルトの名無しさん
2011/06/16(木) 07:55:08.53>>718のように自分で作った場合は責任を持って破棄するか
>>703のようにusingで囲えばg.Dispose()はなくてもいいけど
>>703の訂正版
private void Form1_Shown(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(400, 400, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(bmp))
{
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);
//g.Dispose();
}
pictureBox1.Image = bmp;
}
0728デフォルトの名無しさん
2011/06/16(木) 08:15:32.02private void MyMethod(MyClass myclass)
としてエンターキーで
private void MyMethod(MyClass myclass){
}
のように自動挿入されるようにできませんか?
以前何かのときでVBではEnd Sub的なものが自動挿入されてるのをどこかで見た記憶があるので
どこかの設定で出来るとは思うのですが・・・
0729デフォルトの名無しさん
2011/06/16(木) 08:19:21.89http://hibari.2ch.net/test/read.cgi/tech/1303092297/
0730デフォルトの名無しさん
2011/06/16(木) 08:20:24.590731デフォルトの名無しさん
2011/06/16(木) 08:36:54.77RichTextBoxの上でクリックするとPanelのほうでクリックイベントをキャッチすることはできるでしょうか?
0732デフォルトの名無しさん
2011/06/16(木) 08:53:49.96この流れで便乗質問。
PenオブジェクトやFontオブジェクト、GrarhicPathオブジェクトは、Disposeしたり、しなかったり、
いろんなケースを見ますが、Disposeが必要な基準って何ですか?
0733デフォルトの名無しさん
2011/06/16(木) 09:58:34.97ClassName = WindowsForms10.RichEdit20W.app.0.3ee13a2_r13_ad1
なぁにこれぇ
0734デフォルトの名無しさん
2011/06/16(木) 10:09:27.62必要なくなったら
ガーベジコレクションに回収されるのを待ってられない時のためにある
逆にガーベジコレクションされないであろうオブジェクトに対しては実行しない
例えばPensとか
0735デフォルトの名無しさん
2011/06/16(木) 10:11:23.940736デフォルトの名無しさん
2011/06/16(木) 10:47:01.89そもそもそのPanelは必要なの?
0737デフォルトの名無しさん
2011/06/16(木) 10:50:46.680738デフォルトの名無しさん
2011/06/16(木) 11:37:45.53RichTextBoxからイベントをキャッチしようとしたら
スクロールバーをクリックした場合イベントが拾えなかったので
パネルにいれてパネル側からキャッチしようとしました
0739デフォルトの名無しさん
2011/06/16(木) 19:41:10.170740デフォルトの名無しさん
2011/06/16(木) 19:42:16.64自分で(ユーザーコードで)作ったかどうか。
自分で作ったものは必ずDisposeが基本。
現実にはPenやFontなんかDisposeしなくても何も問題はないけどね。
0741デフォルトの名無しさん
2011/06/16(木) 19:50:21.46宿題は宿題スレ
0742デフォルトの名無しさん
2011/06/16(木) 21:19:45.80{
e.Graphics.FillEllipse(Brushes.Red, 50, 50, 100, 100);
}
これで○の部分だけをクリックしたら特定のイベントを実行したい
pictureBox1_Clickの場合だと○の部分ではなくてpictureBOx1の四角の範囲内でもイベントが発生してしまうので
何か良い方法ございませんか?
0743デフォルトの名無しさん
2011/06/16(木) 21:22:33.200744デフォルトの名無しさん
2011/06/16(木) 21:59:14.670745デフォルトの名無しさん
2011/06/16(木) 22:11:43.630746デフォルトの名無しさん
2011/06/16(木) 22:22:03.730747デフォルトの名無しさん
2011/06/16(木) 22:29:26.34それはマジ
まあ円の判定は楽だよね
シューティングゲームの円と点の当たり判定を利用すればいい
0748デフォルトの名無しさん
2011/06/16(木) 22:38:03.400749デフォルトの名無しさん
2011/06/16(木) 22:40:32.42本気で分からないなら人間止めた方がいいレベル
0750デフォルトの名無しさん
2011/06/16(木) 22:42:05.050751デフォルトの名無しさん
2011/06/16(木) 22:45:21.31数学で話をするよりゲームで話をした方がこういうのは入りやすいと思うんだが
マウスカーソルの位置と円のあたり判定
http://cs2ch.blog123.fc2.com/blog-entry-81.html
ここからコピー
            int x = System.Windows.Forms.Cursor.Position.X;
            int y = System.Windows.Forms.Cursor.Position.Y;
            int a = x - (this.Location.X + cx);
            int b = y - (this.Location.Y + cy);
            int cc = a * a + b * b;
            if (cc <= r * r)
            {
            }
            else
            {
            }
0752デフォルトの名無しさん
2011/06/16(木) 22:45:39.59点が円の中にあるかどうかは、円の中心からその点までの距離が半径以下かどうかで決まる。
2点間の距離の求め方が分からなければ中学から人生やり直しましょう。
0753デフォルトの名無しさん
2011/06/16(木) 22:46:20.260754デフォルトの名無しさん
2011/06/16(木) 22:47:48.81Region使ってもいいよ
0755デフォルトの名無しさん
2011/06/16(木) 22:49:04.85でもこれって中学くらいに習うんじゃなかったっけ?
なので数学になってるよね
小学校までが算数だったような
そういう意味ではないという突っ込みは無しで
0756デフォルトの名無しさん
2011/06/16(木) 22:49:15.160757デフォルトの名無しさん
2011/06/16(木) 22:50:35.89付属するようになったはずだから、あれを使えば何も考えなくてもできるでしょ
0758デフォルトの名無しさん
2011/06/16(木) 23:08:43.05どこか数字の設定の仕方がおかしかったりしますかね
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillEllipse(Brushes.Red, 0, 0, 100, 100);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
int cx = 50;
int cy = 50;
int r = 50;
int x = System.Windows.Forms.Cursor.Position.X;
int y = System.Windows.Forms.Cursor.Position.Y;
int a = x - (this.Location.X + 50);
int b = y - (this.Location.Y + 50);
int cc = a * a + b * b;
if (cc <= r * r)
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}
>>753先生のが奥義PointToClientで座標を取得しろということで
>>754先生のRegionはコメントを使えって意味でしょうか?#region 〜#endregionでコメントを書けという事でしょうか (?_?)?
>>756先生のカーソル位置っていうはなんだか自分でも出来そうな気がしますので数学コードで書いたら勉強で試してみたいと誓いました
>>757先生のを検索してみたのですがシェイプコントロールがよく分からずorz
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&tbs=lr%3Alang_1ja&q=c%23+%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB&aq=f&aqi=&aql=&oq=
0759デフォルトの名無しさん
2011/06/16(木) 23:15:29.14>シェイプ
ツールボックスの"Visual Basic PowerPacks"のカテゴリーの中にある。
今試してみたけど、期待する通りの動作をするよ
0760デフォルトの名無しさん
2011/06/16(木) 23:23:08.080761デフォルトの名無しさん
2011/06/16(木) 23:28:42.850762デフォルトの名無しさん
2011/06/16(木) 23:37:20.56Point location = new Point(0, 0);
Size size = new Size(100, 100);
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillEllipse(Brushes.Red, location.X, location.Y, size.Width, size.Height);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
int r = 50;
Point p = PointToClient(new Point(
Cursor.Position.X,
Cursor.Position.Y));
int x = p.X;
int y = p.Y;
int a = x - (location.X + size.Width/2);
int b = y - (location.Y + size.Height/2);
int cc = a * a + b * b;
if (cc <= r * r)
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}
}
0763デフォルトの名無しさん
2011/06/16(木) 23:39:50.63探す場所が違うのでしょうか・・・
ttp://uploader.sakura.ne.jp/src/up44638.jpg
0764デフォルトの名無しさん
2011/06/16(木) 23:41:58.68すごいです完璧です
ちょっとコードを読んでこれを勉強してみたいと思いました
0765デフォルトの名無しさん
2011/06/16(木) 23:50:25.19ttp://www.dotup.org/uploda/www.dotup.org1705321.png
0766デフォルトの名無しさん
2011/06/17(金) 00:02:58.74特にPointToClient(new Point(Cursor.Position.X, Cursor.Position.Y));
あとpictureBox1のLocationが(0, 0)じゃないと成立しないような
0767デフォルトの名無しさん
2011/06/17(金) 00:18:30.53form1のToolStripMenuItem_Clickを押したときに
form2のprivate System.Windows.Forms.ComboBox comboBox1に
.Items.Addしてから、form2を.ShowDialogしたいのですけれど
itemsを渡す方法って、
comboBox1はprivateなんで、designer.cs弄ってglobalにしちゃえっていう事以外で
どういうやり方がお勧めなんでしょうか?
0768デフォルトの名無しさん
2011/06/17(金) 00:24:13.770769デフォルトの名無しさん
2011/06/17(金) 00:26:05.87項目を引数に取ってそれを追加するメソッドをForm2に定義しておいてShowDialogする前に呼ぶのが簡単かな
0770デフォルトの名無しさん
2011/06/17(金) 00:39:43.150771デフォルトの名無しさん
2011/06/17(金) 10:39:11.65Form2の開き方で、微妙に変わってくる。
ShowDialogはモードレスで開くと言うことだから、一番シンプルで定型的。
dobonの.NET Tipsでも参考にしたら?
「別のフォームのデータを取得、設定する」
ttp://dobon.net/vb/dotnet/form/accessanotherformdata.html
ItemsのaddはForm2のLoadイベント中でやるのが簡単かも。
半年前に俺も同じこと躓いてたなぁ・・・・
0772デフォルトの名無しさん
2011/06/17(金) 10:41:09.61comboboxをクリックしたときにでてくるリストのサイズは変更できないのでしょうか?
項目で文字数が多いのがあるとちょんぎれて読めないです。
combobox自体のサイズを大きくすればいいのでしょうがレイアウト上むずかしくて、せめて選ぶときだけわかればいいなと思いまして。
0773デフォルトの名無しさん
2011/06/17(金) 10:47:07.11>ShowDialogはモードレスで開くと
「モーダル」の間違い。
0774デフォルトの名無しさん
2011/06/17(金) 10:49:09.25プロパティにあるよ
デザイン画面で見てみればすぐわかると思うけど
0775デフォルトの名無しさん
2011/06/17(金) 11:09:11.39マウスの自動クリックを試してみたくてとりあえずプログラムを作ってみたんですが
全く動かないんです
エラーが出るわけでもなく、ただ自動クリックをしてくれないんです
原因がさっぱり掴めないんです
Google先生にも色々聞いて試してみたんですがさっぱりで・・・
結局「緑のバイク ★ 初めてのC#」からのコピペがほとんどなんです
コードは全部乗せた方がいいかと思い外部リンクを選びました
こちらです
http://ideone.com/OmbhL
動作は3つです
button1 をクリックすると
SendINPUTを利用してbutton2をクリックするはずです
(これが動作しません)
button2 をクリックすると
textbox1に 成功 と入力します
button3はForm2を表示します
Form2はあらかじめ定めたスクリーン座標を
赤い丸で表示します
この赤い丸にbutton2を手動で合わせるためです
どこが悪いのか教えて頂けませんでしょうか?
0776デフォルトの名無しさん
2011/06/17(金) 13:33:10.130777デフォルトの名無しさん
2011/06/17(金) 14:06:52.49本当にありがとうございます
何の勘違いか左右間違えてました
動きました
ありがとうございます
ごめんなさい
恥ずかしいorz
0778デフォルトの名無しさん
2011/06/17(金) 14:22:26.64C#でblowfishを使いたいのですが、クラスとかないですか。。。
0779デフォルトの名無しさん
2011/06/17(金) 14:25:28.66http://www.bouncycastle.org/csharp/
0780デフォルトの名無しさん
2011/06/17(金) 14:45:55.28そういうライブラリありませんか?
0781デフォルトの名無しさん
2011/06/17(金) 14:50:36.470782デフォルトの名無しさん
2011/06/17(金) 16:55:03.35ありがとうございました。
使い方がよくわからない。。でも感謝!
0783デフォルトの名無しさん
2011/06/17(金) 16:55:43.40ありがとうございますた。
0784デフォルトの名無しさん
2011/06/17(金) 16:57:49.340785デフォルトの名無しさん
2011/06/17(金) 17:01:34.35次にプロジェクトの参照にCOMコンポーネントからShockwaveFlashObjectsを追加する。
こうするとShockwaveFlashObjectが使えるようになる。
あとはググれ。
デザイナで配置したい時は、メニューのツール→ツールボックスアイテムの選択→
COMコンポーネントタブのShockwaveFlashObjectにチェックを入れる。
0786デフォルトの名無しさん
2011/06/17(金) 17:06:00.54前スレか前々スレか良く覚えてないけど質問したときにコード載せたので使ってください
0787デフォルトの名無しさん
2011/06/17(金) 17:11:23.88結局うまくいかなかった記憶があるんだがw
0788デフォルトの名無しさん
2011/06/17(金) 17:11:34.790789デフォルトの名無しさん
2011/06/17(金) 17:34:56.35swfは投稿したコードで再生できますよ
0790デフォルトの名無しさん
2011/06/17(金) 18:00:27.67別の方法考えたほうがいい?
0791デフォルトの名無しさん
2011/06/17(金) 18:03:47.720792デフォルトの名無しさん
2011/06/17(金) 18:19:40.930793デフォルトの名無しさん
2011/06/17(金) 18:58:01.84&&や||でまとめられないか?と、switch
ifの意味毎に関数にまとめられるなら、まとめる
0794デフォルトの名無しさん
2011/06/17(金) 19:39:26.431000個も分岐があったら保守するときに死ぬぞ
0795デフォルトの名無しさん
2011/06/17(金) 20:02:51.130796デフォルトの名無しさん
2011/06/17(金) 20:21:28.940797デフォルトの名無しさん
2011/06/17(金) 20:22:19.520798デフォルトの名無しさん
2011/06/17(金) 20:28:57.490799デフォルトの名無しさん
2011/06/17(金) 22:13:09.140800デフォルトの名無しさん
2011/06/17(金) 22:28:39.850801デフォルトの名無しさん
2011/06/17(金) 22:45:07.81うげ。sleep使ってるから多分無理。ひまならデバッグしてみる??
0802デフォルトの名無しさん
2011/06/17(金) 22:47:55.18どうせ作るならhttp://msdn.microsoft.com/ja-jp/library/ms973091.aspx路線で行く
0803デフォルトの名無しさん
2011/06/17(金) 22:49:53.28一回の刻み感覚なんて少々ズレてもわからん
Sleep(1000)×10だから10秒とかは最悪
0804デフォルトの名無しさん
2011/06/17(金) 23:00:09.60MDXか。C#標準構成では難しいかな・・・。
うむー。
>>803
あー、累積してるかも試練。そこまで考えてなかった。
減算してないもんなー。なるほどね〜。
0805デフォルトの名無しさん
2011/06/17(金) 23:13:10.86ttp://www1.axfc.net/uploader/File/so/64694.zip&key=2ch
使い方は起動するだけ。
右クリックでリスタート、左クリックでコンフィグ。
拍の変調のようなものも対応してる気がする。
音声生成はソフトーク。編集はサウンドエンジン。
0806デフォルトの名無しさん
2011/06/17(金) 23:24:09.630808デフォルトの名無しさん
2011/06/17(金) 23:34:40.33・BPMのstringを他フォームにそのまま公開するのはカスの所業
・怪しいprivate setはいらん
・ガイドライン的にはIsOk→IsOK、BPM→Bpm
とか書けばいいの?
0809デフォルトの名無しさん
2011/06/17(金) 23:42:09.17IDとパスワードを盗むやつでしょ
そんなのに引っかかりませんよ^^
0810805
2011/06/17(金) 23:48:19.52初心者なのでそういう指摘も歓迎。
・DialogResultは知らなかった。
・BPMの扱いは迷ったんだどどこかでまとめて変換したかったんだ。不味いみたいだから改める。
・怪しいprivate setは無いと実体がないからとコンパイラさんに起こられたのでつけた。解決策がほかにあれば教えてほしい。
.・アッパーキャメルなのは癖だね。ガイドラインは呼んだことが無いので一度呼んでみようかな。
って言う感じで、ちょっと検索してくる。
>>809
君が頑張ればそういう機能もつけれるよ。
実行ファイル入ってないし、ソースついてるんだから自分で判断してくだちぃ。
一応、俺はそんな機能作ってない。といっておく。ふふ。
0811デフォルトの名無しさん
2011/06/18(土) 00:02:56.14まあForm1からしたら入力値がエラーなのにOKで閉じちゃうとか舐めてんのかって話になる
呼び出し元では挽回は出来ないから、ちゃんとチェックして解析済みの値を返さないと
あとコンパイルエラーになるのはpublic string BPM { get; }でしょ?
public String BPM { get { return textBox1.Text; } }は通るはず
0812805
2011/06/18(土) 00:26:56.76>>811
確かにもし複数人で開発してたら責任問題だよね。そかー。
あと、コンパイラさんに起こられた原因解った。
コーディング中に欲出してprivate set;も書いてたからだったみたい。
消したら確かにコンパイル通るね。これは参った。次から気をつけるよ〜。
さてさて、今日はこの辺で落ちますよ。
>>808 と >>811は大変勉強になったので感謝感激ですよ。
みなさまありがとう!!またこんどー。b><;
0813デフォルトの名無しさん
2011/06/18(土) 01:26:12.730814デフォルトの名無しさん
2011/06/18(土) 03:09:14.45どの辺がクソか書けばいいと思うよ。飯食って寝る。オヤスミ。
0815デフォルトの名無しさん
2011/06/18(土) 03:56:30.150816デフォルトの名無しさん
2011/06/18(土) 04:01:12.01どの辺がクソか書けばいいと思うよ。
0817デフォルトの名無しさん
2011/06/18(土) 04:16:42.85どの辺がクソか書けばいいと思うよ。
0818デフォルトの名無しさん
2011/06/18(土) 04:17:51.52どの辺がクソか書けばいいと思うよ。
0819デフォルトの名無しさん
2011/06/18(土) 04:19:32.02どの辺がクソか書けばいいと思うよ。
0820デフォルトの名無しさん
2011/06/18(土) 04:28:11.69どの辺がクソか書けばいいと思うほね」。
0821デフォルトの名無しさん
2011/06/18(土) 04:30:44.44どの辺がクソか書けばいいと思うよ。
0822デフォルトの名無しさん
2011/06/18(土) 04:31:06.15どの辺がクソか書けばいいと思うほね」。
0823デフォルトの名無しさん
2011/06/18(土) 04:31:54.53どの辺がクソか書けばいいと思うほね」。
0824デフォルトの名無しさん
2011/06/18(土) 04:45:08.53どの辺がクソか書けばいいと思うよ。
0825デフォルトの名無しさん
2011/06/18(土) 04:45:26.02どの辺がクソか書けばいいと思うよ。
0826デフォルトの名無しさん
2011/06/18(土) 05:32:12.22どの辺がクソか書けばいいと思うよ。
0827デフォルトの名無しさん
2011/06/18(土) 06:24:21.71どの辺がクソか書けばいいと思うよ。
0828デフォルトの名無しさん
2011/06/18(土) 06:24:40.74どの辺がクソか書けばいいと思うほね」。
0829デフォルトの名無しさん
2011/06/18(土) 06:33:56.67どの辺がクソか書けばいいと思うほね」。
0830デフォルトの名無しさん
2011/06/18(土) 06:35:03.65どの辺がクソか書けばいいと思うよ。
0831デフォルトの名無しさん
2011/06/18(土) 06:41:29.89頼んだぞ
0832デフォルトの名無しさん
2011/06/18(土) 07:17:18.300833デフォルトの名無しさん
2011/06/18(土) 07:18:18.380834デフォルトの名無しさん
2011/06/18(土) 09:49:25.420835デフォルトの名無しさん
2011/06/18(土) 10:14:03.220836デフォルトの名無しさん
2011/06/18(土) 10:16:26.060837デフォルトの名無しさん
2011/06/18(土) 10:18:45.960838デフォルトの名無しさん
2011/06/18(土) 12:22:26.220839デフォルトの名無しさん
2011/06/18(土) 12:26:13.55あ、あぼん報告乙ってのもあぼんしますから
0840デフォルトの名無しさん
2011/06/18(土) 12:29:38.96音楽の話はスレチ
838 名前:デフォルトの名無しさん[sage] 投稿日:2011/06/18(土) 12:22:26.22
D.C.
839 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
0841デフォルトの名無しさん
2011/06/18(土) 12:32:02.06あぼん報告も必死だなぁ
0842デフォルトの名無しさん
2011/06/18(土) 12:32:51.26こっちでまでやらんでいい
0843デフォルトの名無しさん
2011/06/18(土) 12:33:36.36何がそんなに悔しいの?
0844デフォルトの名無しさん
2011/06/18(土) 12:42:26.600845デフォルトの名無しさん
2011/06/18(土) 12:53:34.35C#との関連性が全く分からんぞ
メトロノームでも出現したのか?
0846デフォルトの名無しさん
2011/06/18(土) 12:59:56.070847デフォルトの名無しさん
2011/06/18(土) 13:05:11.38案内よろしく
0848デフォルトの名無しさん
2011/06/18(土) 14:11:00.490849デフォルトの名無しさん
2011/06/18(土) 14:14:36.92メトロノームのヤツはC#のスレでも質問してた荒らしだよ
676 名前:774ワット発電中さん[sage] 投稿日:2011/06/15(水) 23:52:11.07 ID:0TNdHaCT
質問したら荒らしって発想がすごい
677 名前:774ワット発電中さん[sage] 投稿日:2011/06/15(水) 23:53:54.26 ID:eh5h42zl [2/2]
みんな真面目に答えてたけどありがとうも何も言わないで
その後やたら「メトロノームの精度は何が一番高いんですか?」とか
単発で荒らしまくったからな。
ここも質問してバックレだろ
同じヤツだよ
678 名前:774ワット発電中さん[sage] 投稿日:2011/06/15(水) 23:56:56.01 ID:hQgFhj3Y
感謝されたいから回答してたなら君は2ちゃん合わないと思う
679 名前:774ワット発電中さん[sage] 投稿日:2011/06/16(木) 00:01:46.32 ID:KYqUnk4S
感謝も糞も何も言わないでバックレてその後で荒れてるんだから荒らしと見なされても仕方ないわな
なぁ、荒らしクン
680 名前:774ワット発電中さん[sage] 投稿日:2011/06/16(木) 00:17:05.67 ID:sdNV8TEj
感謝とか
知恵袋でも行ってろよ
681 名前:774ワット発電中さん[sage] 投稿日:2011/06/16(木) 01:02:45.98 ID:p1y0VJaI
感謝強盗乙
0850デフォルトの名無しさん
2011/06/18(土) 14:17:23.830851デフォルトの名無しさん
2011/06/18(土) 14:24:36.710852デフォルトの名無しさん
2011/06/18(土) 14:24:45.630853デフォルトの名無しさん
2011/06/18(土) 14:50:19.75歳いくつだろ。
0854デフォルトの名無しさん
2011/06/18(土) 15:00:44.82蓄積って何だよ
0855デフォルトの名無しさん
2011/06/18(土) 15:04:47.84PCのお手軽メトロノームなら、ある程度誤差があっても十分だよな
0856デフォルトの名無しさん
2011/06/18(土) 15:19:16.27東京メトロもヒットする
0857デフォルトの名無しさん
2011/06/18(土) 15:30:59.740858デフォルトの名無しさん
2011/06/18(土) 15:48:16.730859デフォルトの名無しさん
2011/06/18(土) 16:00:52.300860デフォルトの名無しさん
2011/06/18(土) 16:07:55.630861デフォルトの名無しさん
2011/06/18(土) 16:28:54.16だからね、ここの人はメトロノームの使い方が分かってないのwww
BPM120(0.5000秒)を1000回鳴らしたとき、500秒に限りなく近ければ正確だと思ってるの。
それじゃあ、タイマーかストップウォッチだてーのにw
0862デフォルトの名無しさん
2011/06/18(土) 16:34:18.40俺は普通に妥協しちゃうなー。
0863デフォルトの名無しさん
2011/06/18(土) 16:36:58.23あと地デジに関係があるとかないとか
0864デフォルトの名無しさん
2011/06/18(土) 16:47:56.850865デフォルトの名無しさん
2011/06/18(土) 17:12:12.320866デフォルトの名無しさん
2011/06/18(土) 17:40:39.45そうでもない。C#じゃなくてOSのカーネルの中とかまでゴニョゴニョするような代物だが、
Windows上で実測でJitter 12μsecで処理、という資料を見たことがある。
もっともIntelアーキテクチャもWindowsもそんな処理は想定していないから何かの拍子でアウトだがなw
0867デフォルトの名無しさん
2011/06/18(土) 18:02:33.220868デフォルトの名無しさん
2011/06/18(土) 18:11:31.20だからマイコンで出来るって話が出たんじゃないのかね
0869デフォルトの名無しさん
2011/06/18(土) 18:21:49.26>誤差は蓄積しないように出来るって何だよ
kwsk
0870デフォルトの名無しさん
2011/06/18(土) 18:28:55.18お前の持ってるメトロノーム並べて同時に動かしてみろよ。段々ズレてくのが分かるはず。
分からないならお前の耳と頭が腐ってる。
0871デフォルトの名無しさん
2011/06/18(土) 18:52:28.23それ大貫妙子
0872デフォルトの名無しさん
2011/06/18(土) 18:59:50.480873デフォルトの名無しさん
2011/06/18(土) 19:42:16.05WAV合成
0874デフォルトの名無しさん
2011/06/18(土) 19:47:30.75それって結局RTC使うってことなんだけどね。WindowsのGetTimeよりはマシかもしれないけど。
.netアプリでもUnsafe宣言したスレッドでRTCからの割り込みで動けたりしないのかな。
0875デフォルトの名無しさん
2011/06/18(土) 19:50:30.45でも、メトロノーム程度ならC+Win32で直接書いて良い気がするな
0876デフォルトの名無しさん
2011/06/18(土) 19:59:48.890877デフォルトの名無しさん
2011/06/18(土) 23:03:07.400878デフォルトの名無しさん
2011/06/18(土) 23:12:03.17機械式
アプリでメトロノーム作るのは、手軽に持ち歩けるとか、劣化しないとかの理由でしかない
0879デフォルトの名無しさん
2011/06/18(土) 23:19:29.24電子式はしらね。
アプリでメトロノームを組む意味は、特有のカチコチ音がしないので録音が出来るし、
パソコンで動画再生とかしながらタイミングを合わせていろいろできる。
0880デフォルトの名無しさん
2011/06/18(土) 23:26:34.930881デフォルトの名無しさん
2011/06/18(土) 23:34:15.630882デフォルトの名無しさん
2011/06/19(日) 00:43:38.700883デフォルトの名無しさん
2011/06/19(日) 00:56:47.61ソースどこー?
0884デフォルトの名無しさん
2011/06/19(日) 01:05:46.98メトロノーム
あ
お
0885デフォルトの名無しさん
2011/06/19(日) 07:23:21.540886デフォルトの名無しさん
2011/06/19(日) 10:39:07.38ファイルダイアログはhttp://dobon.net/vb/dotnet/form/openfiledialog.htmlのもので
ファイルダイアログを開いた上体でalt+1を押したらメッセージボックス1を表示
alt+2でメッセージボックス2を表示するみたいな漢字でショートカットを作りたいのです
0887デフォルトの名無しさん
2011/06/19(日) 11:08:40.59OpenFileDialogでフック設定できねー
0888デフォルトの名無しさん
2011/06/19(日) 11:52:30.880889デフォルトの名無しさん
2011/06/19(日) 12:18:06.87Application.EnterThreadModalでhWnd捕獲してNativeWindowに食わせれば
なんとかなるのでは?
なんかちょっと前にも同じこと書いた気がするが....
0890デフォルトの名無しさん
2011/06/19(日) 12:33:16.000891デフォルトの名無しさん
2011/06/19(日) 13:16:18.67秀丸の動作環境のファイルから開くのダイアログボックスの設定で秀丸ファイラーに設定します
それで秀丸でctrl+oでファイルダイアログを出します
その状態でalt+nを押すとファイル名を入力する枠にフォーカスが移り
alt+lを押すとファイルが並んでいるところにフォーカスが移ります
こういうことがやりたいんですが>>887->>889さんのやり方で出来るか調べてみます
0892デフォルトの名無しさん
2011/06/19(日) 13:21:08.040893デフォルトの名無しさん
2011/06/19(日) 13:21:27.27まだやってたのか
0894デフォルトの名無しさん
2011/06/19(日) 13:22:07.470895デフォルトの名無しさん
2011/06/19(日) 13:24:17.130896デフォルトの名無しさん
2011/06/19(日) 13:25:18.460897デフォルトの名無しさん
2011/06/19(日) 13:28:06.050898デフォルトの名無しさん
2011/06/19(日) 13:30:36.40初級者でも頑張れば大丈夫だろ
0899デフォルトの名無しさん
2011/06/19(日) 13:33:50.380900デフォルトの名無しさん
2011/06/19(日) 13:35:06.93普通に考えればネックありまくりなはずだと思うが....
自称上級者様はこれだからな
0901デフォルトの名無しさん
2011/06/19(日) 13:35:49.87ダイアログ呼び出す本体側とかさぁ
0902デフォルトの名無しさん
2011/06/19(日) 13:37:40.890903デフォルトの名無しさん
2011/06/19(日) 13:43:29.47シェルのコンテキストメニュー表示したりってのは>>891の実力だとフルスクラッチは厳しいと思う
探せば転がってると思うけど
0904デフォルトの名無しさん
2011/06/19(日) 13:48:04.200905891
2011/06/19(日) 13:49:22.45/ \
| |
.| |
.| ^ ^ |
| >ノ(、_,,)ヽ、 | < あまり私の実力を甘く見ないほうがいい
| ! -=ニ=- |
/`、 i `ニニ' /
__/ニヘ 「L__
__,,,,==ニニ三三ヘ.`¨¨¨¨´ ||三ニ==、__
/三三三三三rイ◯三ニ| \__,/ |三三三三ニ==、
_|三三三ニ/ `ーイニ三;;| ./三\ |三三三三三三;\
_|三三三=广 \. `i,j! }ニ;| \三/ :|三三三三三三三|
|三三三iく \ { /三=| :|三| |三三○三三三三;|
__/三三三|| \_}ー^三三三| |三;| |三三三三三三三;;|
/三三三三;|\__,リ三三三ニ| :|三;;| :|三三三三三三三;;;|
|三三三三三| /三三三ニ=;| |三ニ|:|三三三三三三三ニ;|
|三三三三三`==='三三三三三ニ| |三三||三三三三三三三三
0906デフォルトの名無しさん
2011/06/19(日) 13:50:11.67http://www.codeproject.com/KB/shell/csdoesshell1.aspx
0907デフォルトの名無しさん
2011/06/19(日) 14:29:47.400908デフォルトの名無しさん
2011/06/19(日) 14:40:47.590909デフォルトの名無しさん
2011/06/19(日) 14:44:44.80>>775のあたりに書いてある
0910デフォルトの名無しさん
2011/06/19(日) 14:51:04.52http://ideone.com/OmbhL使わせていただきます
0911デフォルトの名無しさん
2011/06/19(日) 16:20:00.900912デフォルトの名無しさん
2011/06/19(日) 16:24:16.820913デフォルトの名無しさん
2011/06/19(日) 16:34:15.08描画する部分が結構面倒くさい
カスタムドローはフォント返すだけなので楽
ただしWndProcでやらなければいけないのでそこに至るまでが面倒くさい
好きな方どうぞ
私はカスタムドローの方が好きです。お勧めはしませんが
0914デフォルトの名無しさん
2011/06/19(日) 16:38:37.130915デフォルトの名無しさん
2011/06/19(日) 16:43:01.060916デフォルトの名無しさん
2011/06/19(日) 16:44:28.770917デフォルトの名無しさん
2011/06/19(日) 17:22:36.270918デフォルトの名無しさん
2011/06/19(日) 17:40:47.68Win以外の。ですね
分かります
0919デフォルトの名無しさん
2011/06/19(日) 17:44:14.490920デフォルトの名無しさん
2011/06/19(日) 17:45:56.320921デフォルトの名無しさん
2011/06/19(日) 18:05:55.19↑のリストの中にブロックやらコインやらが入ってます。
で、例えばMapObjectを継承したCoinBlockにだけ特定の処理をしたい場合、
どうやってこのインスタンスはCoinBlockですっていう判別すればいいの?
instanceof演算子の代わりになるような物があれば教えて
0922デフォルトの名無しさん
2011/06/19(日) 18:08:44.100923デフォルトの名無しさん
2011/06/19(日) 18:10:18.430924デフォルトの名無しさん
2011/06/19(日) 18:10:26.95is
っていうか、var使って
0925デフォルトの名無しさん
2011/06/19(日) 18:15:42.67共有したいと思っています。
調べたり試行錯誤した結果、1つのContextMenuStripを両方のDropDownに設定すれば良さそうに見えました。
ToolStripMenuItemとしてプラグイン用に公開しており、互換性の観点からToolStripMenuItemとして
公開したまま共有したいと考えています。
いい解決策をご存知の方おられましたら、ご教示ください。
Visual C# 2010 Express Edition + .NET framework 4.0 で開発しています。
0926デフォルトの名無しさん
2011/06/19(日) 18:16:57.18何か良い方法無いですかね?
0927デフォルトの名無しさん
2011/06/19(日) 18:19:19.21何をいっているのかさっぱり分からないのはたぶん俺の側の問題ではないはず....
0928デフォルトの名無しさん
2011/06/19(日) 18:21:19.92分かりづらくてすいません。
フォームのメニューの中にドロップダウンメニューがあるのですが、
そのドロップダウンメニューをシステムトレイから開くコンテクストメニューからも
開けるようにしたい、というのが目的です。
0929デフォルトの名無しさん
2011/06/19(日) 18:22:28.38タスクトレイのContextMenuStripに提供しているToolStripMenuItemはプラグイン化されているので
これをフォームのMenuStripで使うにはどうしたらよいでしょうか
0930デフォルトの名無しさん
2011/06/19(日) 18:23:37.85そのフォームとタスクトレイって別プログラムなの?
0931デフォルトの名無しさん
2011/06/19(日) 18:24:24.26同じプログラムです。
0932デフォルトの名無しさん
2011/06/19(日) 18:27:36.850933デフォルトの名無しさん
2011/06/19(日) 18:27:46.16そのフォームのインスタンスが常に存在している前提なら、
システムトレイ側のコンテクストメニューが表示されるタイミングで
フォーム側のMenuItemのクローンを作ってAddする方法でよいのでは?
クローンはMemberwiseCloneで通常はOK。
これでイベントハンドラも共有できる。
0934デフォルトの名無しさん
2011/06/19(日) 18:30:21.08何とかなりそう助かったわ
クズどもありがとう
0935デフォルトの名無しさん
2011/06/19(日) 18:30:45.82一般的な意味ではなさそうだ。
0936デフォルトの名無しさん
2011/06/19(日) 18:34:06.95C#キモイな
0937デフォルトの名無しさん
2011/06/19(日) 18:39:00.54なんでそうなるw
0938デフォルトの名無しさん
2011/06/19(日) 18:41:57.65Cのアロー演算子よりまし。
でも>>とかにしてもらったほうがタイプしやすかったかもしれんとは思う。
0939デフォルトの名無しさん
2011/06/19(日) 18:51:06.02objects.OfType<CoingBlock>() とかもあるよ。
0940デフォルトの名無しさん
2011/06/19(日) 18:52:08.87なるほど、クローンを作ればいいですね。ありがとうございます。
>>935
機能を拡張するDLLを読み込めるように作っており、
それをプラグインと呼んでいました。一般的な意味とは異なるのでしょうか。
すみません。
0941デフォルトの名無しさん
2011/06/19(日) 18:57:25.65XML化後のスクレイピングで" "が削除できません教えてください
0942デフォルトの名無しさん
2011/06/19(日) 18:59:25.85sw.WriteLine(item.Value.Replace("&NBSP;","").Trim());
XML化後のスクレイピングで&NBSP;が削除できません教えてください
0943デフォルトの名無しさん
2011/06/19(日) 19:29:17.19nbsp が Unicode のU+00A0 1文字に置き換わってるとか、
大文字小文字が違うとか、
そんなのではなく?
Regex 使って RegexOptions.IgnoreCase して Replace
あと、同じく Regex で \s を消してみるとか。
0944デフォルトの名無しさん
2011/06/19(日) 19:32:54.650945デフォルトの名無しさん
2011/06/19(日) 20:08:09.49�d明日試してみるわ
0946デフォルトの名無しさん
2011/06/19(日) 20:12:21.78どうもです
難しいんですね
0947デフォルトの名無しさん
2011/06/20(月) 11:35:45.57フォームにwebbrowser1を配置しました
右下のプロパティの所でurlにabc.htmlを書いたのですが表示出来ませんでした
プロジェクト内に置いたabc.htmlを読み込んで表示する方法をご教示お願いします
0948デフォルトの名無しさん
2011/06/20(月) 11:38:03.19フルパスで書いてください
0949デフォルトの名無しさん
2011/06/20(月) 11:43:00.80頭にres://って書かないほうがよかったんですね
0950デフォルトの名無しさん
2011/06/20(月) 11:45:29.560951デフォルトの名無しさん
2011/06/20(月) 11:48:16.030952デフォルトの名無しさん
2011/06/20(月) 11:57:15.88ありがとうございます行き詰ったらここで勉強させて頂きます
0953デフォルトの名無しさん
2011/06/20(月) 12:27:22.860954デフォルトの名無しさん
2011/06/20(月) 12:30:40.240955デフォルトの名無しさん
2011/06/20(月) 12:39:23.92button1を押したらプロジェクト内に置いたa.htmlを表示して
button2を押した時にa.htmlの特定のDOMを書き換えて表示したいのですが
butoon2を押した時にa.htmlに上書きする形で全部書き直して表示するという方法は思いついたのですが
実行するたびに書き直すのは効率が悪いような感じもありまして、次に起動したときにa.htmlの内容が変わってしまうという
理想としてはもしくはstring html="html文書の内容";みたいにして
c#側でhtmlを生成して(htmlファイルを作らない)表示する方法がございませんか?
0956デフォルトの名無しさん
2011/06/20(月) 12:39:34.88しゃべるのと打つのじゃ別?
0957デフォルトの名無しさん
2011/06/20(月) 12:46:37.40http://msdn.microsoft.com/ja-jp/library/system.windows.forms.webbrowser.documenttext%28v=vs.80%29.aspx
0958デフォルトの名無しさん
2011/06/20(月) 13:09:45.09using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HtmlRenshuu17
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.DocumentText = "<html><head><script src=\"test.js\"></script></head><body><p>teset</p></body></html>";
}
}
}
フォルダ内に置いたtest.js(中身はalert(1);のみ)を読み込みたいのですが
実行したらこのページのスクリプトでエラーが発生しましたとでます
スクリプトを読み込まない場合はエラーはなくhtmlが表示できます
webサーバ上で同じhtml文書を開いた場合も確認しましたがエラーは出ませんでした
アドバイスをお願いいたします
0959デフォルトの名無しさん
2011/06/20(月) 13:11:36.790960デフォルトの名無しさん
2011/06/20(月) 13:36:34.20webBrowser1.DocumentText = "<html><head><script src=\"c:/test.js\"></script></head><body><p>teset</p></body></html>";
とやってみたのですが同じエラーがでます
0961デフォルトの名無しさん
2011/06/20(月) 13:49:30.010962デフォルトの名無しさん
2011/06/20(月) 13:56:18.480963デフォルトの名無しさん
2011/06/20(月) 14:28:25.280964デフォルトの名無しさん
2011/06/20(月) 14:29:24.67http://ameblo.jp/norixp/entry-10013046111.html
というページがでてきた
0965デフォルトの名無しさん
2011/06/20(月) 14:46:12.960966デフォルトの名無しさん
2011/06/20(月) 14:48:57.730967デフォルトの名無しさん
2011/06/20(月) 15:05:01.970968デフォルトの名無しさん
2011/06/20(月) 15:05:03.19using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HtmlRenshuu25
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
HtmlDocument doc = webBrowser1.Document;
if (doc == null) MessageBox.Show("エラー1");
HtmlElement jsElem = doc.CreateElement("SCRIPT");
jsElem.SetAttribute("type", "text/JavaScript");
jsElem.SetAttribute("src", "file:///c:/test.js");
if (doc.Body == null) MessageBox.Show("エラー2");
doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
}
}
}
>>963-966ありがとうございます
こう書いてみましたが同じエラーが出ます
0969デフォルトの名無しさん
2011/06/20(月) 15:27:37.54HtmlDocument doc = webBrowser1.Document;
if (doc == null) return;
HtmlElement jsElem = doc.CreateElement("SCRIPT");
jsElem.SetAttribute("language", @"JavaScript");
jsElem.SetAttribute("type", @"text/JavaScript");
jsElem.SetAttribute("src", "http://localhost/hoge.js");
if (doc.Body == null) return;
doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
0970デフォルトの名無しさん
2011/06/20(月) 15:31:42.85ドライブレターのコロンは問題出るのかも
0971デフォルトの名無しさん
2011/06/20(月) 15:33:53.89webBrowser1_DocumentCompleted()に書いたけどな。
0972デフォルトの名無しさん
2011/06/20(月) 15:34:52.21HtmlDocument doc = webBrowser1.Document;
if (doc == null) return;
System.IO.Directory.SetCurrentDirectory(@"C:\");
HtmlElement jsElem = doc.CreateElement("SCRIPT");
jsElem.SetAttribute("language", @"JavaScript");
jsElem.SetAttribute("type", @"text/JavaScript");
jsElem.SetAttribute("src", "file:///hoge.js");
if (doc.Body == null) return;
doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
0973デフォルトの名無しさん
2011/06/20(月) 15:38:28.29private void button1_Click(object sender, EventArgs e)
{
webBrowser1.DocumentText = "<html><head></head><body><p>test</p></body></html>";
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument doc = webBrowser1.Document;
if (doc == null) return;
System.IO.Directory.SetCurrentDirectory(@"C:\");
HtmlElement jsElem = doc.CreateElement("SCRIPT");
jsElem.SetAttribute("language", @"JavaScript");
jsElem.SetAttribute("type", @"text/JavaScript");
jsElem.SetAttribute("src", "file:///test.js");
if (doc.Body == null) return;
doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
}
0974デフォルトの名無しさん
2011/06/20(月) 15:56:04.05>>970さんありがとうございます。コロンは問題があるのですね。メモに書いておきました。
>>972さん>>973さんありがとうございます。試してみたのですがフォームのソースは<html><head></head><body><p>test</p></body></html>
で当方ではscriptが追加されているところを残念ながら確認できませんでした。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument doc = webBrowser1.Document;
if (doc == null)
{
MessageBox.Show("11111111");
return;
}
System.IO.Directory.SetCurrentDirectory(@"C:\");
HtmlElement jsElem = doc.CreateElement("SCRIPT");
jsElem.SetAttribute("language", @"JavaScript");
jsElem.SetAttribute("type", @"text/JavaScript");
jsElem.SetAttribute("src", ".file:///test.js");
if (doc.Body == null)
{
MessageBox.Show("2222222222");
return;
}
doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText = "<html><head></head><body><p>test</p></body></html>";
}
0975デフォルトの名無しさん
2011/06/20(月) 15:57:07.37private void Form1_Load(object sender, EventArgs e)ではなくて
private void Form1_DoubleClick(object sender, EventArgs e)です
0976デフォルトの名無しさん
2011/06/20(月) 16:12:48.060977デフォルトの名無しさん
2011/06/20(月) 16:14:49.43test.jsの内容は
window.onload=function(){alert(1);}なのですが実行されません
0978デフォルトの名無しさん
2011/06/20(月) 16:15:46.20だけにしてみそ。
0979デフォルトの名無しさん
2011/06/20(月) 16:19:06.42doc.GetElementsByTagName("HEAD")[0].InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);
としてみそ
0980デフォルトの名無しさん
2011/06/20(月) 16:30:23.34DocumentText弄っても、そのタイミングでOnLoadは発生しないと思うんだ
0981デフォルトの名無しさん
2011/06/20(月) 16:40:03.44alert(1);に書き換えてました。
doc.GetElementsByTagName("HEAD")[0].InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, jsElem);としても実行されませんでした
0982デフォルトの名無しさん
2011/06/20(月) 16:57:01.890983デフォルトの名無しさん
2011/06/20(月) 16:59:42.720984デフォルトの名無しさん
2011/06/20(月) 20:00:57.63C#でインターネット(ネットワーク)を勉強したいんだけど
おすすめの本教えて!エロイ人!
0985デフォルトの名無しさん
2011/06/20(月) 20:16:41.36OSI参照モデルとかでググれば
0986デフォルトの名無しさん
2011/06/20(月) 20:55:18.01ないのか!
OSI参照モデル・・・・・難しそうだorz
レスとんくす
0987デフォルトの名無しさん
2011/06/20(月) 20:57:48.06Socketが一番低レイヤーだからSocket使えるなら基本的に何でもできる
0988デフォルトの名無しさん
2011/06/20(月) 21:40:15.240989デフォルトの名無しさん
2011/06/20(月) 21:42:17.810990デフォルトの名無しさん
2011/06/20(月) 21:53:01.95memcached何かのソース見ても
0991デフォルトの名無しさん
2011/06/20(月) 23:55:31.68結構時間かかった・・・
0992デフォルトの名無しさん
2011/06/21(火) 09:09:49.62絶対現場主義VisualC#実践講座 Webアプリケーション編―開発の現場から生まれた実践テクニック&TIPS集
とか、どうだろうか?
0993デフォルトの名無しさん
2011/06/21(火) 09:48:06.46俺はそれで結構わかった。
0994デフォルトの名無しさん
2011/06/21(火) 12:12:18.59コンマを消したいのですが消えません
0995デフォルトの名無しさん
2011/06/21(火) 12:30:26.16何呼んでるか知らんけど、trim系は先頭か末尾だぞ
0996デフォルトの名無しさん
2011/06/21(火) 14:03:48.99おおサンクス、頭働かんかったわ、�d
0997デフォルトの名無しさん
2011/06/21(火) 14:43:54.70デスマもほどほどにな・・・
0998デフォルトの名無しさん
2011/06/21(火) 15:52:49.32http://hibari.2ch.net/test/read.cgi/tech/1308639127/
0999デフォルトの名無しさん
2011/06/21(火) 15:56:50.961000デフォルトの名無しさん
2011/06/21(火) 16:00:55.79{
Ore.Onanie();
Ore.life = Ore.life - 1
if (life == 0)
{
technobreak;
}
}
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。