ふらっとVisual C#,C♯,C#(初心者用) Part111
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/04/05(土) 22:08:28.72ID:l3iN8hNI他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part110
http://toro.2ch.net/test/read.cgi/tech/1388377636/
■関連スレ
C#, C♯, C#相談室 Part82
http://toro.2ch.net/test/read.cgi/tech/1386763696/
■コード貼るなら↓使ってください
http://ideone.com/
0002デフォルトの名無しさん
2014/04/05(土) 22:25:28.14ID:dnqr6Oke0003デフォルトの名無しさん
2014/04/05(土) 22:57:18.91ID:HfzhZYKBおつ!
0004デフォルトの名無しさん
2014/04/05(土) 23:00:41.23ID:4PQFLBxx0005前971
2014/04/05(土) 23:34:54.89ID:fZTxo1xfhttp://vsug.jp/tabid/63/forumid/45/threadid/9273/scope/posts/Default.aspx
これはVC#2005みたいですが、VC#2010でもNavigatingイベントを使うんですか?
あと基底コンストラクタに渡す引数がないのに明示的に:base()を使う必要ってあるんですか?
0006デフォルトの名無しさん
2014/04/05(土) 23:47:54.72ID:dnqr6Okeうん
別にない
0007デフォルトの名無しさん
2014/04/05(土) 23:52:08.44ID:dnqr6OkeやっぱりDWebBrowserEvents2::BeforeNavigate2とか使う必要があるよ
0008デフォルトの名無しさん
2014/04/06(日) 12:13:20.73ID:B8PUb7p+0009デフォルトの名無しさん
2014/04/07(月) 17:50:25.12ID:6uHQfqYj0010デフォルトの名無しさん
2014/04/07(月) 17:59:07.70ID:3UJhq+PEフォームのクライアント領域内ならともかくタイトルバーとかはシステム側の領域だし
FormをDisableにすれば一部の彩度は下がるけどな
0011デフォルトの名無しさん
2014/04/07(月) 20:53:56.62ID:wKuIb6400012デフォルトの名無しさん
2014/04/07(月) 23:51:01.19ID:6uHQfqYj透明度下げることで対処しようと思います
ありがとうございました
0013デフォルトの名無しさん
2014/04/08(火) 22:15:26.21ID:cT60U4kIWindowsXP, 7 ではスムーズに動いていたのが、Windows8.1にした途端起き始めました。
1000個というのはPictureBoxなのですが、これをButtonに変更して1000個表示するだけの
テスト用アプリを作ってもやはり発生します。
グラボのドライバを最新にしたり、システムのプロパティの視覚効果などを変更してみても
改善されません。
これが自分のPCの固有の問題か、Win8.1に共通の現象かを切り分ける方法ってありますか?
1000個も配置するという設計がおかしいのでしょうが…
0014デフォルトの名無しさん
2014/04/08(火) 22:19:41.79ID:fmWss6Bj0015デフォルトの名無しさん
2014/04/08(火) 22:58:41.96ID:cT60U4kI0016デフォルトの名無しさん
2014/04/09(水) 01:42:52.07ID:Ks/JGiSE0017デフォルトの名無しさん
2014/04/09(水) 01:56:19.82ID:SM981zJv0018デフォルトの名無しさん
2014/04/09(水) 02:40:54.14ID:4evLHR2U普通にフォームのプロジェクト作成して、ロードイベントに以下を書いて、
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 1000; i++)
{
Button btn = new Button();
btn.Top = i * 24;
this.Controls.Add(btn);
}
}
それからForm1のAutoScrollをtrueにしただけなのですが…。
0019デフォルトの名無しさん
2014/04/09(水) 10:40:06.97ID:+JqWH5tw安直だが、FrameWorkを両方4.5で動かしてみるとか
0020デフォルトの名無しさん
2014/04/09(水) 15:41:18.28ID:fBP+BGwa0021デフォルトの名無しさん
2014/04/10(木) 12:20:18.64ID:HRaWKIoy0022デフォルトの名無しさん
2014/04/10(木) 15:04:18.17ID:nYklgNp5参照している値を間違えてしまっているのでしょうか?よろしくお願いします。
ComboBox[] comBox = new ComboBox[2];
private void Form1_Load(object sender, EventArgs e){
comBox[0] = comboBox1;
comBox[1] = comboBox2;
for (int i = 0; i < 2; i++)
comBox[i].DropDownClosed += new EventHandler(comBox_DropDownClosed);
for (int i = 0; i < 2; i++){
comBox[0].Items.Add(i);
comBox[1].Items.Add(i);
}
comBox[0].SelectedIndex = 0;
comBox[1].SelectedIndex = 1;
}
private void comBox_DropDownClosed(object sender, EventArgs e){
int index = -1;
for (int i = 0; i < comBox.Length; i++)
if (comBox[i].Equals(sender) == true){
index = i;
break;
}
int intSel = Convert.ToInt32(comBox[index].SelectedText); // 選択していた番号
int intDest = Convert.ToInt32(comBox[index].SelectedItem); // 変更先
comBox[intDest].Text = comBox[intSel].Text; // 入れ替える
}
0023デフォルトの名無しさん
2014/04/10(木) 19:53:41.63ID:b/gE/MKYVirtualizingStackPanelとか使えば、そもそも1000個もいらないんだけどな。
0024デフォルトの名無しさん
2014/04/10(木) 20:45:40.51ID:mP4FkQttWPF?
0025デフォルトの名無しさん
2014/04/11(金) 09:09:51.97ID:+5PGJ+FS0026デフォルトの名無しさん
2014/04/12(土) 13:36:56.16ID:QXbrFFBSおすすめの方法があれば教えて下さい
0027デフォルトの名無しさん
2014/04/12(土) 16:51:06.63ID:K9bTN6Ty無料のやつは、認識率悪くて使い物にならんよ。
本気でやりたいなら、
100万とかする業務用のソフト買いな。
0028デフォルトの名無しさん
2014/04/12(土) 17:41:14.47ID:9BhBrkhVIMEの誤変換なんて可愛いもの
そもそも一体何に使いたいのか
0029デフォルトの名無しさん
2014/04/12(土) 19:14:54.67ID:kHAj/7deキーワードだけ教えてやる。
2文字目はSだ。
0030デフォルトの名無しさん
2014/04/12(土) 19:24:50.54ID:gqk0H39S0031デフォルトの名無しさん
2014/04/12(土) 19:53:09.57ID:kaC5V1Cc0032デフォルトの名無しさん
2014/04/12(土) 20:35:38.46ID:rzyqPrtx0033デフォルトの名無しさん
2014/04/12(土) 22:10:52.95ID:NOz3Q7080034デフォルトの名無しさん
2014/04/13(日) 05:51:21.92ID:VrI+9WROネーミングのセンスがさすがマイクロさんやな
0035デフォルトの名無しさん
2014/04/13(日) 06:17:44.86ID:qYmwgSBwBob: Oh! That's me
Robert の別称
0036デフォルトの名無しさん
2014/04/13(日) 11:13:57.20ID:PYHY3KdE天下のMSがこの名前で出してコケたら大恥だった
D(笑)
0037デフォルトの名無しさん
2014/04/13(日) 11:40:41.79ID:Ughvqkdncomも.netも検索しにく過ぎ
0038デフォルトの名無しさん
2014/04/13(日) 19:53:33.31ID:x/KLDcUY0039デフォルトの名無しさん
2014/04/13(日) 22:03:26.85ID:JRCCH/EOVB6の検索しにくさはガチ
0040デフォルトの名無しさん
2014/04/13(日) 22:14:24.92ID:Ughvqkdnvb6はそもそも情報自体が少ないからね
さらにvb.netのせいで探しにくくなった
0041デフォルトの名無しさん
2014/04/14(月) 03:59:00.92ID:7M5WCkF4private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(loop));
t.Start();
}
void loop(){
for (int i = 0; i < 1000; i++)
{
pictureBox1.Image = mybmp[i % 3];
pictureBox2.Image = mybmp[(i + 1) % 3];
pictureBox3.Image = mybmp[(i + 2) % 3];
Thread.Sleep(50);
}
}
ときどき下のようなエラーが出ます。
これは、単純にPictureBoxの描画処理が終わらないまま次の描画を始めようとしたためでしょうか?
同一スレッド内の問題だからか、PictureBoxをlockしてみても改善しません。
実際この通りの動作をさせるわけではないですが、高速で画像を更新することはあると思うのでこのままだと気持ち悪い・・・。
>型 'System.InvalidOperationException' のハンドルされていない例外が System.Drawing.dll で発生しました
>追加情報:オブジェクトは現在他の場所で使用されています。
0042デフォルトの名無しさん
2014/04/14(月) 04:40:22.32ID:CBNE2ubHhttp://kawakawa2000.jugem.jp/?eid=55
こんなんだったかな
0043デフォルトの名無しさん
2014/04/14(月) 05:56:06.53ID:+kBgZJjN0044デフォルトの名無しさん
2014/04/14(月) 13:35:26.08ID:Rj6AhJf8後はとりあえずPallarel.forでコントロール別に分けた方がマルチスレッドになって
タスクマネージャでCPU利用率見た時にとりあえず嬉しいw
004541
2014/04/14(月) 13:39:40.86ID:7M5WCkF4ついでに、サンプルプログラムを見ているとthisが何を指しているかよくわからないことがあるんだけど
thisが何を指すか調べる方法ってあります?
0046デフォルトの名無しさん
2014/04/14(月) 13:42:19.94ID:CBNE2ubHclassへの参照のようにも見えるけど、スレッド動いてるとスレッド自身になるよね
0047デフォルトの名無しさん
2014/04/14(月) 13:44:54.89ID:CBNE2ubHprivate void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(loop));
t.Start();
}
void loop()
{
//for (int i = 0; i < 1000; i++)
//{
// button1.Text = "new text";
// Thread.Sleep(50);
//}
SetText("New Text");
}
private delegate void SetTextCallback(string msg);
private void SetText(string msg)
{
if (button1.InvokeRequired)
{
Invoke((MethodInvoker)(()=> {
button1.Text = msg; // "Hello, world";
}));
return;
}
// 以下本来の処理
button1.Text = msg;
}
}
0048デフォルトの名無しさん
2014/04/14(月) 13:47:28.80ID:CBNE2ubHマルチスレッドで動かしても、勝手にMutex掛かるよ
0049デフォルトの名無しさん
2014/04/14(月) 14:32:41.71ID:7M5WCkF4例えば>>47のInvokeってthisが省略されてますよね?
この場合、thisはFormを指してるのでいいのかな・・・というのを確認する方法ってあるかなと。
慣れると自明に思えるのかもしれませんが、まだ戸惑うことが多いので確認方法があるとうれしいのです。
0050デフォルトの名無しさん
2014/04/14(月) 14:33:20.46ID:+kBgZJjN>thisはその関数が走っている時の関数自身じゃないの?
>classへの参照のようにも見えるけど、スレッド動いてるとスレッド自身になるよね
初心者は答えなくていいよ。マジで。
0051デフォルトの名無しさん
2014/04/14(月) 14:35:58.41ID:+kBgZJjNクラスメソッド内のthisはそのクラスのインスタンスを指してるんだよ。
0052デフォルトの名無しさん
2014/04/14(月) 17:30:10.70ID:CBNE2ubHお前みたいなでかいツラされて不快になるよりマシ
005341
2014/04/14(月) 17:31:10.51ID:7M5WCkF4Invokeを利用することでエラーは回避できました。
ですが、スレッド実行中にフォームを閉じるとエラーが起こるようになりました。
this.IsHandleCreatedやthis.IsDisposedでフォームの存在を確かめてからInvokeを実行させようとしてみたのですがうまくいきません。
どのように回避したらいいのでしょうか。
下は、>>41のloop()内にInvokeを反映させたものです。
ループ実行中にフォームを閉じると、
>追加情報:破棄されたオブジェクトにアクセスできません。
のエラーが出ます。
for (int i = 0; i < 1000; i++)
{
if(this.IsDisposed)break;
this.Invoke((MethodInvoker)delegate()
{
pictureBox1.Image = mybmp[i % 3];
pictureBox2.Image = mybmp[(i + 1) % 3];
pictureBox3.Image = mybmp[(i + 2) % 3];
});
Thread.Sleep(50);
}
005441
2014/04/14(月) 17:40:58.42ID:7M5WCkF4あるいはフォームのデコンストラクタでスレッド実行を停止するのが正しい方向性なのかな?
0055デフォルトの名無しさん
2014/04/14(月) 17:59:22.80ID:GRbiX2xUスレッド実行を停止させるとデッドロックするな
0056デフォルトの名無しさん
2014/04/14(月) 18:58:37.52ID:+mkYAk9j0057デフォルトの名無しさん
2014/04/14(月) 19:41:21.08ID:GRbiX2xUガチで1次元(時間軸)上のスパゲッティコードが出来上がるw
今回の例でもInvokeの仕組み、WindowsのGUIモデル(少々)、volatile、ロックあたり押さえといて欲しい
0058デフォルトの名無しさん
2014/04/14(月) 21:11:44.44ID:xiJSquwx謎のAccess Violationが発生して3日悩んだが
なんとなく32bitでコンパイルしたら治りやがった
0059デフォルトの名無しさん
2014/04/15(火) 09:10:47.46ID:eg/wih/V0060デフォルトの名無しさん
2014/04/15(火) 09:14:04.10ID:iSGwDvUA>お前みたいなでかいツラされて不快になるよりマシ
これは酷い
0061デフォルトの名無しさん
2014/04/15(火) 09:52:27.96ID:b3iAuu/a0062デフォルトの名無しさん
2014/04/16(水) 09:14:38.36ID:Wy9kGQMKhttp://support.microsoft.com/kb/316384/ja
このサイトを参考に作成したのですが、画像の作成や貼り付けはありません。
http://msdn.microsoft.com/ja-jp/library/ms178792.aspx
msdnになりますと、画像ファイルの読み込みのみあります。
コントロールを一度画像ファイルに保存してから読み込めば良いのでしょうが、
それでは毎回画像ファイルを作成する必要があり、あまりスマートでは無いので
直接画像としてコントロールを張り付け出来るような方法がありましたら、よろしくお願いします。
0063デフォルトの名無しさん
2014/04/16(水) 09:39:36.36ID:8awiXMyddocxならOpen XML SDK使うとかで埋め込めるだろうけどまずフォーマット理解するところからになるな
0064デフォルトの名無しさん
2014/04/16(水) 09:59:48.79ID:jh5A/a7zusing( Bitmap bmp = new Bitmap( this.Width, this.Height ) )
{
this.DrawToBitmap( bmp, new Rectangle( Point.Empty, this.Size ) );
Clipboard.SetDataObject( bmp );
RichTextBox rb = new RichTextBox();
rb.Paste();
rb.SaveFile( @"C:\Users\hoge\Desktop\test.doc" );
}
とか。位置指定とか考えだすと面倒くさくて死ぬるな
0065デフォルトの名無しさん
2014/04/16(水) 10:04:25.73ID:jh5A/a7zつか
http://msdn.microsoft.com/ja-jp/library/ms178792.aspx
のリンク先見てにSelectionオブジェクトを取得してPasteすればクリップボード経由で挿入できるな
0066デフォルトの名無しさん
2014/04/16(水) 11:45:22.88ID:wJUsRdtr「良く」なのか「稀」なのかはっきりせい!
と、突っ込むところまでが遠足
0067デフォルトの名無しさん
2014/04/16(水) 12:10:13.15ID:Wy9kGQMKクリップボード経由で出来ました、ありがとうございます。
0068デフォルトの名無しさん
2014/04/16(水) 18:41:47.03ID:o1DhIOoDForm1.cs[デザイン]でフォームのサイズを設定してその数値を
プロパティのSystem.Drawing.Sizeに入れても数値がズレるのは何故なのでしょうか。
ClientSizeをSystem.Drawing.Sizeにバインドしています。
0069デフォルトの名無しさん
2014/04/16(水) 18:57:54.81ID:RT2B6Kf1日本語でおk
0070デフォルトの名無しさん
2014/04/16(水) 19:23:09.06ID:4/4/+OZx0071デフォルトの名無しさん
2014/04/16(水) 19:40:31.94ID:fX4bKwvJ0072デフォルトの名無しさん
2014/04/16(水) 19:50:27.85ID:o1DhIOoDフォームデザインの画面でフォームのサイズを調節してそのサイズの数値を
アプリケーション設定項目に入力してもフォームのサイズが同じにならないのです
アプリケーション設定項目のサイズの数値とフォームデザイン画面のプロパティのサイズの数値が一致せず、
片方をいじると片方の数値が変化してしまいます
0073デフォルトの名無しさん
2014/04/16(水) 19:56:12.90ID:yQi7dKzkClientSizeってミソなんだろ
デザイナに表示されてるのは非クライアント領域も含んでると
0074デフォルトの名無しさん
2014/04/16(水) 20:10:32.77ID:s5kasKNy0075デフォルトの名無しさん
2014/04/16(水) 20:40:31.81ID:jh5A/a7zForm.SizeとClient.Sizeの違いとか
0076デフォルトの名無しさん
2014/04/16(水) 20:41:11.58ID:jh5A/a7z0077デフォルトの名無しさん
2014/04/16(水) 22:27:57.36ID:+VUax7lDいう謎環境なのか
0078デフォルトの名無しさん
2014/04/16(水) 23:02:59.71ID:4/4/+OZx0079デフォルトの名無しさん
2014/04/16(水) 23:07:45.45ID:+VhpgL3Yそれならたぶん、API叩かないといけない
0080デフォルトの名無しさん
2014/04/16(水) 23:17:51.65ID:4/4/+OZx散々ググった結果ShellAPIを使えば出来るんじゃないかなというのは分かったんだけど
難しくて何かいい方法あったりしないかなと思って質問したんだよね
自分で試行錯誤してみますありがとう
0081デフォルトの名無しさん
2014/04/17(木) 00:30:58.60ID:yVkbU7bN0082デフォルトの名無しさん
2014/04/17(木) 10:16:41.51ID:3ZJR1sBxhttp://msdn.microsoft.com/ja-jp/magazine/dd861346.aspx
SHGetKnownFolderItemでマイコンピューターを表現するIShellItem取得
↓
IShellItem.BindToHandlerでそのIShellFolderを取得
↓
IShellFolder.EnumObjectsでIEnumIDList取得して、IEnumIDListで内容を列挙
0083デフォルトの名無しさん
2014/04/17(木) 10:52:57.28ID:s16FfDLr小文字のアルファベットを入力中にタイマーなどでその値を取得すると
小文字が大文字に変換されます。
そこまでは良いのですが、同時にカーソルがいちばん左に移動してしまいます。
するとabcdと打ったつもりが、DCBAとなってしまいます。
小文字が大文字に変換されたときにカーソルを移動しないようにするには
どうすれば良いですか?
何かをオーバーライドすれば良いのでしょうか?
0084デフォルトの名無しさん
2014/04/17(木) 11:23:17.40ID:CRM5LnHb弥○なんかの販売管理ソフトで、伝票入力画面の下部にあるリスト部分って
入力すると自動的に(しかも複数テキストボックス&複数行)追加されますが、
ああいう動作を実現するにはどのコントロールを使えばいいんですか?
0085デフォルトの名無しさん
2014/04/17(木) 11:25:43.70ID:CRM5LnHb0086デフォルトの名無しさん
2014/04/17(木) 11:25:58.93ID:gmrG8BhO0087デフォルトの名無しさん
2014/04/17(木) 11:31:42.82ID:CRM5LnHbその中にTextBox配置して、みたいな感じで方向性はあってますかね?
この方法をやろうとして数時間躓いてます。
0088デフォルトの名無しさん
2014/04/17(木) 11:44:30.79ID:CRM5LnHb自己解決というか、レスをもらったことで少し理解しました。
こういうのを実現するライブラリが販売されてたんですね。
導入を検討しようと思います。
ありがとうございました。
0089デフォルトの名無しさん
2014/04/17(木) 12:09:39.88ID:cV35zYaXありがとう参考にします
0090デフォルトの名無しさん
2014/04/17(木) 13:07:07.79ID:umXeCPzC複数テキストボックスをユーザーコントロールにまとめてやればFlowLayout案でも簡単だと思う
0091デフォルトの名無しさん
2014/04/17(木) 13:27:22.33ID:TvKM2fdIVisual Basic Power PacksのDataRepeater コントロールはどうだろう
0092デフォルトの名無しさん
2014/04/17(木) 19:52:18.24ID:WDbWaLnYstring[] cmds;
cmds = System.Environment.GetCommandLineArgs();
http://dobon.net/vb/dotnet/programing/commandline.html
フォームとコマンドプロンプトの両方で使えるようにしたいのですが、
フォームは正常に動作して、コマンドプロンプトの時で容量もほとんど使わないのにメモリ不足って出るのは、下のが原因と考えて良いのでしょうか?
大容量の RAM が搭載されていると、メモリ不足を示すエラー メッセージが表示される
http://support.microsoft.com/kb/253912/ja
0093デフォルトの名無しさん
2014/04/17(木) 20:14:05.96ID:3ZJR1sBx他の部分にバグがあるんだろ
ミニマムコードで試してみそ
0094デフォルトの名無しさん
2014/04/17(木) 20:51:33.80ID:BiFRjuqFこの動画を落としたswfファイルをフォームに貼り付けた
Shockwave Flash Objectで再生できないのはなぜなのでしょうか?
コードはこんな感じです。
axShockwaveFlash1.LoadMovie(0, @"f:\test.swf");
axShockwaveFlash1.Play();
0095デフォルトの名無しさん
2014/04/17(木) 21:09:02.94ID:WDbWaLnYありがとう。
System.IO.Path.GetDirectoryName(strCmd[0]);
で、コマンドプロンプトだとフォルダ名が取得出来無かったから、C:\に書き込もうとしてエラーになってた。
0096デフォルトの名無しさん
2014/04/17(木) 21:20:50.59ID:umXeCPzC0097デフォルトの名無しさん
2014/04/17(木) 21:36:04.77ID:WDbWaLnYあとはコントロール配列にしてたくらいだけど、
イベントの追加とかはコマンドプロンプトでは関係ないからメモリ不足の表示って出る物かな?
0098デフォルトの名無しさん
2014/04/17(木) 21:44:36.61ID:N1Srpcxj例外がでるんなら、どの位置ででてるかわかるだろ
0099デフォルトの名無しさん
2014/04/18(金) 06:55:54.45ID:gGWuEQS3ファイルのイメージ形式が有効ではありません。
または
GDI+ はファイルのピクセル形式をサポートしません。
の場合、OutOfMemoryExceptionが発生する
ってのも意味不明
http://msdn.microsoft.com/ja-jp/library/stf701f5%28v=vs.110%29.aspx
0100デフォルトの名無しさん
2014/04/18(金) 07:23:17.77ID:xhIZwZfQ0101デフォルトの名無しさん
2014/04/18(金) 07:54:35.47ID:gGWuEQS3根っこが意味不明なだけでそれは知ってる
0102デフォルトの名無しさん
2014/04/18(金) 08:18:16.94ID:5ZSBe340WPFのImaging APIを試してみては
0103デフォルトの名無しさん
2014/04/18(金) 09:34:42.55ID:2myBQDOJありがとうございます。
実は、なんとかFlowLayoutで実現できちゃいました。かなりめんどくさかったですが。
でもユーザーコントロールって知らなかったので、一つ賢くなりました。
たしかにこれを使った方が簡単そうな気がします。
試してみますね。
0104デフォルトの名無しさん
2014/04/18(金) 13:52:00.58ID:VeXCOOSAイメージサイズの算出に関わる部分のヘッダが壊れてて異常値を返すんじゃね
0105デフォルトの名無しさん
2014/04/18(金) 16:32:12.19ID:OieI8ueOAutoScaleはFalse、AnchorはTop,Leftになっているのですが、
他に止める為に確認するところはありますでしょうか?
0106デフォルトの名無しさん
2014/04/18(金) 18:20:17.89ID:nOqcQsid言ってる事がよくわからんがAnchorをTop left Right Bottomにしてみ
0107デフォルトの名無しさん
2014/04/18(金) 19:19:21.02ID:VWFZLBWtなにそれECOモード?w
冗談はさておき、何言ってるか分からないからコード晒してくれ
0108デフォルトの名無しさん
2014/04/18(金) 20:20:03.91ID:xLsMteBI0109デフォルトの名無しさん
2014/04/18(金) 20:20:30.41ID:RJoHb8Nd0110デフォルトの名無しさん
2014/04/19(土) 08:56:53.25ID:F+1f3Ibj0111デフォルトの名無しさん
2014/04/19(土) 12:44:18.87ID:wssCKxB640型FHDと24型FHDとかな
0112デフォルトの名無しさん
2014/04/19(土) 13:16:35.70ID:F+1f3Ibjはい、次の方〜
0113デフォルトの名無しさん
2014/04/19(土) 14:45:37.73ID:FZlACFeuvar sourceList = new string[] { "a", "a", "b", "c", "a", "b", "c" };
var outList = new List<string[]>();
sourceList の文字列"a"と"b"だけを
下のような感じでoutList に格納したいです。
{ "a", "a", "b", "a", "b" }
for文で地道に検索すれば実現できるのですが、
配列のデータが大きくなると、
配列のインデックスを0から全て突き合わせるので、
結構遅くなっていきます。
何かスマートなやり方はあるでしょうか?
0114デフォルトの名無しさん
2014/04/19(土) 14:56:23.05ID:nSzj8sirどうせArray.Resizeとか乱射してるんじゃないの?
0115デフォルトの名無しさん
2014/04/19(土) 15:16:43.12ID:wssCKxB6一度たりともコーディングでミスしたことがない人なの?
0116デフォルトの名無しさん
2014/04/19(土) 15:19:34.36ID:FN+T31Li処理があるとも思えんよな。
強いて言えば、(ほとんどありえないシナリオだけど)文字列の比較を参照の比較で
代替して問題がなければかなり効率があがるような気が
0117デフォルトの名無しさん
2014/04/19(土) 15:49:38.35ID:CsG29AJestring.Intern使ってやってみたよ
aからzの繰り返し、5000万件のstring[]から、aとbをList<string>へ抽出
配列からリストを作る部分で、Intern250ms、ベタなのは800ms
Internは配列作るのが遅く全体ではベタの方が速かった
ちなみにインターンプールの解放タイミングよく分からないから勧められない
パラレルも試したが(Listの同期のせいで?)2000ms
0118デフォルトの名無しさん
2014/04/19(土) 16:45:21.85ID:eQm7EaOgA new Thread( new ThreadStart()):基本的な並列化
B ThreadPool.QueueUserWorkItem():スレッドプールを利用した並列化
C Task.Factory.StartNew():スレッドプールを利用した並列化
D Parallel.Invoke():スレッドプールを利用した並列化。引数としてメソッドを複数入れられる
A以外は常にバックグラウンドスレッド?
どの方法でもAutoResetEventでの待機・再開は利用できるが、A以外ではabort()での強制停止ができず、CancellationTokeを使う必要がある。
以上の理解で合っていますか?
他にも気を付けるべき特徴があれば教えてください。
0119デフォルトの名無しさん
2014/04/19(土) 16:48:21.98ID:nSzj8sir0120デフォルトの名無しさん
2014/04/19(土) 16:50:43.65ID:mBoNBXfeその中ではっきり並列化を目的としてるのはInvokeだけだ
他は並列化にも使えるというだけ
特にTaskはParallelの対極に位置するもので、並列化というより非同期処理に使う
0121デフォルトの名無しさん
2014/04/19(土) 17:05:43.85ID:mBoNBXfe典型的な並列処理のパターン(いわゆるfork-join)に特化してる。
Taskはタスクベースプログラミングといって、ひとまとまりの手続きを纏めて非同期に実行していくパターンで、スレッドを使うとは限らない。
あとの2つは低レベルな制御を必要とする場合以外は必要ない(自分でこういう枠組みを作るときとか)
0122デフォルトの名無しさん
2014/04/19(土) 17:08:03.94ID:wssCKxB6使うなと書いてあるだろ
0123デフォルトの名無しさん
2014/04/19(土) 17:14:46.82ID:z8Jb6CLl頭おかしいんじゃねえの本当
0124デフォルトの名無しさん
2014/04/19(土) 18:29:26.35ID:2PY1bkDdこれまさに、LINQの出番じゃね?望むパフォーマンスが出るかわからないけど。
0125デフォルトの名無しさん
2014/04/19(土) 18:35:31.19ID:eQm7EaOg>>122
MSDNでSuspendやResumeは非推奨でしたが、abortもそうなのですか?
あくまで非常停止として使うべきで、基本はスレッド内で終了させた方がいいというようなことは見かけましたが。
0126デフォルトの名無しさん
2014/04/19(土) 19:17:41.81ID:WYLdWJWUあえて強制終了する意味があるはずがないと思うんだけど...
abortなんて、稀にデッドロックするバグがあるアンマネージドなライブラリの関数を
呼び出す時以外に使ったことないよ俺は。
0127デフォルトの名無しさん
2014/04/19(土) 19:35:06.62ID:GVfgk0hHhttp://anago.2ch.net/test/read.cgi/actress/1397313324/
0128デフォルトの名無しさん
2014/04/19(土) 19:40:06.51ID:lky2D+JG普通はLINQ使うかな。データ数が多いならベタに書くが
ttp://ideone.com/6rwuVD
0129デフォルトの名無しさん
2014/04/19(土) 21:28:01.14ID:+cER51WV死ねよ
0130デフォルトの名無しさん
2014/04/19(土) 21:28:45.04ID:+cER51WV0131デフォルトの名無しさん
2014/04/19(土) 22:26:39.08ID:F+1f3Ibj0132デフォルトの名無しさん
2014/04/19(土) 22:44:30.17ID:mBoNBXfe一文字でなく最大でも数文字程度なら固定長で一つのchar配列に全部並べてもいい
メモリアクセスの効率が大幅に改善される
ビチクソ汚いから本当に本当に速度が必要な場合の最終手段な
0133デフォルトの名無しさん
2014/04/20(日) 15:52:05.98ID:uC0F2C8mおいみんな>>113をよく見ろ
>>114は気付いていたみたいだが、outListの型はList<string[]>だぞ
どうやら、みんなの考えた方法では113の要求している仕様に合っていないみたいだw
0134デフォルトの名無しさん
2014/04/20(日) 16:01:27.98ID:ylaqUWX40135デフォルトの名無しさん
2014/04/20(日) 16:29:48.16ID:zk/lLqrYThreadを利用した場合は、スレッドの状態の確認としてThreadStateが利用できました。
Taskを利用した場合は、独自に変数を設定してスレッドの状態を確認するのでしょうか?
スレッドが起動中かどうかを示す変数、スレッドが終了したかどうかを示す変数など。
0136デフォルトの名無しさん
2014/04/20(日) 17:17:05.16ID:ow3IcQU9どうしてもThreadの状態を知りたいならThread.CurrentThreadを見ればいい
0137デフォルトの名無しさん
2014/04/20(日) 19:42:31.74ID:zk/lLqrYどうもありがとうございました。
0138デフォルトの名無しさん
2014/04/21(月) 17:28:24.12ID:ymTJYPURhttp://whoopsidaisies.hatenablog.com/entry/2013/10/25/005953
ここを参考にしてこのように書いて(写して)コンパイルはできたのですが
http://ideone.com/ITS6Ms
var img = OpenCV.Net.CV.LoadImage(@"C:\test\test.jpg", OpenCV.Net.LoadImageFlags.AnyColor);
の所で以下のような例外が出ました
型 'System.TypeInitializationException' の初回例外が OpenCV.Net.dll で発生しました
追加情報:'OpenCV.Net.Native.NativeMethods' のタイプ初期化子が例外をスローしました。
画像はC:\test\test.jpgにあります
どうすればいいですか?
0139デフォルトの名無しさん
2014/04/21(月) 17:33:38.20ID:y0NArLUJ0140デフォルトの名無しさん
2014/04/21(月) 17:40:48.58ID:usiNmkk/冒頭でOpenCvSharpを勧めてるのに、なんでOpenCV.Netを使ってるのか
0141デフォルトの名無しさん
2014/04/21(月) 19:11:53.17ID:S3aB0oZF0142デフォルトの名無しさん
2014/04/21(月) 19:52:37.79ID:KEGmYWwQ0143デフォルトの名無しさん
2014/04/21(月) 22:23:30.19ID:oS0xRoz1ExcelみたいにVSのプログラムを作りたいんですが
0144デフォルトの名無しさん
2014/04/21(月) 23:11:54.98ID:d3T4wTxVVSの拡張機能として作れば同じようなことはできるが、VSのプロジェクトってMSBuildに入力するための単なるXMLファイルなのでわざわざVSを動かすまでもない
MSBuildのスキーマだけ持ってきてそれに従ってXMLを吐くのは簡単だし
必要ならMSBuildのAPIも使える
0145デフォルトの名無しさん
2014/04/21(月) 23:24:42.06ID:d3T4wTxV自分でテキストエディタで開いて見てみるのが早いが、ごくシンプルで普通なファイルだ
テンプレートを用意しといて必要なものだけ動的に突っ込む形にすれば簡単に作れる
0146デフォルトの名無しさん
2014/04/22(火) 13:05:37.13ID:HFvXP4YQ□で中に...と書いてあるコントロールの名前は何でしょうか?
0147デフォルトの名無しさん
2014/04/22(火) 13:10:05.49ID:XBfi1btF0148デフォルトの名無しさん
2014/04/22(火) 14:40:38.90ID:UaMCQHcx0149デフォルトの名無しさん
2014/04/22(火) 14:50:16.86ID:gNtRiMca0150デフォルトの名無しさん
2014/04/22(火) 18:02:04.37ID:UE2PHjX0どんなやつよ。
ちょっと想像がつかないからコモンコントロールじゃないっぽいが
具体例がほしいな
0151デフォルトの名無しさん
2014/04/22(火) 19:26:39.75ID:kADKmax/わからないとか冗談だろ
ファイル名テキストボックスとファイルダイアログ表示ボタンをくっ付けたやつだろjk
0152デフォルトの名無しさん
2014/04/22(火) 23:22:54.33ID:kRq+wL8HC#に移行するとどんなメリットがありますか?
0153デフォルトの名無しさん
2014/04/22(火) 23:27:01.60ID:COSeIpGWどんどん差がなくなってきてる
最近は真面目にそれぐらいしか差がない
0154デフォルトの名無しさん
2014/04/22(火) 23:28:38.63ID:w4l4IAkaC#,VB.NETの両方読めるようにしとくと情報が見つけやすい
0155デフォルトの名無しさん
2014/04/22(火) 23:30:33.98ID:qzRdlrJoC#でプログラミングする必要はないが、C#が読めるようになると世界が広がる
C#が読めれば数々のオープンソースプロジェクトのソースが読めるしJavaも読める
また、一般にWebに転がってるC#の情報はVBより品質が高い
C#に無い機能は即ちVBでも使ってはいけない機能なので、それが分かっていれば実際使うのがVBだとしても高品質なコードが書けるようになる
0156デフォルトの名無しさん
2014/04/22(火) 23:33:58.18ID:kADKmax/フォームのシングルトンインスタンスにクラス名でアクセス出来るのとかまだあるんだっけ?
0157デフォルトの名無しさん
2014/04/22(火) 23:34:08.54ID:kRq+wL8H0158デフォルトの名無しさん
2014/04/22(火) 23:34:09.41ID:COSeIpGW情報検索がしやすいメリットは大きいね
下手くそなコード書く人が少ないのも助かる
0159デフォルトの名無しさん
2014/04/22(火) 23:35:12.43ID:kRq+wL8H0160デフォルトの名無しさん
2014/04/23(水) 00:41:08.86ID:3zL5Y6EA結局出来ることはほとんど違わないけど、VBのラムダ式とかジェネリックとか
AddressOf...とかの冗長さにイラっとしてるならそれから解放される。
あと、このスレでもそうだけどVBに偏見持ってる人は少なくないから、
メンタル的にはその辺も大きいねw
0161デフォルトの名無しさん
2014/04/23(水) 00:45:47.04ID:JkkhAF2N移行っていうほど大げさなもんじゃない。
VBが普通に書けるなら1週間でC#もスラスラ書けるようになるはず。
0162デフォルトの名無しさん
2014/04/23(水) 01:02:34.08ID:Jwmg0nMc偏見じゃなくて公式だ
MS自身がが先陣切ってVBerを馬鹿にしてるからなあ
0163デフォルトの名無しさん
2014/04/23(水) 01:14:29.84ID:moWamiRQ公式だから偏見じゃないとはちょっと…
自分もVBからC#に移ったが、情報やサンプルの多さは本当に助かってる
職場ではVBA使うからたまに混乱するが
0164デフォルトの名無しさん
2014/04/23(水) 01:57:22.43ID:oEVDmUMc偏見ってたとえば?
0165デフォルトの名無しさん
2014/04/23(水) 03:45:53.21ID:L+2rWq+FMS自身がが先陣切ってVBerを馬鹿にしてる とか
0166デフォルトの名無しさん
2014/04/23(水) 07:03:44.22ID:aQjOrdcV機能が同等だとしてもあえて選ぶ意味は無い
0167デフォルトの名無しさん
2014/04/23(水) 07:27:58.18ID:B15hE1J5あるいは元VBerで信仰心があったり
公平な選択なんて有り得ないんですよ
例えそれが自分の首を締めても
0168デフォルトの名無しさん
2014/04/23(水) 08:23:37.10ID:x9LZX8vX0169デフォルトの名無しさん
2014/04/23(水) 08:38:33.73ID:Wz2QSiNm0170デフォルトの名無しさん
2014/04/23(水) 09:30:35.84ID:oEVDmUMc0171デフォルトの名無しさん
2014/04/23(水) 10:12:07.52ID:8Svp1K2CVBで作るって言うと遅くなるとかバカにされるけど、C#で作るって言うと安心するとか尊敬される
知らない人ほど「Basicって名前は遅くてCって名前は速い」と思ってるから性質が悪い
0172デフォルトの名無しさん
2014/04/23(水) 12:43:00.67ID:To415BTTstatic void Main(string[] args)
{
}
見たいになってるけど、デフォルトで
static void Main(string[] args) {
}
こうするように出来ますか?
0173デフォルトの名無しさん
2014/04/23(水) 12:54:41.59ID:Wav400Iz少なくともうちのExpressちゃんだと
0174デフォルトの名無しさん
2014/04/23(水) 13:02:10.40ID:To415BTTありがとうございます
0175デフォルトの名無しさん
2014/04/23(水) 13:14:45.44ID:HlzGISmeoutのやつとかうまく行かない時ある
0176デフォルトの名無しさん
2014/04/23(水) 17:00:14.97ID:gE6F061nインデックスつきプロパティとかどうすんだろ
0177デフォルトの名無しさん
2014/04/23(水) 18:38:59.62ID:hEaBYDdCパフォーマンスがC#より悪いのも、ヘルパーメソッド由来の妙なバグがあるのも全部事実であって偏見ではない
0178デフォルトの名無しさん
2014/04/23(水) 20:26:11.53ID:TDgs+IDtMS にはとっとと切り捨てて欲しい
>>176
get_プロパティ名(インデックス)、set_プロパティ名(インデックス, セット値) でいける
0179デフォルトの名無しさん
2014/04/23(水) 22:13:30.39ID:Wvay+xfFVBのメリット、これしか見つからないな。
0180デフォルトの名無しさん
2014/04/23(水) 22:17:47.88ID:9b5aah450181デフォルトの名無しさん
2014/04/23(水) 22:38:48.86ID:aQjOrdcV0182デフォルトの名無しさん
2014/04/23(水) 23:05:07.94ID:gnPWMjptそんなことはないと思うが、2008の頃からは何を書くにもとにかく冗長という
欠点ばかりが目立つようになってしまった。
0183デフォルトの名無しさん
2014/04/23(水) 23:30:13.86ID:aQjOrdcVリフレクション多用するライブラリが増えてきて表面化しただけじゃないの
自動実装プロパティもC#にしかない時期だし
0184デフォルトの名無しさん
2014/04/23(水) 23:30:18.44ID:O6CdnXOc0185デフォルトの名無しさん
2014/04/23(水) 23:32:30.95ID:Jwmg0nMc2008からはVBチームがVB嫌いのヘジたんの傘下に入ったからね
0186デフォルトの名無しさん
2014/04/23(水) 23:59:59.59ID:20pXoq+zバグ生産機を使うなバカ
0187デフォルトの名無しさん
2014/04/24(木) 01:31:15.85ID:ql05jL4bすまん軽率だった
これ見て使ってしまう奴が居ないとも限らんしな
0188デフォルトの名無しさん
2014/04/24(木) 20:30:02.51ID:4wdRys5m0189デフォルトの名無しさん
2014/04/24(木) 20:44:58.88ID:YxnFmXEYそれっぽいフォームを自分で作る
文字列を描画したときのサイズを計算してフォームの大きさ変えたりとか楽しいぞ
さあ作れ
0190デフォルトの名無しさん
2014/04/24(木) 20:58:57.16ID:nZNRS/HTそうでなくてもOS標準のはモーダルにしか出来ないしいろいろ使いづらい。
0191デフォルトの名無しさん
2014/04/24(木) 21:15:44.44ID:DE2OqBZn0192デフォルトの名無しさん
2014/04/24(木) 21:20:16.41ID:DE2OqBZnpublic struct A{
public static string str;
public struct B{
public static string str_b1;
public static string str_b2;
}
public class Class{
public string c_str;
}
public static Class C = new C();
public static Class[] D = new D[2]{
new D(),
new D()
};
}
こんな構造体があるとして
A.B.str_b1;
A.B.str_b2;
A.C.c.str;
A.D[0].c_str;
A.D[1].c_str;
foreach的な感じで値取得ってできない?
0193デフォルトの名無しさん
2014/04/24(木) 21:20:46.50ID:YxnFmXEY無理ってことはないと思うならやってみろよハゲ
ちなみにあれMessageBox APIを呼んでるだけなんすよヅルムケが
0194デフォルトの名無しさん
2014/04/24(木) 21:35:37.91ID:FFtq7Y66正直、お前さんみたいな馬鹿丸出しな奴は相手にしたくない人種なんだが。
恐らくこれと同じ手法でいける。
http://msdn.microsoft.com/en-us/library/ms996463.aspx
0195デフォルトの名無しさん
2014/04/24(木) 21:37:47.16ID:YxnFmXEYそれらの静的フィールドをyield return で返すIEnumerable<strign>なプロパティを書けばできるけど
意味があるかどうかはおいといて
つかそれ構造体の意味なくね?
0196デフォルトの名無しさん
2014/04/24(木) 21:41:48.71ID:YxnFmXEYすこしは自分でコード書いてみたら?
同じ手法でいけるって……全然試してないでしょあなた
0197デフォルトの名無しさん
2014/04/24(木) 21:43:57.76ID:vQpzgEp0foreach使うための、インターフェースの実装はわかりますよね?
あとは、イテレータ使えばできるはずです。
0198デフォルトの名無しさん
2014/04/24(木) 21:49:14.36ID:VsJIW2Qh馬鹿だろお前。
だったらてめえでやれ馬鹿。
0199デフォルトの名無しさん
2014/04/24(木) 22:02:34.00ID:dPj9fjlZただ、意味はないからやらないだけだ
0200デフォルトの名無しさん
2014/04/25(金) 15:25:09.99ID:IiOsF4m20201デフォルトの名無しさん
2014/04/25(金) 20:53:42.84ID:1OgLRHsjオートメーションは今でもVBの方が向いてるよ。
Option Strict Offの唯一の見せ場といってもいいぐらい
0202デフォルトの名無しさん
2014/04/25(金) 20:59:41.66ID:H8Us4HARつdynamic
0203デフォルトの名無しさん
2014/04/25(金) 21:05:02.54ID:OpA3+M3d0204デフォルトの名無しさん
2014/04/25(金) 21:10:59.66ID:H8Us4HAR0205デフォルトの名無しさん
2014/04/25(金) 21:18:49.00ID:E6t4nrBHいや、例えばRange.Valueをdoube[,]として出し入れする、なんて芸当はVBしかできない。
0206デフォルトの名無しさん
2014/04/25(金) 21:27:17.50ID:BeYqZeZk0207デフォルトの名無しさん
2014/04/25(金) 22:19:49.65ID:+sbVSSo6Word形式で出力できるライブラリが殆ど無いのが納得いかない。
0208デフォルトの名無しさん
2014/04/25(金) 22:32:43.08ID:v98LkHcr0209デフォルトの名無しさん
2014/04/25(金) 23:05:26.63ID:K/dO+JDF連番画像ダウンローダー、目覚ましなどは作りましたが、次に作るものが思い浮かばないです・・・
0210デフォルトの名無しさん
2014/04/25(金) 23:15:10.41ID:BeYqZeZk0211デフォルトの名無しさん
2014/04/26(土) 01:10:31.85ID:L7zgrAvH0212デフォルトの名無しさん
2014/04/26(土) 01:12:25.53ID:EJb9DXTR0213デフォルトの名無しさん
2014/04/26(土) 01:41:03.89ID:fIjhv7f7擬似ウイルス
0214デフォルトの名無しさん
2014/04/26(土) 07:48:18.18ID:tBhXDM1B俺はもうC#上級者
0215デフォルトの名無しさん
2014/04/26(土) 09:57:25.18ID:6xIFFq9Q画像レタッチソフト
0216デフォルトの名無しさん
2014/04/26(土) 12:06:32.30ID:we+cBXG7マクロにC#を使える軽量高機能テキストエディタ
0217デフォルトの名無しさん
2014/04/26(土) 12:39:09.88ID:4Y2pKqPs/// 指定したmdbファイルに対してSQLを実行します。
/// </summary>
/// <param name="sql">実行するSQL文です</param>
/// <param name="dataSource">mdbファイルの絶対パス</param>
/// <returns>0:正常終了 1:dataSource未設定 2:SQL文がない -1:システムエラー</returns>
こういうコメントを、関数仕様書のようにまとめる事ができる
お勧めツールはありますでしょうか?
0218デフォルトの名無しさん
2014/04/26(土) 12:51:59.56ID:Qdi0GyvQ0219デフォルトの名無しさん
2014/04/26(土) 13:04:22.85ID:EJb9DXTR1つの関数にopenからsql実行まで全部いれないでもうちょっと別けろよ
0220デフォルトの名無しさん
2014/04/26(土) 13:14:14.44ID:yjIemKHI0221デフォルトの名無しさん
2014/04/26(土) 13:26:01.94ID:Fm5sej5/0222デフォルトの名無しさん
2014/04/26(土) 13:49:19.87ID:4Y2pKqPsopenからsql実行まで一連の処理を一つの関数にまとめていると
何か不都合が出てくるのでしょうか?
なるほど、という不都合が。
0223デフォルトの名無しさん
2014/04/26(土) 15:32:06.24ID:rj2lEW1Q0224デフォルトの名無しさん
2014/04/26(土) 15:36:25.19ID:Qdi0GyvQ笑えないほど予告通りですね
0225デフォルトの名無しさん
2014/04/26(土) 15:38:21.79ID:ZzzaXJVH0226デフォルトの名無しさん
2014/04/26(土) 16:28:10.91ID:we+cBXG7>>222
File.ReadXXXなんかもあるし、これで全部賄おうって話じゃなけりゃ問題ないでしょう
それより処理結果をintで返すのは誰に教わったの?そいつぶん殴ったらいいよ
処理結果なんて誰も見ない
SQLがnullだった場合?呼び出す側はこれnullかも・・・って思いつつ呼び出さないよな、だったら事前チェックするから
想定してないのにnullって言われてもどうしようもない
だから対処できるメソッドまで例外を投げるんだよ、回復とか通知とか出来るところまで
ArgumentNullExceptionを投げるようにして、例外説明用のタグもあるからそれ使おうか
0227デフォルトの名無しさん
2014/04/26(土) 16:32:22.76ID:lFCRVMF10228デフォルトの名無しさん
2014/04/26(土) 16:42:25.86ID:Cr6T5VXg0229デフォルトの名無しさん
2014/04/26(土) 17:17:16.99ID:Gwme6n+H>処理結果なんて誰も見ない
それを言うなら、呼び出したメソッドが例外投げるなんて「誰も想定しない」
とも言えるわけでどっちもどっちだと思うよ。
むしろエラーコード方式の方が、そのメソッドではエラーが発生しうることをコード上で
明示できる分優れているとすら言える。
ただ>>217はエラーコードに今時マジックナンバーを使ってる点は問題。
そこはenumか例外オブジェクトを返すようにした方がいいと思う。
0230デフォルトの名無しさん
2014/04/26(土) 17:36:23.19ID:19vcZYji静的ではないクラスの中に定義したメソッドは
そのクラスのインスタンスを作成するたびに メモリ上に展開されるの?
だとしたら
主にデータを保持するために使うクラスには出来る限りメソッドを定義しないようにして
メソッドはそれを提供する専用のクラスに分割して書いたほうが良いの?
インスタンスの量が増えてくるとメモリの使用量が気にならないかなぁ・・・と
まぁC#でメモリの使用量なんて気にしても仕方ないのかもしれませんがよろしくお願いします.
0231デフォルトの名無しさん
2014/04/26(土) 17:40:40.90ID:9En+Yllw0232デフォルトの名無しさん
2014/04/26(土) 17:41:26.63ID:lFCRVMF10233デフォルトの名無しさん
2014/04/26(土) 18:00:36.35ID:oIIaUmxU割り当てられるような間抜けな実装してるものなんてあるのか?
誰が考えてもありえない話としか思えないが
0234デフォルトの名無しさん
2014/04/26(土) 18:04:16.55ID:Qdi0GyvQ0235デフォルトの名無しさん
2014/04/26(土) 18:14:29.64ID:lFCRVMF10236デフォルトの名無しさん
2014/04/26(土) 18:26:31.95ID:NVDEc6dDためしにDoxygen
0237デフォルトの名無しさん
2014/04/26(土) 20:31:07.43ID:+q1cG7mf例外オブジェクトを返す?本気?
0238デフォルトの名無しさん
2014/04/26(土) 20:34:09.18ID:GZ073aKTオススメや参考にしたサイト等あれば教えてください、お願いします
0239デフォルトの名無しさん
2014/04/26(土) 20:37:36.64ID:lFCRVMF10240デフォルトの名無しさん
2014/04/26(土) 20:42:52.62ID:7/lzVZ3W例外オブジェクトの存在価値が投げられること、ただそれだけだ思ってるのならただの固定観念。
0241デフォルトの名無しさん
2014/04/26(土) 21:15:39.82ID:lFCRVMF10242デフォルトの名無しさん
2014/04/26(土) 21:21:36.37ID:iOeXFZ4Rそういう批判のための批判なら要らない。
軽量かどうか、誤解を招くかどうか、どちらもそれが例外オブジェクトかどうかとは無関係。
0243デフォルトの名無しさん
2014/04/26(土) 21:26:28.10ID:lFCRVMF10244デフォルトの名無しさん
2014/04/26(土) 21:31:09.99ID:L2eR/wTD俺はマジックナンバーではなくenumか例外オブジェクトを返せと書いた。
要するにただ「使える」と言ってるだけだ。
2chで言ってもしょうがないが本当中学生じみた幼稚な奴だな。
0245デフォルトの名無しさん
2014/04/26(土) 21:39:05.02ID:sw3OTzY3Go言語みたいにするの?
0246デフォルトの名無しさん
2014/04/26(土) 21:43:07.54ID:lFCRVMF1じゃあ聞くけどマジックナンバーと比較して例外を使うのの何が優れてると思ってるの?
型検査になるから列挙型のように選択肢も絞れないし、動作もマジックナンバーより遅いし
基本エラーを表す型しかないから成功のステータスを細分化できないんだけど
エラーメッセージが付加できる点ぐらいしかメリットがないと思うよ
0247デフォルトの名無しさん
2014/04/26(土) 21:49:55.75ID:yjIemKHISQLの実行が100%成功するわけないことぐらい誰でもわかるだろ
0248デフォルトの名無しさん
2014/04/26(土) 21:53:17.85ID:UjMxSJz5例外ならば(例外を食ったりしなければ)普通最上位までまき戻る
あと例外を階層的にクラスで扱えばいろいろ便利だね http://ideone.com/Q5h8n1#li_GQnaUK
C++、Java でも例外をとりいれているし、
エラーコードなんて過去の遺物じゃないかな
0249デフォルトの名無しさん
2014/04/26(土) 21:58:49.85ID:Qdi0GyvQ0250デフォルトの名無しさん
2014/04/26(土) 22:09:27.96ID:2szqXR0/よくある議論だけど、最初から言ってるように、戻り値(エラーコード)ではなく
例外機構を使ったからって、呼び出し側がエラーを想定しなかった場合のリスクに違いはない。
上位まで戻るって、意図的にそうした場合は別として、そうでない場合に
想定されてない例外に対して適切な回復処理なんか出来るわけないでしょ。
0251デフォルトの名無しさん
2014/04/26(土) 22:19:49.67ID:2szqXR0/強制終了させるパワーを持っていることで、だから回復不可能なエラー発生時には
積極的に例外を投げる意味があるけど、それ以外の場合は本来別に例外を投げることに
固執する意味なんてたいしてないんだよね。
むしろエラーコード方式だと他の値が返せなくなるからという程度の理由しかない。
0252デフォルトの名無しさん
2014/04/26(土) 22:31:03.25ID:yjIemKHI追加情報をのせられない
おきた場所のスタックトレースが取得できない
InnerExceptionみたいのができない
エラーの発生しうるメソッドを実行するたびに戻り値を確認する必要がある
回復可能なエラーで失敗を想定しないと停止されないので、そのまま適切でない処理が続行される危険がある
とか
0253デフォルトの名無しさん
2014/04/26(土) 22:52:46.46ID:lFCRVMF1両方やりたいならお好きにどうぞ
0254デフォルトの名無しさん
2014/04/26(土) 23:03:12.36ID:+q1cG7mfその理屈から引数nullとシステムエラー(なんだよそれ)をエラーコードで良いと判断したの?
システムエラーが返された時どうしたらいいの?
俺なら無視しちゃうな
0255デフォルトの名無しさん
2014/04/27(日) 00:00:20.60ID:miy+8Evc引数例外もしくはContractsとか使って
0256デフォルトの名無しさん
2014/04/27(日) 00:08:02.95ID:dy7wqSERもともとネットにつながらないとかホストが見つからないという時だけ投げて欲しい
0257デフォルトの名無しさん
2014/04/27(日) 03:24:50.79ID:oLsNKogN想定しないエラーについては上位に投げる(キャッチしない)のがC#の基本的なエラー処理の考え方だぞ
例外投げるのは意図的に捕捉しない限り勝手に上位に伝播する
自分で処理できるエラーだけ捕捉するのはエラーコードでもいいが、それ以外を上位に投げるのにエラーコードは不向きだ
0258デフォルトの名無しさん
2014/04/27(日) 10:37:42.14ID:/A+wJ+qi「default(T)」は値なの?型なの?
(下記のコードがうまくいかない理由は?)
★状況
public class Range<T> where T : IComparable<T>
{
public T Begin { get; set; }
public T End { get; set; }
public bool Contains(T t)
{
return (Begin == default(T) || Begin.CompareTo(t) <= 0)
&& (End == default(T) || 0 < t.CompareTo(End));
}
}
Begin == defualt(T)のとこで「演算子 '==' を 'T' と 'T' 型のオペランドに適用することはできません。」
とか、表示されます。
T d = default(T);とか書いてみて、もちろんエラーは出ない。
さらに、if( Begin == d ) {...}とか書いてみると、 上記のエラー。
0259258
2014/04/27(日) 10:39:06.66ID:/A+wJ+qiあれっ!HTMLエンコードしすぎちゃった!
0260デフォルトの名無しさん
2014/04/27(日) 10:58:40.25ID:jKbi43u9http://blogs.msdn.com/b/sandcastle/
Visual Studio に同梱してもいいと思うんだが。
0261デフォルトの名無しさん
2014/04/27(日) 11:05:42.81ID:PjLFHi1YIComparableでも==は使えない
0262デフォルトの名無しさん
2014/04/27(日) 11:22:51.99ID:LKRXtHDC0263デフォルトの名無しさん
2014/04/27(日) 12:03:22.28ID:LKRXtHDC静的メソッドの
object.Equals(object, object) っていうのが使えるのかな
でもdefault(T)との比較は値型のときの動作が怪しいよな
0264デフォルトの名無しさん
2014/04/27(日) 12:13:25.13ID:Yz145qkP0265258
2014/04/27(日) 12:48:31.67ID:/A+wJ+qiとりあえずこうしてみます。
>>263案で。
みんなありがとう。
public class Range<T> where T : IComparable<T>
{
public T Begin { get; set; }
public T End { get; set; }
public bool Contains(T t)
{
return (object.Equals(Begin, default(T)) || Begin.CompareTo(t) <= 0)
&& (object.Equals(End, default(T)) || 0 < t.CompareTo(End));
}
}
0266デフォルトの名無しさん
2014/04/27(日) 13:36:23.26ID:miy+8Evc後、default(値型)は、値型の初期値(≒0)になるよ
0267デフォルトの名無しさん
2014/04/27(日) 21:38:52.33ID:Q9kXtU28Tが値型の場合は常にfalseになる
0268デフォルトの名無しさん
2014/04/27(日) 21:44:11.91ID:LKRXtHDC初めて知った・・・
0269デフォルトの名無しさん
2014/05/01(木) 08:05:57.00ID:fMEOKfxX古い情報のデリゲートを使ったり、イベント使ったりして
途中でわけがわからなくなってたがこれ使ってすんげーシンプルにかけるようになった
0270デフォルトの名無しさん
2014/05/01(木) 09:52:55.43ID:tJSAUBZt便利なのはラムダ式
0271デフォルトの名無しさん
2014/05/01(木) 16:02:15.95ID:fMEOKfxXこれでキチガイが暴れなくなったね
0272デフォルトの名無しさん
2014/05/01(木) 16:10:50.88ID:HVeqsQe1ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
0273デフォルトの名無しさん
2014/05/01(木) 16:53:11.58ID:BD8IvZOZ下のようなVB.NETプログラムをC#で書きたいのですが、
Likeは無いと怒られます。
Dim filter As String = "*マ*"
'データソースの作成
Dim animals = New String() {"ライオン", "ウマ", "ポチ"}
'LINQで処理を定義
Dim results = From animal In animals Where animal Like filter
0274デフォルトの名無しさん
2014/05/01(木) 16:57:52.59ID:uhEglYyp0275デフォルトの名無しさん
2014/05/01(木) 17:01:22.57ID:uhEglYypクエリの句として使えないだけで
0276デフォルトの名無しさん
2014/05/01(木) 17:12:26.68ID:BD8IvZOZ残念
クエリ式は、VB.NETの方が優れてる気がしますね
0277デフォルトの名無しさん
2014/05/01(木) 17:16:43.77ID:uhEglYypまあクエリ式なんてついでに乗っけてみた程度だからどうでもいいよ
0278デフォルトの名無しさん
2014/05/01(木) 17:19:01.49ID:Hl+E0h9Bどうしてドットで繋がないんだ
可読性下がるだけだろ
0279デフォルトの名無しさん
2014/05/01(木) 17:27:43.28ID:BD8IvZOZC#だと、どのように書けるでしょうか?
書くことが出来ないとは
思えないのですが。。。
0280デフォルトの名無しさん
2014/05/01(木) 17:29:47.35ID:HVeqsQe1気を揉まなくて済むぞ
0281デフォルトの名無しさん
2014/05/01(木) 17:31:14.67ID:uhEglYypvar results = from animal in animals where LikeOperator.LikeString(animal, filter);
どっちでも好きに
0282デフォルトの名無しさん
2014/05/01(木) 17:32:05.24ID:uhEglYypvar results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal;
0283デフォルトの名無しさん
2014/05/01(木) 17:34:59.06ID:Hl+E0h9Bvar results = animals.Where(animal => Regex.IsMatch(animal, ".*マ.*"));
こんな感じ?
これだと正規表現がすごく遅そうでやばそうかな
0284デフォルトの名無しさん
2014/05/01(木) 18:01:32.04ID:BD8IvZOZご回答ありがとうございます。
ただ、下記のようなコードを書いたのですが、
「動的な式のコンパイルに必要な1つ以上の型が見つかりません。」
と怒られてしまいます。
using Microsoft.VisualBasic.CompilerServices;
string filter = "*マ*";
dynamic animals = new string[] {"ライオン","ウマ","ポチ"};
var results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal;
素人質問で恐縮ですが、
どの辺がいけないのでしょうか?
よろしくお願いします。
0285デフォルトの名無しさん
2014/05/01(木) 18:03:34.36ID:uhEglYyp0286デフォルトの名無しさん
2014/05/01(木) 18:04:42.61ID:HVeqsQe10287デフォルトの名無しさん
2014/05/01(木) 18:06:08.51ID:Hl+E0h9Bダイクマー
0288デフォルトの名無しさん
2014/05/01(木) 18:49:10.15ID:BD8IvZOZあっ、本当だ。
失礼しました。
ただ、下記のようなコードを書くと、
全ての要素がヒットしてしまいました。
var filter = "*マ*";
var animals = new string[] {"ライオン","ウマ","ポチ"};
var results = from animal in animals where LikeOperator.LikeString(animal, filter, Microsoft.VisualBasic.CompareMethod.Binary) select animal;
なかなか難しいなと思いました。
0289デフォルトの名無しさん
2014/05/01(木) 19:58:52.39ID:R3+I0L0F0290デフォルトの名無しさん
2014/05/01(木) 20:04:27.43ID:JPPdbDCn0291デフォルトの名無しさん
2014/05/02(金) 00:24:04.56ID:Z8O9F4B6結果ビューを見たら、ちゃんとウマだけヒットしていました
C#を始めて3日目の超初心者なので、
初歩的な間違いをしておりました
このデータを、どう配列に取り込もうか考え中ですが、
それくらいなら自力解決できると思います
ご教授ありがとうございました
0292デフォルトの名無しさん
2014/05/02(金) 00:35:51.86ID:Z8O9F4B6あいまい検索する時とか、凄く便利そうですが、
メジャーじゃないんでしょうか?
エクセルVBAの構文が見難かったので、
C#でやる方法を色々調べている時に、
便利そうだと思ったのですが、
情報がほとんど無かったので。。。
0293デフォルトの名無しさん
2014/05/02(金) 00:48:05.73ID:tBX44kWl0294デフォルトの名無しさん
2014/05/02(金) 02:41:15.92ID:5msgSlqj0295デフォルトの名無しさん
2014/05/02(金) 02:42:06.91ID:5msgSlqj0296デフォルトの名無しさん
2014/05/02(金) 10:52:35.09ID:ht5JWCls0297デフォルトの名無しさん
2014/05/02(金) 12:13:38.02ID:4eRBcMfbStartsWith()、EndsWith()、Contains() でいいべ
0298デフォルトの名無しさん
2014/05/02(金) 16:54:12.21ID:dSQl/o1w.NET Framework 4.5
数値と文字列の組を、数値の降順で表示したいのですが
↓より簡単な方法はないでしょうか
https://ideone.com/OmRl1j
数値の重複はあり、重複した数値のソート順は問いません
0299デフォルトの名無しさん
2014/05/02(金) 17:01:30.08ID:ntw0y3bI0300デフォルトの名無しさん
2014/05/02(金) 18:05:33.78ID:hJb5Y+9vforeach(var dm in DayMon)
{
Console.WriteLine("{0} {1}", dm.Item1,dm.Item2);
}
0301デフォルトの名無しさん
2014/05/02(金) 18:10:50.51ID:dSQl/o1whttps://ideone.com/wAaleA
↑ちょっとKeyValuePairが長いですが、これで行こうかと思います
>>300
ちょっと検討してみます
0302デフォルトの名無しさん
2014/05/02(金) 18:37:49.20ID:dSQl/o1wideoneではコンパイルできませんでしたが、VC#2013では結果が正しく表示されました
https://ideone.com/qen38H
OrderByは使えなかったのでSortで代用しています
タプルもKeyValuePairも似たような感じですが、若干ソースが見やすくなったかと
ありがとうございました
0303デフォルトの名無しさん
2014/05/02(金) 21:16:13.38ID:lNHwVscwprivate void Form1_Load(object sender, EventArgs e)
{
var lst = CreateList(new { Id = 0, Name = "" });
lst.Add(new { Id = 31, Name = "Jan" });
lst.Add(new { Id = 28, Name = "Feb" });
lst.Add(new { Id = 31, Name = "Mar" });
lst.Add(new { Id = 30, Name = "Apr" });
foreach (var item in lst.OrderBy(t => t.Id))
{
Console.WriteLine("{0}{1}", item.Id, item.Name);
}
}
private List<T> CreateList<T>(T val)
{
return new List<T>();
}
0304デフォルトの名無しさん
2014/05/02(金) 23:44:12.05ID:FeJk+PKMenum
0305デフォルトの名無しさん
2014/05/02(金) 23:59:39.01ID:0wxqsA8J0306デフォルトの名無しさん
2014/05/03(土) 00:03:57.75ID:KZJ62BJoコードが短ければいいってものじゃないと思うけど
>>300みたいなのってパッと見てわかりやすいとは思わないわ
あまりにも抽象的過ぎて
これもさ、例えばlistを別のクラス、プロジェクトで利用したいってなったとき
t.Item1の見た目でどんな意味の値が入っているかわからないじゃない?
一つのメソッド内でしか使わない使い捨てならいいけどさ
public class Month
{
public int Name{get;set;}
public int Days{get;set;}
}
foreach (var mon in months)
{
Console.WriteLine("日数:{0} 月:{1}", mon.Days, mon.Name);
}
コードは長くなるけど、このほうがわかりやすいでしょ?
0307デフォルトの名無しさん
2014/05/03(土) 00:17:35.06ID:KZJ62BJoこれもさ、例えば曜日などのメンバーを追加したり、メソッドを追加したくなったらどうすんのって話
全部書き換えなきゃいけなくなる
0308デフォルトの名無しさん
2014/05/03(土) 00:20:14.92ID:JUyABsGs0309デフォルトの名無しさん
2014/05/03(土) 00:29:10.18ID:KZJ62BJo年によって月の日数も変化するし、曜日もほしくなる
カレンダークラスというのがほしくなるかもしれない
容易に拡張すると予測されるようなものを、
その場しのぎで柔軟性のないコードで実現したとしても
わかりやすい、使いやすいにはならないと思う
0310デフォルトの名無しさん
2014/05/03(土) 00:44:39.43ID:axBvBMhe0311デフォルトの名無しさん
2014/05/03(土) 01:11:56.28ID:KHkxCjGP0312デフォルトの名無しさん
2014/05/03(土) 02:25:42.67ID:/0tPcitLToIcon名前空間ってのを見つけたんだけど、こいつのマニュアルがいくら探しても出てきません
どこかに載ってるページとかありませんか?
0313デフォルトの名無しさん
2014/05/03(土) 02:40:53.67ID:zB11sd0u0314デフォルトの名無しさん
2014/05/03(土) 02:55:54.29ID:/0tPcitL0315デフォルトの名無しさん
2014/05/03(土) 06:04:12.62ID:XhsVJdhh画像ファイルを読み込んでIconオブジェクト作成して
Icon.Saveで作れないこともないけど、単一サイズしか作れないし色数も変になるから
実質的には自分で書かないと
0316298
2014/05/03(土) 12:32:42.87ID:0tTnhsBIhttps://ideone.com/zEwVxf
整理した結果、汎用方式で行こうと思います
>>303
動かしてみて参考にさせていただきました
>>306
単純に表示する順序を入れ替えたいだけなので、一つのメソッド内でしか使わない使い捨てです
0317デフォルトの名無しさん
2014/05/03(土) 13:32:06.08ID:O1mw8o442度とくん中洲
0318デフォルトの名無しさん
2014/05/03(土) 14:12:12.94ID:7V85CoD7何もわかってないんだな
0319デフォルトの名無しさん
2014/05/03(土) 23:11:16.87ID:RQXoEmML何が悪いのか、超が付く初心者なので、とんと見当がつかず。。。
ご指摘のほど、よろしくお願いします。
var cmdList = new List<OleDbCommand>();
OleDbCommand command = new OleDbCommand();
var plam1 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer);
plam1.Value = "2535";
command.Parameters.Add(plam1);
cmdList.Add(command);
command = new OleDbCommand();
var plam2 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer);
plam2.Value = "2539";
command.Parameters.Add(plam2);
cmdList.Add(command);
using (var cn = new OleDbConnection())
{
cn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\test.accdb";
cn.Open();
OleDbTransaction transaction = cn.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
foreach (OleDbCommand cmdSet in cmdList)
{
cmdSet.Connection = cn;
cmdSet.CommandText = "DELETE FROM t_家計簿 WHERE [No] = ?";
cmdSet.ExecuteNonQuery();
}
transaction.Commit();
}
}
0320デフォルトの名無しさん
2014/05/04(日) 00:10:55.38ID:QUU6NeMv0321デフォルトの名無しさん
2014/05/04(日) 00:27:31.63ID:I+QWjdQ8別々に試して両方できてから合わせては?
0322デフォルトの名無しさん
2014/05/04(日) 00:52:37.14ID:WZQbe0KN調べてみたら、まさにその通りでした。
初心者らしい、初歩的なミスでお恥ずかしい。
ありがとうございました。
0323デフォルトの名無しさん
2014/05/04(日) 08:07:19.84ID:zFJPqZSxクラスについてご教授下さい。
http://smdn.jp/programming/netfx/fcl/System.IO.Compression.ZipArchive/
↑サイトなどを参考にさせて頂いて
ファイルやディレクトリの圧縮・展開等ができることは確認しました。
この時、例えば大きなファイルを圧縮するような場合
プログレスバーを表示させたりする事も考えられますが
圧縮や展開の進捗を得る方法というのはありますでしょうか?
フリーのライブラリなどでは可能なものもありますが
あくまで、このクラスを使用する前提の場合
どういった方法が考えられますでしょうか。
よろしくお願い致します。
0324デフォルトの名無しさん
2014/05/04(日) 08:16:33.82ID:izVfMrBs0325デフォルトの名無しさん
2014/05/04(日) 08:20:35.08ID:zFJPqZSxFileStreamクラスで似たような事をした事があったので
もしかしたら可能かとは思ったのですが
なにぶん初心者サンデープログラマなもので
うまい事できずにいました。
可能だというお墨付きを頂けたので
もうちょい頑張ってみます。助かりました。
0326デフォルトの名無しさん
2014/05/04(日) 09:24:10.11ID:zFJPqZSxで書き込む度に進捗を報告するようにできました。助言いただけたおかげです。
ありがとうございます。またよろしくお願いします。
0327デフォルトの名無しさん
2014/05/04(日) 10:48:12.54ID:IPFrsn/P0328デフォルトの名無しさん
2014/05/04(日) 10:58:36.66ID:y/VTbq9Y0329デフォルトの名無しさん
2014/05/04(日) 11:05:12.18ID:izVfMrBsというか付けてどうするんだ
0330デフォルトの名無しさん
2014/05/04(日) 13:23:29.95ID:MX2IhFCN0331デフォルトの名無しさん
2014/05/04(日) 13:48:25.06ID:8U+RhpvH0332デフォルトの名無しさん
2014/05/04(日) 16:04:29.40ID:c3Q0rGbO0333デフォルトの名無しさん
2014/05/04(日) 17:04:07.99ID:mi+P20vl0334デフォルトの名無しさん
2014/05/07(水) 11:01:32.36ID:xSUe5qhE0335デフォルトの名無しさん
2014/05/07(水) 11:25:59.65ID:6XNtQ4R5Excelはやたらとあるのに、Word関係の情報少ないよな・・・
同じ感覚で文章出力出来るかと思って安易に受けたら、ちょっとしたことでもえらく苦労した記憶が
0336デフォルトの名無しさん
2014/05/07(水) 22:51:07.44ID:unuMLq/Oオフィスなんか使うバカに情報発信はできないからドキュメントが少ないのは仕方が無いよ
0337デフォルトの名無しさん
2014/05/08(木) 02:36:28.02ID:CO6CxSEW0338デフォルトの名無しさん
2014/05/08(木) 04:15:33.16ID:prlxKI3Uここは難しいインターネッツですね
0339デフォルトの名無しさん
2014/05/08(木) 06:47:52.33ID:m/3Cotp7いつ頃出るんでしょうか?
0340デフォルトの名無しさん
2014/05/08(木) 06:54:20.47ID:0Ta/ZJrX0341デフォルトの名無しさん
2014/05/08(木) 07:08:15.84ID:m/3Cotp7それは確かですか?
c#Native出たら使いづらいc++やめてc#一本で
行きたいんですが。
0342デフォルトの名無しさん
2014/05/08(木) 07:59:05.22ID:FbSc8Swpまあ、文章の処理ならテキストでやるし、出力の一部変えたいだけなら差し込み印刷あるし、ちゃんとした組版やるには力不足で色々面倒だし...
昔、Word に入力されてる表を Excel に転記したいと言う依頼で一寸触ったきりだな ⇒ Word VBA
0343デフォルトの名無しさん
2014/05/08(木) 08:43:59.98ID:NviPB3leもう完全にネイティブだよ
0344デフォルトの名無しさん
2014/05/08(木) 19:51:14.67ID:XvpxJEVk> もう完全にネイティブだよ
何言ってんのか全然わからん
誰か訳してくれ
0345デフォルトの名無しさん
2014/05/08(木) 19:54:17.27ID:OiZYTZUAって言いたいんだろ。何言ってるのか全然分からんなw
0346デフォルトの名無しさん
2014/05/08(木) 20:35:36.17ID:7Gl9qGxi0347デフォルトの名無しさん
2014/05/08(木) 21:26:01.92ID:wftUG4Xiランタイムが必要ならネイティブじゃない
0348デフォルトの名無しさん
2014/05/08(木) 21:36:58.45ID:7Gl9qGxi0349デフォルトの名無しさん
2014/05/08(木) 21:58:55.52ID:wftUG4Xi0350デフォルトの名無しさん
2014/05/08(木) 22:08:47.73ID:OiZYTZUA0351デフォルトの名無しさん
2014/05/08(木) 22:23:42.93ID:01rpyJ3E0352デフォルトの名無しさん
2014/05/08(木) 22:44:22.12ID:dPnVK8av0353デフォルトの名無しさん
2014/05/08(木) 22:50:08.44ID:dmrdHCKV土人が居るぜ?きっとインド人だ
残念アメリカ大陸でした
じゃぁネイティブインディアンだね
インド人もびっくり
0354デフォルトの名無しさん
2014/05/08(木) 23:35:24.92ID:wftUG4Xi突き詰めれば全てネイティブな命令で動いてるからね
0355デフォルトの名無しさん
2014/05/08(木) 23:45:03.13ID:XvpxJEVkコーヒー吹いたw
0356デフォルトの名無しさん
2014/05/08(木) 23:54:04.43ID:unkGA5W+OSがサポートするってのとランタイムが必要ってのは排他的な概念なのか?
0357デフォルトの名無しさん
2014/05/09(金) 00:24:22.85ID:uV5nbiP8標準インストールの3.5はもはやOSの一部
システムDLLに依存するかGACのDLLに依存するかの違いでしかない
0358デフォルトの名無しさん
2014/05/09(金) 00:28:44.62ID:iw87ytFg> 標準インストールの3.5はもはやOSの一部
だから何で無理やり仮定するんだよ
MSの努力を無駄にするなw
.NET自体ネイティブじゃないのにランタイム云々言われても
http://blogs.msdn.com/b/hirosho/archive/2010/01/09/managed-native-net-framework.aspx
しかしネイティブな命令ってどんな命令なんだ?
気になって寝られない
0359デフォルトの名無しさん
2014/05/09(金) 00:46:12.13ID:buRKsp6U0360デフォルトの名無しさん
2014/05/09(金) 00:56:59.62ID:uV5nbiP8ngenサービス起動で実質ネイテイブってことでOK?
>>347
VCのってmsvcrtに依存してるやつ多くね?
あと2008 Redestribute入れろってよく怒られる
ネィテイブ信奉者には
CDとかUSBに書き込んで起動でOS介さずに
動くプログラムを作ってもらいたい。
USB売ってファミコンみたいなビジネスできないかな
0361デフォルトの名無しさん
2014/05/09(金) 01:21:56.66ID:JQaGUgSW0362デフォルトの名無しさん
2014/05/09(金) 06:09:37.34ID:O/hcGSXl0363デフォルトの名無しさん
2014/05/09(金) 06:43:01.93ID:4zx449WaVCでビルドしたもんはほとんどが非ネイティブw
0364デフォルトの名無しさん
2014/05/09(金) 07:17:50.07ID:cCUVEC+Aまず、CPUの速度向上で、ランタイムのオーパーヘッドが問題になることが、無くなった。
ガベージコレクションのように、ライブラリのリンクより、ランタイムで実行した方が効率のいいサービスが一般化している。
OSの低レベルなAPIはランタイムでラップしないと、セキュリティホールが発生しやすいし対応しにくい。
近年は、ブログラムやシステムの複雑化や肥大化が進んでいるから、実行効率より保守性や移植性を優先すべきになった。
つまり、デスクトップ環境においては、ネイティブなコードに拘る意味が無い時代になったんじゃないかな。少しさみしいけど。
0365デフォルトの名無しさん
2014/05/09(金) 07:33:46.00ID:4zx449Wa.NETのことも.NET nativeのことも、なんもわかってないなw
0366デフォルトの名無しさん
2014/05/09(金) 07:37:23.14ID:k6RX7FOdネイティブ=プラットフォーム依存
非ネイティブ=プラットフォーム非依存
で括られることが多いみたいだね
だからAndroidのJavaモドキはネイティブでUnityのC#は非ネイティブ
0367デフォルトの名無しさん
2014/05/09(金) 07:38:44.53ID:yGvDvFNw0368デフォルトの名無しさん
2014/05/09(金) 08:29:16.28ID:giBvEpb/けど、どうせ使うのはC#かと思って手が出せないな
0369デフォルトの名無しさん
2014/05/09(金) 12:04:13.73ID:HTr67Xym0370デフォルトの名無しさん
2014/05/09(金) 13:15:40.54ID:YiLzwXxL0371デフォルトの名無しさん
2014/05/09(金) 14:49:24.40ID:Mr0Sp7Ii0372デフォルトの名無しさん
2014/05/09(金) 19:43:03.89ID:k6RX7FOd0373デフォルトの名無しさん
2014/05/09(金) 19:56:12.53ID:NDcf6f8gdarvik(VM)上で動くコードをネイティブって言う人見たことないぞ。
>非ネイティブ=プラットフォーム非依存
こんなこと言う人はもっと見たことない。
0374デフォルトの名無しさん
2014/05/09(金) 20:18:57.37ID:v/oaYztB0375デフォルトの名無しさん
2014/05/09(金) 20:22:28.06ID:7rX/IBWU0376デフォルトの名無しさん
2014/05/09(金) 21:01:57.37ID:iw87ytFg主張自体の意味が分からん
0377デフォルトの名無しさん
2014/05/09(金) 21:05:29.92ID:E9SfM4pV最適化がカリカリに効いて超早くなるらしいね
0378デフォルトの名無しさん
2014/05/09(金) 21:19:32.89ID:4zx449Waanycpu向けにネイティブも含むって形のビルドだと不要にならないが
0379デフォルトの名無しさん
2014/05/09(金) 22:19:04.91ID:aGSQbVG9つまりWindows上でビルドされたアプリケーションはすべてネイティブなのだ!!!
0380デフォルトの名無しさん
2014/05/09(金) 23:03:28.43ID:WJR4c6c30381デフォルトの名無しさん
2014/05/09(金) 23:47:40.08ID:YiLzwXxL0382デフォルトの名無しさん
2014/05/10(土) 07:43:33.83ID:rYs4anx5ngenは起動時間短縮も含めてかなり高度なAOT最適化がかかるよ
経験があれば感覚的に分かってるもんだが、
ネイティブのコンパイルって時間かけたからってそんなに速くなるもんじゃない
コンパイル時間ってほとんどIOだしな
0383デフォルトの名無しさん
2014/05/10(土) 13:47:56.20ID:m/AO6ufTJITの利点として挙げられたのが「実行環境のCPUの命令セットに対応した最適化が可能になる」
だったのを知らない奴がいるねw
0384デフォルトの名無しさん
2014/05/10(土) 14:35:11.11ID:Om1HfajV0385デフォルトの名無しさん
2014/05/10(土) 17:29:27.79ID:libkbDSO0386デフォルトの名無しさん
2014/05/10(土) 23:34:14.22ID:JsdyMFBf学生で暇だったから11まではなんとか着いて行ったが
仕事で.NETに毒されてもう勉強する気にはなれんなぁ
0387デフォルトの名無しさん
2014/05/10(土) 23:44:30.25ID:+eAN56dxそのx86系向け以外の実装がなかなか出てきてくれないのがなー
Xamarinくらいだっけ?実用的なの
0388デフォルトの名無しさん
2014/05/10(土) 23:49:21.32ID:smOEHBq/0389デフォルトの名無しさん
2014/05/11(日) 01:27:29.19ID:U/KhMBzcいや元々は必ずしもそんな大風呂敷な話じゃないよ。
というのはx86って一口に言っても最大公約数的な部分以外の命令は共通じゃない。
0390デフォルトの名無しさん
2014/05/14(水) 00:47:16.22ID:K0yI8GQ1WebBrowserコントロールではなくIEを直接操作したいです。
以下コードを実行したところエラーが出てしまいました。
IEを直接操作する場合には、 getElementById("***"); の
コードを使う事は出来ないのでしょうか?
≪コード≫
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
mshtml.IHTMLElementCollection mshtml_ec;
mshtml_ec = ie.Document.getElementById("id_test"); ←ここでエラー
≪エラー ≫
型 'mshtml.HTMLDivElementClass' の COM オブジェクトを
インターフェイス型 'mshtml.IHTMLElementCollection' にキャストできません。
IID '{3050F21F-98B5-11CF-BB82-00AA00BDCE0B}' が指定されたインターフェイスの
COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、
この操作に失敗しました: インターフェイスがサポートされていません
(HRESULT からの例外:0x80004002 (E_NOINTERFACE))。
0391デフォルトの名無しさん
2014/05/14(水) 00:49:50.84ID:emzrQeCt0392デフォルトの名無しさん
2014/05/14(水) 01:05:18.64ID:4vw7qdQUint element;
int[] collection;
collection = element; ←エラー
collection[0] = element; ←エラーではない(初期化されてないのは気にするな
0393デフォルトの名無しさん
2014/05/14(水) 03:12:41.94ID:bi1kolXxmshtml.HTMLDivElementClass div = ie.Document.getElementById("id_test");
~~~~~~~~~~~~~~~~~~~~~~
このコードに置き換えたところ
Interop type 'mshtml.HTMLDivElementClass' cannot be embedded.
Use the applicable interface instead.
というエラーが出てしまいます。どうやら HTMLDivElementClass 自体が
認識されていない様ですが皆さんの環境では普通にビルド通るのでしょうか?
0394デフォルトの名無しさん
2014/05/14(水) 04:00:10.69ID:k2UyUu49id_testは<div>なのか?
getElementByIdが返してるもの良く確認してみろよ
0395デフォルトの名無しさん
2014/05/14(水) 08:38:22.58ID:ICklhj5Y0396デフォルトの名無しさん
2014/05/14(水) 12:08:24.76ID:lHqltGg+どのように書けば良いですか?
0397デフォルトの名無しさん
2014/05/14(水) 12:16:58.20ID:ICklhj5Y0398デフォルトの名無しさん
2014/05/14(水) 12:18:55.70ID:0F7NlhK7mshtml.HTMLDivElementClass div;
//Interop type 'mshtml.HTMLDivElementClass' cannot be embedded. Use the applicable interface instead
そもそもこの定義をするだけでエラーが出てしまいます。
0399デフォルトの名無しさん
2014/05/14(水) 12:41:44.92ID:lHqltGg+SomeClass1を継承したSomeClass2<T>があって、
Tから変換されたSomeClass2<T>をSomeClass1として返すoperatorが
ほしいです。
0400393
2014/05/14(水) 13:05:07.85ID:0F7NlhK70401デフォルトの名無しさん
2014/05/14(水) 13:10:20.17ID:4vw7qdQUhttp://social.msdn.microsoft.com/Forums/en-US/f938ac22-08cf-430e-b13f-c63b50f1943c/error2interop-type-mshtmlhtmldocumentclass-cannot-be-embedded-use-the-applicable-interface?forum=csharplanguage
0402393
2014/05/14(水) 15:53:27.07ID:0F7NlhK7結局、InternetExploreを直接操作する場合には
ie.Document.Getelementbyid();
使えないってことですか?
0403デフォルトの名無しさん
2014/05/14(水) 15:58:33.20ID:ICklhj5Y>>395
HTMLDivElementでもいいけど
0404デフォルトの名無しさん
2014/05/14(水) 16:00:14.37ID:4vw7qdQU0406デフォルトの名無しさん
2014/05/15(木) 08:23:27.55ID:yeWrapbBなんとなくクラスじゃなくてインターフェイスにしたら行けたような記憶はあるんだけど
具体的にはどういう仕組なんですか
0407デフォルトの名無しさん
2014/05/16(金) 01:13:32.52ID:i/xGMuQU以下コードを記述したのですがエラーになってしまいます。
この場合、どういう風に記述すれば良いのでしょうか?
【コード】
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
if (ie.Document.getElementById("WS2m") != System.DBNull) ← エラー
【エラー】
'System.DBNull' is a 'type', which is not valid in the given context
0408デフォルトの名無しさん
2014/05/16(金) 01:31:59.80ID:tdv/NjoT0409デフォルトの名無しさん
2014/05/16(金) 04:25:55.78ID:iWose0vD0410デフォルトの名無しさん
2014/05/16(金) 09:26:59.63ID:z9IT6DkQじゃないの?
0411デフォルトの名無しさん
2014/05/16(金) 09:32:42.61ID:WHbqzO3IDBNullと比較したいならDBNull.Valueだろ
なんでDBNullが出てきたか知らないけど。
キミが書いたコードは値と型を比較してるからコンパイルできないのね
0412デフォルトの名無しさん
2014/05/16(金) 11:11:03.95ID:qpQIOLBVMSが配布している「Windows Server 2003 Resource Kit Tools」というツールの中に含まれている「empty.exe」を実行するように組み込んだのですが、
2〜3時間起動させておくとメモリがとんでもないことになっています。
何か対策あれば教えてください。
0413デフォルトの名無しさん
2014/05/16(金) 13:33:39.95ID:VAV/YwcfあなたIEのオートメーションで質問してる人でしょ?
COMオブジェクトを適切にMarshal.ReleaseComObjectしてないとそうなると思うよ
0414デフォルトの名無しさん
2014/05/16(金) 13:44:57.44ID:wDpDXYS00415デフォルトの名無しさん
2014/05/16(金) 14:28:13.57ID:WW/l1jAvしかしこれをメモリ開放ツールと宣伝するのはいかがなものか
0416デフォルトの名無しさん
2014/05/16(金) 14:36:51.56ID:dX1r0FTlif (ie.Document.getElementById("hoge") != DBNull.Value) ・・・(X)
{
// ie.Document.getElementById("hoge") 指定IDの取得が出来た場合の処理
ブロック:A
}
else
{
// ie.Document.getElementById("hoge") 指定IDの取得が出来なかった場合の処理
ブロック:B
}
上記の様にコードを修正しました。
すると、指定したIDの取得が出来た場合には(X)の部分で次のエラー
メッセージが表示されます。
演算子 '!=' を 'mshtml.HTMLDivElementClass' と
'System.DBNull' 型のオペランドに適用することはできません
出来なかった場合には、エラーはDBNull.Valueで正常に判定され
ブロック:Bに入ります。
以上を踏まえどういうコードを書けばIDが取得出来た場合、出来なかった場合とを
きっちりと判定する事が出来ますでしょうか?
0417416
2014/05/16(金) 15:21:57.53ID:dX1r0FTl何とかお教えください。
0418デフォルトの名無しさん
2014/05/16(金) 15:27:29.07ID:VAV/Ywcfnullと比較しろって>>410が書いてるけどそれは確かめたの?
きちんと基本から勉強したほうがいいよ
IEとかじゃなくてC#の文法からさ
0419デフォルトの名無しさん
2014/05/16(金) 15:28:40.77ID:VAV/Ywcfvar element = ie.Document.getElementById("hoge");
if( element != null )
{
...
}
else
{
...
}
0420デフォルトの名無しさん
2014/05/16(金) 15:36:36.90ID:+9XdxNxU0421デフォルトの名無しさん
2014/05/16(金) 15:38:49.49ID:3SEf4bpgスクレイピングとかでぐぐれば
0422デフォルトの名無しさん
2014/05/16(金) 17:56:19.30ID:ymohds+zありがとうございます。>>419で解決しました!
因みにですが、
var element C#なのに型の宣言をせずに変数を定義する事が出来るのですね。
>>421
スクレイピングでぐぐってヒットするブログですが作者の
オナニーコードだらけで参考になるページがありませんでした。
0423デフォルトの名無しさん
2014/05/16(金) 18:08:22.53ID:MfiAbdMM0424デフォルトの名無しさん
2014/05/16(金) 18:19:25.77ID:ymohds+zよくわからないけど、型定義いらんの?
0425デフォルトの名無しさん
2014/05/16(金) 18:23:57.81ID:gv27ESQ0型定義が要らないんじゃなくて、型を指定しなくてよい
コンパイラ様が型を推測して決定してくれる
0426デフォルトの名無しさん
2014/05/16(金) 18:54:07.73ID:oTvEFO9A>コンパイラ様が型を推測して決定してくれる
凄く心配です。大丈夫なんですかね。コードの記述方法として
0427デフォルトの名無しさん
2014/05/16(金) 19:03:06.75ID:5Dsd57Kf0428デフォルトの名無しさん
2014/05/16(金) 19:48:26.77ID:EwsF+ox0DBNullとNullの違いも分からないレベルなら
全く心配する必要ないから安心してください
0429デフォルトの名無しさん
2014/05/16(金) 19:55:42.13ID:XsRxTYeM0430デフォルトの名無しさん
2014/05/16(金) 20:54:47.74ID:T9bJjjvZC#です。
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = ((Button)sender).Text;
ボタンをクリックすると、そこに入力されている文字が
『textBox1』に表示される文だと思うのですが、
((Button)sender).Text;
ここの部分はなぜこのようになるのでしょうか?
(Button)sender => これはsenderをButton型にキャストしている?
((Button)sender).Text; => なぜ().Text このTextの前の括弧も必要なのですか?
長文すいません<m(__)m>
0431デフォルトの名無しさん
2014/05/16(金) 20:56:46.78ID:VAV/Ywcfdynamicだらけになると教育上よろしくないとは思う
0432デフォルトの名無しさん
2014/05/16(金) 21:01:50.46ID:VAV/Ywcf>(Button)sender => これはsenderをButton型にキャストしている?
はい。
>((Button)sender).Text; => なぜ().Text このTextの前の括弧も必要なのですか?
メンバーアクセス演算子(.)のほうが演算子の優先順位が上なので
(Button)sender.Text
と書くと
(Button)(sender.Text)
の意味になっちゃうからね。sender(object型)にはTextなんてメンバーはないからこの場合コンパイルエラー。
0433デフォルトの名無しさん
2014/05/16(金) 21:09:28.95ID:5Dsd57Kf(sender as Button).Text
ってas演算子を使ってしまう
0434430
2014/05/16(金) 21:11:50.84ID:T9bJjjvZ早速の回答ありがとうございます!
なるほど、そういう事だったんですね!
ここがなぜそうなるのかずっと分らなくて困ってましたw
ありがとうございました<m(__)m>
0435デフォルトの名無しさん
2014/05/16(金) 23:33:00.07ID:H9byKZWoAssemblyInfo以外に端末固有で埋め込まれる情報ってないんだっけ?
0436デフォルトの名無しさん
2014/05/17(土) 14:00:31.48ID:QUUNT5cx回答するだけの知識が無いのですね。
正直にそうおっしゃっていただければ良いものを。
0437デフォルトの名無しさん
2014/05/17(土) 15:51:04.81ID:bGHl19aaそういうパターンもあるが流石にコレは違うだろ
DBNull知っててもなんの自慢にもならんしな
0438デフォルトの名無しさん
2014/05/17(土) 19:55:39.06ID:Sq+cRhDGC#でTreeViewとTextBoxを使ったアウトラインプロセッサを作ろうと思っています。
以下の様な設計になると思うのです。
//ノードの内容を保持するクラス
public class myClass
{
public string Title { get; set; } //ノードのタイトル
public string Contents { get; set; } //ノードの内容
}
1 myClassのインスタンスをTreeNode.Tagに代入する。
2 TextBoxを使ってmyClass.Titleが変更されたらTreeViewに表示されている該当ノードのテキストを更新する。
この場合、((myClass)TreeView.SelectedNode.Tag).Titleが変更されるたびに
TreeView.SelectedNode.Text = ((myClass)SelectedNode.Tag).Title;
とする必要がありますよね。
TreeView内ノードのTagのプロパティが変更された通知をTreeViewで受け取ってイベントを起こす、というのは、どういう実装になるのでしょう。
TreeViewかTreeNodeをオーバーライドする必要があるのか?
それぞれを継承したコントロールを作るべきなのか?
あるいは設計が間違っているのか?
ご意見をうかがいたいです。どうぞよろしくお願いします。
0439デフォルトの名無しさん
2014/05/17(土) 20:09:47.62ID:uBMVVO4Lちなみに質問なんだけど
ノードは子ノードを持たないのかな?
0440デフォルトの名無しさん
2014/05/17(土) 20:12:07.75ID:LIsFRLLHpublic event EventHandler TitleChanged;
private string _Title;
public string Title{
get{return _Title;}
set{
if(value!=_Title){
_Title=value;
if(TitleChanged!=null) TitleChanged(this,EventArgs.Empty);
}
}
}
が基本
イベントはINotifyPropertyChangedを使うのが普通だけど
0441デフォルトの名無しさん
2014/05/17(土) 20:29:37.40ID:Sq+cRhDGええっ、持ちます。何か問題があるんですか……?
>>440
どうもありがとうございます。やってみます。
0442デフォルトの名無しさん
2014/05/17(土) 23:10:58.28ID:wL9K2nHt0443デフォルトの名無しさん
2014/05/17(土) 23:17:41.09ID:iBaM0QV5それなら、回りくどい立証など必要ないはずだが、コンパイルだってリモートでできるから無意味だよなw
0444デフォルトの名無しさん
2014/05/17(土) 23:46:19.11ID:LIsFRLLH0445デフォルトの名無しさん
2014/05/17(土) 23:58:33.92ID:QUUNT5cx0446デフォルトの名無しさん
2014/05/18(日) 00:34:23.47ID:krGu/iNt署名してなきゃいくらでも弄れそうだが証拠になんのかな
0447デフォルトの名無しさん
2014/05/18(日) 08:27:27.43ID:8NF5w4j9今のコンパイラが埋め込むGUIDは完全ランダム
0448デフォルトの名無しさん
2014/05/18(日) 08:47:28.12ID:4DaHWzr8作り方を教えてください。
qtイベント周りが馴染めない・・・
0449デフォルトの名無しさん
2014/05/18(日) 09:51:39.63ID:VTr3IL1L0450デフォルトの名無しさん
2014/05/18(日) 12:43:55.68ID:rnQSzLo4このPCでビルドしたらこのGUIDが埋め込まれる。だからこのGUIDと同じGUIDが埋め込まれてたらそのPCだ
って判断してたと思うんだけど、毎回GUIDが変わったりしてそれができなくなったのか?
0451デフォルトの名無しさん
2014/05/18(日) 16:43:38.42ID:0bx4PTQ00452デフォルトの名無しさん
2014/05/19(月) 00:27:02.82ID:/VRh8m5q0453デフォルトの名無しさん
2014/05/19(月) 00:41:36.09ID:vP4RlhBD比較対象のソフトもしくは開発環境と一致する可能性がどんだけあるんだって話だよ。バカなの?
0454デフォルトの名無しさん
2014/05/19(月) 05:33:09.82ID:nxdI4+Ig指定した値に変更出来るんじゃって話だぞ
一致するように変更して偽装出来るんじゃないかって話だろ、バカなの?
0455デフォルトの名無しさん
2014/05/19(月) 07:13:42.59ID:tIfFnZmg0456デフォルトの名無しさん
2014/05/19(月) 17:49:01.81ID:MpNqRu0Y以前片山の質問に答えたかもしれないから罪悪感あんだよね。
0457デフォルトの名無しさん
2014/05/19(月) 22:45:34.31ID:FLEQJh3IopenFileDialog1.ShowDialog()でファイルから画像を読み込む際、ダイアログ上で画像のサムネイルをダブルクリックして決定すると、
たまたまダイアログの背後に隠れていたpictureBox1のMouseUpイベントが反応してしまいました。
これを回避する方法はありますか?
0458デフォルトの名無しさん
2014/05/19(月) 23:39:10.23ID:ZuQxAEmV0459デフォルトの名無しさん
2014/05/20(火) 01:18:08.42ID:rgNkrX1X泥臭いし後から意図をくみ取りにくいな。
0460デフォルトの名無しさん
2014/05/20(火) 03:08:08.84ID:l8495QE8身分証明書付きで犯行予告送るようなもんじゃんw
0461デフォルトの名無しさん
2014/05/20(火) 03:14:41.97ID:f9YPeLav0462デフォルトの名無しさん
2014/05/20(火) 04:23:21.41ID:7+uR1JPv初めてやるようなもんは、C#の方が開発時間短くすむ
0463デフォルトの名無しさん
2014/05/20(火) 07:03:13.53ID:l/MaaGVr死ぬか?今
0464デフォルトの名無しさん
2014/05/20(火) 09:36:21.71ID:lETONsi7ゆうちゃん乙
0465デフォルトの名無しさん
2014/05/20(火) 13:00:25.93ID:fbMM1sIrDobuleClickイベントは2回目のMouseUpを受け取って初めて成立するもんだろ・・・
Windowsの設定を変えてシングルクリック操作に統一してしまえw
MS> バグだけど直せない
https://connect.microsoft.com/VisualStudio/feedback/details/692962/
0466デフォルトの名無しさん
2014/05/20(火) 13:30:12.03ID:7+uR1JPv0467デフォルトの名無しさん
2014/05/20(火) 18:03:25.74ID:lETONsi70468デフォルトの名無しさん
2014/05/20(火) 18:31:15.07ID:lvkbfHG0↓
最初のMouseDownでフラグを下げるようにして
フラグがたってるときのMosueUpは破棄
で解決やん
0469デフォルトの名無しさん
2014/05/20(火) 18:32:01.00ID:lvkbfHG00470デフォルトの名無しさん
2014/05/20(火) 20:18:32.63ID:BlDb7c/c>>459
0471デフォルトの名無しさん
2014/05/20(火) 20:45:52.40ID:lETONsi70472デフォルトの名無しさん
2014/05/20(火) 21:59:07.61ID:/BZAV6I+0473デフォルトの名無しさん
2014/05/20(火) 22:06:30.13ID:wdE7nCB8それを言うならasync
0474デフォルトの名無しさん
2014/05/20(火) 22:47:04.01ID:z0N+xEYiSystem.IO.File.Delete("C:\")
0475デフォルトの名無しさん
2014/05/20(火) 23:09:16.22ID:eq9LTubxハッカーとして警察に捕まるレベルになったでしょうか?
0476デフォルトの名無しさん
2014/05/20(火) 23:15:28.47ID:brd7BZh90477デフォルトの名無しさん
2014/05/20(火) 23:19:31.02ID:wdE7nCB8世の中のVBドカタは本気でそういうこと言い出しそう
0478デフォルトの名無しさん
2014/05/22(木) 03:08:29.96ID:QIcUg8Dq別にビルドが完了して実行モジュールにする際には
消した方が良いのでしょうか?
動作には関係が無いのでそのままデバッグコードを
残していても問題が無いのかなぁーと思いまして
0479デフォルトの名無しさん
2014/05/22(木) 03:12:23.80ID:6uPwquR00480デフォルトの名無しさん
2014/05/22(木) 09:37:59.45ID:T9dtrulV0481デフォルトの名無しさん
2014/05/22(木) 09:45:06.90ID:EDjucqfYリリースビルドならコンパイルされないから見づらくならない程度にのこしとけ
0482デフォルトの名無しさん
2014/05/22(木) 11:48:23.22ID:jxaWow30コメントと同じくきちんとメンテされなければ有害
0483デフォルトの名無しさん
2014/05/22(木) 11:56:22.32ID:J69IBQnE0484デフォルトの名無しさん
2014/05/22(木) 19:47:26.98ID:bw4eV9eT0485デフォルトの名無しさん
2014/05/22(木) 20:02:54.09ID:J69IBQnE出来ました、ありがとうございます
0486デフォルトの名無しさん
2014/05/22(木) 23:21:58.64ID:M0DqzqG/ジェネリック引数に数値を使うことはできないのかな?
0487デフォルトの名無しさん
2014/05/22(木) 23:26:24.56ID:ECkRJuZ0今時そんなことで速くはならんよ
0488デフォルトの名無しさん
2014/05/24(土) 20:47:48.22ID:Fzc1d2cw地道にMSBuildの仕様を調べてXML操作するしかないのでしょうか?
0489デフォルトの名無しさん
2014/05/24(土) 22:42:15.93ID:Wl2IpIUu.NETに入ってるMicrosoft.Build.〜のDLLと名前空間を使う
まあVSに生成されたXMLをベースにしてXML操作するほうが簡単だと思うけどね
0490デフォルトの名無しさん
2014/05/25(日) 15:59:32.50ID:607flr5tこのときフォーカスが移動していません
(タブ部分をスクロールした場合はフォーカスが移動するようですが)
これと同様に、任意のControlにあるフォーカスを移動することなく、
別のControlをホイールでスクロールする方法はありませんか?
スクロール対象は今のところ以下のクラス(を継承したクラス)ですが今後増えるかもしれません
(Rich)TextBox、WebBrowser、TreeView、DataGridView、
TabControlのタブ及び中身、ComboBox、NumericUpDown、
※ちなみにテキストエディタと専ブラを足して2で割ったようなものを作るのが目的で、
UIをできるだけJaneに近づけようとしてます
0491デフォルトの名無しさん
2014/05/25(日) 16:00:45.02ID:xRi2p+wu0492デフォルトの名無しさん
2014/05/25(日) 16:27:18.55ID:607flr5t質問する時は時間帯を考えたほうがいいことが分かりました
0493デフォルトの名無しさん
2014/05/25(日) 16:36:07.92ID:+O+pC0c3ホイールの移動量をフォームで取得して
コードで直接任意のコントロールのスクロールバーを移動させればいいよ
0494デフォルトの名無しさん
2014/05/25(日) 16:42:55.10ID:b4+7ngHB0495デフォルトの名無しさん
2014/05/25(日) 17:01:02.36ID:4JTDEA8bやったことないのでただの言いっぱなしだけど、SPY+で見る限りコントロールの親のフォームは
入力フォーカスがあるコントロールより先にWM_MOUSEWHEELを受け取るようだから、
WndProcでこれを横取りしてマウスポインタの下のコントロールに投げてやればいいんじゃないの?
もちろんこの場合、少なくとも単純な実装では、逆に別のコントロールで入力フォーカスがあるときでも
ホイールのイベントを受け取れなくなってもしまうと思うが。
0496デフォルトの名無しさん
2014/05/25(日) 17:13:57.25ID:607flr5t以下の方法で軽く試したら期待通りの動きをしてくれそうです
ありがとうございました
フォームのMouseWheelイベントに次のイベントハンドラを設定
private void Form_MouseWheel(object sender,MouseEventArgs e){
if( targetControl.ClientRectangle.Contains(targetControl.PointToClient(Cursor.Position)) ) {
// targetControlのスクロール処理
}
}
また、他のすべてのフォーカスを取りうるControlには次を設定
private void Control_MouseWheel(object sender,MouseEventArgs e) {
Form_MouseWheel(sender,e);
}
>>494-495
回答ありがとうございます
上記の方法では「すべてのControlに〜」の作業が面倒なので、その方法も調べてみます
0497デフォルトの名無しさん
2014/05/25(日) 17:20:34.56ID:xRi2p+wu0498デフォルトの名無しさん
2014/05/25(日) 17:26:09.59ID:JNcJNPEt0499デフォルトの名無しさん
2014/05/25(日) 22:34:20.28ID:ZAxnvFu2GUIは可能な限りシンプルで余計なことをしないものが良いよ
0500デフォルトの名無しさん
2014/05/25(日) 22:39:40.33ID:WRqaympE客がクソ細かいことに拘ってSEが無駄に複雑な要件を作り上げることで成り立つ業界だ
0501デフォルトの名無しさん
2014/05/25(日) 23:20:54.59ID:RbuUC3oOそれ以前に、>>490のいうような要件は今時のUIとしてはそんなに変則的なものじゃないように思う。
0502デフォルトの名無しさん
2014/05/25(日) 23:31:33.60ID:A1ke70fM俺の知らない物は全て「普通」ではないのだ
分かるかいこの意味
0503デフォルトの名無しさん
2014/05/26(月) 00:29:29.79ID:JU7KLL2g0504490
2014/05/26(月) 00:51:42.84ID:jkQwR0J8ttp://someprog.blog.fc2.com/blog-entry-8.html
おかげで目的を達成できました
遅くなりましたが回答していただいた方、改めてありがとうございました
0505デフォルトの名無しさん
2014/05/26(月) 05:01:54.51ID:Rz2xugPOワンボタンマウスのMacでも使ってろ。
0506デフォルトの名無しさん
2014/05/26(月) 09:39:10.38ID:C5RAjArjie.Quit(); を実行してもブラウザが閉じない場合があります。
その際には、Internet Explorerのプロセスも生きたままです。
一体何が原因なのでしょうか?
どうしても原因を突き止めることが出来ません。
0507デフォルトの名無しさん
2014/05/26(月) 09:41:12.71ID:QBzBPwJ70508506
2014/05/26(月) 09:51:23.52ID:C5RAjArj解決につながる回答を得られなかったのでここでも質問させてもらってます。
0509デフォルトの名無しさん
2014/05/26(月) 09:52:38.71ID:C5RAjArj396 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/18(日) 04:22:37.98 ID:gCeF58LB
アウトオブプロセスのCOMサーバプロセスのサーバの寿命が気になるなら
・途中で手に入ったCOMオブジェクトすべてにMarshal.ReleaseComObject
・COMオブジェクト入れてた変数は全部参照を切ってGC.Collect×2
のどっちかが必要
こちらですか?
見落としてました。すみません。
再度試してみます。
0510506
2014/05/26(月) 09:57:49.91ID:C5RAjArjie = null; の実行で参照も切れていると思っているのですが如何でしょうか?
ie.Quit();
ie = null;
GC.Collect() ;
GC.WaitForPendingFinalizers() ;
GC.Collect();
0511デフォルトの名無しさん
2014/05/26(月) 10:16:35.99ID:Rz2xugPO0512デフォルトの名無しさん
2014/05/26(月) 10:23:13.08ID:QBzBPwJ7とりあえずインスタンス作ってすぐQuitするところから始めてみれば
0513デフォルトの名無しさん
2014/05/26(月) 10:31:42.35ID:C5RAjArj黙れ片山
>>512
>とりあえずインスタンス作ってすぐQuitす
画面遷移したり、ボタンをクリックしたりと一連のブラウジングを行った後でQuitすると
閉じない場合があります。
0514デフォルトの名無しさん
2014/05/26(月) 10:32:53.03ID:dlApJPlM特定の条件で起こる現象なんだから、その特定の条件ってのが原因だろjk
まずその特定の条件ってのを説明しろよ
0515コード�@
2014/05/26(月) 11:03:16.41ID:C5RAjArjie.Quit(); をしているので本来は閉じないといけないのですが、、、
SHDocVw.InternetExplorer ie;
mshtml.IHTMLElementCollection mshtml_ec;
do
{
ie = new SHDocVw.InternetExplorer();
string url = "http://yahoo.co.jp";
ie.Navigate(url, null, null, null, null);
ie.Visible = true;
while (ie.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE || ie.Busy)
{
Application.DoEvents();
}
//検索ワードを入力
mshtml_ec = ie.Document.getElementsByTagName("input");
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
if (i_ele.getAttribute("id") != null)
{
string chk_id = i_ele.getAttribute("id");
if (chk_id == "srchtxt")
{
i_ele.setAttribute("value", "まんこ汁");
break;
}
}
}
0516コード�A
2014/05/26(月) 11:04:09.70ID:C5RAjArjforeach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
if (i_ele.getAttribute("value") != null)
{
string chk_value = i_ele.getAttribute("value");
if (chk_value == "検索")
{
i_ele.click();
while (ie.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE || ie.Busy)
{
Application.DoEvents();
}
break;
}
}
}
ie.Quit();
}while(true);
全くもって原因が不明です。他の方の環境でも再現できる筈です。
0517デフォルトの名無しさん
2014/05/26(月) 11:12:10.53ID:82lch4Bs0518515 516
2014/05/26(月) 11:15:12.13ID:C5RAjArjまじっすか、、、どうしようもないですか?
0519デフォルトの名無しさん
2014/05/26(月) 11:49:20.08ID:QBzBPwJ70520515 516
2014/05/26(月) 14:40:56.05ID:C5RAjArj>>515 >>516 のコードは
こーいうコードを書いて実行するとブラウザが次々と閉じずに
開き続けてしまう、という事を再現する為のコードです。
なので、ループ処理は気におして頂かなくとも結構です。
0521デフォルトの名無しさん
2014/05/26(月) 14:56:36.39ID:9Q4aKYkp0523デフォルトの名無しさん
2014/05/26(月) 17:40:40.25ID:va4aBdBWそもそもこのコードビルドできないんだけど...
ついでに苦言。
サービス精神なのかどうか知らないが"まんこ汁"とか止めてくれ。
2ch見てる奴が全員こういう幼稚なノリが好きとか思ってるのならそれ勘違いだと思うけど。
0524デフォルトの名無しさん
2014/05/26(月) 17:54:03.59ID:bnFeY7rL0525デフォルトの名無しさん
2014/05/26(月) 17:58:49.66ID:4133VdBN検索ワードはプログラムには関係ありません。
ビルド通りますよ。
このコードで100%ブラウザが閉じない不具合を再現出来ます。
誰かこの不具合の対処方法を教えてください。
IEのプロセス削除は最終手段として考えています。
0526デフォルトの名無しさん
2014/05/26(月) 17:59:37.67ID:4133VdBN0527デフォルトの名無しさん
2014/05/26(月) 18:12:48.06ID:QBzBPwJ7無限ループだからそりゃいつまでもiexplore.exeは落ちないよね、としか
0528デフォルトの名無しさん
2014/05/26(月) 18:32:59.37ID:pvygPOwnええと。あのコードを実行すると普通であればInternet Explorerは1つのみ
起動 > 閉じる を繰り返してプロセスは1つのみ
となる筈が永遠と増えて行くんです。
1つ起動していたブラウザが2・3・4・・・etc
これをしない様にしたいのです。
0529デフォルトの名無しさん
2014/05/26(月) 18:36:03.98ID:QBzBPwJ70530デフォルトの名無しさん
2014/05/26(月) 18:42:23.37ID:82lch4Bs0531デフォルトの名無しさん
2014/05/26(月) 19:17:22.27ID:dlApJPlM0532デフォルトの名無しさん
2014/05/26(月) 19:46:47.58ID:9Q4aKYkpまあいいっかIDであぼーんするわ
0533デフォルトの名無しさん
2014/05/26(月) 19:49:17.32ID:SINryHCe||のが高かったらif(a != b || c != d)がコンパイル通らん
0534デフォルトの名無しさん
2014/05/26(月) 20:22:20.31ID:dlApJPlM>>533
var a = true; var b = true; var c = true; var d = true;
if (a != (b || c) != d)
{
Console.WriteLine("TRUE");
}
else
{
Console.WriteLine("FALSE");
}
if (a != b || c != d)
{
Console.WriteLine("TRUE");
}
else
{
Console.WriteLine("FALSE");
}
コンパイルは通りそうだぞ
0535デフォルトの名無しさん
2014/05/26(月) 20:44:19.66ID:mCxtmcL/絶対嘘
100%再現するから
0536デフォルトの名無しさん
2014/05/26(月) 20:50:34.29ID:dlApJPlM非標準のコンポーネントの詳細も書いてないし
環境もバージョンも書かんと何言ってるんだか
0537デフォルトの名無しさん
2014/05/26(月) 20:53:07.43ID:mCxtmcL/ビルドが通らないとか参照の仕方もしらないの?
そこまで説明しないといけないのかなぁ。
0538デフォルトの名無しさん
2014/05/26(月) 21:15:50.73ID:82lch4BsIEのバージョン、セキュリティ設定、実際にDLされるHTML(yahooIDのログイン状態)、BHOインストール状況など
によって変わるのに、
どうして100%再現するって言い切れるんだよ。全環境()で試したのか?
0539デフォルトの名無しさん
2014/05/26(月) 21:50:44.66ID:SINryHCeそりゃboolなら通るだろ…
0540デフォルトの名無しさん
2014/05/26(月) 22:36:45.64ID:UuEHX9kM質問者の態度が気に入らないので教えないことにする
0541デフォルトの名無しさん
2014/05/26(月) 22:52:06.10ID:nOrYSY4c奇遇だな
0542デフォルトの名無しさん
2014/05/26(月) 22:53:59.00ID:4FQEHWVJふぅーん。口だけならだれだって言えるから。
0543デフォルトの名無しさん
2014/05/27(火) 07:24:30.04ID:r/M42T4V0544デフォルトの名無しさん
2014/05/27(火) 09:11:54.76ID:IeZvrdJj0545デフォルトの名無しさん
2014/05/27(火) 09:47:08.95ID:E81Kc0WHって思うよな。
後からきた経験者が答える機会も潰して損しかしてない質問者
0547デフォルトの名無しさん
2014/05/27(火) 12:47:16.15ID:0EhNzMtuそんな言われ方して回答を寄せてくれる人がいるんだろうか…
0548デフォルトの名無しさん
2014/05/27(火) 12:52:57.93ID:Oftvh7Y10549デフォルトの名無しさん
2014/05/27(火) 12:56:32.14ID:cxeUEEZL0550デフォルトの名無しさん
2014/05/27(火) 13:15:54.93ID:eBlMd5xN0551デフォルトの名無しさん
2014/05/27(火) 17:02:57.30ID:+tr3QBuS何か良い方法はありませんか?
0552デフォルトの名無しさん
2014/05/27(火) 21:51:09.60ID:mRwKuMKjガントチャートを作ってみたいと思ったのですが、
D&Dでタスク管理の横棒?を伸縮させるには、
どのような方法が考えられるでしょうか?
0553デフォルトの名無しさん
2014/05/27(火) 22:00:55.29ID:DD/vw00f0554デフォルトの名無しさん
2014/05/27(火) 22:06:37.31ID:E81Kc0WH一応Thumbとかあるけど
0555デフォルトの名無しさん
2014/05/27(火) 22:08:36.61ID:mRwKuMKj会社のパソコンがIE8なので、
HTML5は諦めてます。
0556デフォルトの名無しさん
2014/05/27(火) 22:11:25.64ID:E81Kc0WH0557デフォルトの名無しさん
2014/05/27(火) 22:20:29.92ID:6er5Tx/30558デフォルトの名無しさん
2014/05/27(火) 22:34:41.94ID:DD/vw00fAdornerでハンドル作るのが正攻法だけど、それはあくまでWPFの設計に則った方法ってだけで
低レベルな仕組みなのでやっぱり面倒だよ
WPFのフレームワークはあまり気にしないで使い方を限定してゴリゴリ自力実装しちゃうのが結局一番簡単
0559デフォルトの名無しさん
2014/05/27(火) 23:31:39.53ID:mRwKuMKjD&Dに対応したガントチャートも簡単に作れると思ったのですが、
やはり難易度は高いのですね。
せっかくなので、精進したいと思います。
0560デフォルトの名無しさん
2014/05/28(水) 01:00:29.59ID:8Whh6uVJ0561デフォルトの名無しさん
2014/05/28(水) 04:14:47.97ID:SHrGmvrs0562デフォルトの名無しさん
2014/05/28(水) 04:54:12.51ID:bnZ7463i0563デフォルトの名無しさん
2014/05/28(水) 15:02:28.64ID:lHhqz9Ih0564デフォルトの名無しさん
2014/05/28(水) 15:13:22.62ID:hTKClsRxググったらこういうのあるんだな
PDFをテキストファイルに変換する
http://d.hatena.ne.jp/veveve/20100111/1263208458
0565デフォルトの名無しさん
2014/05/28(水) 15:15:48.07ID:EmUl6u0+PDF作成と違って、非常に難易度が高い。俺は自力の画像認識以外で読んだことない
PDFの権限設定、PDFのレイアウト、PDFのバージョン、実際のPDFの複雑さなんかによって
どの方法で実現できてどの方法が効率いいのかが決まる
・自力でPDFファイルからてごりごり読む
・PDFを扱うライブラリから読み出す
・adobeのSDK使って読みだす
・変換できるソフトや開けるソフト、変換サービス使う
・adobe reader画面から直接コピペ
・OCRソフトなどを使って読む
・自力の画像認識で読む
0566デフォルトの名無しさん
2014/05/28(水) 18:12:42.05ID:zVPVrg22誰かが開発費払ってくれるならともかく
0567デフォルトの名無しさん
2014/05/28(水) 20:27:28.04ID:bRRFYvETどういうコードをかけば良いでしょうか?
例えば、
c:\hoge_1
c:\hoge_1\hage_1
c:\hoge_2
c:\hoge_2\hage2
と4つのエクスプローラーが起動しいてる場合に4つともプログラムで終了させたいです。
0568デフォルトの名無しさん
2014/05/28(水) 20:37:58.29ID:CRVEx+G9ウィンドウクラス名が"CabinetWClass"なウィンドウにWM_CLOSEを投げるとか
昔はExploreWClassなんてクラス名もあったようだが
別の方法: IShellWindows::FindWindowSWでSWC_EXPLORERなウィンドウを見つけて閉じまくる
0569デフォルトの名無しさん
2014/05/28(水) 20:44:40.52ID:bnZ7463i外からエクスプローラ閉じるとか悪意あるプログラムしか思いつかんわ。
0571デフォルトの名無しさん
2014/05/28(水) 22:08:52.10ID:bRRFYvETありがとうございます!やりたい事が出来ました!!
0572デフォルトの名無しさん
2014/05/28(水) 22:53:23.98ID:Z+ReeR99無料で作る方法はないですか?
0573デフォルトの名無しさん
2014/05/28(水) 23:01:25.73ID:llUj2n/xもしくはASP.NET MVCでWebベース
0574デフォルトの名無しさん
2014/05/28(水) 23:18:59.39ID:EmUl6u0+ほかのプラットフォームとソース共有したいのでなければ素直にjava使った方がいい
0575デフォルトの名無しさん
2014/05/28(水) 23:33:11.15ID:llUj2n/xせめてUnityみたいなライセンス体系にすれば間違いなくスタンダードになれるのにな
OSS文化から生まれた組織は今やすっかりプロプライエタリに傾倒して見る影もない
0576デフォルトの名無しさん
2014/05/28(水) 23:34:52.10ID:9p7tg2Sa0577デフォルトの名無しさん
2014/05/29(木) 00:46:01.42ID:REuu9koM0578デフォルトの名無しさん
2014/05/29(木) 06:27:28.72ID:ZtWTRp16ID:bRRFYvET
警察に通報しておこう。
0579デフォルトの名無しさん
2014/05/29(木) 09:18:55.61ID:iAYH6GXX0580デフォルトの名無しさん
2014/05/29(木) 10:49:48.16ID:BtOWecueそれは気づかなかったw
0581デフォルトの名無しさん
2014/05/29(木) 10:52:58.62ID:SN8diILy0582デフォルトの名無しさん
2014/05/29(木) 11:42:50.85ID:Mo2aVKPk0583デフォルトの名無しさん
2014/05/29(木) 11:58:44.38ID:BzM20fyM0584デフォルトの名無しさん
2014/05/29(木) 14:05:48.90ID:mvy8YiUU0585510
2014/05/29(木) 14:37:24.44ID:wSZPgil+ID:C5RAjArj
ID:bRRFYvET
警察に通報しておこう。
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
やましい事は、一つもねーから警察別に来ても良いからさっさとやれwwwwwwwwwwwww
お前が悪戯通報でぱくられるリスクの方が高いと思うぞwwwwwwwwwwwwwwwwwwwwwww
早くやれwwwwwwwwww
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
0586デフォルトの名無しさん
2014/05/29(木) 14:52:44.67ID:ZtWTRp16ID:bRRFYvET
こいつらマジヤバイと思う。安心してネットもできねーよ。
0587デフォルトの名無しさん
2014/05/29(木) 14:55:07.02ID:ZtWTRp16こいつサイコパスだよ。こいつには何も教えるなよ。
0588デフォルトの名無しさん
2014/05/29(木) 14:59:44.03ID:BtOWecue0589デフォルトの名無しさん
2014/05/29(木) 15:19:01.07ID:ZtWTRp16そこまで言うなら ID:BtOWecue が教えればいいのに何で教えてあげないの?
低スキルの低脳初心者だから?w
0590デフォルトの名無しさん
2014/05/29(木) 15:34:11.10ID:Mo2aVKPk>>587
>>587
>>587
0591デフォルトの名無しさん
2014/05/29(木) 16:12:39.02ID:BtOWecue>>568-571って言ってんじゃん。つまり終わってるんだよ。頭も悪いな
しかもウインドウを閉じる処理であってシェル殺すんじゃないんだよ。どんだけ初心者?
0592デフォルトの名無しさん
2014/05/29(木) 16:43:55.67ID:wSZPgil+0593デフォルトの名無しさん
2014/05/29(木) 16:44:50.80ID:sB+QOSLF_ 争 も _ /, -‐==ミ: : : : _,ィニ-‐……ー-: 、`ヽ、: : : : ヽ、 _ 争 _
_ え っ _ . .:´: : : : : : : ≠:7: : : : : : : : : : : : :ヽ、 ヽ| : i : : :, _ え _
_ : . と _ /.: : : : -‐: :7´: : /:,ハ : : : :ヽ : : : ゝ-- :\ | : :! : : : , _ : _
_ : _ /, -‐/.: : : : :i : : /ィ:爪: : :\ :\ : : :\: : :`ト : !: : : :′ _ : _
〃 /. : : : : : : |.:イ :ハ:| \: .、\: : xィ¬ト、: :| : : ! : : : : :,
/ \ /.: :/.: : : : /l : |/Гト、 / |_,ノ0:::ヽ : : :i : : : : :′ / \
/ | | \ | .:/.:/. : : :i: i : | |ノ0:::ト ::::::::::::: |: :∩::::::ト: : : !: : : : : : :, / | | \
∨i: |: : : : |: :ヽ| |::∩::| :::::::::::::::: !.::∪::::::| |: : :i : : : : : : ′ ,ィ /〉
|: |: : i : :', : | |::∪::| :::::::::::::::: !: : : : : :||: : i : : : : : : : :, / レ厶イ
ヽハ: : :、: :ヽ| l : : : |::::: , ::::└――┘ ! : : i : : : : : : : ′ / ⊂ニ、
い、: :\/  ̄ ̄ ', : : i : : : : : : : : , _, -‐' ⊂ニ,´
r 、 _ ヽ: :〈 <  ̄ フ |: : : ! : : : : : : : :′,.-‐T _,. -‐'´ ̄
くヾ; U| | : \ /| : : :i : : : : :_, -‐' | /
r―' ヽ、 | : : : \ イ: : :| : : :i_,. -‐ |/
`つ _  ̄ ̄Τ`ー―-- L: : : : : `: : . . . __ .:〔: : :|: : :r┬' |
0594デフォルトの名無しさん
2014/05/29(木) 17:07:47.60ID:0wOQzE5z0595デフォルトの名無しさん
2014/05/29(木) 22:32:28.17ID:fB/59IAE,-、< > さてと・・・
<ヽと 屑 ) お札を乾かすニダ・・・
`´ (__○_ノ
0596デフォルトの名無しさん
2014/05/30(金) 01:10:51.26ID:VMFeJkpe0597デフォルトの名無しさん
2014/05/30(金) 05:05:43.41ID:iU8Ve7Yvサイコパスは作られた概念‥
0598デフォルトの名無しさん
2014/05/30(金) 11:12:19.94ID:ccygLrmY0599デフォルトの名無しさん
2014/05/30(金) 16:47:31.26ID:5UP+ewz2という風にURLを指定してプロセススタートを実行すると
Cromeで開かれてしまいます。本来はInternet Explorerが起動する事を想定しているのですが
何が原因なのでしょうか?
0600デフォルトの名無しさん
2014/05/30(金) 16:49:52.79ID:wfWItD3D0601デフォルトの名無しさん
2014/05/30(金) 17:26:50.98ID:5UP+ewz2それがデフォルトのブラウザをIEに設定済みです。
IE > ツール > インターネットオプション > プログラム > 規定に設定する(D) を押下 > OK
0602デフォルトの名無しさん
2014/05/30(金) 17:34:54.60ID:33zRk0od0603デフォルトの名無しさん
2014/05/30(金) 17:40:00.83ID:+E8tZH7v0604デフォルトの名無しさん
2014/05/30(金) 18:43:31.85ID:ccygLrmYでURL入れてエンター押してみろよ
0605デフォルトの名無しさん
2014/05/30(金) 18:52:10.14ID:a6q98UW40606デフォルトの名無しさん
2014/05/30(金) 19:19:33.16ID:HCAkyCZp共通部分がかなり多いゆえその共通部分だけは別で開発したい
dllにするのがいい方法だとは思ったが、出来ればdllの数はこれ以上増やしたくないのと、それぞれのプロジェクトで同じコードが使われている事をなるべく知られたくない
逆コンパイルされやすい言語なのはわかっていますが、そこは今回は無視して、なんとか一つのexeに纏める方向でいきたいと思っています
いい方法はありませんか?
0607デフォルトの名無しさん
2014/05/30(金) 20:21:28.76ID:KBJU+Uyd0608デフォルトの名無しさん
2014/05/30(金) 20:43:58.47ID:ccygLrmY0609デフォルトの名無しさん
2014/05/30(金) 20:59:53.40ID:BLHBUUhB0610デフォルトの名無しさん
2014/05/30(金) 21:14:02.80ID:sHCeS5mr0611デフォルトの名無しさん
2014/05/30(金) 22:00:15.84ID:ccygLrmY0612デフォルトの名無しさん
2014/05/30(金) 22:53:00.75ID:oGbKTTxi0613デフォルトの名無しさん
2014/05/31(土) 08:20:53.23ID:hcRtMx6V0614デフォルトの名無しさん
2014/05/31(土) 08:31:32.83ID:gddrhR3Zあんなもん手動で1つずつ管理してたら無茶苦茶になるぞ
0615デフォルトの名無しさん
2014/05/31(土) 08:36:12.38ID:l4Ub8RqP0616デフォルトの名無しさん
2014/06/01(日) 07:35:28.64ID:krrR/Uu8気にする必要はないでしょ。
それとも契約上問題があるのか?
0617デフォルトの名無しさん
2014/06/01(日) 11:26:11.97ID:QkPUxmRU共通部分プロジェクト
A社向け部分プロジェクト
B社向け部分プロジェクト
で作っといて、共通+A、共通+Bで実行ファイルを1つにして難読化でも掛けとけば問題ないと思うけど。
0618デフォルトの名無しさん
2014/06/01(日) 11:48:37.36ID:ScNkgOZ/俺だったら共通部の開発テスト用プロジェクトと、
その共通部のプロジェクトからビルド前イベントか何かでソースをコピーしてきて使うA社B社用プロジェクト
の3プロジェクト構成にするかなー
0619デフォルトの名無しさん
2014/06/01(日) 11:48:47.78ID:q7lY0P5T0620デフォルトの名無しさん
2014/06/01(日) 12:42:57.66ID:N9uAtY7j0621デフォルトの名無しさん
2014/06/01(日) 12:54:52.03ID:iF6nhgL2それは知的所有権を侵害している条項という説もある
逆コンパイル/リバースエンジニアリング禁止条項は近々違法認定される運命にある
0622デフォルトの名無しさん
2014/06/01(日) 13:06:31.89ID:q7lY0P5T成立してから言ってくれ
0623デフォルトの名無しさん
2014/06/01(日) 13:19:54.97ID:9f7qCFve0624デフォルトの名無しさん
2014/06/01(日) 15:31:04.52ID:iF6nhgL2欧州ではすでに成立している.
SAS社 (あの有名な統計ソフトの販売元ね,最近 R 言語に負けつつあるあれ) vs World Programming 社の訴訟で EU 司法裁判所が 2012年5月2日に判断をくだしているよ.
0625デフォルトの名無しさん
2014/06/01(日) 15:34:34.93ID:q7lY0P5Tこ こ は 日 本 で す よ
0626デフォルトの名無しさん
2014/06/01(日) 15:38:38.86ID:ScNkgOZ/その訴訟は逆コンパイル/リバースエンジニアリングに直接は関係ない
間接的には関係あるが本質的にはまったくの別件
0627デフォルトの名無しさん
2014/06/01(日) 15:53:11.84ID:iF6nhgL2>間接的には関係あるが
>本質的にはまったくの別
いっていることが矛盾しまくりなんだが‥‥
まあ説明してくれよ
0628デフォルトの名無しさん
2014/06/01(日) 16:11:53.74ID:ScNkgOZ/解析した結果を使ってソフトを作ったことが侵害かどうかっていうのが争点であって、
解析する行為自体が侵害かどうかを争っていたわけじゃないってこと
http://www.quinnjapan.com/news/pickout/121101_01.html
0629デフォルトの名無しさん
2014/06/01(日) 16:50:48.26ID:BSkhQo2q契約でそれを禁じることが可能かどうかはそもそも全く別問題じゃないのかと。
リバースエンジニアリングの禁止に根拠法があろうがなかろうが、
契約で相手(ユーザーだったり発注側だったり)を縛ることは普通にできるでしょ。
出来なきゃ困るよ。
0630デフォルトの名無しさん
2014/06/01(日) 17:35:17.06ID:q7lY0P5T> 契約で相手(ユーザーだったり発注側だったり)を縛ることは普通にできるでしょ。
いや、その契約が有効かどうかの話。
契約すれば、なんでもできる訳じゃないよ。
例えば、大企業が中小企業からもの買う時に支払いを納入の3ヶ月後とする契約結んでも無効になる。
0631デフォルトの名無しさん
2014/06/01(日) 17:41:54.46ID:S+dqQ+3T違法であれば後で裁判になったときに負けるっしょ
今のところリバースエンジニアリングの禁止も禁止すること禁止もどっちも根拠法なんてないだろうけど
納期に間に合わなかったらPの生首を3つ届けること みたいな契約してみようか
0632デフォルトの名無しさん
2014/06/01(日) 17:54:19.43ID:BSkhQo2q違法な契約ができないのは当たり前。
それ以外の契約は自由。
これを契約自由の原則というんだよ。
0633デフォルトの名無しさん
2014/06/01(日) 18:05:35.75ID:S+dqQ+3T0634デフォルトの名無しさん
2014/06/01(日) 18:11:19.40ID:q7lY0P5T0635デフォルトの名無しさん
2014/06/01(日) 18:16:45.97ID:ScNkgOZ/これは言い換えると「違法な契約はできない」と受け取れるけど、そうじゃなくて違法と判断されたら契約に有効性や効力がなくなるってだけ
0636デフォルトの名無しさん
2014/06/01(日) 18:25:08.19ID:QkPUxmRU0637デフォルトの名無しさん
2014/06/01(日) 19:04:25.10ID:krrR/Uu8プログラムのノウハウを盗む訳じゃないからね
プログラムの朴李裁判とかで普通にやっていることだし、検査結果は正当な証拠として扱われているだろ
0638デフォルトの名無しさん
2014/06/01(日) 19:16:12.29ID:9f7qCFveおれも色々勉強させてもらうんで
0639デフォルトの名無しさん
2014/06/01(日) 22:34:24.95ID:PhfrXEQQ0640デフォルトの名無しさん
2014/06/01(日) 22:42:52.85ID:+qQOEbo6.NETなんてILSpyで丸見えなんだし
0641デフォルトの名無しさん
2014/06/01(日) 23:19:43.19ID:+l0bTBtz0642デフォルトの名無しさん
2014/06/01(日) 23:52:06.73ID:yI6mtpiy環境最適化ったって32/64とコア数くらいじゃないの?
0643デフォルトの名無しさん
2014/06/02(月) 00:37:16.40ID:s/t3maig別に誰も止めやしないと思うけど
0644デフォルトの名無しさん
2014/06/02(月) 00:50:37.45ID:mxZHC2yKさっさとしろw
0645デフォルトの名無しさん
2014/06/02(月) 01:01:47.05ID:s/t3maig0646デフォルトの名無しさん
2014/06/02(月) 06:17:02.56ID:CcFEgmj6なんの話題だったかも覚えてないけど (w
0647デフォルトの名無しさん
2014/06/02(月) 07:25:20.19ID:QdddxbiG含めることはできません。
と出るのですが、適当にダミーのパラメータ int i とか引数に
指定したコンストラクタ作ればエラー回避できるのですが、
そういう方法しかないでしょうか?
0648デフォルトの名無しさん
2014/06/02(月) 07:29:28.70ID:1ePnwiTf0649デフォルトの名無しさん
2014/06/02(月) 11:29:52.56ID:/hVdfyU30650デフォルトの名無しさん
2014/06/02(月) 11:59:49.96ID:j7CDofP7何がしたいの?
0651デフォルトの名無しさん
2014/06/02(月) 12:05:18.82ID:QdddxbiG構造体がnewで作成された時に、その中のList<string>型のメンバ変数
もついでにnewで作成しておきたいだけです。
0652デフォルトの名無しさん
2014/06/02(月) 12:11:17.24ID:rrE1ANJW0653デフォルトの名無しさん
2014/06/02(月) 12:16:37.06ID:j7CDofP7なるほど。
じゃあ>>648の言うとおりするか、そもそも本当にstructである必要があるか
再考するかかね。
List<T>をフィールドに持つなんてクラスにした方がいいような気がするけど。
0654デフォルトの名無しさん
2014/06/02(月) 12:39:07.36ID:tefrIQhm0655デフォルトの名無しさん
2014/06/02(月) 15:05:11.92ID:qcZBA5tM0656デフォルトの名無しさん
2014/06/02(月) 15:34:56.56ID:BrwHy2990657デフォルトの名無しさん
2014/06/02(月) 15:44:02.66ID:kyFbnmGqP/Invokeに渡す構造体のポインタもクラスで実は表現できるし
0658デフォルトの名無しさん
2014/06/02(月) 16:04:19.94ID:EnrTfjKI0659デフォルトの名無しさん
2014/06/02(月) 16:36:21.09ID:iDAGOv33AAA-ZZZまでの文字列をアルファベットで組み合わせて作ったとします
AAAの次はAAB、AABの次はAACといったように順にアルファベットを繰り上げたい場合、
数字の++;のように簡単に記載する方法はありませんか?
事前に配列等に組み込んでおいて切り変えるか、細かいメソッドを自作するしかないでしょうか
0660デフォルトの名無しさん
2014/06/02(月) 16:49:11.86ID:7mewxn2c0661デフォルトの名無しさん
2014/06/02(月) 16:50:43.99ID:4e64FceIなぜ?
>>658
> 構造体が構造体であるために払ってる代償
?
0662デフォルトの名無しさん
2014/06/02(月) 16:54:12.72ID:iDAGOv3326進数のクラスを作るとはどういう意味でしょう
とりあえず今、26進数の数字を変換しようかなと思ってメソッドを作り始めてはいました
0663デフォルトの名無しさん
2014/06/02(月) 18:42:48.72ID:kyFbnmGq{
private int id;
private const int max = 26 * 26 * 26;
public void Increment()
{
id++;
if( id > max )
{
throw new OverflowException();
}
}
public string ToString()
{
var c1 = id % 26 ;
var c2 = ( ( id - c1 ) / 26 ) % 26;
var c3 = ( ( id - c1 - ( c2 * 26 ) ) / 26 / 26 ) % 26;
return ( (char)( c3 + 'A' ) ).ToString() + ( (char)( c2 + 'A' ) ).ToString() + ( (char)( c1 + 'A' ) ).ToString();
}
}
0664デフォルトの名無しさん
2014/06/02(月) 18:49:48.40ID:iDAGOv33ありがとうございます
参考にさせていただきます
0665デフォルトの名無しさん
2014/06/02(月) 18:58:02.29ID:IG8hmN6a>インデックス付きメンバーと要素の初期化子
なかなかどうでもいい
>自動プロパティと初期化子
便利っちゃあ便利だが、10年遅い
>プライマリ コンストラクター
?
>静的 Using ステートメント
ああJavaのやつね
>宣言式
ほぼ使いそうにない
>例外処理の強化
これは助かる
>数値リテラル形式の追加
え、これだけ?
0666デフォルトの名無しさん
2014/06/02(月) 19:07:22.86ID:KrssmG2N0667デフォルトの名無しさん
2014/06/02(月) 19:15:13.27ID:HhhwPDoe0668デフォルトの名無しさん
2014/06/02(月) 20:10:02.72ID:kyFbnmGqってこと?
少々のタイプ数削減のために最凶にキモい構文を導入するのか
しかもフィールド初期化子としても使える?
0669デフォルトの名無しさん
2014/06/02(月) 20:14:25.96ID:kyFbnmGq0670デフォルトの名無しさん
2014/06/02(月) 20:40:19.00ID:6RTa3BvDあっちでやれ
0671デフォルトの名無しさん
2014/06/02(月) 21:18:51.42ID:HodAIEbv0672デフォルトの名無しさん
2014/06/02(月) 21:39:21.44ID:1ePnwiTf0673デフォルトの名無しさん
2014/06/03(火) 00:10:48.52ID:kn0pj0UJ0674デフォルトの名無しさん
2014/06/03(火) 01:34:57.80ID:HZMoQlBXpublic void DictionaryIndexWithDotDollar()
{
Dictionary<string, string> builtInDataTypes =
new Dictionary<string, string> {
$Byte = "0 to 255", // Using indexed members in element initializers
// ...
$Boolean = "True or false.",
$Object = "An Object.",
$String = "A string of Unicode characters.",
$Decimal = "±1.0 × 10e?28 to ±7.9 × 10e28"
};
Assert.AreEqual("True or false.", builtInDataTypes.$Boolean);
}
やべえダサい
0675デフォルトの名無しさん
2014/06/03(火) 02:05:50.60ID:HZMoQlBX待ち望んでいたよ
0676デフォルトの名無しさん
2014/06/03(火) 11:02:22.84ID:1KdjHZaT0677デフォルトの名無しさん
2014/06/03(火) 14:15:37.67ID:D/9V5d8oPHPに見える
0678デフォルトの名無しさん
2014/06/03(火) 16:27:21.25ID:MpjkSQ5xpublic Person(string str)
{
//strに対してある処理をする
this(str,0);
}
こういう感じにしたいけどできない
0679デフォルトの名無しさん
2014/06/03(火) 16:31:36.18ID:1KdjHZaT0680デフォルトの名無しさん
2014/06/03(火) 22:48:23.69ID:UlLiQv6sListBoxの選択したItemのコンテンツを取りたくて
下記のようなコードを書きました。
・WPF
<ListBox x:Name="listbox1" HorizontalAlignment="Left" Height="100" Width="100">
<ListBoxItem>test</ListBoxItem>
</ListBox>
・C#コード
string listStr = listbox1.SelectedItem.ToString().Replace("System.Windows.Controls.ListBoxItem: ", "");
一応、コンテンツは取れるのですが、
Replace("System.Windows.Controls.ListBoxItem: ", "")の書き方が、
苦しいです。
普通は、どのように書くのでしょうか?
0681デフォルトの名無しさん
2014/06/03(火) 22:54:04.81ID:YA7KJA+Jとかなかったっけ?
0682デフォルトの名無しさん
2014/06/03(火) 23:02:08.84ID:6eq/rVAovar content = (string)item.Content;
0683デフォルトの名無しさん
2014/06/03(火) 23:03:55.38ID:kHnJtq7Gびっくりするかもしれないが、WPFではそういうことはしないのが基本
ItemsSourceとSelectedItemをバインドする
扱うのは(たとえば名簿画面なら)あくまで名簿クラスや社員クラスのインスタンスであって、
リストの中のコントロールはWPFが勝手に作るもので直接触らない
0684デフォルトの名無しさん
2014/06/03(火) 23:04:22.53ID:bLzh8t6O0685デフォルトの名無しさん
2014/06/03(火) 23:20:59.75ID:UlLiQv6sValueは出てきませんでした
>>682
非常に綺麗に値を取れました。
ありがとうございます。
>>683
バインディングというやつですね。
どのようなものか、良く理解出来ていないので、
色々調べてみようと思います。
>>684
なんでvarを使うと嫌われるのですか?
短くて良い気がするのですが?
0686デフォルトの名無しさん
2014/06/03(火) 23:29:24.43ID:Y/MlbrO/0687デフォルトの名無しさん
2014/06/04(水) 00:58:09.14ID:KWyGL2f/最近は明示的にわかるやつ以外は使わないようにしてるが
0688デフォルトの名無しさん
2014/06/04(水) 01:11:23.20ID:xpNlfCv7basic的に変数使えるから初心者スレ的には有りだと思う
0689デフォルトの名無しさん
2014/06/04(水) 01:57:46.92ID:qX172Hpq0690デフォルトの名無しさん
2014/06/04(水) 06:55:36.52ID:cv7ZTq9m0691デフォルトの名無しさん
2014/06/05(木) 00:10:50.35ID:+ehjLDFBアルファチャンネルのような透明度情報は今回必要なく、マスクを利用した透過処理だけで十分です
この場合に適当なメソッドはなんでしょうか?
検索した限りではwin32APIのBitblt関数くらいしか見つかりませんでした
Bitbltを使わない場合、結局はピクセルごとの合成処理を書くことになりますか?
0692デフォルトの名無しさん
2014/06/05(木) 00:19:42.13ID:vfq72CYR0693デフォルトの名無しさん
2014/06/05(木) 00:44:47.05ID:NIUtCBh4実現したい目的に「マスクを利用した透過処理」なんて大雑把なことしか
書いてないのは突っ込んじゃだめだろうか。
俺にはチグハグなようにしか思えないが...
0694デフォルトの名無しさん
2014/06/05(木) 00:56:08.78ID:+ehjLDFBという意味でした。不明瞭ですみません
0695デフォルトの名無しさん
2014/06/05(木) 07:48:41.30ID:Mp/yoNCjGDI+→ System.Drawings名前空間その他でお好きに
WPF → ( ゚皿゚)ガォーッ!!
0696デフォルトの名無しさん
2014/06/05(木) 07:58:34.87ID:/PoXdjmc0697デフォルトの名無しさん
2014/06/05(木) 13:51:25.85ID:/qL5ncUa自分でピクセルごとの演算やっとけば、後で色々と応用効くけども
0698デフォルトの名無しさん
2014/06/05(木) 15:53:54.68ID:W2Wu02NvMSの公式HPがなくなってるようですがもう公開終了してしまったのでしょうか?
まだどこかでダウンロードできるところはありますか?
(ExpressなのでNuGetは使えないです)
0699デフォルトの名無しさん
2014/06/05(木) 16:13:24.78ID:/PoXdjmcVS2008とか言われると手も足も出ませんが
0700デフォルトの名無しさん
2014/06/05(木) 16:48:19.02ID:Mp/yoNCjけっこういい加減なコードがあるな
書いてるヤツはプロだろうにちょっとそれ違うっしょみたいなところが多々
0701デフォルトの名無しさん
2014/06/05(木) 23:39:22.37ID:KqY/r4Jl0702デフォルトの名無しさん
2014/06/06(金) 00:31:05.98ID:9xE499Hy0703デフォルトの名無しさん
2014/06/06(金) 01:03:22.13ID:g0EXviKA0704デフォルトの名無しさん
2014/06/06(金) 01:26:15.12ID:cWRGpuDHどっちでもいいので教えて下さい
0705デフォルトの名無しさん
2014/06/06(金) 07:57:12.26ID:slyOrLRP0706デフォルトの名無しさん
2014/06/06(金) 09:29:57.20ID:UcUEUerQ0707デフォルトの名無しさん
2014/06/06(金) 09:33:03.55ID:j3uepfFp0708デフォルトの名無しさん
2014/06/06(金) 09:41:25.51ID:pSAew24Y0709デフォルトの名無しさん
2014/06/06(金) 09:45:18.93ID:0xBB7/ZV0710デフォルトの名無しさん
2014/06/06(金) 09:51:11.58ID:Yda6Fviz0711デフォルトの名無しさん
2014/06/06(金) 09:51:19.77ID:b2MTGrQW0712デフォルトの名無しさん
2014/06/06(金) 10:10:15.68ID:BvDrvDh30713デフォルトの名無しさん
2014/06/06(金) 10:59:48.39ID:LO0pC3+Wもう一度、ソートになるチャンスを・・・
0714デフォルトの名無しさん
2014/06/06(金) 11:25:25.34ID:QXIVHHdj検索してもみあたりません
0715デフォルトの名無しさん
2014/06/06(金) 12:13:55.06ID:fmQEBeoh0716デフォルトの名無しさん
2014/06/06(金) 14:04:31.78ID:nBXq1INX0717デフォルトの名無しさん
2014/06/06(金) 17:03:48.67ID:bkY7VEvb0718デフォルトの名無しさん
2014/06/06(金) 21:33:17.12ID:5aTUsUzW0719デフォルトの名無しさん
2014/06/06(金) 22:48:11.40ID:On/2IT9Oプログラム全体の流れ追えるのこれ。
てかみんなこれ普通に分かるの?
0720デフォルトの名無しさん
2014/06/07(土) 00:37:59.22ID:ajtBvrGWc++で言うところのplacement newをしたいのだが無理かな
0721デフォルトの名無しさん
2014/06/07(土) 00:38:46.94ID:I26RBxeW0722デフォルトの名無しさん
2014/06/07(土) 01:02:29.89ID:+qjp2fUrプールしたいだけならnewの代わりにstaticメソッドで勝手にやればいい
メモリの配置を制御するのは無理だし一般にGC任せのほうが効率いい
0723デフォルトの名無しさん
2014/06/07(土) 07:23:16.31ID:ylifU+oOnullや未定義的なことができたら、
最後のif(isValid)をif(null != type)みたいにしてisValidを無くしたいです。
型のある言語に慣れてないせいかもしれませんが、
変な書き方をしちゃってると思っています。
どう書くのがいいんでしょうか?
ちなみにUnity用のコードで、usingやクラス定義は省略してます。
0724デフォルトの名無しさん
2014/06/07(土) 07:33:24.69ID:lZcAOcULじゃあかんの?
0725デフォルトの名無しさん
2014/06/07(土) 07:38:18.64ID:lZcAOcULNullableならこんなの
PrimitiveType? type = null;
if (type.HasValue) {
GameObject.CreatePrimitive(type.Value);
}
でもisValidで良いと思うけど
初期値trueにしてdefault: isValid = false;にしておけば手間もない
0726デフォルトの名無しさん
2014/06/07(土) 07:50:41.30ID:ylifU+oOあざます。
.HasValueと.Valueってのがあるんですね。
初期値をnullにできました。
isValidの初期trueでdefalut:でfalseにするのも、確かにそのほうがいいですね。
今回は、switchの中で決まるはずのtypeに、警告つぶすために2行目で
PrimitiveType type = PrimitiveType.Sphere;
しちゃってたのが気になるので、
PrimitiveType? type = null;
にしてisValidは消そうと思います。
0727デフォルトの名無しさん
2014/06/07(土) 17:49:42.01ID:6s6s+6fm今回だと、defaultに入ったらなにもせずにreturnすればいい
あとは、文字列から列挙体にしたいならEnum.TryParseの使用を検討するとか
0728デフォルトの名無しさん
2014/06/07(土) 19:18:05.15ID:qwZo7tiLAdobe Readerが起動してしまいます。
Internet Explorerの中でPDFを開いて閲覧したいのですが
どうすればよいのでしょうか?
もしくは、こちらはC#というよりはPCの何か設定による問題なのでしょうか?
例)
http://get-lemon.com/funny-news.pdf
にC#でIEを開きアクセスします。
この時にAdobe Reader上で開くのではなくIE上で開くようにしたいです。
0729デフォルトの名無しさん
2014/06/07(土) 19:18:29.79ID:ylifU+oO2行目のPrimitiveType type = PrimitiveType.Sphere;はあまり気にしなくてもいいんですかね・・
まぁ確かに動きとしては問題ないんですけど。
C#のことぜんぜん分かってないんですが、そんなことをしなくてもってことは、
Nullableはあまり積極的に使わないほうがいい感じなんですか?
列挙体をググってみたんですが、valueが数値系に限定されたkey valueな何かという理解であってますか?
もしそうなら、PrimitiveType.Sphereなどの中身が数値なら、使えそうですね。
0730デフォルトの名無しさん
2014/06/07(土) 19:19:05.85ID:Wo+bMmIy0731デフォルトの名無しさん
2014/06/07(土) 20:27:54.34ID:Y4C/YAA7>>730 ← この垢に質問しなくてもよかった×2
0732デフォルトの名無しさん
2014/06/07(土) 20:30:59.81ID:I26RBxeWよく飛びましたとか言わないでしょ
0733デフォルトの名無しさん
2014/06/07(土) 20:34:24.04ID:97tIzKLA普通に.pdfをシェルに渡すとAdobe readerが開いちゃうから、IEのインスタンスを作って、file://〜を開くようにしたらダメかなぁ
…と全くテストすらしてないが言ってみた
0734デフォルトの名無しさん
2014/06/07(土) 20:36:32.92ID:XNTWDZc7>Nullableはあまり積極的に使わないほうがいい感じなんですか?
べつに使っても問題ないけど
もともとはデータベース関係で使うことを想定した機能だわな
個人的には使う場所がないので使わない。
列挙体を自分で定義してるならInvalidとかNoneとか無効を意味する値を0で追加するかな
ビルトインな列挙体なら>>723みたいなフラグで管理しても問題ないと思う
>列挙体をググってみたんですが、valueが数値系に限定されたkey valueな何かという理解であってますか?
いや数値そのものに名前がついただけ
コンパイラ的にタイプセーフにしてくれるだけというのに近い
キャストすれば常に元の数値に戻せるし、列挙型として無効な数値もキャストできちゃう
0735デフォルトの名無しさん
2014/06/07(土) 22:41:24.66ID:ylifU+oOあざます。
C#っぽいというか、C#ではこうするといった感覚もまだ持ててないので助かります。
列挙体は、まだいまいち飲み込めてない感じですが、実際に使って慣れないと分からなさそうな気がしています。
enum fooEnum{ foo = 5, bar = 10 };
Enum.Parse(typeof(fooEnum), "foo") // たぶんenum型? fooEnumもenum型?
(int)Enum.Parse(typeof(fooEnum), "foo") // 5
ただ、Enum.TryParse()は、Unityが乗っかってるmonoのバージョンが2.6.5で、どうやら使えないみたいです。
0736デフォルトの名無しさん
2014/06/07(土) 22:42:39.68ID:ylifU+oOもうひとつ質問させてください。
薄々、慣れているJavaScriptとか他の言語での考え方にとらわれてる気がしてますが、
C#でならこう書くというのが分かりません。
やりたいことは、fooメソッドの引数によって、作るオブジェクトの名前と、設定するTypeが変わるので、
それをハッシュテーブルに定義して置きたいというものです。
Dictionary<string, Dictionary<string, string>> のようにして多次元Dictionaryができる見たいですが、
2次元目はstringとintが混ざるので、匿名型にしてみたところでつまずいてます。
0737デフォルトの名無しさん
2014/06/07(土) 22:45:47.32ID:I26RBxeW0738デフォルトの名無しさん
2014/06/07(土) 22:51:41.42ID:vP0F1EA/0739デフォルトの名無しさん
2014/06/07(土) 23:20:04.95ID:ylifU+oO>>737
http://pastebin.com/bRKcDjjG
objectに入れるってこういう感じですか?
いわれてnew objectできる事を知ったんですが、
ググってみたところ、複数の値を持たせるにはobjectの配列になるみたいなので、やってみました。
が、fooメソッド内では配列として認識されてないっぽいエラーメッセージが出ました・・・
>>738
ちょっとした使い捨てのデータのつもりだったんですが、
クラス作るしかないんでしょうか?
C#では作っていくのが自然なんですか?
0740デフォルトの名無しさん
2014/06/07(土) 23:24:44.12ID:msQmokNs一つのDictionary内のvalueはすべて同じ意味のものにするべき。
名前しか入ってないDictionaryとか、年齢しか入ってないDictionaryとか、Personしか入ってないDictionaryとか。
なので>>738のようにNameとTypeを持ったクラスを作って、Dictionary<string, そのクラス>形式にする。
一応、Dictionary<string, Tuple<string, SomeType>>とする手もあるが、
そのDictionaryがどう考えても戻り値専用で一時的にしか使わないなどの状況でない限りお勧めしない。
0741デフォルトの名無しさん
2014/06/07(土) 23:25:03.01ID:6s6s+6fm基本はLinqとかでの一時生成物用の機能
>>738 のとおり、素直にクラスを定義すればよい
そもそもstringとintが混じるとか、string型の引数で分岐とか変な気もする
設計を見直すべきかも
0742デフォルトの名無しさん
2014/06/07(土) 23:36:52.45ID:6s6s+6fmJavaScriptのオブジェクトにいろいろぶっこんで返すというのは静的な言語ではやらない
それをやると、コンパイル時に型が決定できなくて、速度と安全性を失っちゃう
もっと詳しく目的がわかれば別解があるかもしれないけど、クラスを作った方がいい
あと、匿名クラスの一時的という範囲は同じメソッドの中の話で、それを外に漏らしちゃいけない
0743デフォルトの名無しさん
2014/06/07(土) 23:59:38.62ID:ylifU+oOあざます。
C#、というより静的な言語難しいですね。
JavaScriptなどのスクリプト言語しか経験がないので、C#の考え方を身に着けないと、
設計の見直しもままならなさそうですね。
これは、じっくり考えないといけなさそう。
一応、やりたいことは、>>723 とほぼ同じ何ですが、オブジェクト名とタイプの2つが必要になって、
今回の試行錯誤を始めました。
GameObject gObj = new GameObject(obj.Name);
gObj.type = obj.Type;
ざっくり書くと、
用意されたパターンの中から、ユーザー入力でパターンを指定してGameObjectを生成したいです。
0744デフォルトの名無しさん
2014/06/08(日) 18:06:18.81ID:AeT851+tググってもWebRequestの頃の記事しか出ないからそれを参考にしてProxyをnullにしてみたんだけど改善されない
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = null;
HttpClient hc = new HttpClient( handler );
HttpClientってWebRequestラップしてるだけだよね?
他の原因なのかな
0745デフォルトの名無しさん
2014/06/08(日) 18:20:17.31ID:9o67lThFそれ環境のせいだよ
他のPCでやってみたりしてみな
0746デフォルトの名無しさん
2014/06/08(日) 18:28:13.87ID:bhbNS/bWOS起動後の1回目が遅いの?
0747デフォルトの名無しさん
2014/06/08(日) 18:33:49.02ID:AeT851+t本当ですね、仮想環境のOSインストール直後のwin7では一瞬でした
ホスト側のwin7ではすっっごく時間掛かります…
プログラム側に不備がないのがわかったのはいいのですが、開発環境で初回のみ20秒30秒掛かってしまいイライラします
何が悪いんでしょう…
>>746
いえ、アプリケーション起動後の初回です
アプリケーションを起動しなおすとまた1回目は遅くなります
0748デフォルトの名無しさん
2014/06/08(日) 18:35:43.08ID:9o67lThFそれvmwareじゃない?
vmwareスレで聞けば解決するよ
0749デフォルトの名無しさん
2014/06/08(日) 18:37:31.10ID:AeT851+t環境のせいだと聞いて、vmware側でテストしてみると一瞬だったんです。
普通にパソコンを起動した時にbootされるホスト側のOSだと30秒近く掛かってしまいます
0750デフォルトの名無しさん
2014/06/08(日) 18:39:10.28ID:9o67lThFvmwareをアンインストールすると直るよ
vmwareインストールするとネットワークドライバとか入るでしょ?
あの辺が悪さするんだ。
0751デフォルトの名無しさん
2014/06/08(日) 18:46:56.60ID:9o67lThFhttp://anago.2ch.net/test/read.cgi/software/1379564990/398-
0752デフォルトの名無しさん
2014/06/08(日) 18:47:12.41ID:AeT851+tなるほど
VMwareをアンインストールするわけにはいかないのでVMwareすれで聞いてきますね
0753デフォルトの名無しさん
2014/06/08(日) 18:47:42.28ID:AeT851+tありがとうございます
見てみます
0754デフォルトの名無しさん
2014/06/08(日) 18:57:48.23ID:AeT851+tまだVMware側の一瞬に比べると遅いけど、3秒で結果が帰ってくるようになったので一先ずよしとします
0755デフォルトの名無しさん
2014/06/08(日) 19:31:37.96ID:srCrxwJ4おまえらには感謝しきれない
0756デフォルトの名無しさん
2014/06/08(日) 20:38:33.63ID:e+2yydW9爆弾の有無、クリック済みか、周りの爆弾を数える、みたいな感じの状態や関数を持ったクラスをつくり
そのインスタンスが各要素に登録された2次元配列をつくり、その状態が反映させられるフォームを探しています
どういったフォームを使えばいいですか?
それとも、インスタンスを2次元配列的に登録できるようなフォームがあれば教えてください。
0757デフォルトの名無しさん
2014/06/08(日) 20:41:07.82ID:Qfp6xw+G0758デフォルトの名無しさん
2014/06/08(日) 20:42:27.47ID:7AL9B6MX0759デフォルトの名無しさん
2014/06/08(日) 20:43:17.93ID:graFfHTBDataGridView魔改造ぐらいか
0760デフォルトの名無しさん
2014/06/08(日) 20:43:46.71ID:+g6Fv1Q40761デフォルトの名無しさん
2014/06/08(日) 21:00:26.41ID:e+2yydW9自分で描画は一度調べてみようと思うのですが、他に何かマインスイーパー作ってみようってなった時の
一般的な実装方法とかあるなら教えてもらえると嬉しいです
0762デフォルトの名無しさん
2014/06/08(日) 21:04:34.14ID:7AL9B6MXなぜみんな揃いも揃ってゲームを作ろうとするのか全く理解できない
0763デフォルトの名無しさん
2014/06/08(日) 21:06:08.07ID:NuPTB7vo普通に forms のチェックボックスのボタン化状態で、ボタンの描画に適当なビットマップを貼り付けるとかじゃダメなの?
0764デフォルトの名無しさん
2014/06/08(日) 21:08:13.42ID:+g6Fv1Q4演出こらなければ調べながらでも2時間もかからないだろう。
今日中に完成するということだ。
0765デフォルトの名無しさん
2014/06/08(日) 21:15:06.45ID:Qfp6xw+Gコントロール配列でできるけど、コントロールは本来そういう使い方をするもんじゃない
数が増えると重くなるし、メモリは食うし
WPFならいいのかもしれないけど、WinFormsでは自分で描画すべき
なお、クリックされた座標からどのマスをクリックしたのかの計算は簡単
0766デフォルトの名無しさん
2014/06/08(日) 21:20:03.40ID:tckyHTUl連載:.NETグリッド・コントロール大研究:第2回 DataGridViewコントロールでマインスイーパ
0767デフォルトの名無しさん
2014/06/08(日) 22:03:50.35ID:SjxXj1KSUI あって、ロジックがたいして難しくないから、練習にはちょうどいいんだろ。
つーか、他に適当な題材あるなら教えてやれよ。
0768デフォルトの名無しさん
2014/06/08(日) 22:10:09.05ID:graFfHTB新人にはいつもデータ処理+グラフ描画やらせてるわ
0769デフォルトの名無しさん
2014/06/08(日) 22:10:40.05ID:+g6Fv1Q40770デフォルトの名無しさん
2014/06/08(日) 22:57:42.19ID:81o4BWeL0771デフォルトの名無しさん
2014/06/09(月) 01:18:09.27ID:tLI7qWCB0772デフォルトの名無しさん
2014/06/09(月) 10:05:34.61ID:jIvVB3MoGDI+関係ねぇw
0773デフォルトの名無しさん
2014/06/09(月) 10:12:41.01ID:rLie7rN8今から教えても/学習しても無駄知識になりそうな気がして仕方ない
つーかx86/64に未来はあるの?
0774デフォルトの名無しさん
2014/06/09(月) 10:17:39.10ID:WQD38f8Z0775デフォルトの名無しさん
2014/06/09(月) 10:18:12.27ID:KtJl+Quiその状況はこれからもC#使う限りは10年以上続くと思うよ
だからwindowsプログラミングするならある程度知っていた方がいい
0776デフォルトの名無しさん
2014/06/09(月) 12:46:58.33ID:1ALghbTb3日もすれば忘れるので無駄知識にはならないよ。
0777デフォルトの名無しさん
2014/06/10(火) 01:21:56.67ID:8vGiYuGTソートとかも楽だしsqliteでデータを扱ったらいいのかと思って途中まで作ってふと思ったんだ
sqliteで作成したデータベースって普通に読めてしまうよな?
ゲームデータ覗く奴なんてそうおらんしどうせたいしたゲームでもないだろ気にするな、と言われたらその通りなんだが
一般的?なゲームデータ保存方法とデータベースの扱いってどうなってるんだろうかと
隠したいデータがあれば単純に難読化、暗号化とか?
フリーゲームや同人ゲーだと普通にそのままsqliteのデータベースファイルだったりする?
商業ゲームでも結局は解析されてしまってたりするが、データベースソフトは自前で作ってたり他の商用ソフトだったり?
0778デフォルトの名無しさん
2014/06/10(火) 01:35:55.21ID:8vGiYuGT隠したいというのは単純に見られたくない隠しデータというだけでなくて、
例えばアイテムのパラメータが書かれたファイルを普通に読まれたら、その書き換えも容易だよなと
海外だとMODとかが一般的だから逆に分かりやすく作ってあったりして?
0779デフォルトの名無しさん
2014/06/10(火) 01:47:26.05ID:bjbUofEp0780デフォルトの名無しさん
2014/06/10(火) 01:59:23.45ID:8vGiYuGT0781デフォルトの名無しさん
2014/06/10(火) 03:23:48.13ID:04iW/dqM0782デフォルトの名無しさん
2014/06/10(火) 06:10:47.27ID:DoT4XX200783デフォルトの名無しさん
2014/06/10(火) 06:52:49.61ID:M/GEUruD0784デフォルトの名無しさん
2014/06/10(火) 08:49:19.98ID:fSq5srf6利用者がアクセス・改竄しにくいようにするのが基本。
昔ならUSBドングル。
今だと、サーバとの通信で認証とか。
0785デフォルトの名無しさん
2014/06/10(火) 09:00:01.31ID:CNFWIsCCその系統はコピープロテクト向け
改竄向けに使えないことはないけど普通は使わない
0786デフォルトの名無しさん
2014/06/10(火) 09:19:21.09ID:oTSeTiPz0787デフォルトの名無しさん
2014/06/10(火) 09:37:03.69ID:P/u2hLquやっても適当なバイナリファイル作って自分で簡単な暗号化と圧縮で十分かと
0788デフォルトの名無しさん
2014/06/10(火) 09:51:15.06ID:8vGiYuGT絶対に改ざんされない方法を知りたいわけではなく、
ゲームのデータはどう扱われることが多いのか気になっただけなんだ
sqliteなら手軽だからよく使われているのか、それともまともな開発者ならsqliteなんて使わないよね、なんて状況なのか
遊びで作る程度のゲームでそんなこと気にする必要ないという突っ込みは置いといてくれ
>>784
業務用ソフトウェアならともかく、ゲームにUSBドングルなんて一般的ではなかったと思うんだが・・・
サーバ認証はsteamとかだとあるのか?
0789デフォルトの名無しさん
2014/06/10(火) 10:00:38.92ID:2sY7VkH20790デフォルトの名無しさん
2014/06/10(火) 10:16:26.77ID:EKnfAxMxhttp://dobon.net/vb/dotnet/string/protectedmemory.html
0791デフォルトの名無しさん
2014/06/10(火) 10:22:58.83ID:2sY7VkH20792デフォルトの名無しさん
2014/06/10(火) 10:46:48.01ID:CNFWIsCCsqlite使うよりもデータの使われ方に合わせた独自の管理形式にしたほうが速度的にも有利だと思うけど・・・
今のゲームは知らないが、昔のなら
FD、CDがドングル代わりになってるのもあった(コピー対策)
データ類は生、生+チェックサムや電子署名、独自ファイル、暗号化。暗号化はビットひっくり返すだけみたいな簡易的なのが多かった
ドングル類も強度の高い暗号も解析しようと思えば簡単にできる。ただそれを実装したり解析するのにかかる時間の違いがあるだけ
>>790
その系統はセーブデータの暗号化に使えるけど配布ファイルの暗号化には使えない
さらにプレイするPCと解析するPCが同じだったら手間が少し増える程度
0793デフォルトの名無しさん
2014/06/10(火) 11:44:44.92ID:Lfcv+1fq0794デフォルトの名無しさん
2014/06/10(火) 12:23:32.33ID:IQXrTSSvおれつえーはすぐ飽きるしなw
0795デフォルトの名無しさん
2014/06/10(火) 14:47:52.53ID:vjIkGW5S0796デフォルトの名無しさん
2014/06/10(火) 14:50:21.81ID:8vGiYuGT0797デフォルトの名無しさん
2014/06/10(火) 15:11:01.90ID:65Dw8cbQ何故あえてTripleDES? 中途半端すぎないか?
0798デフォルトの名無しさん
2014/06/10(火) 20:56:47.77ID:30o2Vi8t0799デフォルトの名無しさん
2014/06/10(火) 21:45:30.03ID:cPxsx92lfinal なんか red++ とmifes の悪口がてんこ盛り
0800デフォルトの名無しさん
2014/06/11(水) 18:18:05.10ID:HzvCFVQ8MSDNにサンプルコードあるから
0801デフォルトの名無しさん
2014/06/11(水) 18:22:00.19ID:LANa9yoQ地デジのスクランブルにも採用されているくらい単純で速い
0802デフォルトの名無しさん
2014/06/11(水) 21:10:29.54ID:AjRud+880803デフォルトの名無しさん
2014/06/12(木) 09:23:49.51ID:swwsjqzZaの要素同士をランダムに掛け合わせて新しいリストを作り、
決め打ちした要素数(たとえば15)まで増えてきた時点で打ち切り
ってことをやりたいんですが、
これをLINQ使ってサクっとやりたい場合どうやればいいでしょうか?
それともfor使ってゴリゴリ書くしかないのでしょうか?
0804デフォルトの名無しさん
2014/06/12(木) 10:11:25.54ID:uYyWzI4fFunc<int> getRand = () => a[rand.Next(0, a.Length)];
Enumerable.Range(0, 15).Select(_ => getRand() * getRand()).ToList();
0805デフォルトの名無しさん
2014/06/12(木) 10:27:23.35ID:M8h4NdWXfrom y in a.OrderBy(_ => Guid.NewGuid())
select new { x, y }).Take(15)
重複しない他の方法ってあるかな
0806デフォルトの名無しさん
2014/06/12(木) 12:56:11.78ID:rwjoBljd0807805
2014/06/12(木) 12:59:02.46ID:M8h4NdWX0808デフォルトの名無しさん
2014/06/12(木) 13:29:40.42ID:GqYTxgzrLINQで書いたからサクッと実行されるとは思わんし
自分でサクッと書けない時点でLINQでやる意味無いと思うが
0809デフォルトの名無しさん
2014/06/12(木) 13:58:37.23ID:lqy+PIxA0810デフォルトの名無しさん
2014/06/12(木) 14:00:16.23ID:M8h4NdWX0811デフォルトの名無しさん
2014/06/12(木) 14:14:06.80ID:bsEn+gS5ttp://peace.2ch.net/test/read.cgi/tech/1202568694/
ここで聞くよろし
0812デフォルトの名無しさん
2014/06/12(木) 14:16:56.14ID:icjii/oUSystemInformation からは以下のように値が取得できました。
BorderSize {Width = 1 Height = 1}
Border3DSize {Width = 2 Height = 2}
FrameBorderSize {Width = 4 Height = 4}
しかし実際に表示されている枠のサイズは {Width = 8 Height = 8} が正しいようなのです。
どうすればこの正しい値を取得できますか?
一応、(Width - ClientSize.Width) / 2 とすれば正しい値を取得できるのですが、
できればウィンドウを表示する前に取得したいのです。
0813デフォルトの名無しさん
2014/06/12(木) 16:36:17.47ID:ccc0WdqIMSDN読んでもどれが何のサイズを表してるのかさっぱり分からんねw
FormBorderStyle = Sizableの場合、SizingBorderWidthに3を足した値か?
3って値がどっから出てくるのか分からないけどw
0814デフォルトの名無しさん
2014/06/12(木) 16:47:47.77ID:bAJS1SmsFixedFrameBorderSize
0815デフォルトの名無しさん
2014/06/12(木) 16:48:28.07ID:uYyWzI4f0816デフォルトの名無しさん
2014/06/12(木) 17:22:57.10ID:icjii/oU確かにLoadイベントで (Width - ClientSize.Width) / 2) すれば表示前に取得できました。
なんとなく気持ち悪いですが、これが確実そうですね。
0817デフォルトの名無しさん
2014/06/12(木) 20:30:55.07ID:rwjoBljdXPで導入しかかったスキンのせいだと思うね
ビジュアルスタイルがユーザーによって変更されている場合(7とか8の場合はより可能性が低いが)
値が違ってくるから。
結局サポートコストとかセキュリティとかのせいで廃止されたんたと思うが
0818デフォルトの名無しさん
2014/06/12(木) 21:37:35.11ID:3rnVvsOvそれは理由にならないでしょ。
0819デフォルトの名無しさん
2014/06/12(木) 21:53:30.70ID:3rnVvsOv一部で流行ってたなあ。
0820デフォルトの名無しさん
2014/06/14(土) 02:18:31.50ID:YGWjcU/Q2.0と3.0で追加されたものは巻末に30ページほどまとめられて載っていますので、本編講座内では使われてないと思います
友達が業務のために勉強したJavaの本2冊をくれるっていうので、
Javaのほうがいいのかとも思ってるんだが
Rubyは最初だけ囓ったことがある、
0821デフォルトの名無しさん
2014/06/14(土) 02:19:29.01ID:YGWjcU/Qすいません、下記のJavaが云々は別スレで聞くつもりの内容で、消していませんでした
無視してください
0822デフォルトの名無しさん
2014/06/14(土) 08:29:48.37ID:gL6RkEqlはじめてのVisual C# 2012 初音 玲
ttp://www.amazon.co.jp/dp/4798038148
がお勧め
はじめてのC#じゃなくて
C#はとっくにわかってるが2012ははじめて
っていう人対象のサギみたいなタイトルだから
>>820のご要望には合致してると思う
0823デフォルトの名無しさん
2014/06/14(土) 09:17:59.60ID:DhxkjofsC#4.0/.NET 4で今まで煩雑だったのが楽になったりしてるから
ネットでチェックしとくといい
あと
WinFormsは進化がしてないからそのままいけるけど
WebFormやMVCは結構進化してるからこれもチェック
入門を脱したらプログラミングC#の第7版は良書よな。
第6版と比べて格段に読みやすいがあれも初心者は無視してるな
0824デフォルトの名無しさん
2014/06/14(土) 09:45:13.92ID:AmjudbHd>>823
ありがとうございます
標準〜のほうで初心者脱して、はじめての〜に移るというプランでいきます
0825デフォルトの名無しさん
2014/06/15(日) 10:57:45.72ID:Au4zqesJ0826デフォルトの名無しさん
2014/06/15(日) 16:01:32.26ID:EpTzcfjlttp://download.cnet.com/i/bto/20090922/digsby_67_twitter_timeline.png
やりたいことはTwitterではないのですが異なるフォントサイズ/カラー等が混在するListです
0827デフォルトの名無しさん
2014/06/15(日) 16:04:34.55ID:EfrMGo9GWinFormsなら全部自作するんじゃないだろうか
0828デフォルトの名無しさん
2014/06/15(日) 16:06:49.81ID:EpTzcfjl業務系は一通りこなせるとは思ってましたがWPFは未踏領域でした
そちらを調べてみます
0829デフォルトの名無しさん
2014/06/15(日) 16:07:45.91ID:VN8vOqQyForms→組み込み機能使わずに色々コントロールを組み合わせれば出来なくもない
WPF→ItemTemplateで普通に出来る
ASP.NET(MVC)→CSSで出来る
0830デフォルトの名無しさん
2014/06/15(日) 16:07:46.69ID:TqsT3gd00831デフォルトの名無しさん
2014/06/15(日) 16:13:26.54ID:EpTzcfjlデスクトップアプリでFormsでやろうと思っていました
某ERPからCSVでダラダラデータ取得するという仕事を楽にするアプリを以前にForms(3.5)で作ったのですが
部内で見栄えがもうちょっとなんとかならん?と相談されたのでTwitterクライアントみたいだったらいいなーと
社内趣味みたいなものでお金がでないので自前で出来たらと思って質問しました
0832デフォルトの名無しさん
2014/06/15(日) 16:23:34.37ID:VN8vOqQyパネルの中にFlowLayoutPanelでも入れてスクロールできるようにして、コードで生成したアイテムをガンガン入れてくだけ
各アイテムをUserControlにしとけばコードのボリュームもかなり減らせる
0833デフォルトの名無しさん
2014/06/15(日) 16:25:25.20ID:EfrMGo9G0834デフォルトの名無しさん
2014/06/15(日) 16:41:13.80ID:O96DeclSコレ
割と簡単
0835デフォルトの名無しさん
2014/06/15(日) 16:45:00.99ID:wTZdDnna文字を描画したときのサイズ取得して箱の大きさ決めるあたりが面倒臭いが
FlowLayoutPanel使えばそこらへんも勝手にやってくれるかも
0836デフォルトの名無しさん
2014/06/15(日) 16:52:02.79ID:EpTzcfjlありがとうございました
0837デフォルトの名無しさん
2014/06/15(日) 22:08:11.83ID:9Vq05/270838デフォルトの名無しさん
2014/06/16(月) 02:09:58.58ID:V2SLoCL3いや、頑張ればそれ以上でもできるんだろうけど
0839デフォルトの名無しさん
2014/06/16(月) 02:22:25.75ID:MjUoPksE0840デフォルトの名無しさん
2014/06/16(月) 02:37:49.11ID:GvXD/dq8画像に文字列を入れるプログラムを「どぼん」を参考に作成しています。
パターンAでは正常に文字がレンダリングされるのですが
MSのDocumentを見て自分で指定したパターンBではなぜか文字が入りません。
どこに問題がありますか?
パターンA
Brush b = new SolidBrush(Color.FromArgb(128, Color.Yellow));
パターンB
int i_alpha = 0;
int i_red = 10;
int i_green = 20;
int i_blue = 30;
Brush b = new SolidBrush(Color.FromArgb(i_alpha,i_red,i_green,i_blue));
0841デフォルトの名無しさん
2014/06/16(月) 03:57:32.07ID:T0Mv8WNA昔作ったのを見なおしたら、ListViewのViewをTileに指定して、OnDrawItemをオーバーライドして
アイテムをオーナードローしていたな
ListBoxは作ったこと無いけど、基本は同じやり方で出来るんじゃないかな
オーナードローって言うほど難しくないからチャレンジしてみたらいいよ
0842デフォルトの名無しさん
2014/06/16(月) 07:54:57.12ID:QqCnpvcy>int i_alpha = 0;
0843デフォルトの名無しさん
2014/06/16(月) 08:15:59.69ID:e2UtTTDJ似たような文字があるのでしょうか?
0844デフォルトの名無しさん
2014/06/16(月) 08:42:18.82ID:5R7st4As.IndexOf( "xx", StringComparison.Ordinal )
0845デフォルトの名無しさん
2014/06/16(月) 08:44:08.67ID:LSNe5S3g.ToCharArray()してその文字の数値はどうなってる?
0846デフォルトの名無しさん
2014/06/16(月) 09:00:40.99ID:5R7st4As「々」「○」「、」「。」この辺の文字でいろいろ問題が出てた。
NET4.0でFix
0847843
2014/06/16(月) 10:51:03.46ID:e2UtTTDJ複数の「【」があっただけだった
ひと括り削除してもうひと括りが残ってようです
0848デフォルトの名無しさん
2014/06/16(月) 14:01:36.88ID:CZY7bRoU0849デフォルトの名無しさん
2014/06/16(月) 14:05:34.12ID:dnWKdgM00850デフォルトの名無しさん
2014/06/16(月) 14:25:07.24ID:8HoR0lnTUIそのまま使うならいいけど
色変えるだけでもめんどくさい
0851デフォルトの名無しさん
2014/06/16(月) 17:07:35.33ID:p5ph7Usx0852デフォルトの名無しさん
2014/06/16(月) 17:29:40.11ID:hbVkRtDG0853デフォルトの名無しさん
2014/06/16(月) 17:41:34.97ID:CZY7bRoUBlendって有料かー
0854デフォルトの名無しさん
2014/06/16(月) 18:02:37.39ID:QqCnpvcy0855デフォルトの名無しさん
2014/06/16(月) 18:36:50.18ID:T0Mv8WNA同じことをWinFormsでやると、もっと面倒なんだが
0856デフォルトの名無しさん
2014/06/16(月) 18:53:51.93ID:p5ph7Usxよく知らんがWPFは大変だなw
0857デフォルトの名無しさん
2014/06/16(月) 19:01:53.54ID:r97cIDyWそうでない場合はWindows Form以上にカオスに陥ったり、パフォーマンスその他の理由で
そもそも不可能だったり。
0858デフォルトの名無しさん
2014/06/16(月) 19:02:40.01ID:tlAgOJvyテンプレートを使って上面を丸ごと入れ替える感じになる
テンプレートの編集はBlendがないと地獄
0859デフォルトの名無しさん
2014/06/16(月) 19:04:42.15ID:tlAgOJvyいやむしろVSみたいに低レベルなところから大規模なアプリを組み上げるときの基盤として使うのに向いてる
フレームワークとしては貧弱・無駄に複雑・パフォーマンス悪い
0860デフォルトの名無しさん
2014/06/16(月) 19:44:52.38ID:LIW+dGkXMVVMもいまいちわからん
0861デフォルトの名無しさん
2014/06/16(月) 19:52:00.85ID:EVGVB3Oq0862デフォルトの名無しさん
2014/06/17(火) 18:07:41.91ID:mGXnEsfSwpfのバインディングやテンプレートでフォントや文字色簡単に変えたりできないよ
blend使うとか馬鹿じゃねーの
やれるもんならやってみな
ゴリゴリとコード書くしかないだろ
0863デフォルトの名無しさん
2014/06/17(火) 18:34:30.13ID:tW29pBLnSketchFlowなんて使ったことないし
0864デフォルトの名無しさん
2014/06/17(火) 18:41:53.46ID:8jTlL64M>>862の人はwpf触ったこと有るんだろうか?
それとバインディングとテンプレートは全く別のものなんだが、並べて何が言いたいのか判らん
0865デフォルトの名無しさん
2014/06/17(火) 19:32:33.62ID:8LhyGeIohttp://www.tanteifile.com/diary/2014/06/17_01/
0866デフォルトの名無しさん
2014/06/17(火) 21:02:07.79ID:rD+91nuE0867デフォルトの名無しさん
2014/06/17(火) 21:23:59.82ID:cAc2Qa/f0868デフォルトの名無しさん
2014/06/18(水) 07:28:20.69ID:qAhUT53Rじゃあコーディングなしで
>>826が簡単にできるか?
0869デフォルトの名無しさん
2014/06/18(水) 07:44:43.77ID:R7ypH+vG0870デフォルトの名無しさん
2014/06/18(水) 08:34:38.46ID:8UlZ7EwE>>865
0871デフォルトの名無しさん
2014/06/18(水) 14:58:03.87ID:dF9Z7SpUおれも始めようかな
0872デフォルトの名無しさん
2014/06/18(水) 19:09:58.92ID:rUftrLXu0873デフォルトの名無しさん
2014/06/18(水) 19:18:46.92ID:GTroaFRmクライアントアプリケーションの時代が終焉を迎えつつある○
0874デフォルトの名無しさん
2014/06/18(水) 19:20:45.59ID:yNoNm3USWPFは終わる以前に始まってすらいない。
0875デフォルトの名無しさん
2014/06/19(木) 00:23:36.19ID:Eeq6rbIC0876デフォルトの名無しさん
2014/06/19(木) 00:27:26.06ID:6V+B+iu8けどWPF分かったら、もうWinFormsには戻れなくなる
XAMLやバインドわかればストアアプリも楽
0877デフォルトの名無しさん
2014/06/19(木) 01:02:42.52ID:k6y9FCW4ストアアプリにかまける前にWP本体売れよ(プゲラ
0878デフォルトの名無しさん
2014/06/19(木) 14:06:09.86ID:mCeLGUTv・Silverlight
・XNA
・WPF
0879デフォルトの名無しさん
2014/06/19(木) 19:42:51.10ID:rfumW9cb0880デフォルトの名無しさん
2014/06/19(木) 19:58:32.30ID:sQJKsUMF内部クラスはあまり推奨されないということですか?
0881デフォルトの名無しさん
2014/06/19(木) 20:06:55.51ID:6q/EJbCK0882デフォルトの名無しさん
2014/06/19(木) 20:30:37.59ID:g4cuM2f20883デフォルトの名無しさん
2014/06/19(木) 20:32:47.27ID:YfUO/w/F0884デフォルトの名無しさん
2014/06/19(木) 20:39:30.43ID:XZGrbc4mJavaやったことないと何のこと言ってるのか伝わらないよね。
0885デフォルトの名無しさん
2014/06/19(木) 20:57:05.60ID:2Twh0BZt0886デフォルトの名無しさん
2014/06/19(木) 21:05:11.48ID:zlsMLAvy> Javaでobserverパターンで使うあれのことだと思うけど、
なんだそれw
ひょっとしてリスナを登録するときに、
リスナやアダプタの派生をaddの引数のところでnewすることじゃないだろうな?
だとすると…まあいいやめんどい。
0887デフォルトの名無しさん
2014/06/20(金) 09:45:39.73ID:si35yOOj0888デフォルトの名無しさん
2014/06/20(金) 14:36:18.73ID:F8klMZQn頭がわけ分らん状態になります。皆さんどうですか?
0889デフォルトの名無しさん
2014/06/20(金) 14:43:45.82ID:MQX0k9eF0890デフォルトの名無しさん
2014/06/20(金) 14:47:26.77ID:13YA0ieC色分けされてるだけで今どれやってるか感覚でわかるな
0891デフォルトの名無しさん
2014/06/20(金) 16:25:40.65ID:jLBRqZRhちょこっとやってみたけど簡単には出来なくね?
0892デフォルトの名無しさん
2014/06/20(金) 16:27:15.56ID:LuSi6FRI別にならなかったな
C++/CLIは面食らうことがたまにあったな
0893デフォルトの名無しさん
2014/06/20(金) 17:44:02.86ID:WBwPS+cs0894デフォルトの名無しさん
2014/06/20(金) 23:34:49.99ID:EtLrPewl読み書きしたいけど、SKYPE4COM.DLLって生きてるのかな?
知ってるひといたら教えてください。
0895デフォルトの名無しさん
2014/06/20(金) 23:42:51.37ID:pz7WGIcLしるかぼけ
0896デフォルトの名無しさん
2014/06/20(金) 23:54:23.98ID:2yqfsagVちょっとまえに潰されたような気もするが、ログ読むぐらいのは残ってるのかな?
0897デフォルトの名無しさん
2014/06/22(日) 05:36:51.84ID:JfB/Ea9Nほとんど見あたりません。4用のIronRuby1.1.3を3.5で動くようにビルドしたいのですが
無謀ですかね?
0898デフォルトの名無しさん
2014/06/22(日) 06:00:15.55ID:zy4Jssca4の機能を使ってたらビルドできない
基本的にはそれだけのこと
あとは微妙な互換性の話
0899デフォルトの名無しさん
2014/06/22(日) 08:46:02.33ID:P/6Lf536IronRubyは3.5用にビルドできるようになってた覚えがある
ソリューション構成で指定できたはず
WP7用のバイナリならそのまま3.5で使えるかも
(JITが無効になるはずなのでお勧めしないが)
0900897
2014/06/22(日) 16:33:41.12ID:/YtzeWqythx。目的は素のWin7とWin8.xで動くバイナリがほしいです
IronRuby1.1.3のWP7用のバイナリは4用で3.5では動かないようです
IronRuby1.1の3.5用は動くようですがRuby 1.8系なのと起動するたびネットに
出ていこうとして気持ちが悪いです
出来ればRuby 1.9系の実装である1.1.1以降を使いたいです
今までにやったこと
・VS2010EXをインストール
・IronRuby1.1.3のソースコードをダウンロード&解凍
・ソリューションを読み込み
Solution Itemsが無いと怒るがそんなフォルダは入っていないので無視
・ソリューション構成が見つからない。構成マネージャ?構成マネージャを見ても
バージョンに関するらしき設定項目は見あたらない
・プロジェクトのプロパティに対象のフレームワークという設定があったので
すべて3.5にしてみるが一部のプロジェクトは勝手に4に戻ってしまう
4に戻ってしまうプロジェクトは以下の3つ
Microsoft.Scripting.Core
Chiron
Microsoft.Scripting.Silverlight
Silverlightがらみの下二つはともかくCoreは動作に必須っぽいのでビルドしない
わけにはいかないはず
VSの使用経験もC#の使用経験もない自分としてはどこから手を付けたらいいのか
見当がつきません・・・orz
0901デフォルトの名無しさん
2014/06/22(日) 17:00:51.36ID:m8IYICrtというか1.1系はalphaらしいがいいのかね
0902デフォルトの名無しさん
2014/06/22(日) 17:13:16.76ID:ShN26fzj結局保守するやついなくなるか、本家の更新速度についていけなくて消えるんだよね
0903デフォルトの名無しさん
2014/06/22(日) 17:17:52.91ID:ShN26fzjVMの更新と、言語の更新それぞれについていけなくて消える
0904897
2014/06/22(日) 18:31:48.44ID:95RLu5vGおぉ、thx。VC#2008EXでもビルド出来るのかな
いったんVC#2008EXを入れたのですがソリューションファイルが
読み込めなかったので消してしまいました。VC#2010EXを消して
VC#2008EXを入れ直すか・・・
0905897
2014/06/22(日) 21:56:35.04ID:95RLu5vG>>901の記事に書いてあるエラーの回避はソリューションファイルを
編集してプロジェクトごと除外しました
0906デフォルトの名無しさん
2014/06/22(日) 22:17:17.01ID:Cvja/8tc俺もIronPythonはやったことあるけど、
.NET使うんなら総合的に見ればどう考えてもC#で作った方が早いよ
コレクション操作とかRubyと似通ったところも多くて(互いにパクりあってる)馴染みやすいよ
まあIronRubyで作る上ではどのみちC#触るのは避けられないだろうけど
0907デフォルトの名無しさん
2014/06/23(月) 22:32:04.84ID:hXnfAnJXハンドルリークしているかいまいちわからない・・・
0908デフォルトの名無しさん
2014/06/23(月) 22:38:22.86ID:KA1AMTg40909デフォルトの名無しさん
2014/06/24(火) 14:39:06.87ID:BxIYtEdBありがとうです!!早速使ってみます^−^v
0910デフォルトの名無しさん
2014/06/25(水) 04:36:38.65ID:Ji9U0alUhttp://guide2.project-cevio.com/interface/com
http://guide2.project-cevio.com/interface/dotnet
を参考にプログラムしました。C#だけサンプルプログラムがないので、
どうしたものやら。
http://ideone.com/Opj1Jy
0911デフォルトの名無しさん
2014/06/25(水) 08:59:49.41ID:0un0/TF8ここでも聞いてるのかよ。マルチ氏ね
0912デフォルトの名無しさん
2014/06/25(水) 13:43:31.14ID:BFW7JELn動作確認しながらやればわかるんじゃないのか
0913デフォルトの名無しさん
2014/06/25(水) 14:56:02.77ID:NedFU3Wc自分でここまでやったけどわからない、という自分がやった内容を書いてくれりゃ
レベルもわかるし対応策出しやすいんだが
0914デフォルトの名無しさん
2014/06/25(水) 18:07:06.07ID:Ji9U0alUアドバイスありがとうございます。一言書いてきました。
自分がやった内容は、恥ずかしながら>>910の最後のリンクのソースです。
とりあえず、サンプルプログラムで発声はできたのですが、
次の段階として感情パラメータをいじって
発声させたいのです。その辺が複雑でさらによくわかっていません。
0915デフォルトの名無しさん
2014/06/25(水) 18:19:58.36ID:0un0/TF8もう一度知恵遅れとokwaveで聞いて来りゃいいだろ。氏ね
0916デフォルトの名無しさん
2014/06/25(水) 18:26:28.72ID:NedFU3Wcやったなら
using CeVIO.Talk.RemoteService;
しとけばいきなりTalkerクラス使えるんじゃね?
0917デフォルトの名無しさん
2014/06/25(水) 18:38:47.92ID:Ji9U0alUTalkerクラスとSpeakingStateクラスを使えば発声はできるのですが、
感情関係のクラスの実装がいまひとつよくわかっていません。
0918デフォルトの名無しさん
2014/06/26(木) 12:49:32.20ID:oJe1PGDeネット上で見つけたイベントを発行するクラスのメソッドで
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void RaisePropertyChanged(string propertyName)
{
var h = this.PropertyChanged;
if (h != null)
h(this, new PropertyChangedEventArgs(propertyName));
}
のように一時的にローカル変数hを使用してるのを見かけたんですが
このhはどういう目的で使われているのでしょうか?
0919デフォルトの名無しさん
2014/06/26(木) 12:54:32.35ID:WE9ctRXEif (this.PropertyChanged != null) {
// このタイミングでthis.PropertyChangedがnullになる可能性がある
this.PropertyChanged();
}
0920デフォルトの名無しさん
2014/06/26(木) 13:10:19.98ID:TG83iENW0921デフォルトの名無しさん
2014/06/26(木) 13:11:59.17ID:msTrDRe0そうでなくて初期状態がPropertyChanged==nullだからじゃない?
使用者がPropertyChanged += delgate{};を実装して初めてPropertyChanged!=nullになる
0922デフォルトの名無しさん
2014/06/26(木) 13:41:13.06ID:WE9ctRXEnullチェックしてるんだから初期状態がnullだろうが何だろうがシングルスレッドなら関係ないだろ?
0923デフォルトの名無しさん
2014/06/26(木) 13:51:00.08ID:a5DVBYeG0924デフォルトの名無しさん
2014/06/26(木) 13:57:27.27ID:oJe1PGDe最適化が関係あるのかも?とか漠然と悩んでたんですが
マルチスレッドによる変更に対応していたんですね
お答えいただいてありがとうございました
0925デフォルトの名無しさん
2014/06/26(木) 14:09:51.93ID:RziUTnTiただPropertyChangedという長い名前(そうでもないと個人的には思うけど...)
が複数個所に現れるのを嫌っただけだろう。
ついでに言えば、コード書いた奴がキモヲタで一人で「Hなのはいけないと思(」
とかいって盛り上がってた可能性大。
0926デフォルトの名無しさん
2014/06/26(木) 15:06:33.10ID:a5DVBYeG0927デフォルトの名無しさん
2014/06/26(木) 19:16:36.58ID:EPphEQd9最適化にもまったく影響なし
nullチェックと呼び出しの二回だけなら名前が長くてもかまわないから、俺なら入れない
0928デフォルトの名無しさん
2014/06/26(木) 19:24:56.21ID:geX7SJn80929デフォルトの名無しさん
2014/06/26(木) 19:41:25.21ID:zSCl0MWa0930デフォルトの名無しさん
2014/06/26(木) 19:48:25.64ID:MXb/zj6q「Hなのはいけないと思(」の部分のこと?
マジレスしておくと、HってのはHaskellのこと。略されている部分も
書くと「Haskellなのはいけないと思います。」になる。
C#とHaskellの戦争はあっちこっちで見ることができるから、興味がある
なら調べてみるといいよ。
0931デフォルトの名無しさん
2014/06/26(木) 19:50:54.25ID:zSCl0MWa0932918
2014/06/26(木) 20:02:29.90ID:oJe1PGDe>>919さんの、このタイミングでnullになる可能性があるというのは,なるほどと関心しました
仮にマルチスレッド環境下で,このnullになる可能性に対処するとしたらどうするんでしょうか?
みなさんがイベントでの同種の処理はどのように行っているのか教えていただきたいです
(そもそも対処して無いという意見も含めて)
0933デフォルトの名無しさん
2014/06/26(木) 20:12:58.68ID:P5riggf4俺はそういうのが必要になったことがないから何もしてない。
0934デフォルトの名無しさん
2014/06/26(木) 20:31:30.39ID:bvs5CWHr>>918一択しかないな
0935デフォルトの名無しさん
2014/06/26(木) 20:40:24.69ID:4RztB+nyどんな糞設計だよ
そもそもeventにnullを設定できるのは自クラス内だろ
そんなeventのデリゲートを単純に実行しないし
lockしてDelegate.GetInvocationList経由かなんかするだろ多分。知らんけど。
0936デフォルトの名無しさん
2014/06/26(木) 20:42:48.25ID:EPphEQd9http://qiita.com/karno/items/a4b2a744659a5b0a4df4
したに書いてある空のラムダ入れとくのがいいと思う
なんでローカル変数に入れるとぬるりが防げるの?だれかおしえて
0937デフォルトの名無しさん
2014/06/26(木) 20:44:12.68ID:EPphEQd9-=で登録されたすべてのデリゲートが解除されるとnullになるっぽい
0938デフォルトの名無しさん
2014/06/26(木) 20:45:24.71ID:geX7SJn80939デフォルトの名無しさん
2014/06/26(木) 20:55:44.72ID:UNxcKNdL0940デフォルトの名無しさん
2014/06/26(木) 20:57:56.88ID:P5riggf4なるっぽいって・・・そりゃそうだろう。
>>936で示されてるやり方は、単にエラーを出さないだけの逃げの手段でしょ。
マルチスレッドで動かすのにむやみやたらに+=や-=しちゃうのはどうかと思うが。
0941デフォルトの名無しさん
2014/06/26(木) 21:06:17.68ID:OLrM3hsqなんか話が迷走してるが、だから>>918のコードはスレッドセーフじゃないの。
ついでに、イベントにnullオブジェクト(空のラムダ)を入れておくのは
C#では常識と言っていいイディオムだと思うけど。
0942デフォルトの名無しさん
2014/06/26(木) 21:10:44.30ID:EPphEQd9>>940
なんで?
+=、-=は不適切にadd/remove変えない限りスレッドセーフでしょ?
0943デフォルトの名無しさん
2014/06/26(木) 21:13:56.25ID:P5riggf4>>918がスレッドセーフだと思ってないし、
スレッドセーフにしないといけない仕様はどうかと思うし、
空のラムダを入れるのが常識だとは思っていないな。
>>942
むやみやたらに=不適切に使用するから、
スレッドセーフを意識しないといけなくなるんでしょう?
0944デフォルトの名無しさん
2014/06/26(木) 21:32:17.90ID:tNVkuIVHスレッドセーフにするためにいったんローカル変数に入れるのはMS自身がかなり多用してるテクニック
0945デフォルトの名無しさん
2014/06/26(木) 21:51:33.29ID:EPphEQd9意識しなくていい場合もあるから、そのときはそこまでの厳密性は不要
でも、コードをわかりやすくするという意味でも空ラムダは結構使われている
0946デフォルトの名無しさん
2014/06/26(木) 22:16:12.35ID:R0dKBSXzイベントディスパッチの直前でスレッドセーフがどうとか気にするわけがない
0947デフォルトの名無しさん
2014/06/26(木) 22:48:44.50ID:2LKgbWsXhttp://stackoverflow.com/questions/786383/c-sharp-events-and-thread-safety
http://stackoverflow.com/questions/3668953/raise-event-thread-safely-best-practice
http://qiita.com/karno/items/a4b2a744659a5b0a4df4
http://blog.binarymist.net/2012/03/11/keeping-your-events-thread-safe/
今までイベントのスレッドセーフとか考えてなかったわ…
0948デフォルトの名無しさん
2014/06/26(木) 23:34:28.98ID:QG03FXmHWPFは別スレッドでバインドソースのプロパティを変更可能なんだよなぁ
0949デフォルトの名無しさん
2014/06/27(金) 08:53:00.15ID:SZ15x716そういう理由があったのか
0950デフォルトの名無しさん
2014/06/27(金) 09:25:19.97ID:sYtO+Y400951918
2014/06/27(金) 11:36:23.50ID:IxCTANL1イベント周りやスレッドセーフについての理解がまだまだなので精進します
0952デフォルトの名無しさん
2014/06/27(金) 15:44:52.53ID:SQDdT533immutableだから中身が変わらないのか
なるほどなあ
0953デフォルトの名無しさん
2014/07/01(火) 22:24:57.17ID:1hbqUz7Hどう使い分けるのがマナーですか?
0954デフォルトの名無しさん
2014/07/01(火) 22:43:26.00ID:32tQ0agk0955デフォルトの名無しさん
2014/07/01(火) 22:59:40.21ID:79Rw1ztkあえてするとすれば、P/Invoke用のの構造体ぐらい
0956デフォルトの名無しさん
2014/07/02(水) 00:48:48.65ID:TjuZskuu0957デフォルトの名無しさん
2014/07/02(水) 06:34:02.73ID:SoSt0gw20958デフォルトの名無しさん
2014/07/02(水) 07:41:04.20ID:fW+tY94n0959デフォルトの名無しさん
2014/07/02(水) 07:48:15.53ID:SXoafXLh0960デフォルトの名無しさん
2014/07/02(水) 14:30:33.61ID:5hZjGsLY0961デフォルトの名無しさん
2014/07/02(水) 14:43:29.05ID:+WxMuPSX次で何とかなるぞ >>665
0962デフォルトの名無しさん
2014/07/02(水) 22:46:43.15ID:5ZOm/R4VC#って何でプロパティとフィールドを二種類用意してるんですか?
フィールドいらなくないですか?
0963デフォルトの名無しさん
2014/07/02(水) 22:52:01.90ID:7FYVqxhNもう片付けるから
0964デフォルトの名無しさん
2014/07/02(水) 22:52:33.45ID:sFQ5DsIdフィールドはデータを保持する
用途がちがう
自動実装プロパティは裏でフィールドを自動作成してるにすぎない
0965デフォルトの名無しさん
2014/07/02(水) 22:58:08.95ID:W9lHRPWKプロパティは関数
同じようで物が違う
0966デフォルトの名無しさん
2014/07/02(水) 23:49:07.09ID:5ZOm/R4V>>964,965
それって二種類用意してあるから、使い分けてるだけなのでは?
最初からプロパティ一種類しか用意してなければ、普通にそれで同じことができると思うのですが…
0967デフォルトの名無しさん
2014/07/02(水) 23:52:54.18ID:OyCp77QP0968デフォルトの名無しさん
2014/07/03(木) 00:17:44.71ID:sKt0Rrir0969デフォルトの名無しさん
2014/07/03(木) 00:47:36.29ID:qD5gLZzFフィールドがないとプロパティの値を保持できない。
0970デフォルトの名無しさん
2014/07/03(木) 01:04:46.49ID:no1Gp9Hd分けた方がわかりやすいから
プロパティはJavaやC++のgetter/setterを置き換えるものだから、それと全く変えるというのはわかりにくい
そして、P/Invokeやシリアライズ、コピー関連ではフィールドとプロパティでは処理が変わってくる。
しかも、プロパティには継承もできたりするし、フィールドの役割をすべてプロパティにやらせると言語仕様がだいぶ複雑になる
0971デフォルトの名無しさん
2014/07/03(木) 02:04:36.31ID:VuFX991T0972デフォルトの名無しさん
2014/07/03(木) 08:04:41.87ID:2Ze3kKMgJavaScriptなら実際そうだぞ
0973デフォルトの名無しさん
2014/07/03(木) 08:42:02.13ID:qzKT0Wge0974デフォルトの名無しさん
2014/07/03(木) 09:07:43.80ID:moTdZY4yモードレスなGUIクラスを作るためには必須の機能だな。
0975デフォルトの名無しさん
2014/07/03(木) 21:56:19.06ID:2Ze3kKMgそれやってるとカオスになる
モデル駆動にするべき
0976デフォルトの名無しさん
2014/07/03(木) 22:34:12.10ID:C7/aqWr70977デフォルトの名無しさん
2014/07/05(土) 00:24:18.36ID:nlwWL+dxせっかくプライマリコンストラクタが出来てもまだ冗長な代入をしなきゃならないプロパティなんて
C#6.0を期に捨ててしまうことだな
まあ「ソースレベル以上の互換性が必要で」「プロパティの実装を書き換えても再コンパイルの必要がなく動かせる必要がある」
みたいなものすごく特殊な人はプロパティじゃなきゃいけないんだろうけど
0978デフォルトの名無しさん
2014/07/05(土) 00:30:07.33ID:+YgxOGu90979デフォルトの名無しさん
2014/07/05(土) 00:31:19.72ID:DfPTbKDM0980デフォルトの名無しさん
2014/07/05(土) 00:45:52.89ID:JV7kEfkCプロパティの実装変更に相当する修正は呼び出し元を変えるしかないんだから再コンパイルもクソも無い
頭大丈夫か
0981デフォルトの名無しさん
2014/07/05(土) 00:48:16.38ID:nlwWL+dx構造体の場合はフィールドにしたほうが効率的
また記述も少なくて済む
これは言語設計者からの出来るだけフィールドを使うべきというメッセージであるが
いまだ理解されていない
0982デフォルトの名無しさん
2014/07/05(土) 00:50:04.99ID:nlwWL+dx何を言ってるんだ一体
呼び出し元を再コンパイルするに決まってるだろう
0983デフォルトの名無しさん
2014/07/05(土) 00:52:17.12ID:6PKoBQqR細かい話だとrefやリフレクションもアウト
0984デフォルトの名無しさん
2014/07/05(土) 00:53:41.58ID:lG7Vks4t0985デフォルトの名無しさん
2014/07/05(土) 01:00:34.32ID:+YgxOGu9普通のプログラマが受けとるのはむしろ正反対のメッセージだと思うけどねw
0986デフォルトの名無しさん
2014/07/05(土) 01:03:31.66ID:6PKoBQqRフィールドをプロパティに変更したとき互換性が失われる一番多いパターンなんだよねこれ
0987デフォルトの名無しさん
2014/07/05(土) 01:06:39.65ID:DfPTbKDM0988デフォルトの名無しさん
2014/07/05(土) 05:07:19.93ID:Ekbkp0Kb0989デフォルトの名無しさん
2014/07/05(土) 06:27:49.04ID:kizbiGi10990デフォルトの名無しさん
2014/07/05(土) 11:03:12.04ID:1XB+/JRR0991デフォルトの名無しさん
2014/07/05(土) 11:31:56.75ID:8MUV06UUあれこれ考えてみると結局依存関係プロパティと同じ構成になるという結論になった
0992デフォルトの名無しさん
2014/07/05(土) 11:53:07.44ID:JV7kEfkC0993デフォルトの名無しさん
2014/07/05(土) 19:17:34.52ID:On7snJqX0994デフォルトの名無しさん
2014/07/05(土) 22:13:24.91ID:oo1JhXsnプロパティとフィールドで動作が違う上にプロパティにすると処理が非効率になってしまう
だから万難を排して最初からフィールドにしておけということだよ
何もしないフィールドなら互換性の問題も起こりえない
0995デフォルトの名無しさん
2014/07/05(土) 22:19:33.82ID:lG7Vks4t何かするようになってプロパティに変えようとすると、プロパティのメンバーを書き換えれないっていう定番の非互換踏んじゃってる
form.Size.Widthに代入しようとして怒られるのは誰もが一度やるはず
0996デフォルトの名無しさん
2014/07/05(土) 22:21:34.19ID:oo1JhXsn何かするなら何かするようなメソッドにするべき
最初からプロパティにするべきじゃない
0997デフォルトの名無しさん
2014/07/05(土) 22:24:37.97ID:unZ5aOYO0998デフォルトの名無しさん
2014/07/05(土) 22:25:02.94ID:JV7kEfkC億単位でアクセスしないと体感できるほど遅くならないし、単純なアクセサ程度なら最適化もかかる
気になるならTargetedPatchingOptOutを指定することも出来る
0999デフォルトの名無しさん
2014/07/05(土) 22:46:07.89ID:6PKoBQqR実際例えばForm.Sizeの実体はSize構造体とはかけ離れてるが、だからってメソッドにすべきだと思うか?
1000デフォルトの名無しさん
2014/07/05(土) 22:48:54.20ID:JV7kEfkC10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。