トップページ⇒tech
1001コメント280KB

ふらっとVisual C#,C♯,C#(初心者用) Part105

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2013/06/23(日) 09:41:13.50
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part104
http://toro.2ch.net/test/read.cgi/tech/1366503422/
関連スレ
C#, C♯, C#相談室 Part79
http://toro.2ch.net/test/read.cgi/tech/1363632378/

コード貼るなら↓使ってください
http://ideone.com/
0002デフォルトの名無しさん2013/06/23(日) 14:41:51.41
>>1
乙乙
0003デフォルトの名無しさん2013/06/24(月) 20:41:32.83
HttpUtility.UrlEncodeって' 'を'+'に変えないの?
これって結構問題の元だったりする?
0004デフォルトの名無しさん2013/06/25(火) 00:48:44.68
はい?

http://msdn.microsoft.com/ja-jp/library/4fkewx0t.aspx
>UrlEncode メソッドは、各空白文字をプラス記号 (+) に変換します。
0005デフォルトの名無しさん2013/06/26(水) 08:42:53.74
どうやればアドレスを渡してキャストすることができるか分かりません。教えてもらえませんか?

private delegate int EnumWindowsDelegate(IntPtr hWnd, int lParam);
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int EnumWindows(EnumWindowsDelegate lpEnumFunc, int lParam);
----

IntPtr[] ahWnd = new ahWnd[0];  //←これをコールバックに渡したい

EnumWindows(new EnumWindowsDelegate(delegate(IntPtr hWnd, int lParam)
{
 IntPtr[] ahWndTmp = (IntPtr[])lParam;   //←ここで指定する方法が分からない

 //配列に追加
 Array.Resize(ref ahWndTmp, ahWndTmp.Length + 1);
 ahWndTmp[ahWndTmp.Length - 1] = hWnd;
 }
 return 1;
}), (int) ahWnd);  //←ここで指定する方法が分からない
0006デフォルトの名無しさん2013/06/26(水) 08:55:20.66
質問です。

http://ameblo.jp/vcplusplusnote/entry-10205262635.html
こういう事をやりたいのですが、これだと上層のmenu内全部が対象になります。
これを同一menu内のセパレーターで区切ったブロック毎に行うスマートな方法ありますか?

現在は上記の方法でなく、if文でmenuの数だけ処理する野暮ったい事になってます。

よろしくお願いします。
0007デフォルトの名無しさん2013/06/26(水) 09:00:21.89
EnumWindowsの第2引数はポインタ型だ
ていうか別にわざわざlParam経由させんでも
適当にフィールドなりローカル変数なりにList<IntPtr>置いといてそれにAddしていけばいいだろ

あと渡すデリゲートは一旦ローカル変数に取り出しておいて
EnumWindows終わった後でGC.KeepAliveしとけ
0008デフォルトの名無しさん2013/06/26(水) 09:12:04.75
>>6
var group1 = new ToolStripMenuItem[]{ item11, item12,.. };
var group2 = new ToolStripMenuItem[]{ item21, item22,.. };
...

みたいに配列を持っといて

private void dropDown_ItemClicked( object sender, ToolStripItemClickedEventArgs e )
{
 if( group1.Contains( e.ClickedItem ) )
 {
  ...
 }
 else if( group2.Contains( e.ClickedItem ) )
 {
  ...
 }
}

ってやるとか。
0009デフォルトの名無しさん2013/06/26(水) 09:26:38.63
>>5
var lst = new List<IntPtr>();

EnumWindows( ( hwnd, lParam ) =>
{
 lst.Add( hwnd );
 return 1;
}, IntPtr.Zero );


じゃあかんのか?
ローカルなデリゲートのメモリ上の位置って移動したっけ?
スコープ抜けるまでは有効なんじゃね?
0010デフォルトの名無しさん2013/06/26(水) 09:29:13.02
>>7
>EnumWindows終わった後でGC.KeepAliveしとけ

終わった後にGC.KeepAliveするの?
0011デフォルトの名無しさん2013/06/26(水) 09:40:31.48
>>7,9
ありがとう!まさかローカル変数にアクセスできる(ただしout変数にはアクセス出来ない)とは・・・C#楽すぎる
0012デフォルトの名無しさん2013/06/26(水) 09:59:56.10
>>9
> ローカルなデリゲートのメモリ上の位置って移動したっけ?
移動どころかファイナライズされうる。
マーシャリングでポインタに変換された後はマネージから参照されないからGC対象になる。
アンマネージ実行中にGCが走るとあぼーん。

>>10
GC.KeepAliveは「このオブジェクトはここまで使用中だから勝手に消すなよ」ってマーク。
0013デフォルトの名無しさん2013/06/26(水) 10:16:54.92
>>8
ありがとうございます
そのままだと自分の状態ではエラーが出たので、
イベントハンドラ内に配列を入れて、

private void dropDown_ItemClicked(object sender, EventArgs e)
{
 if( group1.Contains(sender))
 {
  ...
 }
 if( group2.Contains(sender))
 {
  ...
 }
}
としたところ、正常に使えました
まだ何もわかってないので、なんでエラーが出たのか分からないですが、自分の変更が間違ってないならこれで行きつつ、エラーの原因しらべて勉強します。

配列でグループ分けしつつ・・・というのは想像が付いたのですが、実現する方法を理解してませんでした。
勉強になりました。
ありがとうございました。
0014デフォルトの名無しさん2013/06/26(水) 11:10:19.77
EnumWindowsのような同期型のコールバックの場合は
GC.KeepAliveは不要だな。
0015デフォルトの名無しさん2013/06/26(水) 11:43:41.83
GCが完全バックグラウンド処理になるのはいつですか?
今のままじゃC++に勝てない
0016デフォルトの名無しさん2013/06/26(水) 11:52:13.64
並列(バックグランド)GCで無いほうが
スループットは向上するよ。
0017デフォルトの名無しさん2013/06/26(水) 12:21:00.21
というか、誰が勝とうとしてるの?
お前?
0018デフォルトの名無しさん2013/06/26(水) 12:24:57.55
今は広い部屋があるんだから
ゴミの片付けなんかしないで
作業に集中しなさい。
ゴミで部屋がいっぱいになったら
そのときに初めて片付ければ良いでしょ。
0019デフォルトの名無しさん2013/06/26(水) 12:25:36.30
シープラプラ トモダチ コワクナイヨ
0020デフォルトの名無しさん2013/06/26(水) 12:28:20.10
15の理想どおりに動いたとして
並んでも勝ちはしないだろ
生産性のために払った代償でもあるしな
0021デフォルトの名無しさん2013/06/26(水) 12:32:09.01
並んだら生産性の分で勝ちになる
0022デフォルトの名無しさん2013/06/26(水) 12:36:06.18
代償ってのは両方取れないって意味だ
並ぶなら生産性が疎かになるだろう
0023デフォルトの名無しさん2013/06/26(水) 13:28:05.32
IME が ON のとき、Ctrl+F10(デフォルトではIMEメニュー表示)を、
IMEより先に取得して、imeのメニューを出さずに、プログラム側で取得するようにする方法はありますか?
SystemCmdKeyより先にフックされてしまうようで、うまくとれません。
WindowsMessageでできるのかもしれませんが、いまいちやりかたがわかりません・・。
Windows7 標準のIME です。
0024デフォルトの名無しさん2013/06/26(水) 16:20:03.36
23です。
すいません、書き間違いがありました。
× SystemCmdKey
○ ProcessCmdKey
よろしくお願いします。
0025デフォルトの名無しさん2013/06/27(木) 04:51:23.99
System.Xml.XmlReaderを使ってRSSを読もうとしたのですが、System.ServiceModel.Syndication.SyndicationFeedでエラーが出ます

using (System.Xml.XmlReader xdr =
System.Xml.XmlReader.Create("RSSのURL"))
{
System.ServiceModel.Syndication.SyndicationFeed feed =
System.ServiceModel.Syndication.SyndicationFeed.Load(xdr);
}

System.Xml.XmlException はハンドルされませんでした。
Message=名前 'RDF' と名前空間 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' が指定された要素は、フィードの形式を許可されていません。

どうすれば読むことができるのでしょうか。よろしくおねがいします
0026デフォルトの名無しさん2013/06/28(金) 19:56:51.72
簡単に言えば

「RSSの規格が古くて読めねえよ」

ってことです。
RDFが出てくるのはRSS1.0だけど、SyndicationFeedが対応してるのはRSS2.0とAtom1.0だから。
SyndicationFeed使っている限り、世界が滅亡するまで待っても読めないので
他の方法を探しましょう。私は知りません。
0027252013/06/29(土) 11:35:22.52
>>26
ようやく悩みがとけました。
xmlで処理していくしかなさそうですね
丁寧な解説ありがとうございました。
0028デフォルトの名無しさん2013/06/30(日) 12:14:25.82
HttpWebRequest/HttpWebResponse でファイルをダウンロードする場合、
byte[]をバッファーにしてFileStreamに書き込むわけですが、
今の時代(のPC性能とネットワーク速度)に適切なバッファーサイズってどのくらいなんでしょうか?
0029デフォルトの名無しさん2013/06/30(日) 12:15:17.58
今の時代でもネットワーク速度なんてピンきりなんですから一言では言えないと思いますが
0030デフォルトの名無しさん2013/06/30(日) 12:23:19.03
あとTCPに関しては送受信単位はTCPウィンドウで指定されるので
そこで指定するバッファのサイズと一致しない
0031デフォルトの名無しさん2013/06/30(日) 12:24:42.88
8192がいいよ
0032デフォルトの名無しさん2013/06/30(日) 12:44:38.67
数十KBとっとけよ
0033デフォルトの名無しさん2013/06/30(日) 17:43:52.36
大きいとプログレスバー等に通知する場合ガタガタになるという
0034デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ファイル閉じるときは
CloseするのかDisposeするのか
どちらが正解ですか?
0035デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
Streamから派生している場合CloseとDisposeは等価(であるべき)

まあusingを使え
0036デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
CloseしてからDispose
0037デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
Closeは中でDispose呼ぶだろ
0038デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
それはアプリ終了時に〜だからDisposeしなくていいだろって言うようなもの
0039デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
全然違うし
using使えでFAですし
0040デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
意味論的に正しいのはCloseだと思う
Dispose の本来の目的は、自分自身が責任をもつリソースの処分
0041デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
Close=DisposeはMSがマニュアルに明記してる上、
usingを使った方法も説明されているから問題ない
ただ意味的にって話なら、usingなしの単独の場合は
Closeを使ったほうがいいだろうな
0042デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
精神衛生上はCloseが良いかと
0043デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
IDisposable実装してるクラスはとにかくusingって覚えてるけどマズイの?
0044デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
寿命が単一メソッド内に収まらないとか間々ある
0045デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
オープンした状態のReaderなりWriterをメンバーとして保持してるクラスは、
そのReaderなりWriterをusingで囲むわけにはいかない
0046デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
あたりまえだろハゲ
リソース解放の責任がどこにあるかというだけ
0047デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ファイルとかdisposeしないとファイルが使用中になってたような
0048デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
あたりまえだろハゲ
ファイルハンドル握ってんだよ
0049デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ハゲてないよ
0050デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ステータスを外部に依存するメンバ変数ってどうなのよ
0051デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
なにいってんだハゲ
そういうリソースをメンバに持ってるクラスこそIDisposableを実装すんだろが
0052デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
エクセル操作に関して

double型からRange型への変換方法を知っている方がいたら教えてください
0053デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
それは変換するもんじゃなくて設定するもんだと思うが
やりたいことは具体的に
0054デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
エクセルの値を読み込み
ある関数で計算する
その計算結果をエクセルに出力させる
というプログラムです。

設定するものなのですか。
調べます、ありがとうございます。
0055デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ICカードを扱う無料の.NETライブラリありますか?
0056デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>54
少しも具体的ではないよ
0057デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>56
具体的でなくてすみません
ユーザー設定の仕方がいまいちわからず
別の方法を探していました

CSVで出力すれば良いとわかったので
解決しました

ありがとうございます
0058デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ユーザー設定というキーワードが出てきたけど…
0059デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
設定で数値の型を無理やり変えることができる
と思ったのですができませんでした
0060デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
VBAの方が早そうな気が
0061デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
VBAが良かったのですがC#で作れとの命令だったのでした
あしからずorz

エクセルデータを読み込んで、double型の関数で計算
その計算結果をCSVに出力後、gnuplotでグラフ描いて終わり

プログラムは完成して納期に間に合わせることができます
アドバイスくれた方々に感謝です
0062デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
どんなグラフ書いてるか知らんが、EXCELだけで完結する気がするが
わざわざC#で作ってぼったくりか
0063デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
なんちゃら理論で3Dのグラフを描くらしいです
頼まれたのはコンソール版でのファイル入出力部分
最終的にはwindowsアプリケーションにしたいと言われています
0064デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
話ずれるけどofficeもVBAじゃなくてC#で書けるようにならんかねー
0065デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
Cでしかやったことないけど、間接的にC#でも書けると思う
コントロール作って、フォームに貼り付ける形にしたりVBAから呼び出したり、
officeのコントロールを叩いてWindowsフォームアプリからoffice呼び出す形にする
グラフの描画だけしたいならchartコントロールで。ただこのコントロールは非常に使いにくいw
0066デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
そして次にお前は Excel が入っていないPCで動かないじゃないか!! と言う
0067デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
VBA使わずにC#アプリでOfficeを制御する派
今のVBAってまだVB6なん?
0068デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>62-63
むしろそれエクセル要らねえな
0069デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>68
同意
0070デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
Form閉じた後に、別スレッド上からInvokeメソッドで呼び出すとObjectDisposedExceptionが投げられます
WebBrowserクラスを派生して非同期でデータをダウンロードするようにしているのですが、どのように対処すればいいですか?
0071デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>70
根本的に設計が汚い。
この際だから依存関係逆転ぐらい覚えよう。
要するにイベントを使う
0072デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
行番号を表示させようとしてます

int lineSpacingPixel = (int)Math.Round(font.GetHeight(g),0);
for (int i = 1; i <= lastLine + 1; i++)
{
g.DrawLine(p,
new Point(myPictureBox.Width - 5, (int)(lineSpacingPixel * (i + 1))),
new Point(myPictureBox.Width, (int)(lineSpacingPixel * (i + 1)))
);
}

これをフォントと重ね合わせると基本的にはうまくいくんですが、
フォントによっては改行するごとにズレが生じる事があります

行間を取得する方法として何かまずいんでしょうか
0073デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>70
Invokeする前にIsHandleCreatedやIsDisposedプロパティでハンドルが生きてるか確かめる
0074デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
で、確かめた後InvokeするまでにFormが閉じられて死ぬ未来が見えました
0075デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
try
catch
で握り潰せばいいと思う
0076デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
根本的に作りが腐ってると思う
0077デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
というか、Invokeでやりたい処理ってなんだよ
握りつぶしていい処理ならそもそもやらんでいいかも知れんぞ
0078デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
根本厨つてどこにでもいるなw
007970 忍法帖【Lv=2,xxxP】(3+0:5) 2013/07/04(木) NY:AN:NY.AN
ありがとうございます、間違ってるかもしれませんが、
WebBrowserクラスのDisposedイベントでスレッドが動いてたらAbortすれば動くようになりました

>>77
外部クラスのログをFormのテキストボックスに表示させたかったんです
0080デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
よかった、これで解決ですね
0081デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
へえC#でExcel扱えるのか
0082デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
Windows上ならExcel扱えない言語のほうが珍しい
0083デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
人類の夢だからな
0084デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
Appication.Exitを呼ぶと
次の項目のどれが、どの順で実行されますか?

A Exitを呼んだスレッドで作られたControlとHandleの破棄
B ほかのスレッドで作られたControlとHandleの破棄
C Exitを読んだスレッドのApplication.Runから抜ける
D ほかのスレッドのApplication.Runから抜ける

>>70ではないのですが、BeginInvokeするためだけに作った
Controlが、終了処理中、HandleDestroyedが呼ばれることなく
いつの間にか死んでます。
0085デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
不定
0086デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
とりあえず、Application.Exitというのは、ほかのスレッドの
ハンドル破棄やApplication.Run終了もやってくれるという
認識でいいですか?
0087デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
ハンドルの破棄はExitが直接やってるわけじゃないだろ
0088デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
ts
0089デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
C#でKinect for Windows SDKを利用してプログラム開発を進めようと思うのですが
Kinect独自の画面認証や体のジョイント認証と混同して

単純な四角形の描画やdelay関数を用いることは出きるのでしょうか??
0090デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>81-82
> Windows上ならExcel扱えない言語のほうが珍しい

そう、C からでも使える。
0091デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>86
マルチGUIスレッド自体がグレーだよ
不定の意味分かる?
0092 忍法帖【Lv=2,xxxP】(1+0:5) 2013/07/05(金) NY:AN:NY.AN
WebBrowserを派生して自前のメソッドでDocumentTextにソースを流し込んでいるんですが、
リンクをクリックした場合も、自前のメソッドでDocumentTextにソースを流し込むようにしたいのですが、
クリックされたリンクを取得して自前のメソッドに投げることはできたのですが、
webBrowser自体の?でリンクをクリックしたときに自動でページ移動するみたいです
Navigatingイベントを見てみましたが、これをどこで潰せばいいのかわかりません
どうにかヒントだけでもください。お願いします
0093デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
WebBrowserユーザー=糞の図式が成り立ちつつある
0094デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
OnBeforeNavigateのことか?
0095デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
BeforeNavigate2とかなかったっけ
あればそれでキャンセルできる
なけりゃWebBrowserじゃなくてSHDocVwかなんかから引っ張ってきたらいい
0096デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
ノベルゲー的なものを作ろうとしています
そこで画像の表示なのですが、どのように表示させるのがセオリーというか、ベターなのでしょうか?

今はpictureboxを複数重ねて同じ位置に配置し、透過して表示させています(背景、キャラなど)
しかし、これだと後々キャラが動くモーションなどを組む時に困る気がしてきまして・・・
0097デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
Paintイベントで全部描く
0098デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
ノベルゲーをつくるんじゃないんです
ノベルゲー的なナニカを作りたいんです
0099デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
「モーション」はどういうデータ形式(ファイル)で持ってくるつもり?それにあわせればいいだろ
とりあえず静止画のみで作ったら?
0100デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
WPFのほうが良さそう(てきとう)
0101デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
HTML CSS javascriptだな
0102デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>96
Windows Form前提なら、GDI+を覚えた方がいいよ。

とりあえず、Pictureboxを昔のゲーム機のスプライトみたいに使うのは
Windows的には正統的な方法じゃないとだけ言っとく。
0103デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
WPFなら正当だけどな
0104デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
動きゃいいんだよ
0105デフォルトの名無しさん2013/07/08(月) NY:AN:NY.ANID:r7Pti5YE!
これからはSilverlightがお勧め。
0106デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
Dictionary<TKey,TVal> が順番を保存しないという仕様なのは前提として。

var dic = new Dictionary<int, int>();
dic[0] = 0;
dic[1] = 1;

var arr1 = dic.Values.ToArray(); // { 0, 1 }

dic.Remove( 0 );
dic.Remove( 1 );

if( dic.Count == 0 )
{
 //dic.Clear();
}

dic[0] = 0;
dic[1] = 1;

var arr2 = dic.Values.ToArray(); // { 1, 0 }


////////////

dic.Clear(); のところでコメントを外すとarr2 も{ 0, 1 }になるんだなぁ
キーのハッシュのキャッシュのせいかなぁ
未定義の動作だからこんなこと考えても仕方ないけど。
それは重々承知としても、無意識に順番を想定しちゃうコード書いちゃうことってありませんか……
0107デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
SortedDictionaryじゃ駄目なの?
0108デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
ありゃSortedDictionary<TKey, TValue>なんてあったのかー!!
お恥ずかしい
こういうところがタコなんだなぁ。
0109デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
いや違った
ソートしてほしいんじゃなくて
挿入順を保存してほしいんだった……
0110デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
自分で番号を保存すればいいんじゃね
0111デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>23-24 です。
どなたかわかりませんか・・?
0112デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
そういう標準を外れるようなことをするのは嫌いなので
0113デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
分かるわ
あとWebBrowserで〜ってやつ
0114デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
配列>ArrayList>Listって流れだろ
Listって順番保障してなかったっけ?
0115デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
そりゃ保証してるけど今はあんまり関係ないだろう
まあOrderedDictionaryなんての作る場合はお世話になるが
0116デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>106はDictionary使ってるが、そもそもホントにDictionaryの必要あるのか?
0117デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
クイックソート、マージソート、優先度つきキューとヒープソートについて学習したいのなら
ttp://www.ouj.ac.jp/hp/kamoku/H25/kyouyou/B/joho/1570048.html
0118デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
バイナリサーチとハッシュ表を挙げないあたり、
理解してないのがわかるな
0119デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
表示時だけ挿入順でソートし直して表示したいってことか?

挿入順を記憶しておいて
表示する時にSortedDictionaryに突っ込み直して
先頭から表示するしか
0120デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
要素の特定のプロパティをキーにするような場合は
KeyedCollectionというのもあるぞ
0121デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
初心者のうちはオーダーとか気にせず全部Listに突っ込んでLINQ使えばいいと思うよ
0122デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>120
常に追加順で扱うならListかLinkedListでいいだろ
Dictionaryに入れるのであれば
要素の比較でソートはしたいってことじゃないのか
0123デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
Dictionaryを使う動機は普通は「キーを使って高速に検索したい」だろう?
どっからソートが出てきた?
0124デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
遡るとそんな話じゃない

>無意識に順番を想定しちゃうコード書いちゃうことってありませんか

俺は全く全然さっぱりない
0125デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>123
ソートではなかったな
ソートの話が多くてつい言ってしまったわ
0126デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>97-105
ありがとうございます
ちょっといろいろ調べてみます
0127デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
C#って感覚でガンガン作れるから設計書っていらなくないですか?
生産性と創造性を阻害するだけに思えます
0128デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
お前はなにを言っているんだ
0129デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
適当でも気が付くと形になってるC#すげえって事だろ
0130デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>127
3Ks 辺りまでは、同意

俺のショボい頭では、それ以上はドキュメントなしでは無理
0131デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
C#でもクソ言語でも型設計はそれほど変わらんだろ
0132デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
外部設計とか言語全く関係ないしなあ
0133デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
俺は別にどんな言語でも感覚でガンガン作りますが
0134デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
コードがドキュメントです! キリッ!
0135デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
もの作ってから設計図書くっておかしくない?
0136デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
細けぇ事はいいんだよ
(ヾノ・ω・`)
0137デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
設計書は納品が終わって落ち着いてから書くモノだよ
0138デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
設計仕様書は、制作前に作り適時更新するもの。
納品仕様書は、完成後に作るもの。
0139デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
テキストボックスに改行マークを付けたいと思い、以下のメソッドを作成しました。
改行マークは意図したところについてくれるのですが、テキストボックスを「改行で」スクロールすると
テキストボックスの一番下の空白(テキストボックス扱いじゃない隙間?)に
改行マークの残像のようなものが付き、増えていってしまいます。
なにか防ぐ手はないでしょうか。

public void New_Line_Check(TextBox textBox)
{
//ダブルバッファリング用 「Height+100」は試行錯誤しようとした後です、気にしないでください
Bitmap textBox_g= new Bitmap(textBox.Width, textBox.Height+100);
Graphics g1 = Graphics.FromImage(textBox_g);

//Bitmapに改行マークを描写後、textBoxに写す
using (Graphics g2 = textBox.CreateGraphics())
using (Brush brush = new SolidBrush(Color.DarkGreen))
{
// 改行検索
Regex regex = new Regex(Environment.NewLine);
foreach (Match match in regex.Matches(textBox.Text))
{
// 改行位置取得
Point point = textBox.GetPositionFromCharIndex(match.Index);
point.Offset(-2, 2); // 出力位置微調整(お好みに応じて)

// 改行記号(ここでは"↓")描画
g1.DrawString("↓", this.Font, brush, point);
}

g2.DrawImageUnscaled(textBox_g, 0, -2, textBox.Width , textBox.Height + 100);
g1.Dispose();
}
}
0140デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
(キーなどの)入力をオーバーライドして、改行が入ったら「↓」文字を挿入しちゃえw
0141デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
そしたら↓文字もコピー対象となってテキストエディタとして死んでしまうw
0142デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>139
あ、更にいじってたら自己解決しました
すみません
Bitmap textBox_g= new Bitmap(textBox.Width, textBox.Height+100);
を
Bitmap textBox_g= new Bitmap(textBox.Width, textBox.Height-10);
とちょっと短くしたら何故か綺麗になった

なぜか分かんねえけどもうこれでいいやw
0143デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>135
設計図は頭の中
設計図を書いてるように見えるが、単にダンプしてるだけ
0144デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
ソースから生成して多少手直ししてる
設計書なんてバカバカしいよ
あんなものは高級な言語や開発環境が無かった時代の遺物であって現代にはそぐわない
0145デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
設計から開発までするところは適当だな
下請けに来る仕様書の分厚さと細かさはびっくりするぞw
0146デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
土方に投げるための懇切丁寧な仕様書ってその人月でプロダクト仕上がる勢い
0147デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>146
だな
0148デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>145
まあ、大昔のリスト出力と同じで 価格 = 単価 × 枚数 だしな
0149デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
いまc#で2chの専ブラを開発しているのですが分からないことがあるので質問させて下さい
スレッドタイトルの検索はどのように行うのがベターなんですか?
find 2chの検索結果htmlを切り出せばいいのでしょうか?
0150デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
それでいいんじゃない?
0151デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
スレ一覧をキャッシュしておいて
そこから検索するのが普通じゃないの
0152デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
さすがに行ったことのない板のスレ一覧まで取得する構造にはしないだろ

専ブラによって見に行く場所違うね
0153デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
板によっちゃ新しいスレが乱立してキャッシュじゃカバーできないからな
>>149が作ろうとしてるのがどういう使われ方を想定してるのかによってベターな方法は変わる
0154デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
行った事無い板のスレタイ検索とかしないだろ
0155デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
自分がする、しないは関係ない
0156デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
専ブラの仕様としてそんなの見た事無いし
何でそんな俺俺仕様まで想定して答えないといけないの
そんなのはエスパーの仕事だよ
0157デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>149のが実装されてたら便利でいいじゃん
0158デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>156
質問を読めば今アクセスしてる板のスレ一覧から検索したいのではなく、全板から検索したいというのが分かる。
エスパーである必要はない。

問題はfind 2ch以外で全板検索をかけることができるのかどうか?って点だよ。
どこかから全板のスレ一覧を落とせるか、もしくはhtml以外でのfind 2chへのアクセス方法が用意されているかどうかって点。
おそらくないだろうな。html切り出しがベターだと思う。
0159デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>154
行ったこと無いからこそ検索が必要なんだけどな。
普段行ってる板ならそこでさがしゃいい
0160デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>150-157
レスどうもです
取得したスレッド一覧別にスレッドのタイトル検索機能はつける予定です
それとはべつに全板からスレッドのタイトル検索機能をつけたいんです
アプリ内で全板のスレ一覧のデータを維持し続けれません
なので外部のAPIに任せたいのですがそれらしいものは見当たりませんでした
しかしたとえばiOSアプリのTwinkleだったりAndroidアプリの2chMateなどにはそういった機能があります
なので方法はあるはずなんです
その結果私が考えつけたのが>>147の質問になります
0161デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>160の最後アンカ間違えました正しくは>>149です
>>158-159
おっしゃるとおりです
やはりhtmlきりだしなんでしょうかね
0162デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>160
本当にある?
全板横断のスレタイ検索って事だよね?

俺の mate では出来ないような…
0163デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
JaneStyleだとfind.2ch.netとdomo2.netとttsearch.netからスレタイ検索できるみたい
試してないけど
0164デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>162
2chMateにはなかったですか?適当なこと言ってすみません
2chMateは使ったことはがありませんのでないかもしれません

>>153
find.2ch以外にもその手のサービスはあるんですね
複数のサイトから検索結果を得られると信頼性があがりますね
0165デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
V2CにもWebスレッド検索ってのがあるな
検索サイトに任せてんでしょ
0166デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
にちゃんが要求する専ブラの仕様はよくわからんが
普通に板一覧取得してそこから各板のスレ一覧取得してって流れじゃダメなん?
あんまし負荷かけたらダメみたいなルールがあるんか?
0167デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>166
ダウンロードファイル数が多くて大変
0168デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>167
それはfind2chでも同じじゃないの?
find2chは内部でどうやってるのかな
0169デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
>>168
find.2chって言うぐらいだから運営のだろ?スレが立つたびにローカルに保存してるんじゃない?
0170デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>『2ちゃんねる検索』『2ちゃんねるブラウザp2』は弊社のサービスですが、2ちゃんねるは弊社のサービスではございませんのでご了承ください。

とあるぜ
0171デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
すみません。InstallUtil.exeが.net 3.5には無いんでしょうか?
1.1と2.0と4.0のしか入っていないみたいなんですが。
VisualStudio2008はインストールしています。
0172デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
3.5=2.0+α
0173デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
2.0のでいいのですね!
0174デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
テキストボックスで描写の検知をしたかったため、テキストボックスを継承したコントロールを作っています。
サイトを参考に作成して概ね希望する動作はしたのですが、1点わからないことが出たので教えて下さい。
はじめてWndProc(ref Message m)を使ってるのですが、最後の「base.WndProc(ref m);」は何のために呼んでいるのでしょう?
検知を行ったら継承元にMessageを送らないといけない理由がわかりません

//描写等の取得
[System.Security.Permissions.SecurityPermission(
System.Security.Permissions.SecurityAction.LinkDemand,
Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
const int WM_PAINT = 0x000F;

switch (m.Msg)
{
case WM_PAINT:
New_Line_Check((TextBox)this);
break;
}

base.WndProc(ref m);
}
0175デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
WM_PAINT以外はデフォルトの処理をさせるため
WM_PAINTはbreakしてbase呼ぶから、やっぱりデフォルトの処理を後からさせてる
デフォルトの処理をしないと、メッセージが来ても何もせずに終わる(キー入力処理も描画処理も何もなし)
0176デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
WndProcは言ってみれば脳みそに到達した情報をバイパスしてる
WndProcをオーバーライドするとどんな情報が来たか分かるし、ある種の情報を握りつぶしたり改変したりできる
バイパスだからちゃんと元の脳みそに伝えてやる(base.WndProc)ことが必要で、
そうしないとウンコが出そうなのに垂れ流したりする
0177デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
その例えはどうなのよ…
0178デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
屁だと思ってだしてみたら実だった、とか
0179デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
よし 通れ
0180デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
>>175
なるほど、分かりました
例外処理以外の時に対応するためなんですね
ありがとうございました

>>176
あ、ありがとうございました・・・
0181デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
>>139>>174です
その後、改良してテキストボックスがスクロールした時、マウスホイールした時、文字入力した時など、自分の想定される場面で改行マークを付けることができるようになりました。
しかし以下の処理が実現出来ません。

「ファイルを開く」メニューを用意しており、その中のLoad_File()メソッドで、StreamWriter機能を使ってテキストファイルを読み込んでいます。
この時、ファイル読み込み直後に自動で改行マークを付けたいと考えており、
下記ソースのように処理の最後に改行マークを付けるNew_Line_Check()メソッドを置いてみたり、自動で処理するよう試みているのですが、
処理順が ダイアログ「OK」→改行マーク処理(一瞬読み込んだテキストにあった形で表示されるが消える)→テキスト読み込み
となり、改行マークのないテキストがテキストボックスに表示されてしまいます。

考えられる問題点として、>>139のグラフィックが読み込み処理で破棄されてしまうのかなとusingを検証用に外してみたり、
イベント処理の順番かと下記メソッドを丸々try{}catch{}で括ってfinally内にNew_Line_Check()メソッドを置いてみたりしたのですが、解決出来ません。
(>>174のテキストボックスの描写ごとの呼び出しもテキストファイルの読み込みには効果がないようです)
なにか解決の糸口はないでしょうか。

//ファイルを開く
private void Open_File_Menu_Click(object sender, EventArgs e)
{
//ダイアログを表示する
//OKボタンがクリックされたとき
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//パスを保存
File_Name = openFileDialog1.FileName;
//読み込み
Load_File(File_Name);
}
//ダイアログを閉じる
openFileDialog1.Dispose();

TextBox1.New_Line_Check(TextBox1);
}
0182デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
WM_PAINTをフックしてるんなら
TextBox1.New_Line_Check(TextBox1);って呼ばないで
TextBox1.Refresh();とかしてやれば再描画されるんじゃねーの?

でも描画のたびに全行スキャンするなんて重そうだね♪ 

あと、ちょっとは命名規則を考慮してみよう!
0183デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
デスクトップにテロップのような字幕を表示したいのですが
フォーム内などではなくデスクトップに文字列を表示するのはどういった方法でやっているのでしょうか?
0184デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
>>183
GetDesktopWindow()でデスクトップのウィンドウを取得して
draw
0185デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
方法は色々あるけど、透明なウインドウ作って全面に配置するのが一番楽そう
0186デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
>>182
レス有難うございます
しかし、TextBox1.Refresh();では改行マークのないテキストが再構築されるだけで、改行マークは付けれませんでした
>>181のファイル読み込み時の問題はまだ解決できていません
wordなり、有名なテキストエディタなりでは実現できているので、何かしら方法はあると思うのですが・・・
もし他に妙案があれば教えて下さい

スキャン範囲については何かしらの方法で改善(範囲限定)しようと思っていますが、当面の問題を解決してから考えようと思っています
0187デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
レイヤーウィンドウ使った方が簡単なんじゃね?
0188デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
透明なウィンドウはマウスイベントの透過が難しいと思われ。
0189デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
>>188
うむ。難しそうだな
ttp://www.wisdomsoft.jp/511.html
0190デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
よく知らないが、base.WndProcって描画はしてないの?
New_Line_Checkの前にbase.WndProcを呼んだほうがいいような気がするが…
0191デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
>>190
ありがとうございます
試しに先にbase.WndProcを呼んでみましたが、解決には至りませんでした

今は>>139でGraphics g2 = textBox.CreateGraphics()とCreateGraphics()で描写をしているから
何か別の処理が挟まると消えてしまうのかなと思っていて、別の方法で描写出来ないか考えています
でもテキストボックスだからペイントイベントはできないぃぃ・・・
0192デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
色々いじっていたらFocus()でフォーカスをテキストボックスに当てた時に改行コードが消えていることが分かった
EnterイベントでもNew_Line_Check()呼んでるのになんで・・・

Focus()消したら改行マーク表示されるよ!でも検索機能が死ぬよ!もうだめぽ!
0193デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
改行コードじゃない、改行マークだ・・・
0194デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
もういっそフラグ制にしてタイマーで回そうかな・・・
でも糞重そう
0195デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
あのなー
最初からみんな見てる人は感じてたと思うけど

エディタみたいな機能を追加するのにTextBoxクラスを継承しても無駄無駄無駄
そこには屍しかない

これに尽きる
元になってるコモンコントロールのEditコントロールがそんな拡張に向いた仕様じゃないのねー
早めに撤退して自前のクラス作ることを考えたほうがいいよ
0196デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
禿同
作ってみればたいしたことないから作ったほうがいい
0197デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
そして作ってみてびっくり
自作エディットコントロールの重さに・・・
0198デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
今どき遅くなりようがない
0199デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
アホくさいから外部コンポーネント使うわ
0200デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
開発環境はVS2012Proです

http://www.atmarkit.co.jp/fdotnet/dotnettips/931uptime/uptime.html
を参考にしてPCの起動時間を取得しようとしましたが、形式が"dd.hh:mm:ss.ms"なので見辛いです

そこでStringBuilderで分割、整形したのはいいのですが1日未満の場合エラーを吐いてしまいます…
場合に応じて"dd日hh時mm分ss秒"や"hh時mm分ss秒"、"mm分ss秒"のような形式で表示させるようにするにはどうしたら良いでしょうか

コードは下記のとおりです‥
PerformanceCounter upTime = new PerformanceCounter("System", "System Up Time");
upTime.NextValue();
return upTime.NextValue(); //2度呼び出し

string uptime = Convert.ToString(TimeSpan.FromSeconds(GetSystemUpTime()));
StringBuilder sb = new StringBuilder(uptime);
sb.Length -= 8; //小数削除
sb.Replace(".", ":"); //置換
string r1 = sb.ToString();
string[] lines = r1.Split(':'); //":"で区切る
MessageBox.Show(lines[0] + "日" + lines[1] + "時" + lines[2] + "分" + lines[3] + "秒"");
0201デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
>>200
TimeSpanクラスのToStringメソッド使え
http://msdn.microsoft.com/ja-jp/library/dd992632.aspx

もしくはTimeSpanクラスのDaysプロパティとかで場合分けする
http://msdn.microsoft.com/ja-jp/library/system.timespan_properties.aspx
0202デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
>>201
ありがとうございます
色々試してみます
0203デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
IEnumerable<T>をstructで実装した場合
yield returnの自動実装よりnewが少なくなる分パフォーマンスが高くなる可能性はありますかね
0204デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
IEnumerable<T> を明示的に実装して、
返値のみstruct を返すようにシグニチャーを変えたメソッドを普通に実装すれば、f
oreach は new 分だけ速くなるだろうね。
とにかく、インターフェースにボクシングされないように
メソッドを呼べば foreach 以外も同様。
ジェネリックメソッドでは where を使用する。
0205デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
>>204
なるほどありがとうございます
0206デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
いやLINQの拡張メソッド(Whereとか)を呼んだら例外なくボックス化されるよ
ほとんど意味ない
0207デフォルトの名無しさん2013/07/21(日) NY:AN:NY.AN
void Method<T>(T value) where T : IEnumerable<T>
{}

こういう意味で書きました。
0208デフォルトの名無しさん2013/07/21(日) NY:AN:NY.AN
>>207
void Method<S, T>(S source) where S : IEnumerable<T> の間違いだよな?
よく考えてみるとわかるが、意味ないんだよそれ
void PrintAll<S, T>(S source) where S : IEnumerable<T> {
 foreach (T item in source) Console.WriteLine(item);
}
foreachを展開すれば次のコードと等価
IEnumerator<T> e = source.GetEnumerator();
while (e.MoveNext()) { T item = e.Current; Console.WriteLine(item); }
foreachのボックス化を避けるにはIEnumerable<T>.GetEnumeratorを明示的実装して
構造体を返すようにパブリックなGetEnumeratorをオーバーロードするんだけど、
この場合はIEnumerable<T>インターフェイスを通してGetEnumeratorを呼び出すので、
source.GetEnumerator()の戻り値はIEnumerator<T>にボックス化されて返ってくる
0209デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
>>208
そういう意味です。申し訳ない。
言われてみればそうかもしれない。
S が class ならそういう挙動になると思う。
struct なら特殊化されそうな気がするけど、どうなんだろう。

void Method<T>(this MyList<T> list, ...) { }
みたいに、IEnumerable<> を実装したクラスを引数に取るように、わざわざ定義してあげるしかないのかな。
new されないように LINQ 使おうとすると、メソッド分だけ struct :IEnumerator<> を実装しないといけなくなりそうだから現実的じゃないね。
0210デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
>>209
特殊化されるかどうかとか関係なくて、
問題はIEnumerable<T>.GetEnumeratorの戻り値が結局IEnumerator<T>であること
IEnumerable<T>を通す以上、GetEnumeratorから列挙子が戻る時点で必ずボックス化される
君の言うように個別にメソッドを用意するしかない
0211デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
ILよりもJIT結果のが重要だと思うがどうなんだ
0212デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
戻り値も受ける側もインターフェイスなのに、さすがにそんな都合のいい最適化はないよ
0213デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
IEnumerableよりベタ配列の方が速いのは仕方ないよね
0214デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
>>210
本来使えないはずの GetEnumerator() を、where で指定することで使用できるようにしているので、インターフェース側のメソッドのシグニチャで、コンパイル時に型が決定するということですね。

では、インターフェース側で setter を持つメソッドが定義されていて、それを同様にして使用した場合、ボックス化されてしまうのでしょうか。
0215デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
>>214
setterを持つメソッドの意味がよくわからないが
そもそもジェネリックとか全く関係なくて、戻り値の型がインターフェイスだから
戻り値はボックス化されるというだけの単純な話だぞ
0216デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
>>215
setter を持つプロパティのミスでした。


戻り値の型がインターフェースとありますが、それは IEnumerable<> での話であって、
当然 T : IEnumerable<> で明示的実装により struct な IEnumerator<> の実装を返せば、
戻り値の型は struct ですよね ?

そこで、ジェネリックメソッドで where T : IEnumerable<> としたとき、
var enumerate = list.GetEnumerator();
の var は list の方のシグニチャを優先するのか、IEnumerable<> の方のシグニチャを優先するのか、
という話をしたかったので、無関係ではありません。

せっかくなのでテストをしました。修行中の身ゆえリンクは張れません。堪忍
ideone.com/pzAlhg
0217デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
続き

IEnumerable の方はおっしゃる通りの動作となりました。理由は >>214 に書いた通りなのだと思います。

では、setter を持つプロパティについては、どういう動作になっているのでしょうか。
明示的にボックス化をすると、コピーが出来てしまうので当然こういった動作になるのはわかります。
しかし、明示的に書かなかった場合に、
IEnumerable<> の時と同様に ITest.Property が呼ばれているなら、
ボックス化が起き、コピーが作られると思ったのですが。。
0218デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>217
特殊化されてるから。
MethodA<T>(ref T value) をTestで特殊化したら MethodA(ref Test value) になるから当然ボックス化は発生しない。
同様に、IEnumerator<T> MethodC<T>(IEnumerator<T> e) を特殊化したら
IEnumerator<Test> MethodC(IEnurmerator<Test> e)
戻り値も引数もどう見てもインターフェイスだろ? だから当然引数も戻り値もボックス化される。
0219デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
話がごっちゃになってるなあ
Method(T obj) where T : IHoge { obj.Hoge(); }
の形では、Tが値型の場合でも特殊化のおかげでobjのボックス化は発生しない。
x.GetEnumerator()でボックス化されるのは "xではなく、" "GetEnumeratorの戻り値"。
それは単にGetEnumeratorの戻り値がIEnumerator<T>だからであり、上のとはまた別の話。
IEnumerator<T>をいくら特殊化しようがインターフェイスだろ。
0220デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
ジェネリックメソッド内で x.GetEnumerator() を呼び出す時、
(x as IEnumerable<>).GetEnumerator() という書き方とは別の方法で、コンパイラは x 自体のボックス化をせずに IEnumerable<>.GetEnumerator() を呼び出すということでしょうか?
その時の GetEnumerator() のシグニチャは IEnumerable<> での定義によると。
0221デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
シグニチャは関係ないだろって言われてるのに
0222デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
http://dobon.net/vb/dotnet/system/wmiwin32os.html
コンピューターの情報を取得出来ますが、

foreach (System.Management.ManagementObject mo in moc)

で、複数取得出来る可能性があるということだと思いますが、
OSの名前が複数取得出来る場合ってどういう時でしょうか?
0223デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>222
ttp://msdn.microsoft.com/en-us/library/windows/desktop/aa394239.aspx
ない
0224デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
なんでドボンはIDisposableなオブジェクトを放置する糞コードを晒したままにしてるの?
0225デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
いやdobon無いと何も作れないから困る
0226デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>223
ありがとうございます。
VBSなんかでもコンピューターの情報を取得するサンプルがありますが、
どこを見ても必ずforeachでまわしてるので疑問に思ってました。
デュアルブートだったら2つ取得することもあるかなと思いましたけど、
起動してないOSの情報なんて取得出来るのかなと・・・。
0227デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>221
System.Collection.Generic.List<T>.GetEnumerator()の戻値の型は IEnumerator<T> ではなく、List<T>.Enumerator なので、シグニチャは関係あると思うのですが。

List<T>.GetEnumerator() を使用しても、新しくヒープにインスタンスが作られないように、IEnumerable<T> をわざわざ明示的に実装しているわけですし、先ほどのテストでもこれが正しいことは確認出来ると思います (コメントアウトを外した時の挙動で)。
0228デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
class Form1のクラス以外でtextBox1.Textが操作ができないのですが
他のクラスで操作したい場合はどのように扱うのがいいのでしょうか?
0229デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
ほかのクラスにform1を渡してform1.textBox1にアクセス
class hoge
{
 public hoge(Form1 form){ _form1 = form; _form1.text="hoge"; }
 Form1 _form1;
}
class Form1
{
 hoge _hoge = new hoge(this);
}
0230デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>227
だから実装はどうあれ戻り値はIEnumerator<T>だろって言われてるんじゃねーの
0231デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
現在C#で関数型プログラミングの勉強がてらオブジェクト指向な自作アプリを関数型スタイルへと移行しているのですが、クラス構造の移行の考え方?がよくわかりません。
staticメソッド内の副作用がないロジックについてはある程度分かってきたのですが...
たとえば私の作るアプリ(ゲーム)の9割以上の部分が下記の構造で動いているのですが、関数型プログラミングの考えでいくと、この構造はどのように変わっていくのでしょうか?
ideone.com/XUM8kV (URL貼り付けNGくらったのでこれですまそ)
0232デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>228-229
こういうセンスの人はプログラミング向いてない
0233デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
夏休みにしては手の込んだ釣りが横行してるな
ふらっとスレにも来てた
0234デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>232
センスある人はどうやるのです?
0235デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>229
レスありがとうございます
動作させてみたのですが、よくわかりませんでした
0236デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
釣りとかセンスとか
煽りはなしでお願いします
0237デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>230
List<T>.Enemerator が IEnumerator<T> を実装しているのは当然です。
現在問題にしているのは、ジェネリックメソッド内で、GetEnumerator() を呼ぶ時に、IEnumerable<T> というインターフェース型に『ボックス化』して呼んでいるのか、という点です。もともとは、新しくヒープにインスタンスが作られないように、という問題でしたし。

シグニチャについては、where で指定したインターフェースの方になることは、先ほどのテストからも理解しました。しかし、これではそのオブジェクト自体がボックス化されるかがわからないため、これを確認するテストも行いました。
その結果、setter のあるプロパティを持つインターフェースについては、ボックス化は起きていないと考えました。

以上から、>>220 のように考えました。
これがあっているのかを確認したいのです。
0238デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>234
Formが他に参照を握られるのではなく、
Formが他の参照を握るようにする。
0239デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>232
>>1を読め
ドヤ顔して上から言いがかるようなスレじゃないぞ
0240デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>237
>>220で合ってるよ
ジェネリックは実行時に特殊化されるが、
メンバのバインドはあくまでコンパイル時に行われる

実行時にはすべてのメソッドはその名前や引数だけでなく
それを定義してる型の型名によって明確に区別されていて、ダックタイピングのような動作は一切しない
0241デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>239
残念ながらこれはセンスの問題で初心者かどうかはあまり関係がない。

っていうか、こういうのに限っていつもは誰かを罵倒してるご都合主義野郎なんじゃないの。
言っとくけど俺は初心者に上から目線で物を言ったことも罵倒したこともないんで。
0242デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
勉強はできるが頭は悪いアスペの典型だな
0243デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>240
なるほど。

C# でインターフェースのメソッドを呼ぶ時は、
型キャストを行って呼ぶようなコードしか見たことがなかったので、
こういう動作があることを知りませんでした。

ありがとうございます。
0244デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
どうでもいいけど値型をasでキャストするのキモい
nullになることはないんだからCスタイルのキャストで書けよ
0245デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
デザインとロジックの分離がされていると、とても見やすいコードになります。
マインスイーパーを例に取れば、フィールドを表す変数や、フィールド上のマスを開けるなどの操作 (メソッド) は、ロジック用のクラスで行います。
デザイン、つまり、Form 側ではそのロジック用のクラスをインスタンスとして持ち、その情報通りに表示することを徹底します。ロジック用のクラスでフィールドが更新されたかどうかを得るには、イベントを実装すると良いと思います。

もし、その自作のクラスがデザイン用である場合、>>229 のように関連するオブジェクトがデザイン用であってもインスタンスとして受け取ることは普通です。
ただし、テキストボックスのみを対象にしているならその TextBox のインスタンスのみを渡す方が良いです。これは、その自作クラスからアクセスできるオブジェクトの数が少なくなり、他には変更できない、ということになるのでコードが見やすくなるためです。
また、同様の理由で、TextBox の基底クラス程度で済むものなら、基底クラスのインスタンスを渡す、というようにします。
0246デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>241
だからさ1読め

>こういうセンスの人はプログラミング向いてない
なんてレスいらねースレなの

>っていうか、こういうのに限っていつもは誰かを罵倒してるご都合主義野郎なんじゃないの
>言っとくけど俺は初心者に上から目線で物を言ったことも罵倒したこともないんで。

妄想癖やばいだろ。
>>239に対してなんで、罵倒やらご都合主義やらが出てくるんだよw
思考が飛躍しすぎて恐いわ
0247デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
こっちも精神年齢は大差なさそーだな
0248デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>244
where で指定されているため、
キャストで例外が飛ぶことがないので、
速い as にしました。

例外を飛ばしたい時は別として、
as の方が括弧の数が少ないので見やすくて好きです。
0249デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>246
馬鹿だろお前。
0250デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
構造体をインターフェイスにキャストしたらボックス化してしまわないか?
0251デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>248
例外が発生しない限りは速度に差はない
asの方が見やすいのは同意だが、asは失敗する可能性がある場合に使うという住み分けがある以上、
それに従わないのは混乱の元
0252デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
普通はForm1にプロバティ作って、間接的にアクセスできる様ににしないか?

public string なんとかText
{
  get{return form1.Text;}
  set{form1.Text = value;}
}
0253デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
あ。 form1.Textじゃなくて form1.TextBox.Textだわなw

public string なんとかText
{
  get{return form1.TextBox.Text;}
  set{form1.TextBox.Text= value;}
}
0254デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
質問が>>228だから>>229で十分だな
>>235な質問者を置き去りにして、こうした方がいいよ〜ってのがそのほかのレス
誰か>>229の説明してやれよ
0255デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
そして誰からもスルーされる>>231
0256デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>254
つか_form1.text って所がバグっていると思うが
0257デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
はじめまして。
floatからintへの変換を行っているのですが、
整数と小数点以下を分けたいと思い以下のコードを書きました。

float version = 1.3f;
float xx = (version * 10.0f);
float xxx = xx % 10f;
int a1 = (int)(xxx);
int a2 = (int)(version / 1f);
Console.WriteLine("{0}.{1}",a2,a1);

しかし、Releaseで実行してみると「1.2」と表示されます。
Debugだと「1.3」と正常に表示されるため、参っています
キャストがおかしいのでしょうか? だとすればどのように記述するべきでしょうか?
0258デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
float xxx = ((int)xx) % 10;
0259デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
話は少しずれるけど、
version なら float よりも string の方がいいよ。
float だと version 1.1.02 みたいなのに対応できないし。
0260デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>258
残念ですが変わりませんでした。

>>259
なるほど…文字列での管理も検討してみます
0261デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
文字なら
var versions = version.Split('.'); だな
0262デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
バージョン表記なら標準でこんなのもある。
msdn.microsoft.com/ja-jp/library/vstudio/system.version.aspx
0263デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
結局変えられなかったのでこうなりました。

string moji = version.ToString("F1");
string[] versions = moji.Split('.');
int a1 = int.Parse(versions[1]);
int a2 = int.Parse(versions[0]);
0264デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
何のためにバージョンを整数部と小数部で分けてんの?
そのまま使えばいいじゃないのよ
0265デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
こういうのはよく見る
int majorVer = 1;
int minorVer = 3;
int version = ((majorVer << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;
0266デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
int major = 1;
int minor = 3;
int version = ((major << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;
0267デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
int major = 1;
int minor = 3;
int version = ((major << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;



あれ、2chって&書き込めないのか
0268デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
バージョン65536以上はどうすんだよ

冗談は置いといてもふつうにVersionクラスでいいだろ
等値演算子もオーバーロードされてるし
なにより分かりやすい
0269デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
浮動小数点数の演算誤差だろ。
Debug/Releaseでビルドオプションに差違があるからだろうけど、素直にVersionクラスを使うか、個々の要素をintで持ってUIに見せるときだけ文字列連結するべき。
0270デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
俺だったら小数点じゃなくて、整数で管理するな。っていうかしてた
Ver1.05だったら105
数値の大小で新しいバージョンの判別できるし、文字列にも変換しやすい
0271 忍法帖【Lv=2,xxxP】(1+0:5) 2013/07/24(水) NY:AN:NY.AN
>>270
俺も最初そうしてた。
そして、バージョンが5.10.0とかになってくると
6.0.0(600)<5.10.0(5100)となって破綻した。
0272デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>271
6.00.00=60000、5.10.00=51000
お馬鹿な管理方法使うときは仕様限界を考えておかないとw
0273デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
誤差がいやなら弟子丸でいいじゃない
0274デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
linqをsql serverストアドでも使いたいよ
なんで同じメーカーなのにあんなに使い勝手悪いんだろう
0275デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
今時ストアドは無いわ
0276デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
CLR統合でストアド書けばLINQつかえるんじゃまいか
0277デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
テーブルまるごと持って来てLINQが基本だろ
0278デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
1000万行のテーブルから1行だけ読み込みたいのに、1000万行全部取得するの?
テーブルまるごと持ってくるとか、それで出来るならDB使う必要ないじゃん
素直にクライアントサイドでLINQ to SQLが正解なんじゃね
0279デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
ストアドとか旧世代の遺物
0280デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
旧世代には違いないがDBとのIOが多い処理では今でも選択肢に入るだろう
0281デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
C#2010でプログラムして保存する前に電源が落ちたのですが、
どこかに跡形は残っていないでしょうか?
0282デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
C:\Users\ユーザー名\AppData\Local\Temporary Projects\ にあるかもね
ないかもね
0283デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
もう一回VS立ち上げると「正常に終了しませんでしたテヘ復活させますか?」って言ってくれるかもね
ないかもね
0284デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
プロは一分に一回差分バックアップをとる
データ喪失は事故責任だよ
0285デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>282
にゃい!orz
0286デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
まあそういう経験は誰しもあるってことで
0287デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Ctrl+Sを頻繁に実行するのは常識だと思っていたんだが
0288デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
VisualStudio2012Expressを使ってますが、
コード画面の横(ツールボックス欄やソリューションエクスプローラー欄など)
に、現在開いているコードのメソッド一覧を表示できないでしょうか?

ソリューションエクスプローラに似たような表示はできますが、
プロパティなども表示され情報が多い、現在開いているコード画面に追随していない、
といった理由で使い勝手はイマイチです。

コード内をアウトラインで折りたたんだ場合は、
コード確認に一手間かかるのでこれもまた使い勝手がイマイチです。
0289デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>288
エディタの上部の右側のドロップダウンがそう。

本当はオブジェクトブラウザかクラスビューにエディタと同期して表示する機能が
あるといいと思うんだが、おそらくそういう機能は実装されてない
0290デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>288
Expressだから多分自分で作っているソフトだと思うが
一つのクラスにメソッドやプロバティーを詰め込み過ぎじゃないかな?
今作っているものをやり直せとは言わないけど、次に作るときはクラスの肥大化を意識した方がいいよ
0291デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>289
ありがとうございます。
こいつもメソッドとプロパティ変数が混在して表示されてるんですね・・・

情報後出しになりますが、元々の目的は、GUIアプリの作成でソリューションエクスプローラだと
Formファイルの情報とデザイナーファイルの情報がまとめて表示されて邪魔だったのでなんとかしたいってのがありまいた。

教えてもらった方法だと、開いているコード以外の情報は灰色で表示されるので若干マシになったという感じです。
自作クラスの情報はそれだけがまとまって表示されるので、ソリューションエクスプローラよりはだいぶマシになりまいた。


>>290
GUI機能と、その他の機能は別クラスに分けて開発しています。
ただ、GUIだけでもかなり入り組んでるので辟易している次第です

開発途中ですが、現在はForm1.Designer.csにプロパティが30個くらいあり、
最終的には倍以上に増える予定です。
その情報と、Form1.csにあるプロパティ、メソッドの情報が混在してしまい、非常に煩雑です。
(Form1.csは現状たかだか300line,メソッドは10個程度ですが、それでも既に('A`)ウヘァです)

GUI機能もさらに複数クラスに細分化すれば解決しそうですが、エディタ側でももうちょっとなんとかしてほしいですね
(メソッド一覧のアウトライン表示は、秀丸とかのエディタには普通についてる機能なのに・・・)
0292デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
wpfでGUI編集を使って、トグルボタンのチェックで他のコントロールの表示を制御しようとしたら
「BoolVisibiltyConverer」と言う謎クラスを持ってきやがってXamlのエラーとなるんだが、コンパイルできてしかもちゃんと動いた
ちゃんとしたクラス名の「BooleanToVisibilityConverter」に直すとXamlのエラーもなくなるし動作も問題ない
コレってなんだろうね?

「BoolVisibiltyConverer」は、謎のネームスペース xmlns:Default="clr-namespace:" に存在するらしいが、コレもエラー表示が出るんだわ
0293デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>281
2012には自動バックアップってオプションがあるな
2010にはない?
0294デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
コンパイル通らない状態で勝手に保存されても邪魔
0295デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Express だけど 2010 にもあるね。
変更した覚えないからデフォルトで 5 分間隔でやってくれるっぽい。
その結果が >>283 になるんだと思うけど。
0296デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>295
最初のWindowsApplication1とかのまま一度も保存していない場合はバックアップはしないみたい
コンパイルするごとにそこまでは残るはずだけどプロジェクトのフォルダごと見当たらないというか
命名していないから探しようがなかったです
0297デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>296
ヘルプには
>ファイルが新規であり、今まで一度も手動で保存されていない場合は、ランダムに生成されたファイル名で自動的に保存されます
って書いてあるけど
0298デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Vista以降のOSの検索機能はファイルの中身をテキストとして読んで検索する機能がないから
こういう時イラっとくるんだよね
0299デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
OSの検索機能は遅いし俺はこれ使ってる

JGREP

http://www.hi-ho.ne.jp/jun_miura/jgrep.htm

さすがに書庫の中までは検索出来ないけど速い
0300 忍法帖【Lv=7,xxxP】(1+0:5) 2013/07/29(月) NY:AN:NY.AN
インターフェースについて勉強してるんだけど、IEnumratorインターフェースの使い道がよくわからないです
コレクションを列挙するというのはわかりますけど、どういう場面に使えばいいのでしょうか?
0301デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
IEnumeratorはforeachを使うときに知らないうちに使ってる
自分で意識して使うことはまずない
yieldがあるのでIEnumeratorを自分で実装することもない
0302デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
自作コレクション(IEnumerable)を作りたいときに使う

IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerable
どういう順番で何を列挙するかとかを細かく自分で決めたいときに使う

逆に言えばあまり自分で実装することは今の時代はあまりないよね
0303デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
×IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerable
○IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerator
0304デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
細かく自分で制御したいときにyield使わずにIEnumerableをて実装するのはきついぞ
クソ複雑なステートマシンになる
MSですらLINQの実装では低レベルな制御を放棄してyield使いまくってるのに
0305デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
そこまで複雑じゃないってw
逆に単純だけど面倒なだけ
0306デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
コマンドラインでTYPE A.TXT >PRN(エンター)を打った時と同じことをフォームアプリで実行する方法を教えてください。
0307デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
Process.Start( "cmd", "/k type a.txt > pnt" );
0308デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
Process.Startでコマンド実行しろ
フォーム関係ない
0309デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
/kオプションじゃなくて/cでも

詳細はコマンドプロンプトでcmd /?
0310デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
ボタンが右クリックされたときにイベント発生させるのってどうやるんだ
0311デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
わざわざ自分で発生させなくてもMouseDown/Upが発生するだろ?
0312nanasi2013/07/30(火) NY:AN:NY.ANID:FIRUYqVd!
さくらインターネット上のWEBサーバ上にC#より
ディレクトリを作成しようとしていますが次のエラーが出てしまいます。

レンタル中のスタンダードプラン上の
サーバだと正常に動作していたのですが、プレミアムサーバに対して下記コードを
実行するとなぜかエラーが出てしまいます。

IDやパスはあっているのですが何が問題なのでしょうか?



≪ 実行コード ≫
string id = "id123";
string pass = "pass123";
string createDirectory = "ftp://hoge_user.sakura.ne.jp/www/hoge_data/20130730";

WebRequest req = WebRequest.Create(createDirectory);
req.Credentials = new NetworkCredential(id, pass);
req.Method = WebRequestMethods.Ftp.MakeDirectory;
WebResponse res = req.GetResponse();  ← ここでエラー発生


≪ エラー内容 ≫
The remote server returned an error: (530) Not logged in.
0313デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>312
エラー内容に書いてあるじゃん。
ログイン失敗でしょ。
サーバーからのレスポンスを見ないと原因は分からないけど、実はFTPSとか?
03143122013/07/30(火) NY:AN:NY.AN
>>313
そうなんです。ID・PASSがあっているのに
なぜかダメなんですよ。

しかも、さくらのスタンダードプランでは普通に動いていた
プランにも関わらず、プレミアムプランのサーバに向けて
実行すると動かないのでまったく意味不明です。
0315デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
ネットワーク関連はまずパケットキャプチャ
普通のFTPクライアントでアクセスした場合との差異を比較
0316デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
MSDNみると
WebRequest.CreateでFTPだと、FileWebRequestを返すとなってるぞ
FtpWebRequestの例だとそれをFtpWebRequestにキャストしてる
FileWebRequestはCredentialsもMethodも実装されてないことになってる
0317デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>316
それはただのドキュメントバグだ
03183132013/07/30(火) NY:AN:NY.AN
>>314
WebRequestクラスは頭悪いから業務で使うのはおすすめしない。
とりあえず、コマンドプロンプトから「ftp /d」でログインできるか試してみて。
レスポンスが確認できるから。
0319デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
どちらかというと問題あるのはさくら側かユーザ側かだろ
0320デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>319
捜査のプロですか?
0321デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>318
業務で使うのはおすすめしない?
本当か?
03223132013/07/30(火) NY:AN:NY.AN
>>321
エラーメッセージからの推測なんだけど、今回のケースだと、USERかPASSのどっちかを投げた段階でエラーが出てるはずなんだ。
でもWebRequestがレスポンスを解釈しないで次のコマンドを投げてるように見える。
そうすると本当の原因が分からなくなるから>>315が言うようにパケット取りながら再現実験するハメになる。

うまく動いてるときはいいんだけど、トラブったときが大変なんだよ。
その辺のバランスを考えて、WebRequestを使うかSocketで自作するか決めればいいんじゃないかな
03233132013/07/30(火) NY:AN:NY.AN
>>321
あ、FTPの話ね。
HTTPでは使ったことないから知らないよ。
0324デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>323
FTPの話か
なるほど
03253122013/07/30(火) NY:AN:NY.AN
>>315
うーんパケキャプしないとダメですか。。。
ちょっと敷居が高いけど頑張ります。

>>319
サクラですね。
サーバ容量増やしても転送量制限は変わらないとか詐欺的な事ばっかりやってるし

>>322
Socket 作ってみます。
0326デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
パケキャプの良いソフト教えれ
0327デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>317
VS2012ではたしかにFtpWebRequest帰ってきてるな
>>322
わざわざキャプチャせんでもトレースログで十分だろ
>WebRequestがレスポンスを解釈しないで次のコマンドを投げてるように見える
WebRequestがって言うか、正確にはFtpWebRequestが、だな
それがほんとなら、もともとステートフルな通信向けじゃないのかもしれん
なんといっても「WEB」リクエストだしな
03283122013/07/30(火) NY:AN:NY.AN
パスワードの設定が間違えてました><。。。。。。。。。。

無事解決です。
皆さんありがとう。
0329デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>328
・・・・・・・・・・・・・・・・・・・
0330デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
はい、解散〜
0331デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
今月のNo1ズコー
0332デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
いや、死ぬべきでしょ
遠慮なく死ね
0333デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
まあとりあえず >>312 がパケキャプやらおぼえて
一回り成長したことでよしとしよう




成長してなかったら死ぬべき
0334デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
パスの設定をまず見直せと
指示できなかった俺らにも落ち度はある
0335デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
業務なら解雇だよ
0336デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
まことに申し訳ないことと反省しております。
ご容赦の程、深くお願い申し上げます。
0337デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
ふらっとスレだから命拾いしたな
0338デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
命ってのは落ちてるものなの
0339デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
落としかけて拾ったんだろう
0340デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
質問です。通常App.configに追加する<DbProviderFactories>を、
別の共有設定ファイルを作って、そこへ追い出したいのですが、<AppSettings>の様に
file属性で読み取ることも出来ないので、どうすれば複数の実行ファイルから、共通設定として
読み取ればいいのかわからない状況です。

やりたいのは、複数の実行ファイルで、同じデータベース設定を利用したい。
実行環境により利用するデータベースを切り替えたい。(DbProviderFactories.GetFactoryでプロバイダに依存しないようにしておきたい)

ADO.NETのスレが見当たらなかったので、こちらに質問してみました。
よろしくお願いします。
0341デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
ADO.NETの質問・雑談スレ2
http://toro.2ch.net/test/read.cgi/db/1234077152/

あるけど、もう1年半放置かw
0342デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
エクスプローラー上でファイルがダブルクリックされたかどうか、
監視することはできますか?
0343デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
外部からやるならShellExecuteHooksかなぁ
Vista以降はデフォではオフだけど
http://eternalwindows.jp/shell/shellex/shellex12.html

内部でやるならシェル拡張としてプロセスに潜り込めばなんとでも
例:QTTabBar
0344デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
VS2012でインデントのところに"-"が表示されるようになったんだがどうすれば消せるんだ
03453442013/08/04(日) NY:AN:NY.AN
解決した
0346デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
win7 に Visual C++ インストール出来なかった DVD 目当てに本も買ったがダメ!
xp にはインスト出来た、まぁ仕方ないのでこれで行く!
0347デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
おめめがびょうきなの?
0348デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
いいえ、おつむがびょうきなの。
0349デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
デリゲートわからん
0350デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
オブザーバーパターンを勉強しろ
0351デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
RaiseEvent PropertyChangedでええやん。むりしてDelegate使わんでもええやん
0352デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
デリゲート→ラムダ式→マルチスレッド
で学ぼうと思ったがデリゲートでつまづいてるっていう
0353デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
デリケートな問題だからじっくり勉強しなされ
0354デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
なにも難しいことあらへん

メソッドをオブジェクトとして認識すればええねん
そのオブジェクトの型は戻り値と引数で決まるねん
戻り値と引数が同じメソッドはおんなし仲間やねんで。

オブジェクトやから同じ型の変数に入れたりできまんねん
();つければ実行されるんでおまんがなー
0355デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
普通の変数とちゃうのは
ひとつの変数に+=/-=で複数のデリケートインスタンスを入れたり出したりできるっちゅうことだけや

マルチキャストゆうてな、();で入れた順番に全部実行されるんでおまんがなまんねん
0356デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
すっごくわかりやすいかも。
0357デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
口調がムカツクのに分かりやすいのがクヤシイ
0358デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
関西弁きらいか?まあ慣れたらどうちゅうことあらへん、まあこっちでも京都のはきらいとか姫路のはグロイとかいろいろとありまんねんけど
0359デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
invokeがdelegateじゃないとできない意味がわかりません。
0360デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>358
俺がわからないのは
タイピングにまで関西弁を持ち込んでくることだ
標準語を使った方が打つ文字数も少ないし相手にも伝わりやすい

例)
ええねん→いい
決まるねん→決まる

上記の理由で2chに関西弁を持ち込んでくる奴は嫌いだ
0361デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
読んだときの印象が変わる
0362デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
ID出るスレなら問答無用でNGだな。死ね
0363デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>360
せやな→そうですね

文字数増えとるやないか。はい論破してもうたでんがなー
0364デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>363
関西人はこうやって揚げ足取りばっかするから
ガキ扱いされるんだな
0365デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
自覚症状のない基地外ほどタチが悪いものはないからな
相手せずにスルーしろ
0366デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>364
こんな似非関西弁の人使ってそんな非難されても困る
0367デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>364
自分も自分の好みでアヤ付けてるだけだってのに気付けよ。
意味がわかる文章なら、ちゃんと答えてるヤツが神で、それ以外はクズだ。
0368デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>367
好みじゃなくて一般常識だってことに気づけよ。
0369デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
それってどこの?
0370デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
俺はインターフェースとデリゲートの違いがわからなかったな

でもよく考えると、デリゲートもクラスなんだから、継承の点では
インターフェースもデリゲートもクラスも全部一緒と考えればいい
0371デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
ややこしいから、それら全部クラスと表現しませんか?
0372デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
デリゲートは継承できません
0373デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
クリックイベントはイベントなのかデリゲートなのか
0374デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
イベントはデリゲートを使って実装されているというニュアンス
0375デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
名前を見ろ
0376デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
イベントってデリゲートを使って実装されてるの?
0377デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
うん
クラス>デリゲート>イベント

つまり、デリゲートもイベントも不必要ってこと
0378デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
イベントとデリゲートは別物だ
イベントはデリゲート専用の特殊なプロパティ
メンバとその値な
0379デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
もう!誰が正しいのっ!
0380デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
そら、名前が違うんだから全く同じ場合は少ない
0381デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>379
デリゲート≒イベント

デリゲートとイベントは両者とも糖衣構文
使い方の違いがある。
イベントはイベントを定義したクラスからしか呼び出せないが、デリゲートにその制限はない
要するに、イベントもデリゲートもクラスを基本にした、それ専用に使いやすくしたもの

コールバック自体イベントと言えなくもないから、デリゲートを用いてイベントは実装できる

377はその意味。で、デリゲートの場合、デリゲート>匿名メソッド>ラムダ式というさらに
使いやすくした糖衣構文がある。
デリゲートの特徴はデリゲートはメソッドみたいなものだけど、メソッドと違って変数に代入出来ること。
これは、デリゲートの実態がクラスで出来ているからで、この代入出来ることを利用した
プログラミングが出来ることがデリゲートの特徴となる。

代入出来るということは、色々なデリゲート(メソッド)を置き換えることが出来るわけで、
デリゲートで呼び出されるメソッドの動作を変えられることが特徴

void Method_A(delegate B)
{
 処理1
 B()
 処理3
}
の要に処理1処理2は共通でB()の部分のみ異なる処理の場合に
Method_Aの引数に渡すデリゲート変更すればソースとしての共通化が図れる
0382デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>381
イベントとデリゲートの違いが理解できてないならこの辺読んでみ
http://msdn.microsoft.com/ja-jp/magazine/cc163533.aspx
0383デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
ひょっとして C# には「イベント」に、「 PC 上で発生したなんらかの事象」って以外の意味がある?

イベントは、PC 上で発生したなんらかの事象
デリゲートは、C で言うところの関数ポインタ(違うけど)で、イベントハンドラの管理に使われてる

って認識だった。
「イベントハンドラ」は「イベントが発生した時に呼び出される関数」(ちょっと違うけど)って意味で。
0384デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>383
何らかの事象を意味するのはもちろんそうだけど、身も蓋もない言い方をすれば
ObserverパターンにおけるaddLister/removeListerのメソッドの組をまとめたのがイベントで
そのメソッドの引数に渡すリスナがデリゲート
プロパティがgetValue/setValueの組なのと同じ
0385デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
あと、デリゲートもイベントも同じっちゃ同じだけど

通常のクラスの場合、インスタンス化するには、メソッドの実態(ソース)が
必要なんだけど、イベント(デリゲート)もそのような制限はない。
例えば、>>381でMethod_A内の処理においてB()が呼び出されているけど
これの実態はこのソース中にはないのだけど、コンパイル時にはエラーが出ない。
ただし、Method_Aの呼び出し時にはイベントで実行されるメソッドの実態は必要。
イベントの場合、MSがOnClick等たくさんのイベントが定義しているけど、
ユーザが後付で、その実行内容を変えることができる仕掛けが必要。
それを実現するための仕掛けがイベント(デリゲート)。
0386デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
public int Hoge { get; set; }
public int Hoge;
この2つを同じと言うならイベントとデリゲートは同じだ
public event EventHandler Hoge;
このフィールド風のイベント宣言は上の自動プロパティに相当するもので
デリゲートを保持するフィールドとaddアクセサとremoveアクセサが自動生成される
0387デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>383
>ひょっとして C# には「イベント」に、「 PC 上で発生したなんらかの事象」って以外の意味がある?
通常の意味としては”PC上で発生した”ではなく”アプリ上で発生した”だろうね

その他は意味不明
てか、イベントハンドラはイベントに使用するもの
デリゲートは関数ポインター(コールバック)のような使い方もできるけど、それ以外もある。
0388デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
イベントハンドラはイベントに使うデリゲートであってイベントではないだろ
イベントやデリゲートについてはうだうだ言う前に
Observerパターンを学んだ上で>>382を読めば完全に理解できるよ
C#の構文はデリゲートとイベントの扱いを似せてあるのですごくわかりにくい
0389デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
ようするに、それぞれがそれぞれの解釈でデリゲートなりの説明をしてるから収拾が付かない、と。
0390デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
マルチキャストもデリゲートやイベントを分かりにくくしてる一因だなあ。
イベントハンドラはデリゲートを複数保持するためのコレクションってことにすれば
役割がわかり易かったのに、なんでデリゲート自体をコレクションにしちゃったんだろう。
その上、デリゲートの合体とイベントアクセサの呼び出しに同じ演算子を使っているのが
さらに混乱に拍車をかけてる。
0391デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
よし、わかった
0392デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
概念的な理解は後回しでいいと思うよw
それはコードを書いてるうちに後から付いてくる。

とりあえずイベントを発生させるクラスと、そのイベントを購読するコードを
自分で書いてみる。

そうすればイベントがどんなものか理解できる。
イベントが理解できれば自然とデリゲートも理解できる(たぶん)。
0393デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
delegateを直接publicなフィールドにしてみるといいよ
eventと同じことが出来るが、
困ったことに出来ることが多すぎることに気が付く。
たとえば、イベントハンドラを+=でなく=で代入できたり、
Invokeメソッドが外部から呼び出せたり。
こういうのを制限するための機能がevent
0394デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
デリゲートもまともに説明できないくせに初心者スレとな
0395デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
デリケートゾーンの有効範囲を教えて
0396デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
デリゲートに好きして、デリゲートに
好きして 好きして 好きして


こう言うところに書く前に、自分の用語の認識が一般的なモノであるかの確認はした方がいいと思われ。
それぞれが違う認識だってのがわかった今になってもオレ定義で話すのは混乱の元になるだけだよ。
0397デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
そう言えば最近アグリゲートって聞かないね
0398デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
Class Sample
{
//メソッド
}

↑最近、上記のように波括弧を新しい行に書く書き方に変えたのですが
どのように打つのが一番効率がいいですか?(IDEはVisualStudio)

今ところ案としては以下の案があります。
�@
クラス名 { } を書く→方向キーで { まで戻る → 改行 → 方向キーで } まで移動
→ 改行、改行 → 方向キーで上に戻る → Tab → メソッドを書く
�A
クラス名、改行 → { 、改行 → 改行 → } → 方向キーで上に戻ってメソッドを書く

お教え願います。
0399デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
書くときにはぐだぐだ気にしない
VSのオートフォーマットに任せる
0400デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>398
ここまでどうでもいい質問ってなかなかない
0401デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>400
まじで悩んでるんだよ・・
0402デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
ファイル追加するときに名前決めたらそれがクラス名になるから入力する必要ないだろ
0403デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>401
ツール→オプション→テキストエディター→C#→書式設定

ここにオートフォーマットする場合の設定があるだろ
(上のはExpressだけど)

閉じる}で自動で改行してくれるだろ
0404デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
クラスの作成ってウィザードになかったっけ?
0405デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>398 スニペット
0406デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
チュッチュチュ チュッチュッ スニペット〜
0407デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
>>398
気持ちはよく分かる。
そもそも{をタイプした時点でカーソルの後ろに}を自動で挿入してくれても良さそうな物だが、
C#のIDEはそういうところ気が利かないよね。
0408デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
拡張メソッドって、VS2005でC#2.0だと使えないの?
VS2008でC#3.0だと逝けるみたいだけど。
0409デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
拡張メソッドはC#3.0から
仕事ならどのみち拡張メソッドなんて好き勝手に使えるもんじゃないだろうし
趣味ならあえて古いバージョンのVSを使う理由は無いはずだし
一体どういう状況でそんな悩みが出てくるのか理解に苦しむ
0410デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
>>409
やっぱり、C#2.0はダメなのね…orz
今まで「VS2010のC#4.0」で作ってたんだけど
「VS2005のC#2.0」に変更して欲しいと、客から通達があったらしい。
客がVS2010のライセンスが用意できなかったみたい、詳しい話は知らん。
上が決定しちゃってるから、開発環境のダウングレードしなきゃならんのよ。
だから、C#2.0で拡張メソッドが使えれば、LINQとかラムダの部分を直すだけでよかったんだけど
拡張メソッドが結構あって面倒なんだYO!
個人的には、Expressエディションでいいじゃんって思うんだけど
インストーラー作れないみたいだし、ダメなんだとさ。
0411デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
ライブラリの場合.NETのバージョンの混在って出来ないの?
ずいぶん昔、アセンブリを勉強していた時なんかそんなのを読んだ気がする
0412デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
そんなけったいな形態のお仕事があるんだw
世の中いろいろだね
0413デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
インプロセス サイドバイサイド
http://msdn.microsoft.com/ja-jp/magazine/ee819091.aspx

の真ん中あたり(動作の概要)見ると、C#2.0と3.0の混在は出来そうだけど
もっと、詳しい人に確認した方がいいだろうね
0414デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
.NET2.0と3.5ならサイドバイサイドは必要ないぞ
つか2つの開発環境を混在させることによる作業性低下のコストを容認できるんだったら
そんなことするより全部Express2010で作ってインストーラの作り方を工夫したほうがマシじゃね
まあそういう問題じゃないと思うけど
0415デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
1.1, 2.0〜3.5, 4.0〜 の3種類は混在無理だったはず
もちろん、それぞれ独立したアプリとして作って
プロセス間通信で連携して動く分には問題ない
0416デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
つか、そのやり直しの経費でVS余裕で買えるよな
客先は何百人でメンテするつもりなんだ
0417デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
>>416
大きな組織は稟議書とか大変なのよ

極端な例だけど、5000円の出費のために、時給 2000円クラスの奴等が 4〜5 人半日がかりで資料作成とか、あったりする。
0418デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
私は.net compact frameworkという産廃を主に使うのでVSは2008なのであります
0419デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
Aという処理を
与えるパラメータだけを変えて
並行に処理したい場合何を使えば実現できますでしょうか?
0420デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
すいません。並列でした。
0421デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
Parallel.ForEachでもTaskを必要な数だけ作っても
0422デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
>>421
ありがとうございます。やってみます。
0423デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
こんなとこで質問している人が
並列処理なんて出来るの?

俺にはそっちの方が疑問
0424デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
出来ちゃうんだよ
見た目はね
0425デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
並列処理ごときで疑問に思うほうがおかしい。
0426デフォルトの名無しさん2013/08/07(水) NY:AN:NY.AN
並列処理はできるでしょ

ちゃんと動かせるかどうかはわからんけど
0427デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
&でつなげればいいだけの事に何難しい事を言っているんだよ。
0428デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
さすがVB戦士
0429デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
それ unix shell の & じゃね

cmd.exeだと start の連投
0430デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
&だけじゃ駄目だね。上の方が言うようにstartが必要だね。
start xxx & start yyy
0431デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
>>423
出来るけど、結果がどうなるかは知らない。
0432デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>398
Eclipseだと { を入力して改行すると
自動で } が挿入されるんだね
VSもそうしろよ
0433デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>398
閉じ括弧を別行に書くとクラス名直後に書いた開き括弧も次行へと整形されるから、
クラス名 → { → 改行 → } → CTRL+Enter
ってのが、いつの間にやら染みついてしまった。
0434デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>433
そんな方法あったんだ・・・
神だな
0435デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>433
Ctrl+Enterなんてあったのか
0436デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
{ 押したあとタブ押せばいいだろ
0437デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
メソッドを持つenumやstructはCOMに出来ないのかな?
アセンブリをレジストリに登録して使ってみたのだがメソッドが無くなっていた
まったくCOMは難しいね
0438デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
コム長官
0439デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
配列を結合する関数(戻り値が配列)を作って呼び出しをを繰り返す場合
while(/////)
{
foo=配列を返す関数;
処理・・・
}
fooの参照が切れたメモリはすぐGCが解放してくれますか?
0440デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
いいえ
メモリ不足になる前には必ず解放されるけど、一時的にCLRヒープをかなり圧迫するはず
0441デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
配列の長さ次第ではLOH入りして実質的に解放されないことも
0442デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
>>441
それは.NET4.5で直った

配列のサイズが大きいならyieldを使って実装すればメモリ食わないよ
0443デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
>>440,>>441,>>442
ありがとうございます
汚い(大きい)データファイルを検索しやすくするために、再整理して保存(キー値付加、その他並び替えいろいろ繰り返し処理が必要)
する処理を書いていたのですがこういう場合は明示的に解放処理を書いたほうがいいのでしょうね
0444デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
いやそれよりバッファを再利用することを考えるべきだろ
0445デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
それより普通にLINQ to Objects使えばいいと思うが
ToLookupとかOrderByとか組み合わせれば超簡単省メモリだろ
0446デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
OrderByって全要素の結果をキャッシュするから、最低でもn要素のリストとディクショナリを使ってるんだと思うが…
0447デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
素人の理解なんてそんなもんだよ
0448デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
プロの理解を教えてください
0449デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
プロの方がそういうの理解してなかったりするよ
プロの仕事なんてボタン貼ってSQL書いてプロパティ弄るだけの単純作業だから
0450デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
プロの定義は?

Success is stumbling from failure to failure with no loss of enthusiasm. - Winston Churchill(1874 ? 1965)
0451デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
OrderByの存在を知っているだけでプロでもマシな方だよ
仕事でC#書いてる人の結構な割合がVBやJava上がりだから基本文法+αの知識しかないことも多い
0452デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
みなさんありがとうございます、バッファを再利用する方法として
今までは配列を返す関数内でbyte[] a=new byte[/////];
として返していたのですが、これを引数としてこいつに放り込む形にしたいと思います
重ねてありがとうございます
0453デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
DataGridView の CellFormatting でcellの色を設定しているのですが、
設定の仕方によって、設定後の色の取得ができたりできなかったりします。
できない場合にどうして色が取得できないのか、分かる方いますか?


■色の取得ができる場合
private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
dgv[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Orange;
}

↑実行後に別メソッドで↓

DataGridViewCell cell = (色を変えたセル)
if (cell.Style.BackColor.Equals(Color.Orange)){...} ★trueになる


■色の取得ができない場合
private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
e.CellStyle.BackColor = Color.Orange;
}

↑実行後に別メソッドで↓

DataGridViewCell cell = (色を変えたセル)
if (cell.Style.BackColor.Equals(Color.Orange)){...} ★falseになる

cell.Style.BackColorをデバッガで見ても、何も設定されてない → "{Name=0, ARGB=(0, 0, 0, 0)}"
でもGUI上は確かに色が変わっている
0454デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
>>453
e.CellStyleとDataGridViewCell.CellStyleは同一オブジェクトじゃないから
DataGridView.DefaultCellStyleやらいろいろ反映させた上でのスタイルだから
0455デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
>>454
じゃ、e.CellStyleで変更した値を再取得するにはどうすればいいの?
0456デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
Webのフォームにラジオボックスが数個ついていてボタンを押すことでラジオボックスで選択したファイルをダウンロードできるようなWebシステムがあります。

これをHttpWebRequest/Responseを使ってダウンロードするにはどうすればいいですか?

Webシステムの理論は下記とほぼ同じだと思います。

http://msdn.microsoft.com/ja-jp/library/cc719227.aspx
0457デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
まずブラウザの開発者ツールを使って調べろよ
0458デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
1.何でもいいから試しにhtmlファイルのダウンロードをしてみる
2.何でもいいから試しにPOSTをしてみる
3.目的のwebフォームからhtmlソースもしくはそのコントロールを取得する
4.そこからradioboxなどのform情報を読みとる
5.2で試したのでPOST
6.完成
0459デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
ありがとうございます。
POSTについての理解できてなかったようです。

submitのPOSTを返してなかったのでどうしてもデータが帰ってきてなかったようです
0460デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>459
submitのPOSTを返すって
どういう意味?????????
0461デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>460
POSTにsubmit○○=valueを入れてなかったということです

説明下手で申し訳ない
0462デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
なんでtoolstripmenuitemってキャストしまくらないと使えない設計なの?
0463デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>455
できないし普通しない
データと変更した条件は手元にあるんだからわざわざ色を見ずにデータと条件を見ればいい
0464デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
InheritedStyle
0465デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>462
何にキャストしてるのよ
0466デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
(夢)セガ ドリームキャスト
0467デフォルトの名無しさん2013/08/13(火) NY:AN:NY.AN
渾身のネタありがとうよ
0468デフォルトの名無しさん2013/08/13(火) NY:AN:NY.AN
人の褌作戦
他人の物を利用して、身を削ったり努力すること無しに自分の利をはかる作戦

渾作戦
ビアク島の 戦いを支援するための作戦で、3次にわたり行われたが、
アメリカ軍のマリアナ諸島襲来 により中止された。
マリアナ沖海戦の前哨戦となる作戦であったものの、
準備していたガソリン、重油など貴重な資源を消費してしまう。
日本軍側の優柔不断とも言える作戦指導から、何も得るところ無く終わった。
0469デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
>>462

他のToolStrip系パーツと共通でぶち込むためだろ
0470デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
IIS7で公開してるサイトのASPファイルから自作クラスライブラリの
アセンブリを読み込んで使いたいのだけど
どこにdllを配置すればいいでしょうか?
物理パスのルート直下ではダメでした
0471デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
IISマネージャで登録するんじゃない?
ここじゃなくてIIS関連スレで聞いたほうがいいと思う
0472デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
binだろ
0473デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
推薦図書/必読書のためのスレッド 70
http://toro.2ch.net/test/read.cgi/tech/1369350072/

上記のスレで質問したところ、.NETのスレで聞いてみてはどうかと提案を受けました。
該当しそうなスレッドが見つからなかったため、こちらに質問させていただきます。
以下、上記スレに書いた内容の転載です。

今度、Visual C#でWindowsアプリの開発を行うことになりました。
当方C, C++, Visual C++(MFC)はある適度経験がありますが、C#や.netは全く未経験なので、本を買おうと思っています。
文法の本はどれを買うか決めたのですが、GUIプログラミングの本を決めかねています(近くに大きな本屋が無く、内容を
見ることができないのです)。
下記のような条件を満たす本がほしいのですが、お勧めはないでしょうか?

・GUI(.Net Framework)を使ったアプリ開発を扱う
・入門/初心者段階の人が読んで役に立つ(別に入門的内容オンリーでなくてもOK)
・各コントロール(と呼ぶのか?)などの基本的な使い方を、ある程度網羅的・リファレンス的・系統的に分類して、豊富な
サンプルを用いて見やすくまとめてある
・ステップbyステップで大きなアプリを完成させていくのではなく、各項目の説明のための最小限の小さなアプリを都度作る
ようなスタイル
・できれば翻訳書ではない

Visual C++でいうと、林晴比古氏の明快入門Visual C++シリーズのような、ぱらぱらとめくってどこに何が書いてあるのかが
わかるような本が理想的。ペゾルド本のようなじっくり読んでいくタイプの本はNGです。

よろしくお願いします。
0474デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
逆引き系を本屋で適当に選べばいいよ
VC++の学習時と同じつもりで身構えてるんだろうけど、VC#は分かりやすいしMSDNも丁寧なので
適当に触って細かいことは都度MSDNに当たればいける
0475デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
.NETのMSDNはメンバ一つ一つに長い解説とサンプルコードがあったり
コントロールごとにチュートリアルを用意してくれてたり
日本語訳も昔と比べればずっと改善されてるし
ヘタな参考書よりよっぽど丁寧
0476デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
MFCで開発できるだけの腕あがあるなら本なんて要らないでしょ。ぐぐればすぐに情報見つかる
0477デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
MFCできるならdobonだけ見ればいいよ
04784732013/08/16(金) NY:AN:NY.AN
msdnがわかりやすいというのはありがたいですね。
とはいえ、なんとなく本の体裁のものも欲しいので・・・。

>逆引き系を本屋で適当に選べばいいよ

逆引き本を買ってみようかとも思ったのですが、逆引き本だと断片的な内容になりがち(それこそネットで
調べられそうな事柄が多い)ため、ある程度体系的にまとまっているいい本はないかな、と思ったのです。

まあ、あまり悩んでいても仕方ないので、とりあえず適当に買ってみます。
ありがとうございました。
0479デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
↓こんな感じのXMLから
http://jk.nicovideo.jp/api/v2_app/getchannels


channel
radio_channel
bs_channel
の
0480デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
オッケーイ
0481デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
XLINQでもなんでも使って好きにやって
0482デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
>>477
やりたい事と C# でググれば
dobon が出てきて助けてくれる
本当助かるぜあそこは
0483デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
msdnは何がどこにあるか探しにくい
0484デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
ほぼ初めてのC#を使ったwindwsアプリケーションを作っています
TextBox1+TextBox2をlabe1.textに表示させるさい
TextBox1の数字をxに置き変える方法がわかりません
助けてください><
0485デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
C#ド初心者にクラス関数と普通の関数の違いを
短時間で理解できるよう教える方法を教えてくださいorz
0486デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
C#におけるクラスメソッドと普通のメソッドの事か?
使い方全く違うじゃん
何が分からんのだ
0487デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
違いなんてない
気持ちの持ちようだよ
0488デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
>>484
LINQでどう書けるかやってみただけだ
多分見ない方がいい

label1.Text = string.Join("", (textBox1.Text + textBox2.Text)
.Select(v => v >= '0' && v <= '9' ? 'X' : v));

Betweenが欲しいぜ
0489デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
普通のメソッドって何?
メソッドって必ずクラスに属しているものと思ってた
0490デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
クラスメソッドはクラスをインスタンス化しなくても
呼び出せるメソッドのこと
0491デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
クラスメソッドってスタティックなメソッドのことだと思ったが違うのか
04924882013/08/17(土) NY:AN:NY.AN
違わない
0493デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
へぇ知らなかった
C#あたりの教科書だと、静的メソッドとか静的なになにとかしか記憶にない
計算機科学では一般的な言葉なんだ

>>482
性的だけに気持ちいいw
0494デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
Delphi(ヘジたんの前作)も「クラスメソッド」
Javaは「スタティックメソッド」
C++から入った人は「スタティック関数」と言うかもしれない
0495デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
C++で単に静的関数というとモジュール外に公開しない関数のことだから
静的メンバ関数でしょ
0496デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
何を言ってるんだ?
ってprivateみたいな使い方もあるんだっけ?そんな使い方したことないや
0497デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
(絶句)
0498デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
使い道があるかはわからんが不可能ではない
publicな非staticからprivate staticを呼び出せたり出来る
0499デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>グローバル変数に付けると、他ファイルからアクセスできなくなる
ttp://bituse.info/c/27

これでprivateとして使うんだと
0500デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
クラスメソッドと普通のメソッドの違いの前に
クラスフィールドと普通のフィールドの違いを理解した方がいいと思うわ
0501デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>489
こいつあほすぎだろwww
0502デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>501
そうか、俺はあほだったんだ
てか、「あほっちゅうやつがあほやねん」って日本のことわざしらんのか?
あほ〜w
0503デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
これは基地外だ
0504デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
でもまあこんな場所でオレ定義の名称を使う方もどうかと思うけど。
「普通のメソッド」ってなんなんだよと思うのは当然だわ。
0505デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>504
文書から推測できないのかお前は
アスペ乙wwwwwwwwwwwwwwwwwwwwwwwwwww
0506デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
で、結局普通のメソッドは作れるの?試すの面倒だから誰かおしえてくれ
0507デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
ああ確かにキチガイだこれ
無知のくせに他人に要求だけする
0508デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
class C
{
 public static void StaticMethod(){}

 public void InstanceMethod(){}
}

------------------

C.StaticMethod();

C c = new C();
c.InstanceMethod();
0509デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
void hoge1(){}  //普通のメソッド=使えない。 error CS0116: 名前空間にフィールドやメソッドのようなメンバーを直接含めることはできません。
namespace hoge
{
 void hoge2(){}  //普通のメソッド=使えない。 error CS0116: 名前空間にフィールドやメソッドのようなメンバーを直接含めることはできません。

 class C
 {
  public static void StaticMethod(){}  //普通じゃないメソッド=使える
  public void InstanceMethod(){}  //普通じゃないメソッド=使える
 }
}
0510デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
クラスに馴染めなかったメソッド・・・orz
0511デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>508
クソコード乙
0512デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
ところでApplicationExceptionは使ったらいれないの?
0513デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
staticメソッドにするやつはクズ
0514デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>512
ダメ
何をアプリケーションとするかなんて相対的なもので、まったく意味のない分類
グルーピングがしたければHogeアプリならHogeExceptionを継承するのが合理的
0515デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>513
じゃあ、.NET Framework標準のライブラリ群はクズということになるな。
標準のライブラリ群は絶対に使うなよ!
0516デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
cscもラムダ式をstaticメソッドに変換するクズ
0517デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>505
ふつうに考えて推測を要する時点でダメだと思うが
0518デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
拡張メソッドは面白いけどあまり好きにはなれない
0519デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
ラムダ式は大失敗。
0520デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
staticにしたらクラスライブラリにする時に問題になる
0521デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>517
煽りとかじゃなく真面目な話し、少しは自分がアスペって自覚しといた方がいいぞ
0522デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>521
コテ付けて
0523デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
アスペに真面目な話とかアホか
いちいちからむなクズ
0524デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
相手がアスペと疑う奴は自身がアスペだろ、ふつう。
0525デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
うん。
悪口は自身の価値観の裏返し。
0526デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
。使うやつは同一人物だと思う。
0527デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
よぉーっし。これから全部 。 を付けちゃうぞ。
0528デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
日本人ならふつうに句読点使うだろ。使わない奴はよほどの低学歴だろう。
0529デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
句読点を無くし、括弧を自然言語に取り入れるべき。
0530デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
かんじ も すてて わかちがき に しようぜ。
0531デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
。つけてるのは漢字変換のトリガに使ってるんだと思うぜ
0532デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
句読点ない馬鹿見ると、
こいつ日頃から文章書いてないし読んでないんだろうなと思う。
0533デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>528
いやいやw知らないんじゃないよwww
印象を柔らかくする為に省いてるんだよwww

50超えたら知らない人も居るかもだけどね
0534デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>531
文中と文末で押すキーをわざわざ変えるのか…
0535デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
わざわざって、隣だしカンマとピリオド使い分けるのもわざわざって言うか?
0536デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
おまえら, くだらないことで言い争うな;
0537デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>536
おい、職業病やめろ
0538デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>533
いや、ほんとうに価値観を反映した良い見本でいらっしゃいますね。
0539デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
ここは日本語プログラミング言語ひまわりのスレ
0540デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
!お前ら.言い争う(くだらないこと)
0541デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>533
こんなのと一緒にしないで
0542デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>540
おい、職業病やめろ
0543デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
職業病.やめる("おい",force=True)
0544デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
[お前ら やめないか: そろそろ];
0545デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
ところでリストの中身を
i〜j番目をn〜m番目と入れ替える方法はある?
0546デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
リストの置換は遅くないはずだから普通に組めば
0547デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
参照型なら好きなやり方でやればいい
値型でもいくらでもやりようはある
0548デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
これこそ拡張メソッドに向いた仕事だな
0549デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
また出たよ拡張バカ
0550デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
拡張は遅い
0551デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
拡張バカてw
0552デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
てst
0553デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
召喚獣
0554デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
Tagってつかってもいいの?
0555デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
数値やStringみたいな単純な型を入れないと約束できるなら許す
0556デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
メニューに1000個の項目作ったら
52秒くらいかかるんだけど?
どうすればいい?
0557デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
最初に全部追加するんじゃなくて開くときに必要な分だけメニュー項目追加
0558デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
ContextMenuStripとかToolStripDropDownの方なら、追加自体がクソ遅いからある程度数が増えるとどうしようもない。

メニューアイテムが何千個とかになる可能性があるなら仮想リストビューのような機構を考慮してみてはいかがか。
実際に追加するのを256個程度にとどめて、スクロールやキー押下時にアイテムを削除/追加する。

まあ1000個の時点でUIとしては破綻してるけどね……
0559デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
実際のUIがどうなってるのか知らないけど、別に1000個でも破綻してるとは思えないな
IEのお気に入りなんかは>>557の方法。何万個お気に入りが記録されてても動作は普通
0560デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
いや、1列にならべた1000個の中から必要なものを1つ選べってのが破綻してるだろw
0561デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
>1列にならべた
これどっからきたんだ???
0562デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
>>556見りゃわかるだろ
0563デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
AddRange
0564デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
オブジェクトブラウザの内容ってエクスポート出来ないんか?
XMLとかに出来ればありがたいんだが
0565デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
doxygenでも使えば?
リフレクション使えば自分でも簡単にやれるけど
0566デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
DBにパスワードを暗号化して保存したいんですけど
不可逆のほうがいいと思うのでMD5で保存しようと思うんですけど
それをJavaとC#で認証したいんですけど、これって普通ですか?
0567デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
> DBにパスワードを暗号化して保存したいんですけど
うん
> 不可逆のほうがいいと思うのでMD5で保存しようと思うんですけど
今時MD5?とは思うけどまあうん
> それをJavaとC#で認証したいんですけど、これって普通ですか?
どこで何を認証するのか分からないと何とも
0568デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
>>567
画面で入力されたパスワードをMD5でハッシュ値を取得して
DBから取得した値と比較というのをJavaとC#でしたいんですが
どちらもMD5のハッシュ値なら同じ値になりますか?
0569デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
ならなかったら大変だよ
0570デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
>>569
ありがとうございます。ではこれで行きます。
0571デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
"00010"っていう文字列リテラルから左の0だけを全部取り除きたいので
string str="00010";
str=(int.Parse(str)).ToString();

ってやってるんですが
本当はどうやったらいいんですか?
0572デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
すいませんリテラルじゃないですね
文字列を代入した変数でした
0573デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
Trimとか
方法は色々あって唯一の解ってのは特にない
0574デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
俺は動けばいいと思うが、どうしてもというなら正規表現で組めばいいんじゃないの?
05755732013/08/22(木) NY:AN:NY.AN
TrimじゃなくてTrimStartだった
0576デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
>>573-575
ありがとうございます!
これで型変換せずに済みそうです
0577デフォルトの名無しさん2013/08/23(金) NY:AN:NY.AN
ウィンドウのシステムメニューってあるじゃないですか。
ウィンドウの左上のアイコンを右クリックしたときに出るやつです。
あれを自分で表示することってできないでしょうか?
systemmenu.show();
みたいな感じで。
0578デフォルトの名無しさん2013/08/23(金) NY:AN:NY.AN
ggrks
C# "システムメニューを表示する”
0579デフォルトの名無しさん2013/08/23(金) NY:AN:NY.AN
alt+[space]をメインウインドウにディパッチしちゃどうだろう?(超適当)
0580デフォルトの名無しさん2013/08/23(金) NY:AN:NY.AN
できた。ぽまいらありがとう。
0581デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
クラスAとクラスBがあったとして、クラスAのボタンコントロールを押した際に、クラスB内で処理をしたい場合は以下の2案が考えられると思うのですが、
一般的にはどちらを使えばいいものでしょうか?あるいはこういう時はこっちがいいという考え方はありますか?
今は�@で実装してますが、見づらく再利用もしづらい気がしてきたので�Aに直すか迷っています
(実際は下記例と異なり、10個以上の引数を与えているので・・・)

�@案
//クラスAでクラスBを宣言してコントロールを引数にする
B = new B(button1, textBox1);
//クラスBでラムダ式でメソッドを実装
public B(Button button1,TextBox textBox1)
{
button1.Click += (sender, e) => button1_Click(textBox1);
}
//クラスBで同名のメソッドに処理を記載
void button1_Click(TextBox textBox1)
{
//処理
}

�A案
//クラスAでクラスBを宣言してコントロールをナンバー変数にする
B = new B();
B.button1=button1;B.textBox1=textBox1;
//クラスAでbutton1のクリックイベントを実装し、Bのメソッドを呼ぶ
private void button1_Click(object sender, EventArgs e){ B.button1_Click(); }
//クラスBに同名のメソッドに処理を記載
void button1_Click()
{
//処理
}
0582デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
クラスAとクラスBは独立に生成して
クラスBのコントローラをクラスAのイベントに紐つける
0583デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
回りくどいことしてるなって印象のみ受けるね
0584デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
C#にfriendに相当する述語がないのが悔やまれる

結局publicにするしかない
0585デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
そう。必要ないね
0586デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>581
クラス設計が悪いからそうなってる
GUIは最も設計が難しい問題の一つだから、
安易にプログラムを組んでるとすぐにグチャグチャな実装になるよ

つまり適当なGUI設計の解説文書に目を通しながらクラス設計を見直せということだ
0587デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
GUI関係ないじゃん
0588デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>587
Model View Controller
http://ja.wikipedia.org/wiki/Model_View_Controller
> 特に構造が複雑となりがちなグラフィカルユーザインターフェース (GUI) をもつソフトウェアにおける有用性から他方面へ広がった。
0589デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>588
Wikipediaをソースにすんな
クラス設計が複雑なケースはGUI関係なしに問題が起きやすい
0590デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
2が普通
回りくどくもないし、変な設計でもない
ただしB.button1_Click();って名前が悪い。関数名の付け方をもう少し考えた方がいいと思う
0591デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
というか、Bのメソッドをイベントハンドラにしないのは必要な要件なの?
0592デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
引数のためにEventArgs継承するのが嫌なのでは
0593デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
senderを生かせばbutton1のようなインスタンスをあらかじめ渡しておく必要もない
0594デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
テストしにくそうな設計はやめてください
0595デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
フィールドにアクセスしてる方がテストしにくさではよほどだろw
ステートがねえ方がいいに決まってる
0596デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
業務なら保守性・テストしやすさ・見やすさ・・・必要だけど
初心者スレで、質問者も見るからに初心者じゃねーかよ
それに対してテストとか解説文書とか言ってるやつは池沼自覚しとけよw
0597デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
引数10個もある時点でテストしやすさなんて求められてないのは明白だからOK
0598デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>589
おれ「GUIはクラス設計が複雑になりがちな領域だよ」
↓
きみ「GUI関係ないだろ!」
↓
おれ「えっ」
↓
きみ「クラス設計が複雑ならGUI関係なく問題が起きやすいだろ!」
↓
おれ「???」
0599デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
俺の結論としてはどっちも選ばないってことで一つ
0600デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
やったこと無いけど、Bのボタンをパブリックにして、Aのインスタンスに直接飛ばすのは出来たっけ?
0601デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
自分だったら >>582 を選ぶかな。

それができない事情があるなら、必要なインターフェイスを Class A 側で定義して、
それを実装した Class B のメソッドを Class A のイベントハンドラ内から呼び出す。
0602デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
Bはボタンじゃないですよ
ボタンのイベントを記述しているだけのクラス
0603デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
デザインパターンの見地からクラス設計を語ってる奴がいない時点で終わってるな
0604デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>603
人生終わってるアスペは静かにしとけ
0605デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>604
GUIのクラス設計をデザインパターンに頼らず独学でこなせる奴がいたら天才だわ
0606デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
まったく君たちは、喧嘩ばかりしおって・・・。
http://ideone.com/h2oYGz
0607デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>605
分かったから静かにしとけ
心の電話にでも喋ってろチンカス
0608デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
MVCとかデザパタとか、キーワード喋りたいだけの奴が多いな
そんで肝心の中身はゼロ
0609デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>606
このコードの断片に何の意味があるんだ?
型安全も確認せずダウンキャストしてるからバグがあったらプログラムごと停止
こんなコードを製品に採用したらその会社は終わりですな
0610デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
学校行って知識だけあってプログラミングできないやつが多いからな。
初心者はとくに動けばいんだよ。実装の無駄さ、複雑さなんて気にするな
0611デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>型安全も確認せずダウンキャストしてるからバグがあったらプログラムごと停止

失笑するしかない
ダウンキャストは無条件で危険って耳元で囁かれ続けて育ったんでしょうね
0612デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>608
>>581こんな短いコードの一部だけ見せられてクラス設計について具体的に指南する奴がいるとしたら
そいつは超能力者か大馬鹿者のどちらかだ
クラス設計について具体的に指摘するのなら全体の情報が必要になるのは当たり前
A, Bなんて局所的なクラスだけじゃ何とも言えねーよ
0613デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
まさにメンヘル行けってことですね
0614デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
デザインパターンの見地からクラス設計を語りたいだけで>>581なんてどうでもいいんだろ
ぜひ語れや
酒の摘みに位してやるよ
0615デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>611
実際>>606のコードは動かないぜ?
ダウンキャストを安易に使う奴はこんな短いコードにすらバグを混入させる初心者だと白状してしまいましたな

正解は
((Button)sender).Text = "hogehoge";
0616デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
初心者はとにかく動くもの書いてればいいんだよ

だんだんわかってくるよ
06175812013/08/25(日) NY:AN:NY.AN
結局どうしたらいいんでしょう
0618デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
とりあえず 582 でいいんじゃね。
0619デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
俺もダウンキャストって実行時に決まるし静的型にとっては基本的には悪だと思うよ
でもこういうのを解決する上手い方法ないのも確か
0620デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
キャストOFF!
0621デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
自分で設定したイベントハンドラの引数すら信じられないなら好きにしたらいい

Debug.Assert( sender is Button );
とかしとけば
0622デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
自分のコードなんて全然信用できないから
その手のチェックはコンパイラがやってほしい
0623デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
とりあえずsenderの型をobjectにしたバカを呼んで来い
0624デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>623
何型なら良かったん?
0625デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
イベント飛ばした型にすりゃいいじゃん
0626デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>625
System.EventHandler()のオーバーロードがすごいことになりそうだ。
0627デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
コントロールを自作した場合はどうなんだかね。
0628デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
ウィジェット渡すって構造が元凶の気がする
0629デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
イベントが基底で定義されてればキャストは絶対にいるだろ
CLRは言語レベルでイベントがあるからObjectが渡されるだけの話
0630デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
つかC#は安全にキャストできるんだからobjectで何の問題もないと思うけどな。
0631デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
安全と言っても失敗したら実行時にInvalidCastException投げるから
キャストすらせずにコンパイル時に解決する方法がないかなという話
0632デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
というかsenderを使わなければいい話
なんのためのデリゲートだよ
関数ポインタじゃねえんだからさ
0633デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
どうせsenderを決め打ちでダウンキャストする時点で密結合だしな
0634デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
Buttonが発生させたイベントならsenderはButtonに決まってるだろう
そんなことを疑ってたら怖くて一行もコード書けないわ
参照型変数にはnullが入ってるかもしれないから参照型は使ってはいけない
予期せぬ例外が出るかもしれないから外部のメソッドを呼んではいけない
とか言ってんのと一緒
0635デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
sender.ev += (s, e) ((X)s).f();
と書かずに
sender.ev += (s, e) sender.f();
と書けばいいだけの話
これが安全じゃないならsenderのクラス設計がおかしいから修正させろ
0636デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
デザイナ使わずにクロージャでイベント登録する方が
ダウンキャストよりよっぽど糞コードだと思う
0637デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
ボタンのクリックイベントsenderを型チェックしろとか言ってる奴は
eがnullでないことやeが持ってるプロパティの値が正しいことをチェックするのか?
しないと片手落ちだ
0638デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>636
クロージャではなくメソッドとVSの話になるが
メソッドをイベント登録するとメソッドの呼び出し階層の表示で追えなくなるのが辛いと常々思う
0639デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
>>637
やるべきだと言ってるんじゃなくてだな、
せっかく型チェック機構があるんだから
使わないで解決するスマートな方法ないかなと言ってるだけだ
0640デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
FxCopのルールでも作れば?
0641デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
ボタンのクリックなんかは変な呼び方するやついないからnullチェックしないが、
自作イベントなら必ずチェックするな
0642デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
型チェック使ってスマートにやりたいなら自作イベントに登録させるのが一番じゃないかな
object senderやeventargs eに期待しちゃ駄目よ
0643デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
しかしどうしてオマエらは本来の質問そっちのけで場外乱闘を始めるんだ。いつもいつも。
0644デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
イベントを隠ぺいしないやつが悪い
0645デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
>>581です
色々とレスありがとうございました
>>582はクラスBでイベントを作っておいて、クラスAのボタンコントロールを押した際にクラスBのイベントに飛ばせということですね
�Aのように考えたのはクラスBの処理はメソッド単位の方が再利用しやすいのかな?と思ったからです
コントロールがボタンに限らない(例えばメニュークリックからも同様の処理をさせたい)場合は�Aの方がいいですよね?
そこもイベントはBで記載して共通のメソッドに飛ばせば>>582でいいのかな

>>582がよい、>>590でいいというレスを頂けましたので、どちらかで書き直します
やっぱり�@は見にくいだけでメリットないですよね・・・
0646デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
>>645
昨日は規制中だったから書けなかったけど、あなたの案、本当はどっちも論外なぐらい変だよ。

View(Form)がModel(データやメソッドを持つクラス)の参照を握るのは良いけど、
ModelがView(そのの中のGUI部品を含む)の参照を握るなんて最悪のダメ設計。
0647デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
モデルってどこから出てきたのやら。
UIイベントをハンドリングするんだからコントローラかビューロジックと考えるのが普通だろう。
実際>>581がどう考えているのかは知らんが。
0648デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
そもそもコントローラを分けて設計する人はこんな質問しません。
っていうか、Windows Formでそんな設計する人っているの?

そんな人はほとんどいないと思うけど、でもモデルだけはきっちり分けなきゃダメ。
0649デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
以前に2chのスレッド検索のことで質問したものです
専ブラ開発についてどこで聞けばいいのかわからないのでまたここで質問させてもらいます
書き込んだレスを認識する方法ってなんでしょうか?
書き込んだレスの内容と、差分取得したレスの内容を評価して「たぶんこれっ」て決めるのはおかしいですし...
書き込んだ時間と取得したレスの時間を評価をしようにもPCのローカル時間と比較しても仕方ありません...
0650デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
>>649
ソフトはおいといて、おまえは普段どうやって判断してる?レス内容、時間、ID見てたぶんこれ!ってやってるだろ?
ソフトもそれでやればいんだよ
>>649だっておまえの書き込みは投稿失敗してて、実は俺が書き込んだのかもしれないんだぞ。おかしくていんだよ
0651デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
>>650
そんなもんでいいんでしょーかねー
むむむ
0652デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
8アプリでキャンバスにImageコントロールを50個以上置くとものすごく重いです。

ゲームなんだけど描画ってどうやればいいの?
0653デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
formのHWND、DCつかって直接描画
0654デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
ストアアプリにそんなのないからw
0655デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
8アプリってスマホなの?
0656デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
DrawingContextで描画
0657デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
directx使えばいいよ
0658デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
>>656
それSyztem.Drawingより遅い
0659デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
>>658
ほんとに?自分で確認した?誰かの受け売り?
0660デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
メニューを開くとDropDownDirection
が勝手にRightになって戻らないんだけど?
0661デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
>>660
タッチパネル使ってるだろ?
デフォルトの右利き設定だと、右手でメニューが隠れないように、左に出すようになるらしい。
マウスがメインなら、コンパネで左利きに設定しておけばいい。
0662デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
なんだ、Rightか…
0663デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
>>659
MSの社員の発言が元だが自分でも試したことあるぞ
マジでゲロ遅い
WPFの典型的な間違った使い方だ
0664デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
質問
1..Net2.0で作っておけばWindows XP以降のどのバージョンのOSでもWindows Updateから.Net入れなくても動くと考えていいでしょうか?理由も添えてください
2..Net4.0と.Net4.5は共存できないのでなるべくこれらのバージョンで開発はしないほうがいいと思うのですがこの考えは正しいですか?間違っている場合は理由も添えてください。
0665デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
A 好きにしろ。
0666デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
1.発売当時の素のXPには.NET入ってないと思うから動かない
2.シラネ
0667デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
Z君が4.0でプログラムを作りました
A君のOSには4.0が入ってる
B君のOSには4.5が入ってる
Z君のプログラムを動かせるのはA君のみです
MSは4.0と4.5を共存できるようにするべきだった
3.0と3.5は共存できるのに4.xだけ共存できないなんてマジでキチガイ
0668デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
XPのサポート終了を利用してるんじゃないの?
0669デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
4.0と4.5両方インストールすればいいじゃん
0670デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
4と4.6共存でるんじゃなかった?
ただ一部コンポーネントが共有されてるから、その部分で互換性に問題生じてヤバイ可能性があるだけ、
普通は気にしなくていいと思ってる
0671デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
互換性はガンガン切ってくれて構わない
マイグレの仕事が増えておまんま食いっぱぐれないからね
0672デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
プロパティでバージョン変えてコンパイルし直すだけのお仕事だからなぁ
VS2012のC++/CLIは、C#と同じ様にプロパティを変えるだけの仕様になった?
0673デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
レグレッションテストを端折れるなんて楽なお仕事ですね。
0674デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
1.0/1.1/2.0-3.5の各バージョンで作ったexeを4.0/4.5でも動かしたい時は、
*.exe.configに下記の指定をする。
<configuration>
 <startup>
  <supportedRuntime version="v2.0.50727" sku="client"/>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
 </startup>
</configuration>

4.5で作ったexeは*.exe.configがなければ4.0でも動こうとする。
増えた命令やライブラリを使ってなければ4.0でも動作する。
この辺は2.0-3.5の関係に近い。
4.5以降に限定したいなら、以下の指定を忘れずに。
<configuration>
 <startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
 </startup>
</configuration>
0675デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
クラスライブラリやcomの場合はどうするんです?
奴らconfig読みませんよ
0676デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
俺はおとなしくターゲットバージョンでビルドしなおしてる
0677デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
>>675
クラスライブラリのアセンブリ(DLL)の場合読み込むexeやCLRホストに依存するから問題なし。
ただGACに登録するCAS使ってるようなのは、透過セキュリティの4.x系で問題でるかな。

comというのはregasmで登録するようなのを言ってます?
0678デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
>>677
はい
0679デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
関係ないよ
excel.exe.configってやるだけ
0680デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
シリアルポートと通信をするプログラムを作ろうとしています。
しかし、ハードウェアが少し特殊なのですが資料がなく困っています。
C#でシリアルポートと通信する方法は親切にもいくつも転がっているのでなんとかなりそうですが、
見ると文字列かバイト配列でデータを送信するとのこと。
とりあえず、テスト環境としてUSB-シリアルのケーブル2本とリバースの
シリアルケーブルを買って自分自身で送受信する環境を作りました。
C++のソースがあるのですが、C++がほとんどわからないので
大変なのですが、なんとか読んでみてポイントとなる部分を探しました。
で、そのC++のソースが以下の通りです。

int func(char CmdNo, char *Para, int Len){
int i;
char *p = sbuf;

//先頭3バイトは、データ長,0x01,コマンドコードをセットする
sbuf[0] = ( Len == 0 ? strlen( Para ) + 3 : Len + 3 );
sbuf[1] = 0x01;
sbuf[2] = CmdNo;

たぶん、上のコードのsbufはcharの配列を表していると思うのですが、
シリアルポートに送るにはbyteに変換しないとのこと。

これをC#で書こうと思い、これをbyte配列にしたいのですが、
仮にデータ長が3バイト、CmdNoが 
const char num = 0x10;
だとすると、

byte[] buf = {0x03, 0x01, 0x10};

と書いたのですが、これを送ると受け手側はHEX表示で「c0」と表示されます。
何かが間違っているのでしょうが、上のコードをbyte配列で表す方法を教えてください。
0681デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
最初から一気に作ろうと思わない
・「バイト」や「整数」の型サイズのことをきちんと把握する(serialは関係なし。メモリ内容などを見てチェック)
・文字をきちんと送信できるようにする
・文字をきちんと受信できるようにする
・任意のバイナリを送信できるようにする
・任意のバイナリを受信できるようにする
最低これを最初にやれ
送受信のテストは最初はテラタームなんかのソフトを相手にやれ
0682デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
フォームの右端に近い位置でコンテキストメニューを開くと
チェックボックスとか画像が右側になるんだけど
どうすれば戻る?
06836802013/08/29(木) NY:AN:NY.AN
>>681
時間がなく焦ってて勉強もそこそこに書き込んでしまいました。
「USB変換ケーブルを2本自分自身に挿す」というのを先週あたりに
思いついていればこんなことには・・・。

で、言われたとおりもう一度最初からテストしてみました。
Teratermで受信したデータをバイナリ表示するやり方がわからなかったので、
別のツールを探してきて、2つのcomに接続し通信しました。
もちろん、その状態でなら任意の文字列・バイナリは送れました。

自分のプログラムでも試すとうまくいかないのですが、
設定が間違っていたことに気がついて、文字列、バイナリそれぞれが送れる
ようになりました。

あとは上のプログラムの解釈が合っていればなんとかなりそうです。
もう少しがんばってみます。
0684デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
>>680
c0=11000000
03=00000011
RS232Cってビットのエンディアン既定されてたっけ?
まあ、相手方と自分のエンディアン確認してみたら
0685デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>684
それはさすがに決まってますw
っていうか、そのレベルの話は解決したって質問者言ってるじゃん
0686デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ビットシリアルなのにエンディアンも糞もあるか。
0687デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
つかエンディアンってバイトごとにひっくり返るだけで、ビットごとにひっくり返るものは見たことないわ
0688デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>686
シリアル転送なんだからエンディアンというかビットオーダーの概念はあるよ。
あんたシリアル転送がどういうものか知らないだろw
0689デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ポート叩いて自分で信号作り出すならビットオーダーは意識しないとダメだけど、
普通にAPI叩いて通信するならそっちが勝手にやってくれるからビットオーダーは意識する必要なし。

int数値みたいに複数バイト単位のデータを送るならエンディアンは意識しないとダメだけど、
1BYTE単位で通信するならエンディアンは意識する必要なし

>>680の場合だと、ビットオーダーもエンディアンも意識する必要なし
0690デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
だから、意識するもしないも232CはLSB firstって規格で決まってますw
これはハードウェアレベルで実装されていることだからポート叩いて云々って話もナンセンス。
0691デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
普通の相手と232Cで通信するならビットオーダーなんて気にすることはないが
シリアル通信とは書いてあっても、232Cだとは書いてないし、相手が特殊なハードだと書いてあるからなぁ
それ以外で>>680のようにc0表示になる理由が思い浮かばんが
0692デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>690
>ポート叩いて自分で信号作り出す
そのハードウエアレベルのことをソフトでやるって意味だろjk
例えばワンチップCPUでよく使われてる手法
0693デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
いやいやPCでI2CやSPIはありえないし、RS-485とかなら232Cと同じだし
0694デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>692
そんなのWindowsでは無理。
マイコンでも今時そんなことやる奴はいないよ。
0695デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
いやだから、自分がPCで232C規格だとしても、相手がそうだとは限らないわけで
相手は特殊なハードって書いてあるわけですが
0696デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
昔はパラレルポート/シリアルポートのピンをGPIO代わりにするのがあったよね
0697デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
相手の環境決めるのはアンタじゃないし断定するには至らんがな
ありえない(と思う)の域を出ないだろ
0698デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
っていうか質問者シリアルポートって書いてるじゃねえかw
0699デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
今もUSB経由でGPIOつけるボードとかあんじゃん
今時やる人がいないなら誰のために売ってるのやら
0700デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>696
FPGAライターで今も使われてるぞw
0701デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>688
ネスペもってますが、何か。
0702デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>699
GPIOって意味分かって言ってる?
0703デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
物理層の話はスレチとして、エンディアンは>>680の仕事で要実装。
0704デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>701
ネスペって信号は扱わないでしょ
0705デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
電気通信のセクションあるからあるよん
0706デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ごめん。アスペと空目した。。
0707デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
面白いと思った・・・?
0708デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>704
扱わないわけねーだろ。一層もがっつり。
0709デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
つか、それほど特殊な環境だとテラターム動かないだろw
無理矢理考えたとしてもドライバレベルで232Cをエミュレートしていないと成立しないわ
0710デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
エンディアンっていうとバイトオーダーの事しかないと思いこんでる人がいるみたいだから
>>684の発言は、以下のように訂正させていただきます

c0=11000000
03=00000011
RS232Cってビットオーダー規定されてたっけ?
相手方と自分(232C)のビットオーダー確認してみたら
0711デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
BYTE1 通信長
BYTE2 0x01固定
BYTE3 コマンド種
BYTE4〜通信長 データ

全部文字列じゃなくて、↑みたいな形式を特殊って言ってるとエスパーしてみた
0712デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>708
昔は知らないが少なくとも今の試験じゃほぼ出ないよ
0713デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>711
それ、どの"特殊"に対するレスですか?
あいにくこちらはエスパーじゃないので
0714デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
じゃあ無理して反応しなくていいよ
必要があった時に声掛けるから
0715デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>710
232Cが軽く纏まっているから読んでみるといいよ
http://www.contec.co.jp/product/device/serial/basic.html

ビットオーダーなんて設定ないからw
0716デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>694
デバイスドライバ持ってくるか、作ればwinでもできる。
今でもwin上から直接ポート叩いてチップにコマンド送りつけることもある。
"WDK7600\general\portio\gpdread\Gpdread.c"なんかがそれ。簡単にできるよ。

マイコン=Arudino、PIC、PSoC系なら今でも一般的だよ。
0717デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
特殊なハードとはおそらくPICのことだな。
0718デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>690
>232CはLSB firstって規格で決まってます
どっかそれを明示してあるHPとかないか?
今まで意識したことも無いから決まってるんだろうが、いざ探すとなかなか見つからん

>>715
そこにあるのが232Cの全てだとは思えんが
設定が無いって事は規格が決まってて変えられない事だとして
それが相手方とあってるかどうかが問題なんだが

自分が232Cの規定どおりだとしても、相手もそうである保証なんてないんだよ
だからまず>>680はそれを確認する必要があるんだがな
0719デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>718
業界標準のシリアル通信チップのスペックシートだ
http://www.ti.com/lit/ds/symlink/pc16550d.pdf
パソコンに繋げる以上コレに出来ない仕様は盛り込めないから穴が空くまで鑑賞してくれ
0720デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
すぐ出てくるじゃねーか。
http://www.arcelect.com/rs232.htm
http://en.wikibooks.org/wiki/Serial_Programming:RS-232_Connections
0721デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
これだからArduino触ったことないやつは訳にたたんのだ
0722デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
元質問読んだが今やってるのはPC同士でテスト通信してるだけじゃねーか
特殊なハードのことなんて忘れないと
0723デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
元質問の話なんてとうに終わりました!
今はRS232の話をしてんの!
0724デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ここ質問を肴にするスレだっけ?
0725デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
質問文を読んでの便乗質問だと思えば
0726デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ビットオーダーで通信できなくなるなんて初心者にしか起きない考えだからこのスレに向いてると言えば向いてる話題
0727デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
質問者と関係ない奴が知ったかぶりしてるだけじゃねーか。
あほくさ。
0728デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
いつものこと
0729デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>718
すまん、英語版のwikipedia見ると規格ではビットオーダーは決められてないと書いてあるねw
俺はマイコン関係も扱ってるんで手持ちのデータシートを見てみると、
確かにビットオーダーが設定できるものもある。

ただ、MSBから送信するデバイスは見たことないね。
規格で決まってなくてもLSBから送るのが事実上の標準だと思う。

>>716
無理だって。
1200bpsだって±3%以内の誤差で1/1200秒ごとにポート出力を変調する必要がある。
0730デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
今まさに自分の認識がひっくり返ったはずなのにどうしてこう傲慢に慣れるんだ?
頭の致命的な部分が短絡してるのか?
0731デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
典型的な経験なし知識だけタイプだね
0732デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>716
ついでに、マイコンでもソフトでUARTなんて普通はやらない。
理由は>>729に書いた通りタイミングがシビアだから。

ちょっと前はI2CやSPIじゃななくて「俺様シリアル転送」でデータをやり取りする必用がある
ICが結構あって、そういうのはもちろんソフトで実装するが、それがソフトで可能なのは
その手のシリアル通信はクロック付き(UARTじゃない)だから。
0733デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>732
だから使ってみろって。今でも使ってるから。
自分で実装するんじゃなくて、ソフトシリアルのライブラリ使う形になるけど一般的。
0734デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>733
馬鹿だろお前。
じゃあ具体的な型番とか製品名とか言ってみろ。

ソフト××(ハードウェアのシミュレート)っていうのは、コストの関係で
資源が限られたマイコンを使って製品を作る場合か、そうでなければ後はホビーストが
腕試しで遊びでやるぐらい。

ライブラリてw
そんなの買うぐらいなら普通にUARTがたくさん内蔵されたマイコン(そんなの今時
いくらでもある)使うよ。

何度も言ってるようにそうでなくても制約が大きいのに。
知ったようなこと言うなよ
0735デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
自分が思ってる常識が世の中の全てだと思ってるタイプだな
0736デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>734
ばーかばーか
0737デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
頭の大事な部分が実装されてないんでしょうね
0738デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
UARTなんてFIFOが数バイトついてるくらいで基本ソフトだろ
0739デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>738
FIFOがついていたらその時点でソフトじゃないんだがカス
0740デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
え?Arduinoのソフトシリアルなんて普通にあるよ
0741デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>740
ねーよバカ
0742デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>739
へっ?
0743デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ゾンビ映画になっちゃったw
0744デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
分かった
異世界から書いてんだろ
0745デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
これ!
http://www.musashinodenpa.com/arduino/ref/index.php?f=1&;pos=92
0746デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>734
Arduionoは標準ライブラリ #include "SoftwareSerial.h"
PSoCは標準ライブラリTX8など

何に製品に使われてるかなんて知るかよ。完全にアスペじゃねーかwww
0747デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
分かった
これは悪い夢です!
0748デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>745
だから、それはソフトであってソフトじゃないんだよ。
TeraTermのマクロで出力してるからソフト制御といっているのと同レベル。
0749デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ソフトじゃないのか?マジか
騙された
訴えたら勝てる?
0750デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
詐欺師と同レベルの煙に巻いた物言いでなにをおっしゃる
0751デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
Arduionoには2byteのFIFOがついてる。
タイミングなんてちょっとくらい適当でも問題ない。
ソフト制御だなんて笑わせるなよw
0752デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
俺には何が正しいのやらさっぱりわからんw
0753デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
夏休みの宿題か?
レベル的に、仕事じゃないよな?
0754デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
それはソフトであってソフトじゃないんだよ。って言われても
さっき事実上の標準とか苦しい言い訳をしゃxべった人に言われてもね〜ww
0755デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>754
完全論破されたからって見苦しいぞクズ野郎
0756デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ところで、Arduino使ってる奴は全員死ね
お前らのせいでMakerFesから多様性が失われて腐っただろうが
0757デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>755
事実上の標準だと思うんですぅ〜
0758デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>746
それは.NETで言ったらSerialPortクラスみたいなもの。
ハードウェアを隠蔽して使いやすくしてるだけ。

当たり前だがシリアル転送そのものをソフトで制御してるんじゃありませんよ。
何度も言うように、今時そんなことをする意味なんかまったくない。
0759デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
と思うんです
0760デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>756
お前半年くらい前にVIPで同じこと言ってなかったか?
0761デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
っていうか、>>746はそもそもシリアル転送がどういうものか分かってないだろ。
調歩同期がどういうものかも
0762デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ハードウェアのシリアルは0と1番ピンだけじゃないの?
0763デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>758
ハードウエアを使うのはこれとは別にあるんだよ。シリアル転送そのものを制御してる
ttp://pastebin.com/rKhasPHu
0764デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>763
シリアル転送のハードを制御してる
の間違いだな
0765デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>764
その通り
0766デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>764
例えばReadだったら↓みたいに、1ビットずつポート呼んでBYTEにしてるんだよ。だからハードのUART扱うのは別にあるって・・・

// confirm that this is a real start bit, not line noise
if (digitalRead(_receivePin) == LOW) {
// frame start indicated by a falling edge and low start bit
// jump to the middle of the low start bit
delayMicroseconds(bitDelay / 2 - clockCyclesToMicroseconds(50));

// offset of the bit in the byte: from 0 (LSB) to 7 (MSB)
for (int offset = 0; offset < 8; offset++) {
// jump to middle of next bit
delayMicroseconds(bitDelay);

// read bit
val |= digitalRead(_receivePin) << offset;
}
0767デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>766
だからハードから読んでるんだろ?
0768デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
Arduinoの周波数なら9600bpsくらいソフトでシリアル通信できるっしょ
0769デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>763
ホビーストがそういうコードを書くケースはあるよ。
それは否定してない。

否定してるのは>>692が言うほど、よく使われる手法なんかじゃないってこと。

そういうので言ったら、マイコン使ってソフトでNTSC信号を合成してブロック崩しとか
作っちゃう人もいるけど、あれは遊びでやってるんであってよく使われる手法じゃない
0770デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>769
お前の世界ではホビーなんだろうな。
ならば、世の中ホビーだらけだけどな。
0771デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>770
だから、じゃあ遊び以外でそれをやる意義はどこにあるんですか?
どこの企業だってコスト意識厳しくなってるのにどこにそんな無駄を許す理由があるんだ。
本当馬鹿だな。馬鹿でなきゃガキだ
0772デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
え?結局ソフトウェアてシリアルできるの?
0773デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>772
もちろんやって出来ないことはないが、リソースを使いまくるから普通はやらない。

ソフトでUSBは遊びでやってる人もっと多いと思うが、こっちもあくまで遊びであって
実用にはなりません。
0774デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
いうまでもないけどWindowsではどう頑張っても無理だよw
0775デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
なんだよ
できるのかよ
騙された
0776デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
Arduinoで赤外線LEDでdelay入れてリモコンとか作ったことあるけど
あれもソフトだよな。あれをハードとか言われたら困るし。
0777デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ハード実装のを優先するのが普通だけど、使えないケースが多くてソフトになること多いな
0778デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>771
そういうのって一般的な製品に組み込む場合じゃないの?
生産設備とかなら多少リソース食うくらい気にならないし
多少高くなっても余裕があるほうがいいし。
0779デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>多少高くなっても余裕があるほうがいいし。
だから馬鹿馬鹿しくてソフトなんかだやらないんですよ。

UARTが3つも4つもついてる32bitマイコンが300円とかで買える時代に
ソフトでUARTってそれどんな罰ゲームだよって話。
0780デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
>>779
なんだ。そういう話か。
UARTがついてない高性能マイコンを想定してたけど
そんなマイコン無いわなw
0781デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
今どき50円のマイコンでもUARTついてるよね、って最初の質問なんだったっけ?
0782デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>779
>>735
0783デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ハードのことは分からないけど標準ライブラリであるなら使われてるんでしょ
0784デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
つか、パソコンと通信している時点で、どんな実装だろうが特殊な仕様じゃないってことだわ
テラタームの設定で送受できるレベルだ
0785デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ここはRS-233C#スレ
0786デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
C#erでも少しはハードも知らないとダメだよ
0787デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
それより空気の読み方を知った方がいいぞ
0788デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
空気より技術だよね
0789デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
シリアルとか業務だと割と使うけどね
0790デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
申し訳ないが仕事が出来ても他人と衝突しかしない奴はNG
0791 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
見かけ上衝突していたとしても,そこから新しい価値観が生まれることが多々あるというのに,仲良し阿部ちゃんクラブ,今まともに働いているか?
http://www.amazon.co.jp/dp/4822247570/
0792デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
QZは人間として欠陥があるのでBAN
0793 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>792
具体的に
0794デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
こういう不毛な罵り合いが続くと変なのを召喚してしまうのはよくあること
0795デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
今回に関しては最初から変なのが不毛な罵り合いをしてただけ
0796デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
自演ぽいのもあるな
0797デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
流出希望
0798デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
質問
C++(ネイティブ)のDLLをC#で使うソリューションを作ってます
C++でビルドしたDLLをC#のフォルダに出力するには、C++で出力先をC#のフォルダに設定するしかないですか?

参照の追加 → 今回は.netのDLLでないからこの方法使えない
DLLをC#プロジェクトに追加して出力ディレクトリにコピー設定 → ビルドによるDLL変更が反映されないからこの方法は使えない
0799デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ビルドイベントを活用して古かったらコピーでもするようにしておけばいい
0800デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
その方法の方がいいかも
C#のプロジェクト側から何が使われてるかひと目で分かるようにしたいというのが発端です
0801デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ちなみにだがwinのcopyコマンドとxcopyコマンドは日時を比較してコピーできない
robocopyを使うか、MinGWやCygwinについてるcpを使うのが手軽
自前で用意してもいいけどさ
0802デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
> DLLをC#プロジェクトに追加して出力ディレクトリにコピー設定
したあと、csproj直接修正してパスにマクロ混ぜれば行けたような
0803デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>802
linkタグを追加で行けました。ありがとう

<Content Include="../hogehoge.dll">
<Link>hogehoge.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
0804デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
昨日から今日にかけて最も輝いていたレス
0805デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>801
xcopy /D
0806デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
二年以内にwindows phoneが流行りだすと聞いたのでアプリを作りたいと思ったのですが
どのAPIを使えばWP用のアセンブリを作れますか?
0807デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ggrks
windows phone 開発環境構築
0808デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
二年前にもまるで同じことを聞いた気がする
0809デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
これから流行るってところ?
壮大なギャグだねぇ!
0810デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
これからはPHPが更に流行る予感

C#はダメだなこれ
0811デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
C#の代わりにPHP使ってwindowsアプリ作ろう!
0812デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
VB → C# → ?

何に変わると思う?
0813デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
GUIで作られたアプリへの入力を自動化するプログラムを作りたい(そのアプリは特にプラグイン機能などはありません)のですが
そういった処理はどうすれば可能なのでしょうか
自分が思いつく限りではウィンドウハンドルを取得してメッセージを送信してGUI操作を真似する事なのですが
定石になってるような、より良い方法はありますか?
0814デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
キーボード、マウスイベントでいいじゃん。
0815デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>813
おれはしらん
0816デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>814
これのAPI
別にWM系メッセージ送りつけてもいいけど、ダメなアプリもあるから。
0817デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
フリーのキーボード/マウスマクロなソフトのスクリプトを書くのが一番楽かも。
0818デフォルトの名無しさん2013/09/01(日) 09:00:59.35
>>813
UIAutomation
0819デフォルトの名無しさん2013/09/01(日) 14:06:29.59
sendkeysでいいんじゃね
0820デフォルトの名無しさん2013/09/01(日) 17:54:50.76
UWSC
0821デフォルトの名無しさん2013/09/02(月) 11:50:33.10
HttpWebRequest myRequest1 = (HttpWebRequest)WebRequest.Create(url);

myRequest1.ContentType = "application/x-www-form-urlencoded";

myRequest1.Method = "POST";
 

byte[] data = Encoding.UTF8.GetBytes("mail=メールアドレス&amp;password=パスワード");



myRequest1.ContentLength = data.Length;
        //ここでエラー    
myRequest1.GetRequestStream().Write(data, 0, data.Length);



myRequest1.GetResponse();

このコードをループで実行したら3回目ぐらいで myRequest1.GetRequestStream().Write(data, 0, data.Length);
ここでタイムアウトしますなんでかわかりますか?
教えてください!よろしくお願いします><
0822デフォルトの名無しさん2013/09/02(月) 11:53:35.28
HttpWebRequest myRequest1 = (HttpWebRequest)WebRequest.Create(url);

myRequest1.ContentType = "application/x-www-form-urlencoded";

myRequest1.Method = "POST";
 

byte[] data = Encoding.UTF8.GetBytes("mail=メールアドレス&amp;password=パスワード");



myRequest1.ContentLength = data.Length;
        //ここでエラー    
myRequest1.GetRequestStream().Write(data, 0, data.Length);



myRequest1.GetResponse();

このコードをループで実行したら3回目ぐらいで myRequest1.GetRequestStream().Write(data, 0, data.Length);
ここでタイムアウトしますなんでかわかりますか?
教えてください!よろしくお願いします><
0823デフォルトの名無しさん2013/09/02(月) 11:56:09.49
エラー内容書け。改行うざい
0824デフォルトの名無しさん2013/09/02(月) 11:58:34.93
ランダムなフルーツの配列をフルーツ名でソートして別々の配列に格納するLINQはどうやって書けばいいですか
リンゴ、リンゴ、バナナ、トマト、リンゴが合った場合
"リンゴ" --> ringo, ringo (サイズ2の配列)
"バナナ" --> banana (サイズ1の配列)
"トマト" --> tomato (サイズ1の配列)

var sortedFruits = from fruit in fruits
          group fruit by fruit.Name into fruitNames

みたいな感じでお願いします。
0825デフォルトの名無しさん2013/09/02(月) 12:06:47.82
宿題は自分でやれ
0826デフォルトの名無しさん2013/09/02(月) 14:03:01.94
自分でわからないから聞いてるんでしょ
ふざけないで下さい
0827デフォルトの名無しさん2013/09/02(月) 14:31:17.33
>>823
タイムアウトって書いてあるじゃん。鯖側の接続MAXに達してるとか?
0828デフォルトの名無しさん2013/09/02(月) 14:41:47.11
>>824
var sortedFruits= fruits.OrderBy( f => f.Name ).GroupBy( f => f.Name ).Select( g => g.ToArray() ).ToArray();

かな
知らんけど
0829デフォルトの名無しさん2013/09/02(月) 15:05:33.11
>>826
マジで宿題じゃねーか。知恵遅れで聞いてろよ
0830デフォルトの名無しさん2013/09/02(月) 20:15:39.22
一応
0831デフォルトの名無しさん2013/09/02(月) 23:19:59.00
>>822
GetRequestStreamで取ってきたStreamをCloseすればどう?
0832デフォルトの名無しさん2013/09/04(水) 10:14:45.15
C#でAndroid用の簡単なアプリ作ろうと思ったらMono使うのが一番でしょうか?
EclipsでJavaをいじってみたのですが、あまりに不安定過ぎて挫折しかかってます。
VSが優秀過ぎるってのもあるのでしょうが。
0833デフォルトの名無しさん2013/09/04(水) 12:01:40.27
ザーメンスタジオ+VSプラグイン
0834デフォルトの名無しさん2013/09/04(水) 15:18:39.10
現在シリアルポートがCOM4になってるとして、デバイスマネージャーから
COM1(使用中でなければ)変更できます。
これをC#でやることはできますか?
0835デフォルトの名無しさん2013/09/04(水) 15:28:17.78
できます!
0836デフォルトの名無しさん2013/09/04(水) 15:41:45.22
やりかたきいてんだろこら
アスペか
0837デフォルトの名無しさん2013/09/04(水) 16:23:21.10
がんばればできます!
0838デフォルトの名無しさん2013/09/04(水) 16:41:45.46
IWDFNamedPropertyStore2で設定
0839デフォルトの名無しさん2013/09/04(水) 16:56:29.35
またアスペ連呼厨か。
0840デフォルトの名無しさん2013/09/04(水) 17:38:04.91
なんにでも厨をつけるな。
0841デフォルトの名無しさん2013/09/04(水) 18:00:15.80
厨って言った奴が厨
0842デフォルトの名無しさん2013/09/04(水) 18:01:42.08
アスペだらけだなここは。
0843デフォルトの名無しさん2013/09/04(水) 18:07:42.59
アスペクト指向ってどういう概念なんですか?
0844デフォルトの名無しさん2013/09/04(水) 18:16:47.77
夏の〜お嬢さん〜
0845デフォルトの名無しさん2013/09/04(水) 19:16:52.96
>>838
面白そうだからやってみたが途中で詰んだ。難しいなw
0846デフォルトの名無しさん2013/09/04(水) 22:26:01.58
スレタイで思ったんだが、フラットって半音下げる♭だろ?
ttp://www.shinko-music.co.jp/gakufu/1_3.html

Cフラットは、=C♭=B# となる。

C#は「シーシャープ」だぞ。
C#=D♭(ディーフラット) だ。
0847デフォルトの名無しさん2013/09/04(水) 22:31:27.41
>>846
音は同じだけど音楽ではC#と表記すべきところをD♭と表記することはない
C#はCに調号#を付けたものであり、Dにフラットを付けたものではないから
0848デフォルトの名無しさん2013/09/04(水) 22:59:31.33
C++++という意味らしいよ
08498342013/09/04(水) 23:02:00.12
>>838
若干敷居が高そうですが、がんばってみます。ありがとうございました。
0850デフォルトの名無しさん2013/09/04(水) 23:41:30.94
>>847
意味不明。

ところでスレタイの"ふらっと"は♭のことじゃないのかな。
0851デフォルトの名無しさん2013/09/04(水) 23:46:02.25
どーでもいいわw
0852デフォルトの名無しさん2013/09/04(水) 23:51:36.80
>>850
「ふらっと立ち寄る」みたいに使う「ふらっと」と、♭をかけてる。
0853デフォルトの名無しさん2013/09/05(木) 00:09:25.94
>>848
そうなのか。ずっとC++を斜め上にしたものかと思ってた。
0854デフォルトの名無しさん2013/09/05(木) 00:14:27.94
それはそれであってる。
0855デフォルトの名無しさん2013/09/05(木) 00:23:24.06
>>853
これが一番納得行った
0856デフォルトの名無しさん2013/09/05(木) 01:32:39.32
ヘジがC++++つってんだからC++++なんだよ。
0857デフォルトの名無しさん2013/09/05(木) 01:52:31.08
>>856
++
++  → ♯ って事なんだろうね
0858デフォルトの名無しさん2013/09/05(木) 02:47:30.23
>>852
知らなかったw
0859デフォルトの名無しさん2013/09/05(木) 03:22:10.22
>>852
その♭がどこからやって来たのかが分からない
0860デフォルトの名無しさん2013/09/05(木) 03:46:36.84
>>859
「♭」は音楽記号「♯」つながりで、
「ふらっと」は初心者でも気軽にってとこからじゃないかな。
0861デフォルトの名無しさん2013/09/05(木) 04:12:17.98
♭(半音下げる)と♯(半音上げる)は逆の意味なのに
なんで C# が♭と繋がるのか分からない
0862デフォルトの名無しさん2013/09/05(木) 05:47:50.16
言葉遊びが分からない人には無理
0863デフォルトの名無しさん2013/09/05(木) 06:18:18.72
>>859
ふらっとやってきたのさ
0864デフォルトの名無しさん2013/09/05(木) 06:19:04.26
どうでも良い話題はレス進むなw
0865デフォルトの名無しさん2013/09/05(木) 07:40:56.18
>>850
音楽のこと知らないならC#=D♭(ディーフラット) とか馬鹿な知ったかしない方がいいよ
音楽記号覚えたての小学生がはしゃいでるように見えるから
0866デフォルトの名無しさん2013/09/05(木) 07:59:01.96
>>865
え、どう違うんですか?まさか周波数(笑)ですか?
0867デフォルトの名無しさん2013/09/05(木) 08:08:49.02
>>866
まったく同じだったら2つの表記方法は必要ないだろ馬鹿か
半音上がると半音下がるで音の表現方法がぜんぜん違うんだよ
具体的には#は明るい音、♭は暗い音になるように表現する
0868 ◆QZschizo.ptH 2013/09/05(木) 08:14:46.34
>>866
キルンベンガー
ヴェルクマイスター
でググれ

>>867
ピアノならどうするんだ?
0869デフォルトの名無しさん2013/09/05(木) 08:15:16.36
>>867
でも音は同じでしょ?
意味わからないですね
0870デフォルトの名無しさん2013/09/05(木) 08:15:53.72
あ、屑に構って遊んでたら本物が来たw
0871 ◆QZschizo.ptH 2013/09/05(木) 08:17:55.35
>>870
好みの釣り餌がバレたようだ
0872デフォルトの名無しさん2013/09/05(木) 10:05:30.91
ピアノみたいな平均律の楽器だと音は同じになってしまうな
平均律の楽器のが少ないけどね。
0873デフォルトの名無しさん2013/09/05(木) 10:39:30.83
>>867
表現方法の違いが生まれることは事実だが、
それは経験者にしか理解できない話だから言及を避けた
言ってもどうせ理解されないばかりか「そんなのオカルト」という反論が目に浮かぶからな

>>869
「楽譜の目的には音の高さを示すだけでなく音の役割を示すことも含まれているから」というのが答え。
例えば↓の楽譜がわかりやすい。
http://xn--i6q789c.com/gakuten/img/keikaon.gif
右にシャープが二つあるが、これをフラットで書き換えたら音が連続的に上昇しているという楽譜の意図が伝わりにくくなるだろ。

もう一つの答えもある。
ダブルシャープやダブルフラットという記号もあるが、これらは音の高さという見地からは全く必要のない記号だと言えるだろう。
ではなぜこんな記号が用意されているのかという点にもシャープとフラットの使い分けの答えは含まれている。
0874デフォルトの名無しさん2013/09/05(木) 10:57:38.96
いつから音楽スレになったんだ?
0875デフォルトの名無しさん2013/09/05(木) 11:05:08.59
スレタイつけたときからじゃね?
半角#はシャープじゃなくて単価記号だよ、
とか言い始めたら簿記スレになるのだろうか
0876デフォルトの名無しさん2013/09/05(木) 12:14:31.36
>>867
さっぱり意味が分らない。
ここの技術板住人でも分るようにピアノやキダーでどう弾き分けるのか説明してくれ。
0877デフォルトの名無しさん2013/09/05(木) 13:05:00.69
ギターなら指をスライドさせることができるじゃないか
0878デフォルトの名無しさん2013/09/05(木) 13:05:54.95
232が終わったと思ったら音楽かよ
0879デフォルトの名無しさん2013/09/05(木) 13:16:51.25
末期だなもう
0880デフォルトの名無しさん2013/09/05(木) 13:57:59.05
>>877
フレットがあるから厳しい
0881デフォルトの名無しさん2013/09/05(木) 14:11:20.22
だれか質問するんだ
0882デフォルトの名無しさん2013/09/05(木) 14:43:36.54
お前を消す方法
0883デフォルトの名無しさん2013/09/05(木) 16:39:06.03
>>865>>867>>873
C#とD♭は周波数的に同じだがニュアンスが違うってことか。
まあそれはそうなのかと感心する。

しかし、だからといってそれがC#がフラットと関連する説明に
なっているのか?
0884デフォルトの名無しさん2013/09/05(木) 16:47:54.33
音楽の授業はまだまだつづきます
0885デフォルトの名無しさん2013/09/05(木) 16:49:28.93
つづきはメルマガで配信
0886デフォルトの名無しさん2013/09/05(木) 16:53:42.14
>>883
初心者ってニュアンスを出すのに「ふらっと」って言葉を使っているんだと説明されただろうに・・・
0887デフォルトの名無しさん2013/09/05(木) 16:55:35.01
>具体的には#は明るい音、♭は暗い音になるように表現する

周波数が同じなのに、明るいだの暗いだの全然具体的な表現じゃない。
さっさと具体的にピアノで明るい音(C#)と暗い音(D♭)の引き分け方を教えろ。
0888デフォルトの名無しさん2013/09/05(木) 17:01:09.61
だから周波数が同じなのは平均律だって。
純正律こそが調和のとれた音楽だ。
0889デフォルトの名無しさん2013/09/05(木) 17:08:17.86
説明してる本人が平均律が何か分ってないから説明できるわけがない。
0890デフォルトの名無しさん2013/09/05(木) 17:10:58.50
>>888
ピアノでどうやって弾き分けるか聞いてんだが。馬鹿なの?
できないならできないと言えよ。具体的に表現できるんじゃなかったのか? この嘘つきが。
0891デフォルトの名無しさん2013/09/05(木) 17:16:51.15
プログラミングの話しようぜ!
0892デフォルトの名無しさん2013/09/05(木) 17:37:12.24
CとJ を打鍵した時の音を聞き分けられないものはこの場から去れ
0893デフォルトの名無しさん2013/09/05(木) 18:09:38.43
あれ板間違えた
0894デフォルトの名無しさん2013/09/05(木) 18:11:15.99
問題
 時報は A (ラ) = 440Hz と、1オクターブ上の A (ラ) = 880Hz であるが、
 この間の音階の周波数を列挙するプログラムを書け
ヒント
 ・1オクターブ上がるという事は、周波数が2倍になるということである
 ・A → 1オクターブ上の A
  の間には、
   A#, B, C, C#, D, D#, E, F, F#, G, G#
  がある
0895デフォルトの名無しさん2013/09/05(木) 18:18:44.68
2^(x/12) だよね
0896 ◆QZschizo.ptH 2013/09/05(木) 21:53:22.34
>>873
>ダブルシャープやダブルフラットという記号もあるが、
どちらかというと調性がらみだねえ。Des-dur と Cis-dur はどう説明する?
0897 ◆QZschizo.ptH 2013/09/05(木) 21:54:45.32
>>888
>純正律こそが調和のとれた音楽だ。
しかし転調ができない
転調がない音楽など糞の役にも立たん
0898デフォルトの名無しさん2013/09/05(木) 21:55:51.52
同じ周波数の単音で明るいも暗いもない。明るいだの暗いだのは旋律、和音での話しだ。
0899デフォルトの名無しさん2013/09/05(木) 22:02:23.72
プログラミングの話しようぜ!
0900デフォルトの名無しさん2013/09/05(木) 22:03:35.25
できないんだろw
0901デフォルトの名無しさん2013/09/05(木) 22:10:20.98
SQLサーバーかるーくしかやってないのにいきなりがっつりデータベース使うシステムのコーディングやれってさ
しかもデータベースの研修を受けたのは自分しかいない状況でのチーム開発だってさ
トランザクションとかもう訳分かめだぜ
クラス図もあんまりよく分かってないのにこれから6画面分の書けってそりゃねえよ
何からもうどうしていいか分からない状態なんだけど、何からどうしたらいい?
一応外部設計の仕様書は出来合いのがある
0902デフォルトの名無しさん2013/09/05(木) 22:11:48.20
研修うけたのにトランザクションも分からないの?
0903デフォルトの名無しさん2013/09/05(木) 22:14:37.33
「プログラムする」と心の中で思ったならッ!
その時既にプログラムの実行は終わっているんだッ!
0904デフォルトの名無しさん2013/09/05(木) 22:14:56.51
http://ideone.com/P6oXjn

>>894をCで書いたけど、こういうのをC#で書くとどうなる?
0905デフォルトの名無しさん2013/09/05(木) 22:15:29.54
>>902
だってselect句とか使ってただけだぜ?
しかもマネジメントスタジオでいじってたからコーディングだとどうやるのかとかまた別問題だろうし

あ、c#でコーディングします
0906デフォルトの名無しさん2013/09/05(木) 22:16:23.92
DB分らんって一プロジェクトに基本情報取得者一人もいないのかよw
0907デフォルトの名無しさん2013/09/05(木) 22:19:54.28
>>904
そのぐらいの分量のコードでC系言語で
呼び出す関数とか配列の宣言の仕方とかぐらいしか差が出る余地がないじゃん…
0908デフォルトの名無しさん2013/09/05(木) 22:27:27.77
下の方でやってるのは仕事でなく詐欺だからな
0909デフォルトの名無しさん2013/09/05(木) 22:28:28.60
>>904
まあコンパクトさを競うんじゃなきゃ、きちんと音階クラスを定義してそいつに
仕事させるのがC#というかOOP言語らしい書き方かな。

インクリメント/デクリメント演算子で値が変る幅を半音にするか1音階にするか悩みそうだ
0910デフォルトの名無しさん2013/09/05(木) 22:29:57.43
ただ仕様要件にC#と入れた客はまともだ。

客が一番技術レベル高いのではないか。
0911デフォルトの名無しさん2013/09/05(木) 22:30:03.69
>>906
7月から言語研修受けてる新人5人グループでございます
うち一人は入社前はエクセルすら触ったことなくコピペも知らなかった人間で、
もう一人はググったり自分で勉強したりが全くできなくてすぐ混乱パニック居眠りをする人間
まともな残り二人もフォームアプリケーションでのコーディングは1、2回程度
そして残された自分
0912デフォルトの名無しさん2013/09/05(木) 22:31:54.61
あ、ちなみに>>901は研修の一環で社内でも初めてのグループ開発研修だそうです
だから上司すらよく分かってない可能性があるんだぜ\(^o^)/
書くの忘れてたごめんなさい
0913デフォルトの名無しさん2013/09/05(木) 22:32:49.57
10 PLAY "C+D-"

こんなこともC#はできないの?
0914デフォルトの名無しさん2013/09/05(木) 22:34:37.26
研修かよw 勝手にやってろ。
0915デフォルトの名無しさん2013/09/05(木) 22:37:14.21
丸投げ無茶振り研修はITの基本ですよね
0916デフォルトの名無しさん2013/09/05(木) 22:42:10.74
>>914
最初にちゃんと書くべきだったね、ホントごめんなさい
こんな状況で全13画面あって、誰一人やったことないXMLも使わないといけなくて、
今月末に仕上げろですよ、マジ助けて

>>915
ホントにこういうのがデフォなの?
それって力がつくからとかそういう理由…じゃないよね?
0917デフォルトの名無しさん2013/09/05(木) 22:43:41.15
>>916
月末までなら楽勝じゃん
0918デフォルトの名無しさん2013/09/05(木) 22:47:06.32
なんという楽な研修。おれの研修なんて3ヶ月間平均睡眠4時間の合宿だったぜ。
ゆとりだと辞めちゃうんだろうな。
0919デフォルトの名無しさん2013/09/05(木) 22:50:25.48
> 誰一人やったことないXML
……?
0920デフォルトの名無しさん2013/09/05(木) 22:54:00.05
自分で調べる気が全くないのが驚き。開発の仕事向いてないだろ。
みかかでーたとか丸投げ会社の研修か?
0921デフォルトの名無しさん2013/09/05(木) 23:01:12.73
>>917
フォームの使い方から教えないといけないのがいても?
自分でも勉強足りてないから勉強しながらでないとできないのに
でも、案ずるより産むが安しなのかな

>>919
使ったことないと言えばいいのか作ったことないと言えばいいのか、、基本情報の知識程度にしか知らない

>>920
いや、調べてるんだけどさ
なんかもう色々やることとか多すぎて目移りして何から手をつけていいかが困ってる
0922デフォルトの名無しさん2013/09/05(木) 23:03:09.44
>>913
うちは
10 NEW CMD
20 CMD PLAY "C+D-"
だったかな
0923デフォルトの名無しさん2013/09/05(木) 23:04:29.00
>>918
なんのかんの言いながら部活に近い感覚あるからそこはぬるいと思ってるよ
いや、部活のがまだ教育体系しっかりしてたなw
0924デフォルトの名無しさん2013/09/05(木) 23:38:41.40
迷わずググれよ
ググればわかるさ
0925デフォルトの名無しさん2013/09/06(金) 00:06:21.65
>>921
ただただMSDNだけを読め。
0926デフォルトの名無しさん2013/09/06(金) 00:10:17.54
その状態なら、役割分担を明確にして自分の守備範囲だけをまずやっつければいいんじゃ。
個別のことはググればいくらでも資料が出てくるんだし。‥‥いい時代になったもんだよな。
0927デフォルトの名無しさん2013/09/06(金) 08:00:25.39
>>924-926
ありがとう
今日クリティカルパスとか作るから、そこでの役割に沿って頑張る
変に周りのことを気にしたりしないようにするよ
0928デフォルトの名無しさん2013/09/06(金) 09:04:05.56
>>927
そういう状態で「頑張る」のは危険だよ
素人ががむしゃらに頑張ってもソフトウェア開発は上手くいかない

今やるべきことは、ネットか書籍で既存のシステムの設計やアーキテクチャを参考にして作ること
テストやってるわけじゃないんだし、既に存在してる答えを探さずに自分でダメな解答作ることに意味はない
0929デフォルトの名無しさん2013/09/06(金) 18:15:21.09
失礼します。
複数の似たようなフォームを大量に扱う場合、MDIが良いのでしょうか?
今まではSDIに子フォームを追加してて親フォームの枠に囚われずに使えて便利だと思っていたのですが、
Excel等がMDIなのでそっちの方が楽なのかなとも思うようになってきました。
よろしくお願いします。
0930デフォルトの名無しさん2013/09/06(金) 18:18:26.07
今時MDIは無いわ
0931デフォルトの名無しさん2013/09/06(金) 18:23:39.81
>>930
ですよね・・・。
イマイチMDIの利点が思いつかなくて。
0932デフォルトの名無しさん2013/09/06(金) 18:25:31.17
タブブラウザ(死語)だってMDIの一種だぞ
どっちが便利かはケースバイケースだからそれだけの情報じゃ分からね
0933デフォルトの名無しさん2013/09/06(金) 18:49:51.99
>>932
すいません、複数の監視カメラを制御します。
カメラの数が増えるかもなので、Pictureboxを並べるよりはカメラ毎にフォームを用意した方が楽かなと思いまして。
0934デフォルトの名無しさん2013/09/06(金) 18:53:13.15
>>933
大きさが同じならListBox使ってみたら?
0935デフォルトの名無しさん2013/09/06(金) 18:55:45.59
俺だったら1つのフォームに並べるな
カメラ数設定したら動的にコントロール作って並べる
で、D&Dで1つのカメラ画像だけ1つのフォームにするみたいな取り出しにも対応させとく
0936デフォルトの名無しさん2013/09/06(金) 19:10:15.12
>>928
アドバイスありがとう
今日いきなり研修一抜けして来週から社内業務入ってって言われたわ
内容は全く分からないからそのアドバイスは活かせるかは微妙だけど、
ダメな解答を作らず、素人のうちは出来合いのものを組み合わせて作りながら勉強していくよ
0937デフォルトの名無しさん2013/09/06(金) 19:11:12.51
>>935
動的コントロール並べるのもいいですね!
ありがとうございます。
0938デフォルトの名無しさん2013/09/06(金) 20:13:54.95
>>936
わざわざ車輪の再発明をするのは無駄だ、
ということを今のうちに覚えておくんだ

ライブラリってそういうことだろ?
0939デフォルトの名無しさん2013/09/06(金) 20:36:47.98
車輪がなぜ転がるのかを理解していない奴に車輪を正しく使うことは出来んがね
0940デフォルトの名無しさん2013/09/06(金) 20:57:45.19
いちいち原理まで理解する時代は遠い過去に終わったんだよ
0941デフォルトの名無しさん2013/09/06(金) 21:02:15.11
使えるものは使って、新しいものを作る時は関連技術の仕組みをちゃんと理解する
これで大丈夫かな?
0942デフォルトの名無しさん2013/09/06(金) 21:45:44.86
TextBoxで複数の位置から同時に文字を入力する方法を教えて下さい!
0943デフォルトの名無しさん2013/09/06(金) 21:51:38.19
各種のプロパティやメソッドの意味を理解するには中の仕組みの理解も必要だな
0944デフォルトの名無しさん2013/09/06(金) 21:54:05.72
その前に何故そういう激しく逸脱したユーザーインターフェースを考えたのか
教えてもらおうか
0945デフォルトの名無しさん2013/09/06(金) 22:18:03.48
>>942
意味が解らん
0946デフォルトの名無しさん2013/09/06(金) 22:34:00.28
脳内で矩形選択でもしてんじゃね
0947デフォルトの名無しさん2013/09/06(金) 22:52:40.80
そうです矩形選択のようなものです
0948 忍法帖【Lv=9,xxxP】(1+0:5) 2013/09/06(金) 23:32:08.15
>>942
タグの中身を同時に書き換えるとかそんな使い方?
0949デフォルトの名無しさん2013/09/06(金) 23:39:54.57
そうですねそんなかんじです

<p>aaa</p>
<b>bbb</b>
<p.>ccc</p>

ってあったら
1行目と2行目の<p>の次にキャレットがあるものとして
複数の位置から文字が入力できるようにしたいんです
こういう仕組みはSublime Textにあります
0950デフォルトの名無しさん2013/09/06(金) 23:40:28.05
ミス
×1行目と2行目の<p>の次にキャレットがあるものとして
○1行目と3行目の<p>の次にキャレットがあるものとして
0951デフォルトの名無しさん2013/09/06(金) 23:45:16.83
また研修の宿題かよ。
0952デフォルトの名無しさん2013/09/06(金) 23:45:30.79
Sublime Textは知らないけど、普通にベタに追加してけばいいじゃん
0953デフォルトの名無しさん2013/09/06(金) 23:45:53.71
よく判らん。
0954デフォルトの名無しさん2013/09/06(金) 23:50:02.59
>1行目と3行目の<p>の次にキャレットがあるものとして
キャレットって普通1個しかねえんじゃ?
0955デフォルトの名無しさん2013/09/06(金) 23:55:38.99
キャレットなんてただの縦線だから欲しけりゃ線描画すればいくらでも増やせる
こういうのはどういう入力仕様にするかの方が重要。
俺が作ったらたんにミラーリングするだけの無意味な機能になるわ
0956デフォルトの名無しさん2013/09/06(金) 23:58:16.50
>>952
べたに追加していくというのは?

http://www.sublimetext.com/のトップのアニメーション画像にその複数入力の場面がのっているので見てください
これは技術的に加納でしょうか
0957デフォルトの名無しさん2013/09/07(土) 00:02:11.64
今ネット糞遅いからURL見てない。誰かが実現してるなら可能なんだろw

例えばTextChangeされたときに追加されてる文字と場所を見て、それが1行目だったら同じ文字を2行目に追加。
2行目だったら無視するとかそんな処理。
糞処理だけどこんなだったら誰にでも実装できるだろ
0958デフォルトの名無しさん2013/09/07(土) 00:10:08.35
>>956
加納店名
0959デフォルトの名無しさん2013/09/07(土) 00:18:55.09
そのTextBoxの特定の位置に文字を挿入するという仕組みが作りたいんですが
キーワードを教えてください
0960デフォルトの名無しさん2013/09/07(土) 00:21:15.12
毎回テキスト全部書き換えちまえよ。できりゃいんだよ。効率なんて無視しろ
0961デフォルトの名無しさん2013/09/07(土) 00:23:06.96
>>955
キャレットの位置って取得出来るの?
0962デフォルトの名無しさん2013/09/07(土) 00:27:48.43
間違えた、描画するキャレットの座標ってわかるの?
0963デフォルトの名無しさん2013/09/07(土) 00:28:02.51
ggrks
キャレット位置 取得
0964デフォルトの名無しさん2013/09/07(土) 00:29:09.25
>959
Controlクラス。これにそういう仕組みを自分でゴリゴリ書く
TextBoxは既製品だからそういう改造は出来ない

>961
WinAPIのGetCaretPosを使えば出来るが、正直取得する必要があるとは思えない
0965デフォルトの名無しさん2013/09/07(土) 00:29:11.15
>>959
当たり前だけどTextBoxは>>956みたいな拡張なんか想定してないからTextBoxを
ベースに改造しようという発想そのものが無理。

データの構造(>>956みたいなエディタがべたテキストでデータ持ってるはずがない)も
描画も全部スクラッチで書かなきゃ無理。

単純に文字列の複数個所を同じ文字列で置き換えるだけなら例えばString.Formatで出来るけど
0966デフォルトの名無しさん2013/09/07(土) 00:30:20.64
>>962
ヒント:オーナードロー
オーナードローしなくてもがんばれば位置取得ぐらいできそうな気はする
0967デフォルトの名無しさん2013/09/07(土) 00:31:07.67
一度はテキストボックスを貼り付けないでテキストエディタを
作ってみるべきだよな
0968デフォルトの名無しさん2013/09/07(土) 00:32:16.86
一方僕はScintillaを使った
0969デフォルトの名無しさん2013/09/07(土) 00:36:57.53
今回の件ではキャレット位置を取得する必要なくね?
0970デフォルトの名無しさん2013/09/07(土) 00:38:34.18
テスト実装ぐらいならキャレット表示なんて要らないけど、
まともに作るならキャレット描画をしないと操作性が悪い
0971デフォルトの名無しさん2013/09/07(土) 06:49:28.68
webbrowserコントロールでスクロール位置を取得したいく
http://recyclebin5385.blog13.fc2.com/blog-entry-31.html
を参考にしたのですが
webBrowser.Document.Body.ScrollTop
を見ても常に0が取得されてしまいます。
何か原因が思い当たれば教えてください。
0972デフォルトの名無しさん2013/09/07(土) 08:28:45.61
>>940
こういうバカが副作用でバグを大量生産する
0973デフォルトの名無しさん2013/09/07(土) 09:02:46.81
>>972
それ、ソフトに限らず全てに言える。
気取ってエラそうなバカが増えてきて困っている。

以前から居たが、少なかったので余所に回せば良かった。
でも今は……多すぎる。
0974デフォルトの名無しさん2013/09/07(土) 09:19:13.65
ああ、こういうのですね
(自覚のない)偉そうな馬鹿って
0975デフォルトの名無しさん2013/09/07(土) 09:23:58.64
>>973
お前はイーサネットも物理層も理解した上でHTTP通信を使っているのか?
0976デフォルトの名無しさん2013/09/07(土) 09:25:02.41
CreateFile一つ取ってもそれをきちんと把握してる奴はごく稀だからな
きちんと理解して使うには時間が足りなすぎる
0977デフォルトの名無しさん2013/09/07(土) 09:25:11.15
いつまでも初心を忘れたくはないね。
0978デフォルトの名無しさん2013/09/07(土) 09:25:56.55
>>975
知らないで使ってるの?
0979デフォルトの名無しさん2013/09/07(土) 09:26:55.40
>>976
APIなんて呼び出し方とトラブル例だけ知ってればいいんだよ。
0980デフォルトの名無しさん2013/09/07(土) 09:28:52.74
CD扱うときはオレンジブックから読んで動画再生するときは圧縮アルゴリズムから勉強する奴なんていないだろw
0981デフォルトの名無しさん2013/09/07(土) 09:29:24.97
>>978
じゃ教えてよ
聞きかじった用語の意味じゃなくて俺がそれ聞いて実装できるようにな
0982デフォルトの名無しさん2013/09/07(土) 09:31:18.48
100%知らないだろw
0983デフォルトの名無しさん2013/09/07(土) 09:35:28.38
>>980
次スレよろ
0984デフォルトの名無しさん2013/09/07(土) 09:35:31.63
ネスペ持ってるがCSMA/CDの1%も理解していない自信がある
0985デフォルトの名無しさん2013/09/07(土) 09:36:04.17
「Cでプログラミングするには人生は短すぎる」って言葉があるけど、
原理から把握して使うにはこの言葉がC#にも当てはまるからな
0986デフォルトの名無しさん2013/09/07(土) 09:46:40.06
ふらっとVisual C#,C♯,C#(初心者用) Part106
http://toro.2ch.net/test/read.cgi/tech/1378514566/
0987デフォルトの名無しさん2013/09/07(土) 09:52:08.87
>>971
>何か原因が思い当たれば教えてください。

・スクロールしていない
0988デフォルトの名無しさん2013/09/07(土) 09:55:34.26
>>986
乙
0989デフォルトの名無しさん2013/09/07(土) 09:59:53.07
>>971
http://www.tek-tips.com/viewthread.cfm?qid=1490344
0990デフォルトの名無しさん2013/09/07(土) 10:24:24.70
>>986
乙
0991デフォルトの名無しさん2013/09/07(土) 10:45:08.24
http://qiita.com/tkengo/items/ee758c75ba874757b7fd
これみたいです
0992デフォルトの名無しさん2013/09/07(土) 10:50:26.74
顔写真がうざい
0993デフォルトの名無しさん2013/09/07(土) 12:48:08.19
まあ最低限メリットとリスクわかってるなら良いんだが
最近の若者はそれすら知らずに使うからこわいよね
0994デフォルトの名無しさん2013/09/07(土) 12:56:09.99
>>993
何でそういう話になるんだよw

最近の若者がどうだか知らんけど、あんたは2ch脳にありがちな「昔」(というより、
自分の狭い世代)だけを美化したがる若年寄だろ
0995デフォルトの名無しさん2013/09/07(土) 13:20:05.35
webbrowserコントロールのスクロール位置をdocument関係なく
取得できる神技術者はいないものか
0996デフォルトの名無しさん2013/09/07(土) 13:54:13.62
犯罪ツールでも作ってるのか?
0997デフォルトの名無しさん2013/09/07(土) 14:02:23.34
ツールに罪はない
0998デフォルトの名無しさん2013/09/07(土) 14:03:32.58
>>997に罪はある
0999デフォルトの名無しさん2013/09/07(土) 14:04:19.04
>>995
だからそれは出来るでしょ。

出来ないのは、スクロール可能な部分がネストされていたり複数存在したりする場合に
「スクロールの位置」とやらを一意に決めること
1000デフォルトの名無しさん2013/09/07(土) 14:05:27.05
バイナリになっちゃうとprivateも糞もないからな
猫缶はこれを利用している
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。