5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C#, C♯, C#相談室 Part80

1 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
前スレ
C#, C♯, C#相談室 Part79
http://toro.2ch.net/test/read.cgi/tech/1363632378/

Visual Studio 2010 Express
http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

Visual Studio 2012 Express
http://www.microsoft.com/visualstudio/jpn/products/visual-studio-express-products

2 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
ふらっとVisual C#,C♯,C#(初心者用) Part105
http://toro.2ch.net/test/read.cgi/tech/1371948073/

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16
http://toro.2ch.net/test/read.cgi/tech/1369912326/

【VB.NET】LINQ友の会【C#, C♯, C#】
http://toro.2ch.net/test/read.cgi/tech/1202568694/

C#,C#の宿題片付けます。
http://toro.2ch.net/test/read.cgi/tech/1197620454/

Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/

Visual Studio 2010 Part20
http://toro.2ch.net/test/read.cgi/tech/1354608228/

Visual Studio 2012 Part7
http://toro.2ch.net/test/read.cgi/tech/1371524880/

こんなC#, C♯, C#ライブラリ無いですか?
http://toro.2ch.net/test/read.cgi/tech/1342672311/

3 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
参考リンク

MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/

@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://social.msdn.microsoft.com/Forums/ja-JP/categories/

pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://uchukamen.com/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips (話題にすると荒れます)
http://dobon.net/vb/dotnet/

4 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
〜インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
Windows 7 Wiki
http://www15.atwiki.jp/win7/
Windows 8 Wiki
http://www18.atwiki.jp/win8/
Windows8 移行まとめwiki
http://windows8.wiki.fc2.com/

コードの量が多い場合は下記サイトを使うなどしたほうがいいかも。
コードを貼り付けてRun codeのチェックを外し、submitボタンを押すと専用のアドレスが発行されます。

http://ideone.com/
http://pastebin.com/

直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

http://kawama.jp/php/encode_html.php

5 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>4
なんでC#スレでWindowsのWikiをみなきゃ
ならんのだ?

6 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
正直俺もそう思った

7 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

nbsp;とか効かなくなったんじゃなかったっけ

(テスト)
 うんこちんちん

8 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
セキュリティの常識を持ち合わせたサイトなら
利用者がHTMLエンコードを意識することは
あってはならないのだけれど

9 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>8
はぁ?

表現力のために特定の HTML エンコードを使えるようにすることが
あってはならないとか、バカじゃねーのか

10 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
噛み合ってない
使うかどうかじゃなくて、意識するかどうかってことだろ
そんくらい自動でやれゴミってこと

11 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
セキュリティ考えるとタグを制限した方がいいが、
それと自動でエンコードして閲覧者が見やすく使いやすくってのは別問題
つまり>>8>>10はただのバカ

12 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
制限以前に、ユーザーの入力したHTML(タグ含む)が
Webサーバーからブラウザーに出力される仕組みが
危険極まりなくね?

13 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
すぐ湧いてくる>>12のような根本厨はただのバカ

14 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
単発が湧いてきたな

15 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
HTMLメールが危険とか未だにいってるの日本だけだよw
AppleもMicrosoftもAdobeも世界の一流メーカーは普通にHTMLメールだよ
日本はIT後進国だからしかたないか・・・

16 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
いつまで経っても権威主義がにじみ出てるね
3流から君はいつ出世するんだ

17 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
ageてまで言いたかったんだろうから聞いてやれ。

18 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
根本はるみっておったな

19 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
少なくともこのスレにAppleやMicrosoftでプログラマーとして活躍できるレベルの人間いないだろwww

20 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
1人はいるんじゃないの?よ〜く考えてみようよ

21 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
サニタイズの話が理解できずに
htmlが危険と勘違いする
>15は危険

22 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
昔の2chだとそれを利用した荒らしが発生してたよな

23 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
サニタイズ言うなキャンペーンってあったな

24 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>8
> セキュリティの常識を持ち合わせたサイトなら
2chがそんな大層なサイトな訳ないじゃないか

今時Shift_JISなんだから実体参照入力できなかったら書けない文字があるんだよなぁ

25 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
今更文字コードを変えると影響がでかすぎると考えてるのか
それともただ面倒くさいだけなのか

26 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
動いているソースはいじらない
鉄則ですよね

27 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
そんな初歩も分からないからこのスレの人間はほとんど糞だというのですよ
使えるのはほんの一握りでしょうね

28 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
まあ確かに現場で使える人間なんてほんの一握りだけどさ。
こんな場所でになに言ってんの?w

29 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
働いてれば分かることだから、学生か何か。しかも使えない側なんだろ
同類は多いよね、と安心したいだけかと

30 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
雑魚ばっか

31 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
自己紹介?合コンでもはじめるの?

32 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN
IME が ON のとき、Ctrl+F10(デフォルトではIMEメニュー表示)を、
IMEより先に取得して、imeのメニューを出さずに、プログラム側で取得するようにする方法はありますか?
ProcessCmdKeyより先にフックされてしまうようで、うまくとれません。
WindowsMessageでできるのかもしれませんが、いまいちやりかたがわかりません・・。
Windows7 標準のIME です。
初心者板に書込みましたがレスがありませんでした。
マルチになってしまいますがこちらにも・・。

33 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN
マルチするなら、元のスレの書込みを取消して
こっちに誘導する文を残してこい

34 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN
class A{
delegate void DA();
DA m_da;
protected A(DA da){}
void Invoke(){m_da();}
}

class B : A{
delegagte object DB
object o:
B(DB db)
: base(delegate{o = db();})
{}
}

baseのコンストラクタに
自身のメンバを参照するdelegateを
渡す方法はありませんか?

35 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN
>delegagte object DB
そもそもメンバを参照するデリゲートなんか存在しない

36 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN
DB db1=null;
DB db2=()=>db1();
var b = B(db2)
db1= b.hoge;

こんなことやらずに素直にベースクラス変更しろ

37 :デフォルトの名無しさん:2013/07/10(水) NY:AN:NY.AN
諦めて()書けばいいだけだ

38 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
C#はバカになる言語って言われた(´・ω・`)

39 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
道具に使われてる人間である限りはその考えが正しい

40 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
言語仕様なんて簡単で効率的でそこそこの速度ならなんでもいいんだよ
最終的にエンドユーザーに驚きや喜びや楽しさを与えないで何がクリエーターだハゲっが
俺は元々デザイナーあがりでプログラマーになったからデザインとプログラム両方できていつも重宝される
○○はバカになるとか、おまえが100人中100人満足する言語仕様作ってみろと

41 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
バカ発見

42 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
今リフレクションをゴリゴリ使って遊んでるけど、
足りてるようで色々と足りてないところがとても気になるところだ。

フィールドの型が構造体の場合、
そのフィールドを GetValue するとボックス化された値が返されるので、
その値を編集しても元のフィールドに影響が出ない。
構造体配列でも同じことが起きる。

仮想メソッドをオーバーライドした場合、
基底クラスのそのメソッドを派生クラスのオブジェクトを使って
リフレクションで呼ぶ手段が無い。

前者は構造体を編集した後にまたフィールドに代入し直すことで、
後者は基底クラスのメソッドに処理を委譲するだけのメソッドを派生クラスに用意する事で
なんとか動くようにはしたけど、
リフレクションすれば private メンバにまでアクセスできるんだし、
もうちょっと何とかなる手段が欲しい所。

他に何かいい手段ないですかね?

43 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN
>>42
少なくとも前者に関してはそれを問題だと思うことの方が間違ってる気が

44 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
>>42
前者は__makerefで参照を取得してFieldInfo.SetValueDirect
後者はDynamicMethodとILGeneratorを使用してcallvirtではなくcall命令を発行

45 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
>>44
それは分かってるんだけど、
全て動的に解決しないといけない状況だからできないんだよね

__makeref も Emit もコンパイル時に型やメソッドが判明していないと使えないから

46 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
いや、違った
__makeref は TypedReference が持ち回りでいないから使えないんだった

47 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
教えてください〜!!

.NETのIPCチャネルを使用してプロセス間通信を実現したいのですが、
サーバ側のプロセスが再起動した場合、クライアント側では何を基準
に再接続すればいいのでしょうか?

また、有効期限(InitializeLifetimeService)が無限にしているのですが、
それって、サーバのプロセスが終了すると解放してくれますか?

よろしくお願いいたしますm(_ _)m

48 :47:2013/07/12(金) NY:AN:NY.AN
ちなみにクライアントは「受け」だけで、クライアントから要求することはありません。

49 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
再接続?
.NET RemotingにせよWCFにせよメソッド呼び出しの形式なんだから
普通は接続なんて意識しないと思うのだけど

> それって、サーバのプロセスが終了すると解放してくれますか?
そうじゃなきゃ一体どこに実体を持つってのさ

50 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
>.NETのIPCチャネル
そんなものはありません

51 :47:2013/07/12(金) NY:AN:NY.AN
>>再接続というのは
再起動後のサーバーのオブジェクトを参照できるようにしたい。と言う意味です。

方法として、オブジェクトにIDisposableかなにか入れて、Disposeが呼ばれたときに
フラグを立てて、クライアントに再接続要求を出すくらいでしょうか・・・

.NETでIPCチャネルでした。すいません。

52 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
基本的にメソッド呼び出しの度に接続するんだから再接続も何もないって話なんだけど
サーバ側のシングルトンオブジェクトが再作成されたときにクライアントが処理を行いたい?

あと一般的にクライアントがサーバオブジェクトを呼び出す形だが
クライアントが受けて要求することはないって構造がよく分からん

53 :47:2013/07/12(金) NY:AN:NY.AN
MarshalByRefObjectにイベントをつけて以下の様にする予定です。

public class Test:MarshalByRefObject
{

public event Action<bool> TestEvent;

public void OnTestEvent(bool test)
{
if (TestEvent != null)
TestEvent(test);
}
}

クライアントはサーバーオブジェクトのTestEventにデリゲートを関連付ける
といった形です。

この場合に、サーバーのオブジェクトがリリース(解放)されたかどうかを
どうやってクライアントが知り得るのでしょうか?

54 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
サーバーからクライアントへ「これから破棄するよ」って送るか、
クライアント側からアクセスした時にアクセスできないことから判断する

55 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
質問なんですが

56 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
お断りだ

57 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
お、男割りで

58 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
質問です。

public class A{
string text;
public A(string text){

}
}

59 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
クラス内の変数なのかどうかがわかるように変数名決めたほうがいい

60 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
難解な質問だな

61 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
書いてる途中で送信してしまいました。
しかも書いてる途中でなんとなく自己解決できてしまったので、
とりあえず忘れてください。もうしわけございませんでした。

62 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
質問なんですが
visualstudioでSQLサーバーを使って
所持しているマンガの在庫管理プログラム的なものを作ったんですが
そのプログラムをソケット通信を使って
自分のパソコンをサーバーにして
別のパソコンで動かすようにするのは可能でしょうか?
もし可能ならやり方を教えていただけないでしょうか?

63 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
わざわざソケット使わないと駄目なの?
それは要件か?
接続文字列弄るだけで接続できんだろ
http://msdn.microsoft.com/ja-jp/library/ms191260%28v=sql.105%29.aspx

それともサーバープログラムはSQLサーバーとは別に存在させたいのか?
それならSQLは本質的に全く関係ないね

64 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
ソケットの勉強を始めようと思って
自分の作ったものでソケットとつなげたいと思ったんですが
そういう設定があったんですね。

では他にソケットを勉強するにはどういうものがあるでしょうか?

65 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
時代遅れだろ
ASP.NETでサーバー側だけで作るか、
DB-Webサービス-HTTP-クライアント の構成にすればいいのに

66 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
定番はチャット

67 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
C#で作ったアプリを他のPCで動かしたいのですが
「○○が見つかりません」とか「○○が登録されてません」とかで、
結局、開発環境をインストールして1回ビルドするまでは、
起動できませんでした。

Visual C# 2010 Express

追加の参照設定
MSScriptControl、AxWMPLb
VisualBasic.PowerPacks

これらに必要なファイルをコピー・登録して
アプリを実行できるようにする
無料のインストーラはありますか?
または、コピー・登録をバッチで実行するような
方法がありますか?

68 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
そういう時は再頒布でぐぐれ

69 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>68 ありがとうございます
VisualBasic.PowerPacksのインストーラを見つけられたのですが、
AxWMPLibがインストールされているにもかかわらず
登録されてませんとでます。
また、MSScriptControlは関係なかったようです。

70 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
そもそもVisualBasic.PowerPacksなんて使うなハゲ
Microsoft.VisualBasic.PowerPacks.Vs.dll は単体配布は認められてないみたいですね。

AxInterop.WMPLib.dllとかInterop.WMPLib.dllみたいなファイルが実行ファイルと同じフォルダにできてませんか?
それを一緒に配布せんかいヅルムケが

71 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
激しく正論

72 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
インストーラーの作成すら理解してないとかコーディング以前の問題だろwww
しかもExpressなのに2008〜2012と一番糞重い2010使ってるとかワロスwww
初心者質問スレいけよカスwww

73 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>72
おまえは消えろ

74 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>70 ありがとうございます。
PowerPacksはLineShapeのために使ってます。
他に、線を引くだけの良い手段があったら教えてください。

AxInterop.WMPLib.dllとInterop.WMPLib.dllが同じフォルダに出来ていて
一緒にコピーしましたが、変りませんでした。
DebugフォルダまたはReleaseフォルダごとコピーしましたが同様でした。

>>72
新しいプロジェクトの一覧にインストーラがありませんでした。
他のインストーラでも良いので、無料で利用できるものがあったら教えてください。
普段は2010のプロジェクトを2012で開いてますが、
やはりインストーラのプロジェクトはありませんでした。

75 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
前にも言った気がするがWMPはバージョン違いかと

76 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>73
おまえが消えろwww

>>74
http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio
登録したらメールでシリアル送られてくるからインスコ、VSからプロジェクトのインストーラー作ればBuildで自動的に作成される

77 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>75 ありがとうございます。
すいません、過去ログ拝見してませんでした。
バージョンの違いを吸収する方法はありませんか?

>>76 ありがとうございます。
まずは、これを試してみたいと思います。

78 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>77
バージョンの違いを吸収する方法はやった事ないからわからん

79 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
おしえてくださいー!
IPCチャネルのナマエなのですが
以下の二つは同じプロセスで共存できないですよね?

ipc://A/B
ipc://C/D

やるとしたらこうするしかないですか?
ipc://B/A
ipc://C/A
ipc://D/A
ipc://E/A

80 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
public abstract class ObjR : MarshalByRefObject { public abstract void Do(); }
public class ObjC : ObjR { public override void Do() { Console.WriteLine("C"); }
public class ObjD : ObjR { public override void Do() { Console.WriteLine("D"); }

var c1 = new IpcServerChannel("a", "c");
ChannelServices.RegisterChannel(c1, false);
var c2 = new IpcServerChannel("b", "d");
ChannelServices.RegisterChannel(c2, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjC), "e", WellKnownObjectMode.SingleCall);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjD), "f", WellKnownObjectMode.SingleCall);

var c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://c/e");
c.Do();
c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://d/f");
c.Do();

81 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
datatable
view
datasource

↑C#3日目だけどこのへんの関係がよくわからん
だれかわかりやすくおしえて

82 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
IListSourceとかいろいろ絡むんで文字では説明しづらい

83 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
いずれは国籍なんて無視して理系及び理系の重要性を認めて理系側についた
人間(ニュータイプ)だけで独立国家のジオン公国つくって、何も生み出す
能力がなく金や資源や穀物を右から左に動かして中間搾取するだけのモラル
の無い腐りきった文系男(オールドタイプ)国家に戦争しかけるのが人類の
最終形態だろう、200年先になるか300年先になるかはわからんが

84 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
それより先に太陽フレアで大停電してメルトダウン多発で人類終了のが早いよ

85 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
映画・アニメの見すぎ

86 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
デリゲート型の動的作成についての情報が少なくて苦労したのでメモ

基本的にDefineType/DefineNestedTypeでMulticastDelegateの派生クラスを作成し、
属性等は逆汗して出てくる通りにすればいいんだけど、
各メソッドの実装は不要で、SetImplementationFlagsでRuntime | Managedを指定するのが肝
まあこれも逆汗した通りなんだけど

87 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
んな面倒なことしなくても
テキストテンプレートでF<T>, F<T1, T2>, F<T1, T2, T3, T4>
みたいにジェネリックデリゲートを大量に生成しておいて
MakeGenericTypeでおk
IronPythonなんかそういう実装だよ

88 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
Rxじゃいかんのか?

89 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
俺は太陽の子!

90 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
>>87
言語作ってるからそんなのじゃだめ
ref, out とか考えると組み合わせ爆発するし

91 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
>>90
?
静的言語作ってるんならコンパイル時にIL生成するんだからリフレクションなんか関係ないでしょ
Mono.Cecilでも使えばいい

92 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
>>91
超がつくほどの動的言語だよ
それこそ動的にアセンブリをロードして
その型の値をそのまま使える程に

93 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
Expression.GetDelegateTypeがあるでしょ
あとレイトバインディングは変なオレオレ実装しないでCallSite使えよ

94 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
3.5なんだよー
使えないよー

95 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
知らんがな
どういう事情かは知らないが、3.5基準で作ったら4に移行してdynamic対応するときに
設計総取っ替えになるのを覚悟しとけよ

96 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
趣味グラムに対して大げさすぎだろw

97 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
趣味ならそれこそこだわる必要ねえな

98 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
IronPythonのソースをパクってくればちょこっと#ifするだけで
4のDynamicのプロトコルに対応しながら3.5にも対応できるぞ
4のCallSite/Dynamic周りは最近の最適化手法やらMOPやらが使われてて
自分で言語作るような奴には結構面白いと思うよ

99 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
Dynamicって何に使うの? 言語厨のオナニーじゃないの?

100 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
>>99
C#のdynamicやIronPythonなどに使われてる
動的コード生成とキャッシュの仕組みを比較的簡単に利用でき高速
他の言語のオブジェクトへの操作が透過的に行える

101 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
dynamic周りは使いたかったんだけどねえ
Win7で.NETバージョンアップしてなくても使えるようにしたかったから

102 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
4だと世界がぱっと広がる感じ

2の時もそうだったけど

103 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
3.5も割と

104 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
ドカタなら3.5の方がインパクトあっただろうな
4はインフラばっかりだから

105 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
4の方がインパクトというかもの凄く楽だよな
TaskにAsyncにRx2.0、ただ海外商用フレームワークのほとんどが3.5推奨というか、3.5と4.0〜で互換性がなくて3.5使わざるを得ないんだよね

106 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
Task.Factory.StartNewのグダグダ感ときたら....

ってういか全然関係ないけど、WinRT用の.NETだと生のThreadクラスが使えなくなってて
なんだか嫌な感じ。

107 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
俺も生が好き

108 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
俺も生でバック(グラウンド)でよくやるわ

109 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
品がない

110 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
ないのは品だけじゃないですっ!

111 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
何で中に入れるんだよ
外出ししろよ

112 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
ボキュの精神年齢は永遠に14歳でちゅ、まで読んだ。

113 :デフォルトの名無しさん:2013/07/22(月) NY:AN:NY.AN
おるちゅばんエビちゅ でちゅ
まんこでちゅ

114 :デフォルトの名無しさん:2013/07/22(月) NY:AN:NY.AN
3.5ならデフォでWin7動くのが大きい

115 :デフォルトの名無しさん:2013/07/22(月) NY:AN:NY.AN
今なら、クライアント系のOS(vista以降)ならWindowsUpdateで自動的に4が
インストールされてるから、それ程気にしないで良くなった。

116 :デフォルトの名無しさん:2013/07/22(月) NY:AN:NY.AN
自動アップデートなんて鬱陶しいもの速攻OFFが基本だと思いますが...

っていうか、最近のMSってもう世界中どこでもブロードバンドが普及してると
勘違いしてる気が。

そもそもアメリカだってブロードバンドが使えるのなんか東海岸と西海岸の大都市だけだろうに。

117 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
限られた環境向けじゃないなら
自動OFFが基本なんてのを前提にするのはNG
だけど4が入ってるってのを前提にするのもNG

118 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
net frameworkを別途入れてくれって言うと、
ものすごい嫌がられるか、めんどくさがられるか、仕事断られる

OSにデフォで入ってるってのはかなり重要

119 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>114-118
まともな話をしてるように見えて精神年齢14歳の会話だなこれ

120 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>119
あ゛?
耳に根性焼きすっぞ?

121 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
気絶した

122 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
119は無職なんだろ

123 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
中二病には見えんな

124 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
アメリカには笑った

125 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
助けてください><

SQLServer2008(以上)でCLRを使用して
プロセス間通信を行いたいです。

通信をするためにWCFかリモーティングのIPCチャネルか
どちらかを使いたいのですが、SQLServerのアセンブリの参照に
追加する際に、Remotingとwebのdllが循環参照になってしまいます。
WCFかリモーティングを使いたい場合どのようにすれば使える
のでしょうか?

また、WCFやリモーティング以外でプロセス間通信をする方法(SQLServerで)
があれば教えてください。よろしくお願いいたします。

126 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
SQLServerと言うサーバソフトと、当然そのクライアントがすでにあるのに
何を独自通信でやりとりする必要があるんだろ

127 :125:2013/07/23(火) NY:AN:NY.AN
>>126
 理由としては、クライアントからの呼び出しでSQLServer以外に他プロセスに作業して欲しいからです。
 また、クライアントは様々な言語で作られており、ミドルウェアを作ることなく、簡単にサーバーに作業
 依頼をするにはSQLServerのCLが便利だからです。(もちろん、SQLServer自体にもアクセスするために
 内部接続を使い高速化も出来る理由もあります)

128 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
循環参照て

129 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
QuartzTypeLibを使って、静止画をwmv形式に出力させるにはどうしたらいいのですか?
Win7で32bitと64bitの両方で対応させようと思っています。

130 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>129
色んな方法があるけど一番馬鹿っぽいけど作業量が少なく済むのは動画変換プログラムのソースを改造する方法
元動画のフレームを静止画に差し替えちゃえば終わり

131 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>118
客からすれば、別途自分で入れるのは、尻込みして当然。
アプリのインストーラーで自動的にインストールされるようにしないの?

132 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
まだまだ続くよー

133 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>131
インストーラーを起動させるのにフレームワークが必要だったりして……

134 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>リモーティングのIPCチャネルか

ああ、8年ぐらい前にそんなのあったっけか

135 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
今、個人用のプラグインを作ってるんだが
アドオンでプロジェクト内にファイルを追加する方法がわからない。
MVCみたいなの作りたいんだよ

136 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
>>135
C#じゃやったことないがたぶんjavascriptでいける
デフォルトのアドオンのソースを参考

137 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
c#のwindowsサービスで質問です。
System.Net.FtpWebRequestにてFTP受信したいのですがタイムアウトになります。
windowsサービスでFTP受信する方法はないでしょうか?

138 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
>FtpWebRequestにてFTP受信したいのですがタイムアウトになります

それとサービスに何の関係が?

139 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
いろいろ情報が足りなさすぎるw

140 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
FTP受信 って何ですか?

141 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
本当にタイムアウトなのかチェック
FW系に邪魔されてないかチェック
localhost宛てでもタイムアウトするかチェック

142 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
別掲示板によるとファイアウォールの問題だったらしいよ

143 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
なんだ。マルチポストか。

144 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
C#で作成したプログラムで
別プログラムから実行中のexeのデータメンバにアクセスすることは可能ですか?
別プログラムから実行中のexeの配列メンバの中身を参照したいです。
色々と調べてみたのですがやり方が見つかりませんでした。
知っている方いらっしゃれば教えていただけないでしょうか?

145 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
リフレクション

146 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
Marshal + 共有メモリ

147 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
.net4.0でMemoryMappedFileが追加されたとどこかで読んだ気が。
使ったことないから詳細は知らんけど

148 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>147
それと>>144がどう繋がるの?

149 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
リモーティングでIPCすればいいんじゃね?
http://programmers.high-way.info/cs/ipc.html

150 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
その実行中のexeのコードをいじれないのにデータにアクセス()したいと言ってるなら諦めろ。

151 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>148
バカ?
プロセス上の任意のメモリを外から覗く方法を求めているのなら、そんなものはありませんけど

152 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
WCF

153 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
いまの人はICEとか使わないのか

154 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>151
馬鹿はひっこんでろって

155 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>151
ど素人やなあ

156 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
ICEてw
組み込みでもICEなんて使わなくなってもう10年以上になる。
ちなみにそれにICEで覗けるのは物理メモリであってプロセス上の仮想メモリじゃないw

157 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>144が曖昧だからいけない

2つのexeのどちらもソースコードいじれる状態なのか否か
そこが曖昧だからいきなりメモリ覗くとか任意のプロセスがどうのとか言い出す馬鹿が湧く

そもそもふらっとスレ向けの話題だ

158 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>151
絶対の自信がある時しか人を煽らない
オレはそうしてるよ

ちなみに書き換えは想定してほしい
特にUIはフリーソフトで素人でも弄れちゃうからな

159 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN


160 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>156
世間2位のカメラ屋で開発してるけどまだICEありますぜ

161 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>160
それは慣例的にICEと呼んでるだけで本来のICEじゃない。
本来のICEはオンチップのデバッグ機能のことじゃないんだよ

162 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
いやお前さんが言ってるのも分かるし、俺がつかってんのも紛れもなく本来の意味でのICEだよ
チップのエンジニアリングサンプルが上がったとき評価に使ってるからな

163 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
だから本来のICEなんて前世紀で絶滅しましたって
何言ってるんだろうねえ..

164 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
仮想メモリーもメモリーはメモリーだよな
変換テーブルがあるだけで

165 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
自分が見たものしか信じない人が何を言ってるんだって話ですわ
メクラ

166 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>160
どこの世間よ?

167 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
また数日に渡ってスレと全く関係ない話を続ける気なんですかね。
○○だ。いやそうじゃないって。

>>144戻ってきてもう少し詳しく用件述べろや。

168 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
アプリのインストール禁止の現場でオープンソースのCソースを持って来てコンパイルするのはマズイですか?
コンパイルしてもプログラムファイルディレクトリにはインストールはしないでドキュメントフォルダなどから起動します

169 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>168
殺すぞ?

170 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>169
どこからでもかかって来たまえ
私の10年鍛えたムエタイテクニックを披露してあげよう

171 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
ソケット通信が良い

172 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
144です。
質問内容があいまいだったようで申し訳ありません。
状況としては、両方ともソースコードは見れる状態ですが
データを保持してる側のソースコードを編集できない状態です
なので、データを参照するexeから何とか起動中の別exe(ソースコード編集付加)の
配列データを参照できないか調べています。

173 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>170
素手ではかなわんよw

174 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
サーバー側でGUIホストサーバー建てて
クライアントはHTML5でGUI仮想コンソール作ったらどうだろう?
昔Javaアプレットでそんなの作ってる人見たことある
なんか書いてたらそんなの作ったら売れるかな?って思い始めた

175 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
それならシス管に怒られそうになっても返り討ちにできますね
なんだ、何の問題もないじゃないですか

176 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
>>172
おれもわからんが回答無いみたいなんで

exeのバックグラウンドスレッドで情報公開するイメージかな

そのロジックをどう仕込むか?
exeを実行するexeを作り
(exe参照設定した上でMainを実行)
実行と同時にバックグラウンドスレッドで情報公開用サーバーを開始

ソースには手を付けないからこれでおk?

177 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
処理速度が必要ないならメモリダンプファイル書き出してそこから読み取る

178 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
そのデータを保持してるEXEが、データを外部に提供するようになってなければ基本的に無理だろ
プログラム実行中のデータ勝手に盗み見るってつまりマルウェアそのものだぜ

179 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
DLLインジェクションとかな

180 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
現実解は>>117だな
ソフト/ハードICEとかDLLインジェクションとか実現性に欠ける

181 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>176
わからないならすっこんでろよハゲ

182 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
アプリのインスコは禁止でもExcelマクロはお咎めなし
なんだかなぁ

183 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>178
デバッガとか使ったこともないのか?

184 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
デバッガとか言ってる奴はすっこんでろよ

185 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
基本的にって意味を理解できないのか?

186 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>そのデータを保持してるEXEが、データを外部に提供するようになってなければ基本的に無理だろ
→基本的には無理。だけど(UIから読み取るなどの方法であれば)できることあるよ

>プログラム実行中のデータ勝手に盗み見るってつまりマルウェアそのものだぜ
この文には「基本的に」はかからないから、(メモリなどの)盗み見はマルウェアそのものってことになる

日本語使いたいなら日本語理解してからにしとけよ

187 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>186
お前の主張が理解できんのだが
他人の日本語能力にケチつけたいだけか?

188 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
昨日から暴れてる恥知らずの連中の1人でしょ。

っていうかさあ、マルチタスクOS(って言葉も死語に近いけど)のプロセスがどういうものかの
基礎知識もない奴が偉そうに人に食って掛かるんだから泣けてくるねまったく。

189 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
ところでこれ何時CM入るんだ?
いいかげんトイレ行きたいんだが

190 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
泣けばいいじゃん
そのまま死ねよ

191 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>184
デバッガがあるんだから、そう言うことをする手段があることぐらい想像もできない奴は、とっとと立ち去った方が恥かかなくていいぞ

192 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
出っ歯がなんだって?
いや、両方いい加減にしようぜ

193 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
仲裁役気取りか?いい加減に消えてくれねえ?ウゼエんだよお前

194 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
ワル気取りよりよっぽどましだが

195 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
マシなだけなら存在価値はやはりマイナスなのでご退場あそばせ

196 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
.net製のオブジェクトの状態を知りたい場合にデバッガがどう役に立つの?

197 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>196
>>183

198 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
どう役に立つのか聞いてんだよ低能

199 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
低能に頭下げないと分からないようなド低能は脳髄豚に食わせて死ね

200 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
分からないならレスしないでください。うざいだけです

201 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>199
空気脳は引っ込んでろ

202 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
空気未満の真空脳は寝込んどけ
目覚ますな

203 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>196
CLRにはデバッグAPIというのがあって、それを使えば上で動いてるアプリの
変数やオブジェクトの状態などを取得したり変更したりできるんだよ
C++を使ってCLRをホストして使うんだけど、VSのデバッガはそれによって実装されてる

204 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
この子供みたいな煽りあい・・・

205 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>203
(´・∀・`)ヘー

206 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
んじゃ、識者のみなさんは>>172に適切なレスをしてあげてくださいね。

207 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>206
>>177

>>203
それはデバッガの実装法であって、デバッガのメリットじゃない

208 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
デバッグAPIを使えば実行中のCLRのメモリを読み取れるって言ってんのに
デバッガのメリットじゃないってお前は一体何を言ってるのw

209 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>202
未満w
頭悪すぎるだろ

210 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
短芝
夏だな

211 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
このスレは年中こんな感じだが?

212 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
デバッガや、それようのAPIを使うことが妥当かどうかって話があるんだが
まあ、そのへんは元質問者のやりたい事がイマイチ分からんから何とも言えん

213 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>198
デバッガ使ったことあればそんな質問はしない。

214 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
「デバッガ」って単語は20年ぐらい前はよくきいたけど、今は全然使わないな

215 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
デバッガばっか

216 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
C♯100行未満の初心者です

DirectXで描画されるゲームから映像の取得
映像と同期のとれたオーディオの取得
H264エンコードできるDLLとその使い方

以上3点のサンプルページへ誘導願います

217 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
ggrks

218 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
ggrks

219 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
1000行書いたらまたおいで

220 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
>>216
> C♯100行未満の初心者です
既に心が汚い

221 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
心が汚いからC#を使うんだよ
つまり君らは

222 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
汚れちまつた 哀しみに

223 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
>>216
DirectXで描画されるゲームから映像の取得 -> Alt+PrintScreen
映像と同期のとれたオーディオの取得    -> ラジカセ
H264エンコードできるDLLとその使い方  -> Encoder 2

224 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
>>222
中原忠也か

225 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
ポエマーきもっ

226 :デフォルトの名無しさん:2013/08/01(木) NY:AN:NY.AN
>>222
男塾かとオモタ

227 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
exceptionかせthrowされたらcatchしてmessageboxをshowしてretryがreturnされたらもういちどtryをやりなおすには?

228 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
while( true )
{
 try
 {
  Nanika();
  break;
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry != MessageBox.Show(...) )
  {
   break;
  }
 }
}

229 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
while( true )
{
 try
 {
  Nanika();
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry == MessageBox.Show(...) )
  {
   continue;
  }
 }
 break;
}

230 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
goto

231 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
できた

232 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
ぼくにも

233 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
  Func<bool> job = () =>
  {
    try
    {
      // DoSomething();
      return true;
    }
    catch (Exception) {}
    return false;
  };
  while (!job() &&
    MessageBox.Show("hoge", "hoge", MessageBoxButtons.RetryCancel) == DialogResult.Retry) ;

234 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
start:
 try
 {
  Nanika();
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry == MessageBox.Show(...) )
  {
   goto start;
  }
 }

235 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
>>234
そういう場合は普通にぶら下がりで書いて

236 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
c#で作ったクラスをcomで公開したいのだがうまく行かない
gacutilで登録する時に登録成功と出るのに/lオプションで確かめると登録したはずのものが出てこない
成功した言うたのに無いってなんでやねん

237 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
その登録するところだけを残した状態のをどっかに晒してみるとか。

238 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
・管理者権限(実行できてるならこれはないか)
・64bit/32bitの違い
・バージョン違い

ここらへんかいな

239 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
form側をx86にしたからCOMもx86だけ登録すればいいだろ、と思ったら動かなくてはまったことあるな

240 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
使うのはgacutilじゃなくてregasmなんだが

241 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
だな

242 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
すまん
gacutil /l xxx.dll
でやってた
拡張子いらないのね…

243 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
devexpressでテーブルに関連付けた小テーブルに対して
そのなかの1列にボタンを追加したんですが
ボタンの押下した際にその行の情報が取得できなくて困ってます
どうやって取得できるかどなたか教えて下さい。

244 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
>>243
>devexpress
そんなもん使ってる奴いねーだろ

245 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
リモーティングについて教えてください。

現在プロセス間通信でリモーティングのIPCチャネルをつかっているのですが、
クライアントからサーバーオブジェクトのメソッドを呼ばれるたびにハンドルが
増えていきます。何をしているのかと言うと、クライアントは「生きている」という
メソッドを指定間隔ごとに送るだけです。なにが原因でハンドルリークしているのでしょうか?
ちなみに250から開始して600程度までハンドルが上がると300まで落ちました。

public class RemoteTrance : MarshalByRefObject, ISendToken
{
internal event Action<bool> ReceivedTokenEvent;

public override object InitializeLifetimeService()
{
return null;
}

[OneWay]
public void SendToken(bool isAlive)
{
if (ReceivedTokenEvent != null)
{
ReceivedTokenEvent(isAlive);
}
}
}

246 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
VS2008のC#でCEアプリを作ることになりました。
.Net Compact Framework 2.0ってのを使って開発するそうなんですが
どやって.Net Compact Framework 2.0のプロジェクト作ればいいのか
分らなくて困っています。
新規作成でWindowsフォームアプリ選んでもフレームワークの
選択のところには普通の.Net Framework 2.0、3.0、3.5しかなく作れません。

ネット調べてみたんですが、2008ではできるとは書いてあるんですが
具体的な作成方法はなく、通常のWindowsフォームアプリではなく、
Compactアプリを選んでプロジェクトを作成する様に書いているのもチラっと
見たんですが、新規作成をしてもそういったプロジェクトが選べません。(ありません)

情報お願いいたします。

247 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
リークじゃなくてキャッシュしてくれてるだけじゃないの

248 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>246
プロフェッショナル版を買わないと

249 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
ggrks
.Net Compact Framework プロジェクト作成

250 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
どうせSDKはいってねええええええんだろおおおおおお

251 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>246
プロジェクト作るところに「スマートデバイス」って無い?

252 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
もしかしたらこれかも?

[WM][Windows] スマートデバイスプロジェクトの作成に失敗するAdd Star
http://d.hatena.ne.jp/gust_notch/20090515/p3

253 :246:2013/08/12(月) NY:AN:NY.AN
プロジェクト作成でスマートデバイスってのが無いので困ってました。
調べたところ当方のVS2008スタンダードエディションでした。
プロフェッショナル以上じゃないとそれが無いのですね。

いろいろググったつもりだったんですがググり方が下手でした。
すみません。

254 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
一旦SJISエンコードされて文字化けた文字列を元のUTF8に戻す方法はないだろうか
具体的にはSevenZipSharpでMacZipを解凍したい

255 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
SevenZipSharpは詳しくないけどファイル名のエンコーディング指定できないの?
DotNetZipだとAlternativeEncodingとかあるけど

256 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
自動でUTF8からSJISにされたなら、手動でSJISからUTF8に変換すればいけそうなものだが?

257 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
そもそもバケてるって言ってるから、実際どうなってんのか予測できないんだよな

258 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
文字化けてるってのは2種類あるからな
まったくデタラメのデータに変わってるってのと、単にエンコードが違って表示化けしてるだけ
これは後者だろ?前者だったら無理

259 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>255
色々ググってみたんだが7zで圧縮するときには直接オプションで指定できるものの
解凍時のエンコスイッチが7z.DLLにそもそもないっぽい

>>256
C#のstringとしてしかファイル名渡ってこないんで、UTF8->SJISで化けたものが
更に何らかの変換経てるらしくstringを一旦byte[]にして再変換かけてもより化けるだけだった

260 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>259
その何らかの変換を特定しろよ。使われてるエンコードなんて何種類しかないんだから。
C#のstringはunicodeだからUTF8->SJIS->Unicode変換されてるのかな、そうならその逆をすればいいし。

261 :254:2013/08/12(月) NY:AN:NY.AN
あ、何らかのとは言ったけどC#の内部表現確かUnicodeだよな
だからUTF8->SJIS->UCS-2と変換されてることになるのか

262 :254:2013/08/12(月) NY:AN:NY.AN
今実験して惜しいところまでは行った ただ一部文字が化ける
確認できている化ける文字は'」'、'の'、'〜'
他は上手く行っているぽい

263 :254:2013/08/12(月) NY:AN:NY.AN
あれこれ試してみたがこりゃダメっぽい
大人しくSevenZipSharp以外の方策考えてみる
レスくれた皆ありがとう

264 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
」は0x300Dだからリターン0x0Dとして扱われてるんじゃない?

265 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
〜はウェーブダッシュ問題だろねー

266 :254:2013/08/12(月) NY:AN:NY.AN
最後の悪あがきで元のファイル名調べたらとんでもないこと発見
Unicode合成文字が平気であった(ちゃんと?文字化けしていた さっきは見逃してたぽい)
やはり再変換ではどうもならん模様

267 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
そりゃそだぜ

そもそも写像先で元データの情報が保存されてたら
文字化け起こさないで変換できるってことになるからなぁ
shiftJisとUTF-8と、異なる文字コードが存在している意味がないもんな

268 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>258
これ言い分けらんないのかな

269 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>245
サーバーアクティベーションを使ってるならその動作で正しいよ
この場合基本シングルコールモデルだから
リモートオブジェクトが状態をもったらいけない

270 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
.NET 4.5 C# VS2012DEです
フォームのことです
ループさせるために自作コードから自作フォームのWndProc関数を呼び出したいのですが
肝心のウィンドウズメッセージをどうやって取得したらいいのかさっぱりわかりません
単純に調べて出て来ないのは代用出来る関数があるからというのはわかっています
どうしたらいいでしょうか
Win32api辺りを使わなければならないのでしょうか

271 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
意味が分からん
自分でメッセージループ書いてるってこと?
ならGetMessageやらDispatchMessageやら色々Win32API使うが

もしかしてApplication.DoEventsじゃないだろうな

272 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>ループさせるために
ループは素直にループで書いて下さい。

273 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>>270
自分で作ったフォームを表示したいのか、例えばボタンダウンのようなメッセージ処理を入れたいのかさっぱりわからない
何をしたいのかはっきりさせてぐぐれ

274 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
言葉が足りませんでしたすいやせん
Application.Run相当の処理を自作したいんです

275 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
じゃあ>>271の前半だ

276 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
わかりました
>>271を手かがりに組んでみます

277 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
.NET1.1時代の
object返すコレクションとか邪魔なんだが

AyyayList単体とかなら使わなければ住む話だが
フォームの部品に〜Collectionてな感じで入り込んでるやつ

278 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>>277
何か勘違いしてるな

279 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
その辺は全部型付きコレクションだろ
IEnumerableのことを言ってるのか

280 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
IEnumerable<T>じゃないのでむかつくというのならハゲしく同意だが

281 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
何のためにApplication.Run相当を作りたいんだろう。C++ならわかるけどC#で・・・

282 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
Form.WndProcのoverrideで解決しそうな予感

283 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>>281
何か勘違いしてるんでしょ。
彼が筋が悪い人なのは質問文にも表れてる。

なぜかダメな人は自分が思いついた手段に固執するんだよね。
それが不適切だったり自分の勘違いだったりする可能性は想定してないらしい。
手段じゃなく目的を言えと誘導してくれてる人もいたのに。

284 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
んで、ダメな人に失敗の経験をさせることもなく本来の回答にも答えないと
このスレの意義ってなんだっけ

285 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
回答者の自己顕示欲を満たす
質問者は(運が良ければ)回答を貰える

286 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
質問がわからなきゃ答えようがない

287 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
え、結局ウィンドウズメッセージどうやったら取得出来るの
→は?どういう組み方してんだよお前(聞かれてない)
→………とりあえずApplication.Run相当を作りたいんで(何故?)
→Win32api使え(正しい回答)
→既に終わったことに対し、その後に>>283が気取ってレス

組み方なんて人それぞれだろ
DoEventsじゃ駄目だったりするかもしれない
ただWndProcを直接呼び出して何するのかよくわからんが

288 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>287
終わったことにぐだぐだ言うぐらいなら、サンプルソース作ってやれよ

289 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
ゲームループの実装例が参考になるかもね

290 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>289
実装例はよ

291 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
検索ワードは
PeekMessage Application.Idle
辺りか

292 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
Application.Run相当ということは、別スレッドで新しいメッセージループを開始したいということじゃないのか?

スレッド起こしてそっちでApplication.Runすればいいだけだが

293 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
GCのせいでデストラクタがまともに機能しなくて
そのふざけた挙動に合わせるためにC++/CLIにまで
ファイナライザなるものを導入する羽目になって

294 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
などと供述しており

295 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
その前にデストラクタに頼らないコーディングにしろよ・・・

296 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
C++CLIはもともとまともに使える代物ではないで
あくまでグルー言語

297 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
C#でHttpWebRequest使って2chにPOSTで書き込むと
日本語が文字化けします
C#内のstringの文字コードはutf-8で統一されてるのかな?
HttpUtility.UrlEncode使ってURLエンコードしても文字化けします
何か対処法ありませんか

298 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
stringは2バイトユニコード。自分で変換しないとだめ

299 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>298
回答ありがとうございます
ということはutf-16ですか?
流れとしてはstringをbyte配列に変換してからshift-jisに変換して
最後にURLエンコードすればいいのでしょうか・・?

300 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>299
2chがsjisならそんな流れ。URLエンコードはPOSTならいらないんじゃない?

301 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
知ってる単語をただ並べるだけじゃなくて、よく考えろよw

302 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
Hey! Hey!

303 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>300
できました!!ありがとうございます
おっしゃるとおりURLエンコードいりませんでした

304 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
ラムダを使うとき、イベントハンドラ削除しないと
メモリ開放されないの?

305 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
日本語でok

306 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
http://ch.cri-mw.co.jp/hirase/55337.html
これ読んだ時、ラムダもデタッチ必要なのか疑問がわいた

307 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
俺はデタッチしてるな。しなきゃいけないかは知らん

308 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
イベント発行元のライフサイクルがイベントハンドラーより長い場合は必要。
Application.Idleのようなstaticイベントの場合がそうだな。
Button.Clickみたいのは寿命がコンテナのformといっしょだから不要。

あと弱参照イベントなるものもあるので調べてみるといいよ。

309 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
src.Sink -= listener.src_Sink;を追加してメモリ量を見てみたが
メモリが増えてしまった
http://www.sourcepod.com/pktxbt52-19825

C#だと完全にメモリ解放は無理なのか

310 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
完全に・メモリ・開放

頭痛がするからどっか消えてくんねえ?

311 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
イベントハンドラの削除はイベントの発行元が握ってる参照を外すだけで、
メモリを回収するわけではないからなぁ。
メモリ回収はあくまでもGCの仕事。
同じような勘違いにDisposeでメモリが減らないというのがあるな。

312 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
rxの入門サイトよんで勉強してんだけど
いまいち利点というか、どういうとき使うのか分からん

具体的には、どんな時に使うと便利なの?

313 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
>>312
asyncによっていらない子になった
もともと関数型かぶれのための玩具みたいなもんで、
読みづらくなるから使わなくていいよ

314 :デフォルトの名無しさん:2013/08/19(月) NY:AN:NY.AN
複数のイベントを制御するのはasyncじゃやりづらくてRxが得意とするところだが
Rxは構文に無理がありすぎるのでちょっとな
本当に需要があるならそのうちC#に自然な形で取り込まれると思うよ

315 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
asyncも勉強してみたけどイマイチ利点が分からん
TaskとContinueWithじゃダメなの?

316 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
>>315
ContinueWithでループ書いてみな

317 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
yieldの利点がわからん
GetEnumeraterじゃダメなの?
と同レベルにはダメだな

318 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
要領が悪いというかなんと言うか

319 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
新技術はリリースされないうちは追いかけないことに決めた

320 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
俺は普及するまで使わない

321 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
string.format("{0:##-##}", 1234)→12-34 OK
string.format("{0:##-##}", "abcd")→abcd NG

なんでやねん
数値だけって不便すぎだろ

322 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
はぁ

323 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN


324 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
マジで出来ないのか

325 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
そういやVB6やVBAには Format("abcd", "@@-@@")って書き方があったけど
Microsoft.VisualBasicのFormatでもサポートしてないな。
余分で不要な機能とされたんじゃね?

326 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
正規表現でグループ化&検証してから再フォーマットしろってことだ

327 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
string.Format("{1}{2}-{3}{4}", "abcd".ToCharArray())

328 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
それは思いつかなかったw

329 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
参考にさせてもらいます

330 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
ちょっと変な質問があります。

あるクラスのあるメソッドを、文章で示すとき、Javaだと、
List#add();
のように クラス名#メソッド名 で書く習慣があります。

C# だとどうするのが一般的なのでしょうか?

331 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
List.add();   static好きな人
List::add();   Cから来た人

332 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
MSDNはList.add()

333 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
Javaがあんなんなのは、javadocとかの制限のせいだっけ?

334 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
>>332これだな
Javaなんかどうでもいいよ
Docと言えば、XMLDocumentの<code />を作るためにサンプルコードに///を簡単に入れる方法ってない?
ただのコメントアウトだったらCtrl+K+Cでできるけど///の方法がわからん

335 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
>>333
UMLじゃね?

336 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
>>334
スニペットならとおもったけど毎行処理の方法が分からなかった。

337 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
ReSharperとかにありそうだが
Alt+ドラッグで行頭選択して挿入で行こう

338 :330:2013/08/27(火) NY:AN:NY.AN
みなさんレスありがとうございます。
>>332 をよくみるので、 List.add() で行くことにします。

339 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
HttpClientで同時接続数を制限したいのだけどうまい方法無いかな
出来れば↓みたいな感じでTaskは返すけどまだリクエストはまだしないようにしたい
public static Task<HttpResponseMessage> addRequest(...)

340 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
TaskCompletionSourceでごりごり実装

341 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
ありがとう、まさにそのクラスが必要でした

342 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
質問があります
delegate void testfunction(int b)
に function(int a, int b)
みたいな関数を渡すときに、先にaだけ渡しておいて
コールバック先からbだけもらうみたいなやり方ってできますか?

343 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
そりゃできるけど
new testfunction(b => function(3, b));

344 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
マイフレーム呼ぶ Update() 関数の最初の一回だけ Update() ではなく UpdateInit() を呼び台のですが、
IsUpdateCalledみたいな追加のメンバー変数などを追加できません
クラスの外からメソッドが呼ばれたかどうか、もしくは一回だけメソッドを横取りするような処理はどう書けばいいでしょうか

345 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
変数、関数追加せずに判別したいっていうなら、
馬鹿っぽいけどファイルやレジストリに値書き込んでチェックしたら?

346 :344:2013/08/28(水) NY:AN:NY.AN
>>345
余計アホ臭いのでNG

347 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
C#には関数内static変数がないので不可能ですと言っておけ

348 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
ソースが見れればほかの方法も見つかるかもしれないが、これだけの情報じゃ>>345だろw

349 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
マイフレームというのがそもそも俺用語っぽいしな

350 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
ヨーガフレイムなら知ってるけどマイフレームなんて知りません。

351 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
5秒ぐらい悩んだが毎フレームか

352 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
なるほど。よくわかったな

353 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
どっちにしろ、呼ぶ側でデリゲートでも使って挿げ替える方が簡単じゃないのかなと

354 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
SemaphoreSlimがシグナル状態になったときに
コールバック関数を呼ぶにはどのように書けば良いですか?

355 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
4.5ならWaitAsyncにContinueWith
4なら中でWaitするTask作ってContinueWithとか
それ以前ならThreadPool.RegisterWaitForSingleObjectとか

356 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
待たせておいてシグナルになったらコールバック呼べばいい
ttp://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx

357 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
>>355、356
WaitAsyncというのがあったのに気が付きませんでした。
Taskを使うのは初めてですが、やってみます。

SemaphoreSlim.AvailableWaitHandleを使うと、
シグナル状態にはなるが、カウントダウンしないとのことで
ThreadPool.RegisterWaitForSingleObjectに渡したときに
Waitと同じようにカウントダウンさせるにはどのように書けば良いですか?

358 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
WaitOrTimerCallbackの中で改めてWait
…面倒な上にWaitに失敗する可能性があるのか ナシだな

359 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
CancellationToken.IsCancellationRequestedを参照してスレッドをキャンセルする場合
Task.IsCanceledをTrueの状態で終わらせるにはどうしたらいいですか?
TaskのキャンセルにThrowIfCancellationRequested();は必須なのでしょうか?

var source = new CancellationTokenSource();
var token = source.Token;
Task t1 = Task.Factory.StartNew(() =>
{
    Thread.Sleep(500);
    source.Cancel(false);
});
Task t2 = Task.Factory.StartNew(() =>
{
    try
    {
        //token.ThrowIfCancellationRequested();
        if (token.IsCancellationRequested)
        {
            break;
        }
        Thread.Sleep(100);
    }
}, token);
Console.WriteLine(t2.IsCanceled);
// IsCancellationRequested 版だとRanToCompletion
// ThrowIfCancellationRequested() 版だとCanceled

360 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
Task.IsCanceledの解説読めよ

361 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
あそこ分かりにくいよな
なんで例外投げなきゃいけないのかとか

362 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
Cancelが呼び出されたがキャンセルする前に正常終了するケースがあるから仕方ない

363 :デフォルトの名無しさん:2013/09/01(日) 15:22:15.32
XMLパーサーって性能いいんだな
DataConstractSerializerのパースが独自のテキストフォーマットの1.5倍程度の遅延で済んでるわ

364 :デフォルトの名無しさん:2013/09/01(日) 15:25:40.16
XML遅い遅い教が火病起こすのでその話は中止!中止です!

365 :デフォルトの名無しさん:2013/09/01(日) 15:27:42.68
1.5倍が早いか遅いかはしらんが
それはXMLパーサが性能いいんじゃなくて、お前の独自テキストフォーマットの処理が遅いんじゃまいか

366 :デフォルトの名無しさん:2013/09/01(日) 15:53:29.61
行ベースの偽iniファイル風味のフォーマットだから遅くなりようがない
DataContractAttributeを使うことの生産性を見たかったがこれなら任せても良いレベル
ちなみにJSONはファイルサイズは独自フォーマットに迫るが
パースが遅いから通信コストを考慮しないケースだと無しだった

367 :デフォルトの名無しさん:2013/09/01(日) 15:56:36.36
あーこれは遅いini読み込みだ

368 :デフォルトの名無しさん:2013/09/01(日) 15:58:31.63
くだらん煽りだ

369 :デフォルトの名無しさん:2013/09/01(日) 16:02:32.59
だから中止しろと言ってるだろマヌケが

370 :デフォルトの名無しさん:2013/09/02(月) 19:42:54.75


371 :デフォルトの名無しさん:2013/09/03(火) 20:20:28.43
C#の寿命は後何年ぐらいだと思いますか?
どうせまたCOMみたいになるんでしょう?

372 :デフォルトの名無しさん:2013/09/03(火) 20:26:17.91
COMみたいということは当分は現役だと言うことだな 息の長いことだ

373 :デフォルトの名無しさん:2013/09/03(火) 20:35:55.45
ずっと安泰だな

374 :デフォルトの名無しさん:2013/09/03(火) 20:36:05.03
COMが終わる気配が無い

375 :デフォルトの名無しさん:2013/09/04(水) 01:30:51.82
教えて下さい
.net3.5がインストールされていないと中断する処理を追加したいと思います
その場合、.netがインストールされていないとその判定部分のすら動かないと思うのですが、どのようにプログラムを組めばよいでしょうか。
よろしくお願いします

376 :デフォルトの名無しさん:2013/09/04(水) 01:34:11.24
ネイティブで書いたりwshで書いたりすれば?

377 :デフォルトの名無しさん:2013/09/04(水) 02:57:00.97
MSI作ればいいじゃない

378 :デフォルトの名無しさん:2013/09/04(水) 03:48:22.30
マウスイベントを自アプリのウインドウの後ろにある別アプリに透過させるにはどうすればいいですか?

379 :デフォルトの名無しさん:2013/09/04(水) 07:06:26.08
自分の後ろにあるウィンドウを取得して拾ったイベントを
そのまま投げればいい

380 :デフォルトの名無しさん:2013/09/04(水) 07:29:34.61
いやそもそも拾わなければいい

381 :デフォルトの名無しさん:2013/09/04(水) 08:42:17.44
まるでトンチだな

382 :デフォルトの名無しさん:2013/09/04(水) 12:01:00.03
透明ウインドウだろ?気にしなくても透過

383 :デフォルトの名無しさん:2013/09/04(水) 12:44:06.67
テキストアドベンチャーを作ってみたく、
目パチアニメーションのために
EyeMというImageのコンテナを作って、下のようなコードを書いたのですが

EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\1.png"));
System.Threading.Thread.Sleep(500);
EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\2.png"));
System.Threading.Thread.Sleep(500);
EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\3.png"));
System.Threading.Thread.Sleep(500);

1.pngと3.pngしか表示されません
なぜ2.pngが表示されないのでしょうか?

おそらく簡単な理由なのでしょうが、
ググっても目パチアニメーションのサンプルが見当たらず

識者の方、よろしくお願いします

384 :デフォルトの名無しさん:2013/09/04(水) 12:45:57.16
systen.timer使え
sleep使うならスレッド立てろ

385 :デフォルトの名無しさん:2013/09/04(水) 12:48:15.42
>>378
非矩形の話かどうかはっきりしる

386 :デフォルトの名無しさん:2013/09/04(水) 12:52:25.51
画質とかにこだわらなければ動画gifで逃げるという手もw

387 :デフォルトの名無しさん:2013/09/04(水) 12:54:55.58
refreshしないからだ

388 :デフォルトの名無しさん:2013/09/04(水) 13:01:35.78
WPFみたいだから明示的にRefreshすることはないな
アニメーション使って切り替えるのが本来的なやり方
.NET4.5とかVS2012とかでその辺のベストプラクティスが変わってるかどうかは知らんが

389 :デフォルトの名無しさん:2013/09/04(水) 14:05:40.83
Storyboardだな

390 :デフォルトの名無しさん:2013/09/04(水) 19:51:11.11
C#でVB.NETみたいにWithEventsで宣言、メソッドにHandles追加みたいなの出来ない?
コード中でイベントハンドラ追加していくのなんか嫌なんですぅ。

391 :デフォルトの名無しさん:2013/09/04(水) 19:53:45.73
>>390
C#にその仕組はない。
でもインテリセンスでスタブが自動で作成されるからVBとほとんど同じ感覚で
コーディングできると思うけど

392 :デフォルトの名無しさん:2013/09/04(水) 19:58:13.69
開発環境は既に言語の一部であるという説、あるある

393 :デフォルトの名無しさん:2013/09/04(水) 20:18:26.36
むしろvb.netのアレ
ハンドラの追加がどのタイミングで行われるのかパッと見で分からないから
個人的にすごく気持ち悪い

394 :393:2013/09/04(水) 20:20:17.40
あ、待って
今なんかすごい勘違いしたレスをした気がする
ごめん>>393は忘れて

395 :デフォルトの名無しさん:2013/09/04(水) 20:39:11.85
.netのイベントの実態(デリゲート)を隠すvb.netのやり方は池沼向け

396 :デフォルトの名無しさん:2013/09/04(水) 20:50:24.80
C#だって通常はイベント用のデリゲートのバッキングフィールドは隠蔽されてるわけで
そこはあまり違わないと思うけどね。

C#はイベントを内部からはデリゲートに見せかけるアプローチを取ってるけど、
VBは旧VBからの流れでイベントはあくまでイベントという扱いになってるという違い

397 :デフォルトの名無しさん:2013/09/04(水) 20:54:21.37
VBは嫌いだが、VBのアレは宣言的でいいと思う
C#のイベントとデリゲートの関係は>>396が指摘してる変な構文糖衣のせいで非常にわかりにくい

398 :デフォルトの名無しさん:2013/09/04(水) 21:15:23.81
float s1 = 1.23f;
double d = s1;
float s2 = (float)d;

こういうことをした場合、s1とs2は1ビットも違わず同じ値になることは保証されますか?

399 :デフォルトの名無しさん:2013/09/04(水) 21:47:13.84
いいえ

400 :デフォルトの名無しさん:2013/09/04(水) 22:46:45.01
>>398
doubleもfloatも基数2の指数表現だから原理的にはfloat→double→floatで
情報が失われることはないはずだと思うんだけどね。

401 :デフォルトの名無しさん:2013/09/04(水) 22:50:04.69
実際に試してみて一個でも反例を見つければ>>400は撃破できる

402 :デフォルトの名無しさん:2013/09/04(水) 22:52:56.22
で見つかったのかよ。

403 :デフォルトの名無しさん:2013/09/04(水) 22:56:02.73
うへえ、CygwinのAPIってcdeclかよ
HGlobal使わないとまたAccessViolation出るな

404 :デフォルトの名無しさん:2013/09/04(水) 22:57:18.57
intを1ずつ増やしていってポインタ使ってfloatにキャストして…を2^32回試すだけだから
そんなに時間かからなそうだな

405 :デフォルトの名無しさん:2013/09/04(水) 22:58:08.99
それじゃ整数値しかわからないじゃん

406 :デフォルトの名無しさん:2013/09/04(水) 22:59:58.13
>>405
だからポインタ使ってfloatにキャストするって言ってるでしょ
ビット列をそのままfloatと読み替えるの

407 :デフォルトの名無しさん:2013/09/04(水) 23:00:38.36
>>399
同じじゃないの?
・floatとdoubleはIEEE 754に従う(4.1.6)
・float→doubleはロスなし(6.1.2)
・double→floatは最も近いfloat値に丸められる(6.2.1)
この言語仕様で、同じ値にならないケースが思いつかない

408 :デフォルトの名無しさん:2013/09/04(水) 23:07:48.51
[StructLayout(LayoutKind.Sequential)] struct I4R4 {
[FieldOffset(0)] public int I4; [FieldOffset(0)] public float R4; }
ビット列を読み替えるのはポインタを使う以外にも
確かこういう構造体(というか共用体)を使ってもいけたはず

409 :デフォルトの名無しさん:2013/09/04(水) 23:08:43.28
>>408
訂正 LayoutKind.Explicitの間違い

410 :デフォルトの名無しさん:2013/09/04(水) 23:09:52.07
BitConverterなんてのもあるよ

411 :デフォルトの名無しさん:2013/09/04(水) 23:21:48.15
もしかしたらマイナスゼロとか無限大、非正規化数あたりに何か潜んでいるかも

412 :デフォルトの名無しさん:2013/09/05(木) 05:13:41.17
>>407 循環小数

413 :デフォルトの名無しさん:2013/09/05(木) 05:41:32.26
なんかいっぱい有ったわ
2^32個中8388606個
合ってる?

414 :デフォルトの名無しさん:2013/09/05(木) 06:19:30.26
>>413
多分NaN同士の比較を考慮してないだけだ

415 :デフォルトの名無しさん:2013/09/05(木) 06:34:25.01
C++で同じ事やったらint全部通った

416 :デフォルトの名無しさん:2013/09/05(木) 07:03:34.47
>>413
個数要らんから、おかしい奴のビットパターン (s1, d, s2) 出してくれよ...

417 :デフォルトの名無しさん:2013/09/05(木) 07:06:14.25
試した
NaNの範囲内ではビットレベルで変化することがある
01111111100000000000000000000001

01111111110000000000000000000001
になったり

418 :デフォルトの名無しさん:2013/09/05(木) 07:16:35.31
じゃあ俺も一つ
11111111101111111111111111111111

11111111111111111111111111111111
になったり

419 :デフォルトの名無しさん:2013/09/05(木) 07:27:15.74
.NETは精度を維持するという目的ならdecimal使えってなってるんじゃなかったか

420 :デフォルトの名無しさん:2013/09/05(木) 07:55:18.79
>>419
それは土方にとっての10進数の精度な
decimalは表現できる範囲が狭い

421 :デフォルトの名無しさん:2013/09/05(木) 08:08:16.41
decimalってクソ遅いよ
誤差や有効数字を理解していないドカタのための機能

422 :デフォルトの名無しさん:2013/09/05(木) 08:24:06.09
>>421
そのドカタ以下の知識で語ってるのがバレてますよ。

423 :デフォルトの名無しさん:2013/09/05(木) 08:25:25.28
誤差や有効数字を理解しているから
decimalを使うんじゃないの?

まぁ今回のケースはdecimal関係ないから
どうでもいいけど

424 :デフォルトの名無しさん:2013/09/05(木) 08:47:53.04
一般人にとっての精度というのは
せいぜい電卓と同じ結果という程度だからいいんでない

ただ電卓とも微妙に違うんだよな

decimal num, rate, ans;
num = 3600000M;
rate = 0.3777777777777777777777777777M;
ans = num * rate;
Console.WriteLine(ans);

num = 3600000M;
rate = 0.37777777777777777777777777777M;
ans = num * rate;
Console.WriteLine(ans);

結果
1359999.9999999999999999999997
1360000.0000000000000000000001

425 :デフォルトの名無しさん:2013/09/05(木) 12:21:54.01
そんな細かい事を気にするなハゲるぞ

426 :デフォルトの名無しさん:2013/09/05(木) 16:07:03.12
これは剃ってんの!

427 :デフォルトの名無しさん:2013/09/05(木) 16:54:44.14
小数点は使用禁止にしようぜ

428 :デフォルトの名無しさん:2013/09/05(木) 17:01:19.16
まじでそう思う。小数点発見したやつは万死に値する

429 :デフォルトの名無しさん:2013/09/05(木) 17:06:03.62
小数点無かったら、何割何分何厘とかの表記になるんか

430 :デフォルトの名無しさん:2013/09/05(木) 17:36:06.54
円周率は3でいいな

431 :デフォルトの名無しさん:2013/09/05(木) 17:36:41.40
>>424
有効桁数超えてるから仕方ない

432 :デフォルトの名無しさん:2013/09/05(木) 19:33:52.32
万死もなにも発見したやつは、もう死んでるだろう。

433 :デフォルトの名無しさん:2013/09/05(木) 23:35:50.02
固定小数点でおk

434 :デフォルトの名無しさん:2013/09/06(金) 01:01:29.96
>>432
だから、あと 9999回市ねっつーことだろ

435 :デフォルトの名無しさん:2013/09/06(金) 11:23:51.25
1つのパンを3人に分けなくてはならないときは
あとパンが2つ手に入るまで待てばよい。

436 :デフォルトの名無しさん:2013/09/06(金) 11:52:59.04
飢え意図

437 :デフォルトの名無しさん:2013/09/06(金) 20:36:20.23
一方ロシアでは分数を使った

438 :デフォルトの名無しさん:2013/09/06(金) 21:42:01.22
無理数どうするんだよ

439 :デフォルトの名無しさん:2013/09/06(金) 21:42:52.52
分数ならいけるな

440 :デフォルトの名無しさん:2013/09/07(土) 18:23:03.54
>>339見てちょっと試してみたんだけど
HttpClientって、ServicePoint.ConnectionLimitを無視してね?

441 :デフォルトの名無しさん:2013/09/07(土) 20:43:28.61
HttpClientとServicePointは何か関係があるのか?

442 :デフォルトの名無しさん:2013/09/07(土) 23:14:32.67
>>441
msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx
ドキュメントによると、HttpClientはデフォルトではHttpWebRequestを使う、ってある
で、HttpWebRequestは、ソケット通信にはServicePointの設定を使うはず
実際、同じくHttpWebRequestを使うWebClientでは、ServicePoint.ConnectionLimitの値が
(各ホストに対する)最大同時接続数として機能してた
だから、HttpClientでも当然そうだと思ってたんだけど

443 :442:2013/09/08(日) 00:36:40.97
すまん、解決した

ServicePointはHttpClientのインスタンス毎に管理されてるっぽい
同じインスタンスを使いまわしたら、同時接続数が
ちゃんとConnectionLimitの値に制限されることを確認した

444 :デフォルトの名無しさん:2013/09/08(日) 01:00:08.93
非同期で走らせたいときはtaskで同期HttpClient呼んだら
非同期なのかなぁ

445 :名無しでいいとも!@放送中は実況板で:2013/09/09(月) 00:27:58.56
チェックボックスをONにしたら自作クラスのインスタンス生成、
OFFしたら明示的に解放したい

Dispose()で解放すればいいっていうとこまでは分かったのだが
どこ調べてもDispose()をオーバーライドしてマネージメント/
アンマネージメントリソースの開放を行うとしか書いておらず
具体的にそのリソース解放処理のコードが書かれていない
どう書けばいいのですか?

446 :デフォルトの名無しさん:2013/09/09(月) 00:29:54.88
>>445
>Dispose()で解放
いいえ、違います

447 :デフォルトの名無しさん:2013/09/09(月) 00:38:01.92
メモリの開放はあくまでもGC

448 :名無しでいいとも!@放送中は実況板で:2013/09/09(月) 00:43:54.84
では明示的に開放したい場合はどうしたら?

449 :デフォルトの名無しさん:2013/09/09(月) 00:45:22.66
>>445
ガベージコレクションしってっか?
解放可能な状態にしとけばそいつが自動で解放するから。
解放可能な状態にするとはthis.hoge=nullでインスタンスへの参照を全てクリアする事。

450 :デフォルトの名無しさん:2013/09/09(月) 00:48:53.97
>>448
オブジェクトが参照されないようにして
System.GC.Collect()

451 :名無しでいいとも!@放送中は実況板で:2013/09/09(月) 00:48:54.46
そのガベージコレクションとやらが信用できないので明示的に開放したいのだが
null設定したタイミングでGCが解放してくれるのですか?

452 :デフォルトの名無しさん:2013/09/09(月) 00:50:57.02
そういう事なら>>450だけど普通やらないよ?

453 :デフォルトの名無しさん:2013/09/09(月) 00:53:51.53
Cでいうところのnew/deleteのdeleteに相当するものはないのがC#

454 :デフォルトの名無しさん:2013/09/09(月) 01:00:50.97
言語組み込みのGCを怪しむくらいかつかつにメモリを使うなら、
GCのない言語で自分でメモリ管理した方がいいんじゃね

無料のGCライブラリだってあるんだから、普段はそれ使って、
自分で管理したいとこだけmalloc/freeするとか

455 :名無しでいいとも!@放送中は実況板で:2013/09/09(月) 01:09:49.83
なんかモヤモヤしたのが残ってるけどありがとうございました

456 :デフォルトの名無しさん:2013/09/09(月) 01:31:12.73
モヤモヤが残ってるのは、たぶん解放っていう処理の具体的なイメージを理解せずに
VBer的に漠然と解放って言ってるからだと思うよ。

457 :デフォルトの名無しさん:2013/09/09(月) 01:34:16.10
VB6は参照カウンターによって
a=Nothing
で明示的に解放できたわけだが

458 :デフォルトの名無しさん:2013/09/09(月) 01:58:01.21
>>457
実際にそれで解放できるの?

459 :デフォルトの名無しさん:2013/09/09(月) 03:04:30.63
GCなんて洒落たものを積んでなければ
そこで解放するしかなかンべ

460 :デフォルトの名無しさん:2013/09/09(月) 10:45:47.06
VBでNothingの解放使ってたのは、
昔のVBAで一部のライブラリにバグがせいじゃなかったか

461 :デフォルトの名無しさん:2013/09/09(月) 11:04:48.64
COMオブジェクトの事なら明示的な解放になると思う

462 :デフォルトの名無しさん:2013/09/09(月) 12:17:51.59
classじゃなくてstructで作れよ
解放時に自前で全部初期化して

463 :デフォルトの名無しさん:2013/09/09(月) 12:51:45.58
フォームにファイルをドラッグして任意の処理をさせる為のシンプルなフレームワークを作ってみたんだけど、
何かリスクのある所はありませんか?(続く)

// 【嫌儲民用ファイル一括処理処理フレームワーク】
using System;using System.IO;using System.Windows.Forms;
partial class Form1{
private void kenmomen( string[] filenames ){
// ♪♪コピペゾーン♪♪
}
protected override void Dispose( bool disposing ){
base.Dispose( disposing );}
private void de( object sender, DragEventArgs e ){
if( e.Data.GetDataPresent( DataFormats.FileDrop ) )
e.Effect = DragDropEffects.Copy;
else e.Effect = DragDropEffects.None;}
private void dd( object sender, DragEventArgs e ){
string[] fns = (string[])e.Data.GetData( DataFormats.FileDrop, false );
if( fns.Length > 0 ) kenmomen( fns );}}
static class Program{
[STAThread]
static void Main(){
Application.EnableVisualStyles();Application.Run( new Form1() );}}
public partial class Form1 : Form{
public Form1(){
this.AllowDrop = true;this.DragDrop += new DragEventHandler( dd );
this.DragEnter += new DragEventHandler( de );}}

464 :デフォルトの名無しさん:2013/09/09(月) 12:53:15.67
ドラッグドロップされたらkenmomen( string[] )にファイル名の配列を渡して
// ♪♪コピペゾーン♪♪にコピペした動作をさせるフォームです。

運用としては、下記のようなコードを// ♪♪コピペゾーン♪♪のところにコピペしてもらい、kenmo.csのファイル名で保存、
コマンドプロンプトから"csc.exe kenmo.cs"を実行してexeにして使ってもらう。
みたいに考えています。

// D&Dされたファイル名をそのフォルダのkenmomentest.txtに出力する
// kenmomentest.txtは上書きされるので注意
string path = Path.GetDirectoryName( filenames[0] );
string ofn = path + @"\kenmomentest.txt";
if( filenames.Length > 0 && Directory.Exists( path ) )
{
using( StreamWriter w = new StreamWriter( ofn, false, System.Text.Encoding.GetEncoding( "Shift-Jis" ) ) )
{
foreach( string s in filenames )
w.Write( s + System.Environment.NewLine );
}
}

465 :デフォルトの名無しさん:2013/09/09(月) 12:58:24.78
こういう貼り方すると読みにくくてまったく見る気がしないから知らん
一つ挙げるならファイル名がshiftjisにない文字使ってたら出力テキストが化ける

466 :デフォルトの名無しさん:2013/09/09(月) 13:07:21.12
>>465
ファイル名かありがとう!

> こういう貼り方すると読みにくくてまったく見る気がしないから知らん
みんなVSの自動整形使ってるかと思ってたから変に手を入れなかったけど
次から整形して貼ります。

467 :デフォルトの名無しさん:2013/09/09(月) 13:13:48.01
>>466
コード載せる場合は>>4参照

468 :デフォルトの名無しさん:2013/09/09(月) 13:24:14.81
>>465
これは>>464のStreamWriterの引数encodingがS-JISだからだと理解しました。
間違っていたらすみませんが、再度ご指摘お願いします。

>>467
はい。

>>463はもちろん沢山の人に見て欲しいんだけど、整形して貼りなおすと却ってウザいよね?

469 :デフォルトの名無しさん:2013/09/09(月) 14:31:13.47
>>468
@ddでkenmomenのエラーハンドリングは不要?(一応、kenmomen.exeは動作を停止しました。は出るけど。)
AFile.WriteAllLines(path, filenames, Encoding.UTF8);を使うと楽。
Bメンテナンス性が低い。
 フレームワークとユーザーコードが分離されない為、バージョンアップが面倒。

普通ならこのフォームをDLLにして配布&kenmomenをオーバーライドさせるけど、
cscって事はVisualStudio持ってない人も対象にするの?
だったらコペペゾーンをexe,bat,vbs等、コピペ時のコマンドとして指定させる方が良いかな。

470 :デフォルトの名無しさん:2013/09/09(月) 15:35:47.56
GetData()ってnull返すことあったような気がするんだがどうだっけ
つうかそれとは関係なしにこうゆうのこそdelegateの出番だと思うのだが

471 :デフォルトの名無しさん:2013/09/09(月) 15:55:57.55
>>469,470
ありがとうございます。
ddメソッドでエラーが出るなんて想像もしていませんでした。
GetDataはnullを返すのでddが落ちる可能性がありました。

MSDN引いてもDragEventArgs.Data.GetData( string, bool )が例外をスローするのと、
DragEventArgs.DataがIDataObject Interfaceを持っていることしか見つけられませんでした。
deの最中にファイルを削除やネットワークの切断、親フォルダの権限で削除以外拒否拒否する程度では
例外発生しなかったのでとりあえず全部の例外握りつぶすしか思いつかなかった的な実装です。

&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;dd(&nbsp;object&nbsp;sender,&nbsp;DragEventArgs&nbsp;e&nbsp;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string[]&nbsp;fns&nbsp;=&nbsp;(string[])e.Data.GetData(&nbsp;DataFormats.FileDrop,&nbsp;false&nbsp;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;fns&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;fns.Length&nbsp;&gt;&nbsp;0&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kenmomen(&nbsp;fns&nbsp;);}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(&nbsp;Exception&nbsp;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}

行数減らす為に中括弧の置き方など気持ち悪いのはお許し下さい。

472 :デフォルトの名無しさん:2013/09/09(月) 15:58:55.24
さらに読みにくくなってワロタ

473 :471:2013/09/09(月) 16:00:58.89
コピペに失敗しました。
スレの皆さんすみません、後ほど落ち着いて再投稿します。

>>469
> @ddでkenmomenのエラーハンドリングは不要?(一応、kenmomen.exeは動作を停止しました。は出るけど。)
場数をこなしている方と入門者の差がよく分かりました。

> AFile.WriteAllLines(path, filenames, Encoding.UTF8);を使うと楽。
一行で書けるんですね。覚えました。

> Bメンテナンス性が低い。
> cscって事はVisualStudio持ってない人も対象にするの?
そうです。
アップローダー等を使わずにテキストベースでアプリを配布する方法として考えました。
> だったらコペペゾーンをexe,bat,vbs等、コピペ時のコマンドとして指定させる方が良いかな。
プログラム内からコマンドを実行させるという意味ですね。
その方が分かりやすいかもしれませんので、ちょっと試してみます。

474 :463:2013/09/09(月) 16:23:20.74
>>463の質問ですが、デリゲートを使っても20行程度に収まるようなら
大幅書き換えする可能性がありますので一旦質問を取り下げさせて下さい。

>>470
delegateを使えばテキストファイルにC#の命令を書いて実行させられるような気がしてきました。

>>472
すみません。
私もモニターの前で倒れそうになりました。

475 :デフォルトの名無しさん:2013/09/09(月) 16:32:55.70
テキストファイルをプラグインぽく使う場合はダイナミックなアセンブリがどうのこうのでかなりめんどかった記憶
C#4.0からはなんかその辺楽になる機構新設された気がするが気の所為かもしれない

476 :デフォルトの名無しさん:2013/09/09(月) 16:35:59.92
>>474
テキストじゃデリゲート無理だね。
メモ帳でコーディング難しいだろって思ったんだけどコピペゾーンはこっちから提供するの?

477 :デフォルトの名無しさん:2013/09/09(月) 16:40:00.07
>>475
テキストをアセンブリとして扱う方法kwsk
4.0で〜はMEFの事かな?

478 :デフォルトの名無しさん:2013/09/09(月) 16:54:08.63
CDandDFile dd = new CDandDFile();
dd.wndDDArea = this;
dd.DD += (sender, e) =>
{
 foreach(string strFile in e.liststrFiles)
 {
  if(IsPictureFile(strFile)
  {
   picturebox.Image = LoadImage(strFile);
   return;
  }
 }
};

例えばこんな感じで使えるようにクラス作っておけば提供形式はライブラリプロジェクトでもDLLでもcsファイルでも構わない

479 :デフォルトの名無しさん:2013/09/09(月) 17:06:52.41
ゴメンよく分からない

480 :デフォルトの名無しさん:2013/09/09(月) 17:13:14.04
>>478
こいつがやりたいのはD&Dしたファイルをほかのexeなんかに処理させたいってこと

バッチファイルでも済むレベルの話
ttp://inscrutable.seesaa.net/article/292718229.html

481 :デフォルトの名無しさん:2013/09/09(月) 17:17:22.95
>コマンドプロンプトから"csc.exe kenmo.cs"を実行してexeにして使ってもらう。
ってあるから違うだろ。csファイルをアセンブリとして扱うorビルドして実行するってのがしたいこと。

482 :デフォルトの名無しさん:2013/09/09(月) 17:24:49.09
確かにbatファイルへのドロップにしてコマンドライン引数からファイル一覧を得るのが素直なやり方だろうな。
batは好きじゃ無いけど。

483 :デフォルトの名無しさん:2013/09/09(月) 17:26:34.43
>>463を整形してみたけどフレームワークでも何でもないただのサンプルソースじゃん。
http://pastebin.com/05cbRLfz

484 :デフォルトの名無しさん:2013/09/09(月) 17:42:14.03
>>477
俺の曖昧な記憶ではCodeDomでアセンブリ作ってプラグインDLL作成
それを読ませる時に信頼がどうのこうのを軽減してくれるのがMEFだったかな
CodeDom自体がひっどい面倒だった記憶がある

485 :デフォルトの名無しさん:2013/09/09(月) 19:29:05.08
>>484
System.CodeDom.Compiler.CSharpCodeProvider.CompileAssemblyFromSource()
にソースコード文字列を与えて帰ってきたCompilerResult.CompiledAssemblyを
リフレクションで実行するだけなら簡単だよ

486 :デフォルトの名無しさん:2013/09/09(月) 19:42:09.24
>>484
CodeDomこんな感じでいいのか?
厳密名とか絡むと大変そうだね。
http://ideone.com/oXHjgm

>>474
Path.GetDirectoryName(filenames[0]);の部分、複数フォルダの可能性あるから注意。

487 :463:2013/09/09(月) 20:57:13.64
すみません、>>464のコードサンプルが悪すぎたのでご迷惑をおかけしました。
基本部分の書き換えをする前にご説明できる部分だけレスしておきます。

>>476
> メモ帳でコーディング難しいだろって思ったんだけどコピペゾーンはこっちから提供するの?
はい。
組める人が提供して、組めない人がコンパイルを想定しています。

>>478
> 例えばこんな感じで使えるようにクラス作っておけば提供形式はライブラリプロジェクトでもDLLでもcsファイルでも構わない
例えば基本部分を先にコンパイルしてもらって、実装はクラスライブラリとして別コンパイルという方法も考えたのですが、
やや煩雑で、提供される側が理解できない、万が一バージョンアップした場合に混乱すると考えました。

>>480,482
> バッチファイルでも済むレベルの話
wsfなら可能な感じではあります。
ファイル名の列挙に限らず、>>464のようなコードをいくつか公開して必要なexeを提供できたらと思っています。

>>483
正しい用語を使えなくて申し訳ありませんでした。
>>463のコードは共通で、kenmomenメソッドの書き換え部分だけレスすれば目的のexeが手に入る
そんな環境を整えたかったのです。

>>486
適当すぎました。反省しています。
とはいえ、複数フォルダに存在する複数ファイルのドラッグアンドドロップに興味はあります。
ショートカットのドラッグとかかなと見当をつけていますので、後で色々試して見ます。

488 :デフォルトの名無しさん:2013/09/09(月) 21:10:40.60
セキュリティ的にやりたくないなぁ
コード理解してないひとにコンパイルさせるんでしょ?
悪意のある人がレスすることは想定してるの?

489 :デフォルトの名無しさん:2013/09/09(月) 21:34:48.15
確かにセキュリティ的にはマズイね。

>>487
検索結果なら複数フォルダのファイルをドラッグ出来るよ。
今回は大丈夫だろうけど、実装(エクスプローラ)ではなく仕様に基づいて作る事を心掛けないと
相性問題と言われるバクを仕込んじゃったりする。

490 :デフォルトの名無しさん:2013/09/09(月) 23:47:18.61
俺は自由度が増していいと思うな
セキュリティなんて単語使うレベルの話じゃないよ。そんな心配だったら命令のホワイトリスト
作ってそれ以外が含まれてたらエラーにするとかそんな単純な方法でもいいし

どうせ普段の開発でもセキュリティを高めるようなコーディングなんてしてないし知らないだろ?
俺は数えるほどのケースしか知らないし、セキュリティ求められたら俺には出来ないって答える

491 :デフォルトの名無しさん:2013/09/10(火) 00:40:05.62
C#をスクリプトにするなんて作る側からしたら面倒なだけだろ
面倒だからってどうせVS使って書くんならdllで配布するのと変わらないし
自由度というならIronPythonやLuaでも組み込んだほうがよっぽどいい

492 :デフォルトの名無しさん:2013/09/10(火) 00:45:53.63
プラグインから他のライブラリを呼び出したい場合とかどうするんだよ
ネイティブコード使いたいときは?
管理も面倒だし、正直プラグイン書く側にとっても使う側にとってもデメリットしかないと思う

493 :デフォルトの名無しさん:2013/09/10(火) 00:48:43.79
2chのビューワーもスクリプト書けて便利だろ。ないよりあったほうがまし

494 :デフォルトの名無しさん:2013/09/10(火) 00:50:59.22
>>493
自分で書いてカスタマイズするのが目的なら俺ならスクリプト言語を組み込んでほしい
VSなしでC#とか悪夢

495 :デフォルトの名無しさん:2013/09/10(火) 01:54:16.73
VS使えよ

496 :デフォルトの名無しさん:2013/09/10(火) 02:32:15.43
要件が漠然としてるから最適解を探すならこれぐらいの情報がないと。
0概要
1フレームワークの作成者
2プラグインの作成者
3利用者
4アップローダーが使えない理由(テキストじゃなきゃいけない理由)
5プラグインのバリエーションと更新頻度
6フレームワークとプラグインの配布方法

497 :デフォルトの名無しさん:2013/09/10(火) 02:33:43.39
最適解探してないからどうでもいい

498 :デフォルトの名無しさん:2013/09/10(火) 03:39:21.22
>>496
朝方になってきたのでざっとしか書けませんが。
> 0概要
下記要件を満たす仕組みの構築実験。
・ファイルをドラッグアンドドロップする動作を起点に、C#で記述可能な処理を実行する
アプリケーションを2ちゃんねるの参加者に提供する。
・処理内容の検証が可能であること。
> 1フレームワークの作成者
私しかいないと思いますが、限定されません。
> 2プラグインの作成者
私しかいないと思いますが、限定されません。
> 3利用者
2ちゃんねる型掲示板でテキスト処理をしたい不特定多数の参加者です。
> 4アップローダーが使えない理由(テキストじゃなきゃいけない理由)
exeの処理内容の透明性、安全性が少しでも担保できればと思いました。
PerlやPythonは実行環境を整えるのがハードルになっている気がしました。
WSHやVBSは私が使えません。
> 5プラグインのバリエーションと更新頻度
バリエーションについては要望があれば随時提供、更新します。
今現在要望がある訳ではありません。
> 6フレームワークとプラグインの配布方法
適宜フレームワークを1レスで収まる形で書き込み。
プラグインを随時書き込み。
程度にしか考えていません。
雛形はできるだけ複数レスに分けたくないので行数を切り詰めます。

499 :463:2013/09/10(火) 03:41:05.32
>>469,470,483でのご指摘を反映した基本部分です。
http://ideone.com/http://pastebin.com/は私の環境が悪く利用できませんでした。
http://kawama.jp/php/encode_html.phpで変換した結果を貼り付ける能力は私にはないようです。

// 【嫌儲民用ファイル一括処理フレームワーク】
using System;
using System.IO;
using System.Windows.Forms;
partial class Form1
{
  // 汎用変数を3つ用意
  static object o1 = null;
  static object o2 = null;
  static object o3 = null;

  private void kenmomen( string[] filenames )
  {
    // ♪♪コピペゾーン♪♪
  }

  protected override void Dispose( bool disposing )
  {
    base.Dispose( disposing );
  }

500 :463:2013/09/10(火) 03:42:31.98
  private void Form1_DragEnter( object sender, DragEventArgs e )
  {
    if( e.Data.GetDataPresent( DataFormats.FileDrop ) )
    {
      e.Effect = DragDropEffects.Copy;
    }
    else
    {
      e.Effect = DragDropEffects.None;
    }
  }
  private void Form1_DragDrop( object sender, DragEventArgs e )
  {
    try
    {
      string[] fns = (string[])e.Data.GetData( DataFormats.FileDrop, false );
      if( fns != null && fns.Length > 0 )
      {
        kenmomen( fns );
      }
    }
    catch( Exception )
    {
      // ここでスローされる例外について分かるまで全て握りつぶす
    }
  }
}

501 :463:2013/09/10(火) 03:45:25.27
static class Program
{
  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run( new Form1() );
  }
}

public partial class Form1 : Form
{
  public Form1()
  {
    this.AllowDrop = true;
    this.DragDrop += new DragEventHandler( Form1_DragDrop );
    this.DragEnter += new DragEventHandler( Form1_DragEnter );
    // コンパイルエラーが出力されないための記述
    o1 = o2 = o3;
  }
}

♪♪コピペゾーン♪♪の行に下記のようなコードを上書きしてもらう運用を考えています。
batで書けないコードをさっと考えてみただけで、こちらについては別の機会に自力で吟味します。
    // ファイルをドラッグアンドドロップした回数を数える
    o1 = o1 == null || (int)o1 >= int.MaxValue ? 1 : (int)o1 + 1;
    MessageBox.Show( o1.ToString() );

1行目は>>483でのご指摘に対応して下記に差し替えるつもりが間違えて貼り付けました。
// 【嫌儲民用ファイル一括処理アプリ雛形】

502 :デフォルトの名無しさん:2013/09/10(火) 03:52:45.17
>>465,469,480,482,486
>>464のコードは、やりたい事の説明用に書いたもので今回の質問の対象ではありませんでした。
きちんと書かなかくて本当にすみませんでした。
もちろん、指摘して頂いた悪い書き方はいずれ犯す間違いでしたので非常に助かりました。

>>489
検索結果からのD&Dは全く想像できませんでした。
回答される方と質問している私のレベルの差がはっきり見えて感動しています。

>>488-490
確かにコードを貼る者の責任は重いです。
ですから雛形部分にリスクがあってはいけないのでここで質問させて頂きました。
処理の実装部分は、Cドライブをフォーマットする悪質なコピペと同程度の危険性では
ないかと思いますが、C#ならではの危険性もあるでしょうか。

503 :デフォルトの名無しさん:2013/09/10(火) 04:30:00.87
>>486
以前ソフトバンクの本片手にLuaとC++を連携させてみた事があるのですが
C#だとこんなに簡単に実装できるのですね。
CreateCompiler()は互換性の為に残されている状態らしいのですが、
代替記述が見つけらなかったのが心残りです。
ReferencedAssemblies.Addが不足している時にCompiledAssembly.GetTypeで例外が発生するのですが、
何が不足しているかCompilerResultsのプロパティから探すのが大変です。
そんな訳でまだまともに動かせていませんが、いつか色々遊んでみたいです。

>>497
ちゃんと説明しなかった私が悪いのでそうおっしゃらないで下さい。
特に>>463からリスキーな部分を減らしたい理由は丁寧に書くべきでした。

皆さん、ここまで連投すみませんでした。

504 :デフォルトの名無しさん:2013/09/10(火) 05:00:31.36
せっかく>>496作ってくれた人いるのに根本的に何も変わってないじゃん。実用性ゼロだよ
pastebin.comみたいな単純サービスすら使う能力ないならプログラミング諦めた方がいいと思うw

505 :デフォルトの名無しさん:2013/09/10(火) 05:01:02.58
>>486

506 :デフォルトの名無しさん:2013/09/10(火) 05:17:22.63
プラグインコードとフレームワークコードをダウンロード

VSか何かでビルドしてEXE作成

利用

こういう形になるのかな。確かに実用性ゼロ
素直にビルドしたツールをソース付きでうpできる形か、プラグインコードをうpしたら鯖が自動的にEXE作って提供する形にしろよ

507 :デフォルトの名無しさん:2013/09/10(火) 06:26:16.01
低能力者の浅知恵って感じ

508 :デフォルトの名無しさん:2013/09/10(火) 07:47:34.43
こういうの誰でも一度は考えるよなww気持ちはよくわかる
もしかしてすごいアイデアなんじゃないかという思いと、それを実現できる
面白そうな道具を見つけたことによって周りが見えなくなってるんだろう

509 :デフォルトの名無しさん:2013/09/10(火) 09:34:52.08
>>503
cc.CompileAssemblyFromSourceは
cscp.CompileAssemblyFromSourceでいけたわ。
だから警告出てる行は不要。

やっぱテキスト縛りが厳しいな。
Form1.kenmomenはvirtualにして派生クラスのソースを提供が無難かなぁ。
class プラグインはこんな感じ:Form1
{
protected override void kenmomen(string[] filenames)
{
処理
}
}
CodeDomは行数増えるからやっぱcscでいいと思う。
batにしておけば利用者の負担も軽そうだし。
スクリプトじゃ汎用変数が難しいし。

510 :デフォルトの名無しさん:2013/09/10(火) 12:07:08.60
>>504
まだ>>486のコードが咀嚼できていないので私がここでソースを出すには早いと判断しました。
初心者が身の程をわきまえず上級テクニックに手を出して延々質問するのは避けたいと思います。
私も興味はありますが、私ではなく>>477さん達向けの話題だと思っています。

>>506
こういう形です。
連投規制中だったので、他板で準備しておきました。
http://ikura.2ch.net/test/read.cgi/infosys/1367318453/165-169

> 素直にビルドしたツールをソース付きでうpできる形か、プラグインコードをうpしたら鯖が自動的にEXE作って提供する形にしろよ
実行する側だけではなく、提供する側も自衛手段を考えていいんじゃないかと。
exeで提供してしまうとexeとソースの同一性が不透明になるのと、
アルゴリズムだけではなく、実行ファイルの安全性も保証しないといけないのが重いですね。
例えば再拡散後のexeが汚染されていた場合、私がアップしたexeと汚染されたexeのバイナリの違いが
挙動の違いにつながることの証明を県警のおまわりさんに説明するのですら難しいと思います。
逆に私のマシンがウィルスに感染していたとしても、テキストでの提供であれば使う人への感染リスクは最小限に抑えられます。

>>507,508
そうですよね。
コンパイル処理をbatファイルで提供して説明の手間を減らしても、色々障害は山積みだと思います。
やるからには1つ位アプリの提供をしてみたいものです。

>>509
ありがとうございます、おっしゃる通り書き換えて警告が消えました。
CSharpCodeProviderを使う方法はparam.ReferencedAssemblies.Addを絞ることで
提供機能を絞る事ができるのも大きなメリットだと感じています。
CSCPを使うコードについてはまだまだ分からないことだらけですので、
失礼がないよう私はここから自習します。

511 :デフォルトの名無しさん:2013/09/10(火) 12:12:40.40
こりゃ手遅れな人だわ

512 :デフォルトの名無しさん:2013/09/10(火) 12:18:42.37
>>511
お目汚しすみませんでした。
私も499〜のコードに拘っている訳ではありませんので、
次の質問はこのスレにふさわしいスキルを身につけてからにします。
これでお許し下さい。

513 :デフォルトの名無しさん:2013/09/10(火) 12:31:14.91
vbscriptかjavascriptにやらせろよ・・・

514 :デフォルトの名無しさん:2013/09/10(火) 12:33:19.26
>param.ReferencedAssemblies.Addを絞ることで
提供機能を絞る事ができ・・・

ないよ、リフレクションあるから。

515 :デフォルトの名無しさん:2013/09/10(火) 12:39:56.22
巨大なVisualStudioインストールさせられてまで便利と思う嫌儲民がどれだけいるだろうか…
あっSharpDevelopなら小さいから解決だね!

516 :デフォルトの名無しさん:2013/09/10(火) 12:56:16.22
>>513
実際にに低能なのでvbscriptでは想定してる実装を組める気がしませんでした。

>>514
そうなんですね。
理解してない事を書き込んで本当にすみません。

>>515
いや、XP以降?OSに標準で入ってるコンパイラ使う想定です。

「伸びてると思ったら香ばしい奴が湧いてた」とか叩かれて辛い思いをするのは
確定しましたので、とりあえず
http://kohada.2ch.net/test/read.cgi/pcqa/1376457813/45
これのkenmomenメソッドに俄が見てもばれないような悪意のあるコードを
思いついたら教えて下さい。

それ以外はレスを付けませんが、読むたび頭を下げていると思って下さい。
親切にして頂いたみなさんもそうでないみなさんもお相手頂いてありがとうございました。

517 :デフォルトの名無しさん:2013/09/10(火) 13:19:12.96
VBS例。↓をテキストファイルに保存して拡張子vbsに。そのvbsにファイルをD&Dで実行

Option Explicit
Dim args, arg
Set args = WScript.Arguments
For Each arg In args
 Call kenmomen(arg)
Next

Sub kenmomen(filepath)
 コピペゾーン♪
End Sub

518 :デフォルトの名無しさん:2013/09/10(火) 13:23:36.71
つうかさ、そもそもプログラム書ける奴対象なんだろこれ?
それでなんで開発環境の一つもないのが前提なってんの?

519 :デフォルトの名無しさん:2013/09/10(火) 13:29:49.88
>アプリケーションを2ちゃんねるの参加者に提供する。
すべての人対象だろ

520 :デフォルトの名無しさん:2013/09/10(火) 14:14:58.00
すべての人がC#で書けたら俺ら失業だな(笑
つーかコピペゾーンで何させる気かしらんけど、
処理中核書ける奴ならその外側のフレームワーク()なんぞ5分で書けるわ
百歩譲ってスニペットとして提供されるなら使わんでもないか?

521 :デフォルトの名無しさん:2013/09/10(火) 14:24:54.69
どうせ2ch流出ファイルを見てて思いついたアイデアだろ

522 :デフォルトの名無しさん:2013/09/10(火) 19:37:31.76
ほっとけばいいのに

523 :デフォルトの名無しさん:2013/09/12(木) 18:38:15.67
あるクラスでしか使わないイベント引数クラスってそのクラススコープで定義する?
慣習とかあるのかな?

524 :デフォルトの名無しさん:2013/09/12(木) 20:04:49.10
そのほうが解りやすいから俺はそうしてる

525 :デフォルトの名無しさん:2013/09/12(木) 20:35:09.70
意味が分からん
クラススコープって普通はprivateのことだよ?
プライベートなイベントなんかわざわざ使うの?
クラス外から見えるイベントのイベント引数を内部クラスにするかどうかという意味なら、
クラスの外に出さないと規約違反だね

526 :デフォルトの名無しさん:2013/09/12(木) 20:54:29.88
>クラススコープって普通はprivateのことだよ?
意味が分からん

527 :デフォルトの名無しさん:2013/09/12(木) 20:55:31.15
あーこれは荒れますわ
自分が相手より少しでも大人だと思ったら黙ってね

528 :デフォルトの名無しさん:2013/09/12(木) 20:55:54.62
>>525
>クラスの外に出さないと規約違反だね
意味が分からん

529 :デフォルトの名無しさん:2013/09/12(木) 20:56:47.92
史上最低地上最強のゴミ虫を自負する俺なので続けます

530 :デフォルトの名無しさん:2013/09/12(木) 20:57:36.41
糞ワロタ。初心者スレでやれよ

531 :デフォルトの名無しさん:2013/09/12(木) 21:02:07.98
>>528
原則、内部クラスをクラスの外に見せるのは避けるべしという
MSのガイドラインがあるんだよ

532 :デフォルトの名無しさん:2013/09/12(木) 21:03:18.00
まあ守ってねえけどな

533 :デフォルトの名無しさん:2013/09/12(木) 21:18:34.39
>>531
そんなのあったんだ。どこにある?

534 :デフォルトの名無しさん:2013/09/12(木) 21:31:51.42
>>533
http://msdn.microsoft.com/en-us/library/ms182162.aspx

535 :デフォルトの名無しさん:2013/09/12(木) 21:49:58.23
そんなクラス.NetFrameworkにいっぱいあるけどなぁ

536 :デフォルトの名無しさん:2013/09/12(木) 21:51:53.55
原則なんておっさんの小言より守られないもんよ

537 :デフォルトの名無しさん:2013/09/12(木) 21:53:37.61
いっぱいはないと思うがw
Windows Formのコントロールの一部とか、1.0の頃に設計されたほんの一部のクラスだけじゃないの。

だいたい、ガイドラインにあろうがなかろうが、ネストされたクラスをpublicにするなんて
普通はやりたいと思わないよ

538 :デフォルトの名無しさん:2013/09/12(木) 21:53:42.54
>>534
確かにnamespaceで分けられてるな。。。

539 :デフォルトの名無しさん:2013/09/12(木) 22:14:12.42
>>537
System.Collections.GenericのIEnumerator<T>さんたちに謝れ

540 :デフォルトの名無しさん:2013/09/12(木) 22:22:51.36
>>539
それはむしろわかりにくくするのが目的だろ

541 :デフォルトの名無しさん:2013/09/12(木) 22:29:30.32
>>525
すっこんでろ。ぶっ飛ばされんうちにな

542 :デフォルトの名無しさん:2013/09/12(木) 22:30:05.70
分かりやすさという観点がいつ出てきたのかは知らんが、目的はforeachのパフォーマンス改善だ

543 :デフォルトの名無しさん:2013/09/12(木) 22:36:18.88
>>542
なんでこの文脈で列挙子に構造体使うそもそもの目的が出てくるんだよw
どう考えても型をネストしてる理由の話だろ

544 :デフォルトの名無しさん:2013/09/12(木) 22:36:19.25
パフォーマンスって何のことか分からんけど、
ネストした型を使うのはprivateメンバにアクセスさせるためなんだろうけど、
普通にinternal使うのではご不満だったのかね

545 :デフォルトの名無しさん:2013/09/12(木) 22:41:06.25
めっさ不満です

546 :デフォルトの名無しさん:2013/09/12(木) 22:52:51.95
>>544
些細な違反を避けるためにカプセル化を半分破るなんて本末転倒
ガイドラインでネストした型を見せるのを禁止してる理由は「わかりにくいから」であって、
列挙子の型はできれば隠したいものなんだからネストでいいでしょ
だいたい、列挙子に構造体使ってる理由からしてあまり理解されてないんだし
今更わかりにくいもクソもって感じ

547 :デフォルトの名無しさん:2013/09/12(木) 23:09:17.97
CA1034はコンストラクターかstaticメンバーを公開してる型だけ守ればいいと思う

548 :デフォルトの名無しさん:2013/09/13(金) 00:02:34.70
ガイドラインが見つからないから聞きたいのだけどComponentModel.Componentを継承したら取り敢えずやるべき事ってある?

549 :デフォルトの名無しさん:2013/09/13(金) 00:14:03.68
うがい手洗い

550 :デフォルトの名無しさん:2013/09/13(金) 06:21:13.42
>>548
コンストラクタは
Hoge();
Hoge(IContainer conainer); // container.Add(this);
の2つ。 ぐらいかな

551 :デフォルトの名無しさん:2013/09/13(金) 07:27:50.50
コンポーネントを作ったらEventsなどオーバーライド出来るものはすべて適切にオーバーライドしなければならない

552 :デフォルトの名無しさん:2013/09/13(金) 08:43:39.64
>>550
デザイナでどちらのコンストラクタが使われるかの基準教えて

553 :デフォルトの名無しさん:2013/09/13(金) 09:12:52.46
(IContainer)があればそっちつかう
なかったら()使う

554 :デフォルトの名無しさん:2013/09/13(金) 19:43:13.57
つかわざわざcomponentにする意味がわからん
デザイナとか柔軟性ないから使わないしコード書くなら同じだし

555 :デフォルトの名無しさん:2013/09/13(金) 19:55:13.27
・・・

556 :デフォルトの名無しさん:2013/09/13(金) 20:00:46.67
・・・・

557 :デフォルトの名無しさん:2013/09/13(金) 20:07:20.90
・・・・・

558 :デフォルトの名無しさん:2013/09/13(金) 20:13:09.40
・・・・・・

559 :デフォルトの名無しさん:2013/09/13(金) 20:41:18.02
・・・・・・・使えよ

560 :デフォルトの名無しさん:2013/09/13(金) 20:45:04.84
・・・ −−− ・・・

561 :デフォルトの名無しさん:2013/09/13(金) 20:51:32.47
アプリの設定ウィンドウをデザイナが重たいからデザイナなしで作ってたことがあったけど
タブ化してコントロールが増えたらやっぱりギブアップしたよ

デザイナは重いし慎重にコントロールを配置しないとバグったりするけど
部品の位置とか手計算してらんないよな

実行環境のDPIが変わったりすると配置が崩壊するのは何とかしてほしい

562 :デフォルトの名無しさん:2013/09/13(金) 20:52:29.48
後輩「>>554さん、>>554さんの画面で修正が必要なんですけど・・・」
>>554「何?」
後輩「ボタン位置の変更です」
>>554「ったく、最近の奴はUIの作り方すら知らねぇんだから」
(ゴソゴソ)
>>554「これ使えよ つControl移動ツール」
>>554「親が変わる場合はここにチェックをいれて(ry」

563 :デフォルトの名無しさん:2013/09/13(金) 21:09:38.66
>>562
ツール使うなw

564 :デフォルトの名無しさん:2013/09/13(金) 21:11:44.15
デザイナで、最初にボタンをポトペタすると
高確率でサイズがすごく小さくなるのは俺だけかな?

565 :デフォルトの名無しさん:2013/09/13(金) 21:15:42.85
だろうな
あとフォーム選択してフォント変えた時に全体的に大きくなるのは俺だけかな?

566 :デフォルトの名無しさん:2013/09/13(金) 21:20:02.34
>>564
手が震えてるだけ

>>565
Form.AutoScaleModeのデフォルトがFont

567 :デフォルトの名無しさん:2013/09/13(金) 21:25:26.60
ゲームみたいなカッコ良いUIを簡単に作れるデザイナ&リソースを販売したら売れる?

568 :デフォルトの名無しさん:2013/09/13(金) 21:33:11.25
品質と値段による

569 :デフォルトの名無しさん:2013/09/13(金) 21:33:48.16
グレープシティとかいくらでもあるじゃん。売れるけど信用が無いと厳しいよ。
使う側としても何かあれば共倒れになっちゃうから。

570 :デフォルトの名無しさん:2013/09/13(金) 21:43:01.94
君の特定のアプリ内でうまく動くものを作るのは難しくなくても
誰がどんなアプリで使ってもうまく動くものを作るのはとんでもなく手間がかかるんだよ

571 :デフォルトの名無しさん:2013/09/13(金) 21:56:52.17
んなこたーない
正しく作れば正しく動く。それだけ

572 :デフォルトの名無しさん:2013/09/13(金) 22:06:22.72
零細企業の怪しいコンポーネントなんて使おうと思っても調達が許可しない

573 :デフォルトの名無しさん:2013/09/13(金) 22:10:44.81
>>571
それだけが難しい

574 :デフォルトの名無しさん:2013/09/13(金) 23:05:07.94
俺はまともに動くUI自作できない。ある程度割り切って作ってる
フォントサイズ、色盲向け設定、色数・・・考えることが多すぎるんだよ

575 :デフォルトの名無しさん:2013/09/13(金) 23:12:43.66
一行目と二行目の内容に関連が無いようだが

576 :デフォルトの名無しさん:2013/09/13(金) 23:51:13.72
完璧なコントロールを作るのは大変だよ。
レイアウト関係のプロパティにはローカライズに対応する為の属性付ける必要があるし、
デザイナ用の拡張機能も色々あるし、
変更イベントもちゃんとXXXChangedって名前にしないと後でDataBindingで使えないとか言われるし。

577 :デフォルトの名無しさん:2013/09/14(土) 00:44:08.01
UIは作っても少ししたら時代遅れになる
使い捨てと割り切り手を抜くのが正解

578 :デフォルトの名無しさん:2013/09/14(土) 08:55:04.91
何をもって正しいとするかが場合によって変わるから

579 :デフォルトの名無しさん:2013/09/14(土) 21:56:53.32
Windowsのシステムカラー変えたりdpi変えたら大惨事ってあるよねえ
でもwinのシステムの使いづらさのせいもあると思うんだけどな、スケーラビリティとか

580 :デフォルトの名無しさん:2013/09/14(土) 22:12:37.96
>dpi変えたら大惨事
いえ、まっとうなプログラムでそれは無いです

581 :デフォルトの名無しさん:2013/09/14(土) 22:16:30.70
オーナードローとかでまっとうなプログラムを書くのが難しいって意味だろjk

582 :デフォルトの名無しさん:2013/09/14(土) 22:54:26.21
スケーリングはフレームワークが自動でやってくれるのに難しいも糞もあるか。
知らねえのに適当なこと言うな

583 :デフォルトの名無しさん:2013/09/14(土) 23:23:20.24
そうだねー(棒

584 :デフォルトの名無しさん:2013/09/14(土) 23:40:18.31
>>582
おまえが書いたら悲惨なことになるな(断言)

585 :デフォルトの名無しさん:2013/09/14(土) 23:46:24.92
しかし、頭が悪い奴ってのは自分が馬鹿だってことすら分からないんだな。

586 :デフォルトの名無しさん:2013/09/14(土) 23:54:33.16
そりゃ、馬鹿を自覚できる人は最初から相応に振る舞うからなぁ。

587 :デフォルトの名無しさん:2013/09/15(日) 00:03:55.42
>>582 == >>585 == >>586 == 初心者スレの>>70
おそろしいほどの基地外なので、UIの話はもうここで終わりにしましょう

588 :デフォルトの名無しさん:2013/09/15(日) 00:12:32.16
そうです、わたすがアスペ脳です、まで読んだ。

589 :デフォルトの名無しさん:2013/09/15(日) 00:45:24.89
これが 2ch 脳か。w

590 :デフォルトの名無しさん:2013/09/15(日) 10:30:00.27
俺は小学生のうちにプラトンを学ばせるべきだと思うんだよ
無知の知って謙虚な日本人の気質を守り伝えるために最適な哲学だよ
それをやらなかったから日本では馬鹿なゆとりが大発生してしまった

591 :デフォルトの名無しさん:2013/09/15(日) 11:33:07.39
もうButtonにイメージ貼るのやめよ

592 :デフォルトの名無しさん:2013/09/15(日) 12:50:17.20
あれ、ここ大喜利スレ?

593 :デフォルトの名無しさん:2013/09/15(日) 15:10:03.78
いちいちボタンデザインすんのか
面倒臭いからすべてテキストにしてる

594 :デフォルトの名無しさん:2013/09/15(日) 15:19:33.77
ボタンは生産性わるい
キーボードショートカットがよい

595 :デフォルトの名無しさん:2013/09/15(日) 15:45:26.29
最近オプション設定にOKボタン設けないUI増えてるよね
あれ慣れないわ

596 :デフォルトの名無しさん:2013/09/15(日) 15:50:24.82
OKボタンがないというよりキャンセルが出来ない設定画面でしょ。
あれはあれでいいよ。

従来のWindowsのキャンセルが利く設定画面は、メリットのわりに
作る側(このスレはそういう人のためのスレだと思うが)の負担が大きすぎる。

597 :デフォルトの名無しさん:2013/09/15(日) 15:52:41.52
キャンセルボタンってthis.Close()じゃダメなの?

598 :デフォルトの名無しさん:2013/09/15(日) 15:53:06.22
>>596
動的に反映させなきゃいけないから面倒だぞ
でないと✕ボタンでダイアログ閉じたら設定終了なんて非直感的極まりないUIになる

599 :デフォルトの名無しさん:2013/09/15(日) 15:57:31.11
どう考えてもOKボタンで一括更新のがパターン少なくて楽だろ
ビューとモデルの間に1オブジェクト挟まない人なのか?

600 :デフォルトの名無しさん:2013/09/15(日) 15:58:03.02
>>595はスマホとかWin8アプリみたいに一画面で遷移するタイプならいいが
ダイアログとは相性悪いと思うわ
Macだとダイアログベースで>>595が普通だけど、アプリの作りによってはそのせいですげえ不自然に感じる

601 :デフォルトの名無しさん:2013/09/15(日) 16:01:54.01
使う側としては見ながら調整したいからリアルタイム設定のが好き

602 :デフォルトの名無しさん:2013/09/15(日) 16:17:54.32
やっぱやーめたって時に
キャンセル(無かった事にする)と前と同じ設定に変更するのでは気持ち的に違うな
特にダイアログだとXボタンの扱いが曖昧になるね

603 :デフォルトの名無しさん:2013/09/15(日) 16:28:57.61
項目が完全に独立している場合は
即反映でいいんだけど、
そうでない場合は「確定」操作という
クッションが無いとイラっとするんだよなあ

604 :デフォルトの名無しさん:2013/09/15(日) 16:42:27.80
テレビゲームのUIはそれが普通だった気がする

605 :デフォルトの名無しさん:2013/09/15(日) 17:51:20.82
>>599
そう少なくともWindows FormではVMみたいのは挟まない人。

キャンセルを可能にするためには、モデルのプロパティだけを集めた別のオブジェクトを
いちいち作らなくちゃならないが、これが面倒。
そこに値の検証の問題が入ってくると尚更のこと。

キャンセルの機能が必須じゃなければ、今時のモバイルのUIみたいにUIで入力された値を
ダイレクトにモデルに反映させる方が手間が少ない。

606 :デフォルトの名無しさん:2013/09/15(日) 18:19:41.03
シリアライズ対応した設定保存用のオブジェクト用意して、それにICloneableつけとくだけで
簡単にキャンセルできるの作れるのに、そうしたがらない人は多いな

607 :デフォルトの名無しさん:2013/09/15(日) 19:02:31.17
>>606
だってICloneableって非推奨だもん

608 :デフォルトの名無しさん:2013/09/15(日) 19:12:42.19
キャンセルがどうこうより、設定が即時反映されるのかどうかだろ
OK押すまで反映されないなら、入力内容は無かったこと(キャンセル)にされるのでキャンセルボタン意味あるけど
即時反映される場合は、入力した段階で反映されてるわけで、キャンセルとか有り得ないから、元に戻すなりデフォルトに戻すなりが必要なだけ

609 :デフォルトの名無しさん:2013/09/15(日) 19:26:35.96
通常はOKボタンで反映保存。
プレビューチェックボックスをONにしたら、即反映されるけど保存はOKボタン押したときでキャンセル可能にとかあるだろ。
反映させるのが必要かどうか、操作性をどうするかが問題。
明らかにキャンセルあったほうがべんりなのにそれを用意しないやつは論外。

610 :デフォルトの名無しさん:2013/09/15(日) 20:30:45.29
すごく。平行線です。。

611 :デフォルトの名無しさん:2013/09/15(日) 20:31:53.44
もともと収束点を決めて話をしてないからな
飲み屋でおっさん数名が喋ってるのと変わらん

612 :デフォルトの名無しさん:2013/09/15(日) 20:38:00.01
>>606
>ICloneableつけとくだけで簡単にキャンセルできるの作れるのに

技術的に簡単かどうかはどうでもよくて
どうしてヘンテコな使い方をするんだ
他人が見たら何だこの糞はと思うだろ

613 :デフォルトの名無しさん:2013/09/15(日) 20:42:59.30
ICloneableなんかつけないけど設定オブジェクトをクローンしてダイアログで弄るのは常套手段

614 :デフォルトの名無しさん:2013/09/15(日) 20:53:48.39
そろそろ鬱陶しいから閉店しろ

615 :デフォルトの名無しさん:2013/09/15(日) 21:32:04.82
閉店ガラガラ

616 :デフォルトの名無しさん:2013/09/15(日) 22:27:16.35
次どこ行く?

617 :デフォルトの名無しさん:2013/09/15(日) 22:39:14.79
つぎはPython行く

618 :デフォルトの名無しさん:2013/09/15(日) 22:40:55.35
Cに帰る

619 :デフォルトの名無しさん:2013/09/16(月) 06:24:24.08
帰れソレントヘ

620 :デフォルトの名無しさん:2013/09/16(月) 07:02:50.03
オーそれ見よ

621 :デフォルトの名無しさん:2013/09/16(月) 07:19:40.72
リアルタイム派は複数が関連する設定項目はどう作ってるんだ?
一発決定派ならパラメータおかしいってメッセージ出すだけやん?

622 :デフォルトの名無しさん:2013/09/16(月) 07:24:06.82
どこかに入力エラーがありますがどこかは教えませんってフォーム見ると作成者を数日拷問の後惨殺したくなるよな

623 :デフォルトの名無しさん:2013/09/16(月) 07:46:20.86
あるある

624 :デフォルトの名無しさん:2013/09/16(月) 12:45:33.04
>>622
あと、色々入力させてから、最初の方の項目にエラーがありますとか...

625 :デフォルトの名無しさん:2013/09/16(月) 13:20:32.88
住所で使う数字を全角限定にするってのも何?半角を勝手に全角に変換すりゃいいだろ

626 :デフォルトの名無しさん:2013/09/16(月) 13:31:09.00
あと「適用」ボタンも、変更してないときは無効化しろとか。
うっさいわ
変更したかどうかくらい自分で覚えとけ
怪しかったらキャンセルしてもいっかい設定し直せ

627 :デフォルトの名無しさん:2013/09/16(月) 13:36:56.96
無効化しろよ。おまえみたいなのは作る資格なし

628 :デフォルトの名無しさん:2013/09/16(月) 13:39:34.80
うっさいわ

629 :デフォルトの名無しさん:2013/09/16(月) 13:44:58.37
UIの話にずれてきてるから言っておきたい
徐々に進みが遅くなるプログレスバーを作る奴は世界中のせっかちに殴られて死ね

630 :デフォルトの名無しさん:2013/09/16(月) 14:09:35.84
最近プログレスバー使ってないな

631 :デフォルトの名無しさん:2013/09/16(月) 18:11:00.76
>>624 で、再入力させられるが、キャッシュされてなく
フォーム内全リセットされてて空欄になってるとか
webのお問い合わせフォームでやられるとムカっとくる。
あと、テキスト書いて送信したら、セッションが切れました
時間切れですとか。

632 :デフォルトの名無しさん:2013/09/16(月) 18:45:31.67
>>629
なにその緑色の赤ちゃん

633 :デフォルトの名無しさん:2013/09/18(水) 08:40:59.70
Open/SaveFileDialogを表示中のスレッドAに、
別のスレッドBから終了指示をだして、
スレッドAを終了させるにはどうしたらいいですか?

スレッドBから
BeginInvoke(delegate{Appication.ExitThread();})や
Abortしても終了してくれません。
Abortを呼び出したスレッドBも止まってしまいます。

634 :デフォルトの名無しさん:2013/09/18(水) 08:43:51.43
>>633
コモンダイアログを他から勝手に閉じないでください

635 :デフォルトの名無しさん:2013/09/18(水) 09:09:19.19
>>633
>>634の言う通り、ダイアログ上でファイルの整理とかするのでやめてほしい。

636 :デフォルトの名無しさん:2013/09/18(水) 10:04:24.17
ダイアログウィンドウにWM_CLOSE投げろよ
でもそういうことさせないように正規の方法じゃウィンドウハンドルとれないようになってるんだな

637 :デフォルトの名無しさん:2013/09/19(木) 23:24:31.68
HTML5の研修受けてきたけど
業務用アプリはもう.net終わるんじゃないかな

638 :デフォルトの名無しさん:2013/09/19(木) 23:45:46.25
html5てデバッグやテスト簡単に出来るの?

639 :デフォルトの名無しさん:2013/09/20(金) 00:01:28.80
クライアントアプリ自体終わりだよ
少なくともMSはそう考えてサーバーの方に注力してる
.NETはいずれサーバーだけになる

640 :デフォルトの名無しさん:2013/09/20(金) 00:03:20.34
何年遅れのWeb2.0論だよそれw

641 :デフォルトの名無しさん:2013/09/20(金) 00:07:06.51
といっても実際Azureとか無茶苦茶伸びてるし
現在のMSはクライアント技術としては.NETよりもHTML5を推してるのも事実だし
WinFormsもWPFもほぼ開発終わってるけどASP.NET(MVC)は活発に強化され続けてるし

642 :デフォルトの名無しさん:2013/09/20(金) 00:36:05.80
しかし、大局を見誤り続けるのはMSの伝統芸だからなぁ
なんか末期のSunを見てるみたい

643 :デフォルトの名無しさん:2013/09/20(金) 00:44:40.91
クラウディアさん可愛いよね

644 :デフォルトの名無しさん:2013/09/20(金) 00:53:56.35
>>642
AzureはGoogle抜いたよ

645 :デフォルトの名無しさん:2013/09/20(金) 01:00:39.32
GAEはいい線行ってたがPaaSの中では失敗作だったな
IaaS+SaaSな構成のが扱いやすそうだ

646 :デフォルトの名無しさん:2013/09/20(金) 08:35:47.93
サーバーサイドへの移行は今後も止まらないと思うが
クラウドはそろそろ限界が見える気がするな
セキュリティ上の懸念を払拭できないから何でもクラウドにはでけへんし

647 :デフォルトの名無しさん:2013/09/20(金) 10:55:02.97
C#2010+.NET4+Win7です

struct Test
{
private readonly int _Value;
public Test(int value)
{
this._Value = value;
}
}

void fund()
{
var aaa = new Test(1); // 1
aaa = new Test(2); //2
}

上記コードでTest._Valueはreadonlyのため2でエラーとなるのではないかと
考えていたのですが_Valueが変更されてしまいます。
構造体でのreadonlyはあまり意味がないのでしょうか?

648 :デフォルトの名無しさん:2013/09/20(金) 11:18:56.89
>>647
1と2って全く同じだから、当たり前かと。

649 :デフォルトの名無しさん:2013/09/20(金) 11:52:47.57
>>648
違いはないのですか。
structは値型とのことで1の場合は インスタンス生成時、2の場合はインスタンスメンバの
上書時と考えていました。
C++っぽく考えていたので違和感がありました。

650 :デフォルトの名無しさん:2013/09/20(金) 11:53:25.88
_Valueが変更されてるんじゃなくてaaaそのものが変更されてるんだからreadonly関係ない
structがclassでも同じこと

651 :デフォルトの名無しさん:2013/09/20(金) 13:27:11.92
>>647
new Test(1)で生成されたオブジェクトとnew Test(2);のオブジェクトは全く別物だから
_value自体が2つ独立で生成されます
だから_valueに値が入るのは1回だけだからエラーは起こりません

652 :デフォルトの名無しさん:2013/09/20(金) 13:39:05.32
これで試してみなよ
struct Test
{
private readonly int _Value;
public Test(int value)
{
this._Value = value;
}
public void SetValue(int value)
{
this._Value = value;
}
}

void fund()
{
var aaa = new Test(1); // 1
aaa.SetValue(2); //2
}

653 :デフォルトの名無しさん:2013/09/20(金) 13:41:48.74
static指定できるのかな?できるならそれでも

654 :デフォルトの名無しさん:2013/09/20(金) 14:47:21.24
>>649
C++でも全く同じだってば。

655 :647:2013/09/20(金) 17:14:48.20
C++2010で試しました。
イメージではこんな感じでした。

struct Test
{
private:
 const int m_Value;
public:
 Test( int value )
  : m_Value( value )
 {
 }
};

void func()
{
 Test aaa = Test( 1 ); //又は Test aaa( 1 );
 aaa = Test( 2 ); //コンパイルエラー
}

>>647がclassであれば納得できたのですが・・・。
言語が違うのでそういうものだと理解しておきます。
みなさんありがとうございました。

656 :デフォルトの名無しさん:2013/09/20(金) 17:22:57.68
>>655
それはエラーの意味が違わないかい

同等のコードにするならこうだろ?
Test *aaa = new Test( 1 );
aaa = new Test( 2 );

657 :デフォルトの名無しさん:2013/09/20(金) 17:29:56.60
>>655
それやってることがC#のと全然違う

void func()
{
 Test* aaa = new Test( 1 ); //又は Test aaa( 1 );
 aaa = new Test( 2 ); //コンパイルエラーにならない
}

658 :647:2013/09/20(金) 18:26:47.93
>>656,657
>>647はclassではなくstructなのであえて>>655のように書きました。

659 :デフォルトの名無しさん:2013/09/20(金) 18:30:32.06
>>658
そうするとコピーになるからw

660 :デフォルトの名無しさん:2013/09/20(金) 20:28:33.25
なんか良くわからんがstaticなクラス作れば良いんじゃねえのか
C++の話はよそでやってくれ

661 :デフォルトの名無しさん:2013/09/20(金) 20:33:29.55
>>655
試してなくて申し訳ないけど、これなんでエラーになるの?

662 :デフォルトの名無しさん:2013/09/20(金) 20:33:51.88
ポインタが分かってないとこういうことになるっていう例

663 :デフォルトの名無しさん:2013/09/20(金) 20:49:50.18
C#では値型の代入は、IL上ではOpCodes.Ldloc/ OpCodes.Stlocで
値型丸ごとをスタックにつんで丸ごとポップする
要するに途中にreadonlyがあろうが丸ごとコピーなわけです

ところがC++にはコピーコンストラクタとか代入演算子のオーバーロードとか、
さらにそれらがデフォルトで定義されてたり、恐ろしげな仕様が盛りだくさんなわけで

その際にデフォルトの代入演算子がメンバーを1つずつコピーしようとして
途中にconstがあるので代入できないと怒られるわけです

664 :デフォルトの名無しさん:2013/09/25(水) 22:59:24.05
スレチかもしれないが、質問。

Win8 64bit .Net4.5

こんなフォームを常駐させていたが気が付いたら消えてた、何故?
ControlBox = false;
Cursor = Hand;
FormBorderStyle = FixedToolWindow;
Opacity = 0.2D;
ShowIcon = false;
ShowInTaskbar = false;
TopMost = true;

1クリックでタスクバーを表示するツールです。
(ブラウザ全画面で使ってるとこういうの無いと使いづらい)

OSの休止を何度か繰り返すとフォームが消えます。
WndProcで記録してたウィンドウメッセージの最後はこれ。
msg=0xc2cf hwnd=0x20630 wparam=0x0 lparam=0x0 result=0x0

消えた状態でもSendMessageには反応しました。
なのでVisualStudioからアタッチし、this.Refreshで無事フォームが復活しました。
描画されていなかっただけですが理由が気になります。

665 :デフォルトの名無しさん:2013/09/25(水) 23:23:17.93
システム側のバグじゃない?
Opacity = 0.2D;
TopMost = true;

このあたり絡むと謎の挙動多いよね。
っていうか、常時全面のウィンドウじゃなくて、オーバーラップするフォームを
Ownerにした方がいいと思うんだけど。

まあ、workaroundが分かってるなら問題ないじゃん

666 :デフォルトの名無しさん:2013/09/25(水) 23:50:07.56
「システム」という言葉を
その範囲が不明瞭なまま乱用する人の言うことを
信用してはならない

667 :デフォルトの名無しさん:2013/09/25(水) 23:53:29.16
>>666
いやいや君が文脈を読めないお馬鹿さんなだけ。
君英語苦手でしょ?w

668 :デフォルトの名無しさん:2013/09/26(木) 00:06:41.61
ありがとうございます。
確かに不安定なところもありますよね、細々と検証を続けて行こうと思います。

669 :デフォルトの名無しさん:2013/09/26(木) 01:08:44.88
666の言っていることが的を射ている件について

670 :デフォルトの名無しさん:2013/09/26(木) 01:14:06.88
うん、文脈から切り離して語彙を語ることに意味があると思うのは馬鹿の証拠、
という意味ではね。

671 :デフォルトの名無しさん:2013/09/26(木) 01:14:46.14
自演?

672 :デフォルトの名無しさん:2013/09/26(木) 01:22:52.37
そういや、アスペルガー症候群の症状の1つが文脈や状況を把握する能力の欠如だったなw

673 : ◆QZaw55cn4c :2013/09/26(木) 03:38:48.62
文脈依存文法の言語なんて使い道があるのか?

674 :デフォルトの名無しさん:2013/09/26(木) 04:32:41.87
典型的な(ry

675 :デフォルトの名無しさん:2013/09/26(木) 04:49:33.67
>>672-674
ワロタ

676 :デフォルトの名無しさん:2013/09/26(木) 13:40:05.29
>>655
システム=なんか知らんけど偉い人が作った自分のアプリ以外の何か
謎の挙動=理由も再現方法も分かんないけど調べる気もない不思議な現象

677 :デフォルトの名無しさん:2013/09/27(金) 14:24:56.17
>>673
perlに謝れ

678 :デフォルトの名無しさん:2013/09/27(金) 18:49:44.37
>>677
どうしてPerlが出てくる?
C#自体が分脈依存の構文だろ

679 :デフォルトの名無しさん:2013/09/27(金) 19:02:02.00
C#にはperlのあれはない。

680 :デフォルトの名無しさん:2013/09/27(金) 19:37:19.55
日本語自体が文脈に依存するだろ

681 :デフォルトの名無しさん:2013/09/27(金) 19:48:07.30
アスペかどうかは知らんが、この一連のレスに加わってる奴の頭が残念なのは疑いようがない

682 :デフォルトの名無しさん:2013/09/27(金) 19:56:58.06
アスペというおまえがアスペなのは疑いようがない。

おまえ以外はみなコンテキストが分っているのだから。

683 :デフォルトの名無しさん:2013/09/27(金) 20:20:13.48
アスペの意味が分からない奴がアスペといっても説得力に欠けるなw

684 :デフォルトの名無しさん:2013/09/27(金) 20:29:08.16
いろんなスレですぐアスペ、アスペいう人がいるけど、間違いなく本人がアスペだと思う。

685 :デフォルトの名無しさん:2013/09/27(金) 20:48:17.18
ここまで全員

686 :デフォルトの名無しさん:2013/09/27(金) 21:01:36.31
私はアスペではない、ADHDだ

687 :デフォルトの名無しさん:2013/09/27(金) 21:30:40.19
>>684
http://okwave.jp/qa/q3558168.html

そんなの精神科医にしか診察できんわボケ
素人が病名当てれたら精神科医のおまんま食い上げ

688 :デフォルトの名無しさん:2013/09/27(金) 21:34:57.60
などと意味不明なことを言っており精神錯乱状態であるとのこと。

689 :デフォルトの名無しさん:2013/09/27(金) 21:38:21.42
金曜だからお前ら疲れてるんだなそうだな

690 :デフォルトの名無しさん:2013/09/27(金) 21:38:21.97
精神科医じゃなくたってわかるわ
ここには基地外しかいない

691 :デフォルトの名無しさん:2013/09/27(金) 21:57:28.61
>>679
あれって何だよ。あれって。

692 :デフォルトの名無しさん:2013/09/27(金) 22:05:00.20
お察しください

693 :デフォルトの名無しさん:2013/09/27(金) 22:17:41.26
perlのあれってあれのことだよ。というかあれしかないだろ。

694 :デフォルトの名無しさん:2013/09/27(金) 22:22:20.29
マトモに説明できない荒らしなら出てくるなよ低脳

695 :デフォルトの名無しさん:2013/09/27(金) 22:28:59.84
また初心者スレの>>70が自演してるな

696 :デフォルトの名無しさん:2013/09/27(金) 22:30:54.49
perlを知ってればアレで通じるんだが。いわゆる$_のこと。

697 :デフォルトの名無しさん:2013/09/27(金) 22:34:32.66
まさかC#に分脈依存な文法が無いとでも思ってる?
分脈依存の一例でしかない $_ がどうして
ここで出てくるのか不思議なのだけれど

698 :デフォルトの名無しさん:2013/09/27(金) 22:40:57.40
あるならさっさと言えばよい。すぐ言わないのはアスペ。

699 :デフォルトの名無しさん:2013/09/27(金) 22:50:52.26
引くことを知らない大人子供ばかり

700 :デフォルトの名無しさん:2013/09/27(金) 23:04:23.43
C#は文脈依存のキーワードが多いよ

701 :デフォルトの名無しさん:2013/09/27(金) 23:29:29.38
文脈どころかキーワードと同名の型が定義されているかどうかで
キーワードになるか型名になるかが決まったりするからな
dynamicなんかがそう
互換性を重視した結果、実はとんでもなく複雑な言語になっている

702 :デフォルトの名無しさん:2013/09/28(土) 00:24:07.68
dynamic ダイクマ

703 :デフォルトの名無しさん:2013/09/28(土) 01:21:52.77
懐かしいな

704 :デフォルトの名無しさん:2013/09/28(土) 02:16:11.73
結局C#って使い道がなくなったな

705 :デフォルトの名無しさん:2013/09/28(土) 03:34:03.06
DictionaryにAddしたオブジェクトを取り出して、値を書き換えてるんですけど変わらない事ってありますか?

コードで言うと、こんな感じです。
自分の理解では★の行はいらないと思ってるんですが。。

Dictionary<string, MyClass> mydic = new Dictionary<string, MyClass>();
MyClass s = new MyClass();
s.kakaku= "100円";
mydic.Add("りんご", s);

MyClass s2 = mydic["りんご"];
s2.kakaku="200円";

mydic["りんご"] = s2; ★これ要る?MyClassの実装によっては、これが無いと次の出力の時に反映されない?

foreach (KeyValuePair<string, MyClass> x in mydic)
{
MyClass mc = x.Value;
Console.Write(mc.kakaku);
}

706 :デフォルトの名無しさん:2013/09/28(土) 03:51:51.06
>>705
classと思っていたらstructだったとか

707 :デフォルトの名無しさん:2013/09/28(土) 04:06:19.91
>>706
ありがとうございます!それでした!!
ドンぴしゃでした!!!

708 :デフォルトの名無しさん:2013/09/28(土) 08:33:32.34
>>704
業務ではJavaに次ぐ地位だしWebでも延び続けてるしゲーム開発のデファクトスタンダードになりつつあるし

709 :デフォルトの名無しさん:2013/09/28(土) 09:22:25.44
COMで苦しめられたからマイクロソフトは信用出来ない

710 :デフォルトの名無しさん:2013/09/28(土) 09:32:49.90
設計者は元ボーランドの、Turbo PascalとかDelphiの開発者だけどな。

711 :デフォルトの名無しさん:2013/09/28(土) 09:34:26.95
今でもCOMやし。

712 :デフォルトの名無しさん:2013/09/28(土) 12:26:08.58
COMで何を苦しんだの?

713 :デフォルトの名無しさん:2013/09/28(土) 12:29:24.24
COMだいすき

714 :デフォルトの名無しさん:2013/09/28(土) 12:36:38.18
concon

715 :デフォルトの名無しさん:2013/09/28(土) 12:46:34.29
>>712
エラーコードがわけわかめな奴が結構あって、デバッグがやりづらかったな。
COM を実装する立場になると、しょうがない面もあるのはわかったけど。
エラー詳細の取得とか、もう少しデバッグがらみのインターフェースを充実して欲しかったな。

716 :デフォルトの名無しさん:2013/09/28(土) 12:54:49.97
COM最大の失敗は検索しにくいところ

717 :デフォルトの名無しさん:2013/09/28(土) 13:19:32.17
.NETもたいがい
C#も昔はそうだった

718 :デフォルトの名無しさん:2013/09/28(土) 13:26:31.91
Goの悪口はやめるんだ

719 :デフォルトの名無しさん:2013/09/28(土) 13:27:48.77
COM前出のOLEの頃に関連のMCPとか取ったけど
今のC#のCOMって別の物に見える。
MTA, STAもなんか省略前の名前が変わってるし、
QueryInterfaceとかレジストリのCLDIDとかまだ生きてるのかな?

720 :デフォルトの名無しさん:2013/09/28(土) 14:04:46.92
おうバッチリ生きてるぜ

721 :デフォルトの名無しさん:2013/09/28(土) 15:42:58.74
どっこい生きてるシャツの中

722 :デフォルトの名無しさん:2013/09/28(土) 17:32:49.46
Mac版Xamarin Studioが超絶バージョンアップ!C言語やD言語、F言語にも対応!Visual Studio不要に
http://engawa.2ch.net/test/read.cgi/poverty/1380351550/

723 :デフォルトの名無しさん:2013/09/28(土) 17:40:18.67
コピペマン参上!まで読んだ。

724 :デフォルトの名無しさん:2013/09/28(土) 17:43:27.71
マカーしね

725 :デフォルトの名無しさん:2013/09/28(土) 18:11:06.68
COMってGUIDはかぶらないよっていう前提に立っているけど
もしかぶったらやばいな。

726 :デフォルトの名無しさん:2013/09/28(土) 18:13:53.84
激しくデジャブーな話題だな。
っていうか宇宙全体の原子の数以上の組み合わせのものが一致する確率って

727 :デフォルトの名無しさん:2013/09/28(土) 18:27:23.47
でもあれかぶる可能性はあるよな
重複したとこで問題起きる可能性はまたさらに低いがw

728 :デフォルトの名無しさん:2013/09/28(土) 18:32:11.26
残念だがシードのパターンがそんなに無いからかぶる

729 :デフォルトの名無しさん:2013/09/28(土) 18:41:34.16
ついでだから聞いとこう

xxxxxxxx-xxxx-....xxx-1234
というGuidが登録済みとして、関連するGuidがもう一つ欲しい場合に
xxxxxxxx-xxxx-....xxx-1235
として登録しちゃって問題ない?

新たにGuidGenしたのと比較して被る確率は同じだよね?

730 :デフォルトの名無しさん:2013/09/28(土) 19:50:43.16
MSはそれしてるよなw

731 :デフォルトの名無しさん:2013/09/28(土) 20:09:25.80
>>726
似たような話を何年も前から聞いてる
メモリ4GBも使う訳ねぇだろwとか、
2000年までにこんなコンピュータ使う訳ねえだろwとか

732 :デフォルトの名無しさん:2013/09/28(土) 20:22:07.04
種はMACアドレスと時間じゃなかったか?
一致することはないよ。

733 :デフォルトの名無しさん:2013/09/28(土) 20:32:52.59
単純に考えてguidgenを組み合わせ数よりも多い回数実行したら・・・

734 :デフォルトの名無しさん:2013/09/28(土) 20:35:20.08
っていうか自分がguidgenつかってても他人がguidgen使ってなかったら意味ないじゃん

735 :デフォルトの名無しさん:2013/09/28(土) 20:39:12.20
>>731
確率的には、地面上の石ころの分子の振動方向が一致してひとりでに飛び上がる
確率より低いはずだけどね

736 :デフォルトの名無しさん:2013/09/28(土) 20:42:28.31
>>732
WindowsのGUIDは2kのころからUUIDv4実装
すなわちMACはシードに使ってない

737 :デフォルトの名無しさん:2013/09/28(土) 20:44:26.31
一応UUIDv1がほしいならUuidCreateSequentialで作れる

738 :デフォルトの名無しさん:2013/09/28(土) 20:48:55.69
>>735
誕生日のパラドクスと絡めた話が見つからないんだけど
その辺はどうなの?

739 :デフォルトの名無しさん:2013/09/28(土) 20:48:57.29
UUIDv1はケツの48bitが純然たるMACアドレスなのでセキュリティリスクを避けるために変えたらしい
GUIDで消費者追跡なんて話もあったね、昔

740 :デフォルトの名無しさん:2013/09/28(土) 21:06:03.45
>>736
ATL COMプログラミングの本にはMAC使ってるって書いてあった。

741 :デフォルトの名無しさん:2013/09/28(土) 21:15:24.84
>>740
原書の発売日(98')考えるとその当時はそれであってんじゃない

742 :デフォルトの名無しさん:2013/09/28(土) 21:23:26.84
>>738
誕生日のやつは本当のパラドックスじゃないけどな

743 :デフォルトの名無しさん:2013/09/28(土) 21:57:26.75
C#の使い道ってどんな場面ですか?

744 :デフォルトの名無しさん:2013/09/28(土) 22:01:26.42
他人を煽るネタにするときだね

745 :デフォルトの名無しさん:2013/09/28(土) 22:04:55.29
>>743
クライアント側で.NETが使える前提の環境で、
開発チームにC#に習熟した人が多い時

746 :デフォルトの名無しさん:2013/09/28(土) 22:06:03.12
>>741
VC6、ATL3.0だからその次はVS2002で.netだぞ。

747 :デフォルトの名無しさん:2013/09/28(土) 22:14:21.69
>>746
お前頭悪いなってよく言われるだろ

748 :デフォルトの名無しさん:2013/09/28(土) 22:15:31.79
MAC使ってないとか嘘言って引っ込みがつかなくなってんだろ。

749 :デフォルトの名無しさん:2013/09/28(土) 22:16:47.85
本が必ず正しいとも言えない

750 :デフォルトの名無しさん:2013/09/28(土) 22:38:04.50
>>747
じゃあ俺が丁寧に説明してやろう。
まず.NETのソースによるとNewGuidの実装はこうだ。

[System.Security.SecuritySafeCritical] // auto-generated
public static Guid NewGuid() {
// CoCreateGuid should never return Guid.Empty, since it attempts to maintain some
// uniqueness guarantees. It should also never return a known GUID, but it's unclear
// how extensively it checks for known values.
Contract.Ensures(Contract.Result<Guid>() != Guid.Empty);

Guid guid;
Marshal.ThrowExceptionForHR(Win32Native.CoCreateGuid(out guid), new IntPtr(-1));
return guid;
}

CoCreateGuidを呼んでいるな。
そしてそのリファレンスがここにある。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379205%28v=vs.85%29.aspx
Return valueをよく見て欲しい。

>RPC_S_UUID_NO_ADDRESS
>Cannot get Ethernet or token-ring hardware address for this computer.

RPC_Sなので、これは関数は成功しているが補足がある状態だ。
曰く、ハードウェアアドレスは読み取れなかったんだそうだ。

ハードウェアアドレスが読み取れなかった場合の成功を特別に扱っているということは
普段の成功では読み取れているということだ。
何のために?当然ハードウェアアドレスをGUIDの生成に使うためだよな。暇つぶしではないだろう。
ちょっと下には cannot be traced to the ethernet address of the computer とあるし、
単に追跡ができなくなっているだけで、生成に使用していることは疑いようがない。

751 :デフォルトの名無しさん:2013/09/28(土) 23:05:35.93
悪意のある開発者が既存のグウイデに被せてきたら崩壊だろ

752 :デフォルトの名無しさん:2013/09/28(土) 23:07:43.99
C#でできるCCWのカスタマイズ方法教えてよ
マネージC++使わないとできないならめんどくせえ

753 :デフォルトの名無しさん:2013/09/28(土) 23:10:16.72
エラーコードがドキュメントに書いてあるから処理があるという考え方はどうかと思う

754 :デフォルトの名無しさん:2013/09/28(土) 23:11:10.38
すごい。MSが計算にMAC使ってるソースとしては完璧ですな。
これでGUID被ったら世界一運の悪い奴。

755 :デフォルトの名無しさん:2013/09/28(土) 23:13:35.82
MACアドレス自動生成してるシステムもあるのにw

756 :デフォルトの名無しさん:2013/09/29(日) 00:23:39.65
>>755
それはなんというシステムですか?

757 :デフォルトの名無しさん:2013/09/29(日) 00:25:21.79
>>755
何その迷惑システム

758 :デフォルトの名無しさん:2013/09/29(日) 00:37:18.96
PCだけやってるとMACアドレスは既に振ってあるものって思っちゃうけど
電子工作してるとMACアドレスは自分で振るものだし。
その辺の認識が違うよね。

759 :デフォルトの名無しさん:2013/09/29(日) 00:40:21.97
VMの仮想マシンのMACだって自動生成じゃん
無恥って怖い脳w

760 :デフォルトの名無しさん:2013/09/29(日) 00:46:45.76
ここで VM とか言い出す奴の方が怖いわ (w

761 :デフォルトの名無しさん:2013/09/29(日) 00:47:54.59
>>760
顔真っ赤ですよwww

762 :デフォルトの名無しさん:2013/09/29(日) 00:53:14.36
>>759
VMWareだとちゃんと自社のOUI振って生成してるが?
だから他社NICと被ることはない。

763 :デフォルトの名無しさん:2013/09/29(日) 01:10:27.51
>>761
草生やす奴って例外なくバカと言う法則

764 :デフォルトの名無しさん:2013/09/29(日) 01:33:55.08
>>761
なんで分かるんだよw

765 :デフォルトの名無しさん:2013/09/29(日) 01:43:58.06
>>762
VMWareなんて誰も言ってないじゃん・・・

どうして素直にあぁそうだったなって言えないの?

766 :デフォルトの名無しさん:2013/09/29(日) 01:48:31.66
>>758
おいおい、そんなのネットにつなぐなよ!

767 :デフォルトの名無しさん:2013/09/29(日) 02:07:01.79
>>762
どうでもいいけどそれって反論になってないんじゃないの?

というか、仮にMACが被っても、単に一致する確率が厳密に0だと保証できなくなるだけのことで、
恐らく太陽が明日西から昇るぐらいの確率でしか一致しないことに違いはないと思うけどね。

768 :デフォルトの名無しさん:2013/09/29(日) 02:11:15.42
太陽が西から昇る可能性はゼロ。GUIDがかぶる可能性はゼロじゃない。

769 :デフォルトの名無しさん:2013/09/29(日) 02:16:04.26
>>768
それはデカルト的な意味では正しくない

770 :デフォルトの名無しさん:2013/09/29(日) 04:08:04.36
MACアドレスだろうがGUIDだろうが、確率的に言えば有限の数しかないんだから、その個数分の1の確率でかぶる

地球の自転より速いスピードで自転と逆向きに進めば太陽は逆から昇るんじゃね

771 :デフォルトの名無しさん:2013/09/29(日) 04:31:12.90
GNUの尊師に頼めば逆から昇らせてくれるだろうけど、代償も大きいだろうね。

772 :デフォルトの名無しさん:2013/09/29(日) 05:36:40.29
バカボンのパパにでも頼めよw

773 :デフォルトの名無しさん:2013/09/29(日) 06:07:46.57
>>733

774 :デフォルトの名無しさん:2013/09/29(日) 08:11:44.63
議論()の余地なく重複するな

775 :デフォルトの名無しさん:2013/09/29(日) 08:12:22.08
>>765
じゃあ何のシステムなの? 
どうしてさっさと答えないの?馬鹿なの? あほなの?
なんでMAC使ってないというソースも出さないなの?
どうして次から次へと嘘つくの?

776 :デフォルトの名無しさん:2013/09/29(日) 08:29:36.07
>>775
俺は>>765じゃないが・・・
VMはバーチャルマシンの略だろ。vmware以外にもあるだろ
vmwareが自社の使ってても自動生成には変わりないし、自社の割り当て分超えるマシン数でMAC生成したらMACが重複するのもでる
GUIDにMAC使ってようが使ってなかろうが有限なんだから重複しないわけがない。ただ確率が低いだけ

777 :デフォルトの名無しさん:2013/09/29(日) 08:31:17.60
C#でできるCCWのカスタマイズ方法教えてよ
マネージC++使わないとできないならめんどくせえ

778 :デフォルトの名無しさん:2013/09/29(日) 08:42:46.24
>>776
うざいよ。さっさと重複するMACを生成するVMが何か言えば済む話だろ。
VMのMAC生成の仕様も知らないのに妄想でVMとか言うな。

馬鹿かおまえは。

779 :デフォルトの名無しさん:2013/09/29(日) 08:44:20.31
>自社の割り当て分超えるマシン数でMAC生成したらMACが重複するのもでる

この子算数できない子? 病院入れなきゃw

780 :デフォルトの名無しさん:2013/09/29(日) 08:55:54.16
>>778
MACアドレスは281,474,976,710,656個しかないから、仮に281,474,976,710,657台のPC(VM)で1つずつ生成したら100%重複する。
GUIDは2の122乗個しかないから、仮に1台のPC(VM)内で2の122乗+1個生成したら100%重複する。
馬鹿なの? あほなの?

781 :デフォルトの名無しさん:2013/09/29(日) 08:59:06.22
「仮に」にしても大概だわw

782 :デフォルトの名無しさん:2013/09/29(日) 09:00:05.08
>>780
普通最初の24ビットはベンダー固有だから
たった16777216個で重複だな

783 :デフォルトの名無しさん:2013/09/29(日) 09:01:20.78
おまえ頭にいいな。試しに重複させてみてくれ。
実際にその数だけVM生成してコリジョン発生させてくれ。

本当の馬鹿とは自分が馬鹿だとは気づかない。すべて妄想の中で生きている。

784 :デフォルトの名無しさん:2013/09/29(日) 09:04:51.91
だから「確率が低い」って言ってるだろ。現実的には重複しないんだよ
ただ、絶対に重複しないという保証はない

785 :デフォルトの名無しさん:2013/09/29(日) 09:07:18.50
大規模運用していると結構衝突するけどな。
運用中にトラぶったおかげでうちは自動生成は禁止になっている。

786 :デフォルトの名無しさん:2013/09/29(日) 09:13:29.33
>>785
そのMACを自動生成したシステムはなんというのですか?
今のところ具体的な実装は誰も言ってくれないのです。

787 :デフォルトの名無しさん:2013/09/29(日) 09:14:16.84
>>782
VMホスト1台でそれだから、ホスト1000台構成なら1/16777の確率で重複する。

788 :デフォルトの名無しさん:2013/09/29(日) 09:15:45.68
>>787
VMホスト内でチェックしてないそんな馬鹿な生成してるVMはどこのVMなんですか?

晒してやってください。

789 :デフォルトの名無しさん:2013/09/29(日) 09:18:06.94
重複チェックなんかするVMホストはないよ。
OpenFlowなんか使うと、逆にMACが重複していないと困ることもあるしな。

790 :デフォルトの名無しさん:2013/09/29(日) 09:19:52.62
UUIDは重複チェックしてるだろ。

791 :デフォルトの名無しさん:2013/09/29(日) 09:19:53.97
>>789
はい、また大嘘で固めてきましたーー

792 :デフォルトの名無しさん:2013/09/29(日) 09:20:06.83
ひとりの基地外に絡まれて脱線するC#スレwww

793 :デフォルトの名無しさん:2013/09/29(日) 09:21:14.61
GUIDじゃないが、ExUuidCreateならMSのソースコードが転がってるから参照するといいかも

794 :デフォルトの名無しさん:2013/09/29(日) 09:21:52.48
>>790
そりゃUUIDが重複したらインスタンス生成できないからな。
MACは重複チェックをしていない。
している実装があるなら挙げてみてな。

795 :デフォルトの名無しさん:2013/09/29(日) 09:23:11.54
VMwareなんてUUIDの下3バイトがそのままMACになる糞仕様だったはず。

796 :デフォルトの名無しさん:2013/09/29(日) 09:25:51.32
>>795
もう馬鹿晒すなよ。

797 :デフォルトの名無しさん:2013/09/29(日) 09:29:05.78
>>796
調べてみたら合ってたよ。
bios.uuidの下3バイトがそのままMACになっていた。

798 :デフォルトの名無しさん:2013/09/29(日) 09:34:14.93
>>797
だから何?

799 :デフォルトの名無しさん:2013/09/29(日) 09:35:36.18
>>798
もうゴールしていいんだよ

800 :デフォルトの名無しさん:2013/09/29(日) 09:36:19.56
ボクもゴールしたいです…

801 :デフォルトの名無しさん:2013/09/29(日) 09:41:22.02
ネスペから言わしてもらうとVMWareの仕様で何の問題もない。
仮想NICの構成に柔軟性もありよく考えられている仕様。いろんなテストもできる。

>大規模運用していると結構衝突するけどな。
>運用中にトラぶったおかげでうちは自動生成は禁止になっている。

それよりこれが事実かどうか知りたい。本当なのか。
一体どういうシステムでどういう付与ルールで運用したら衝突するのか。
よほどネットワーク知らない馬鹿かど素人が運用しているとしか思えない。

802 :デフォルトの名無しさん:2013/09/29(日) 09:49:45.98
>>801
息をするように嘘をつく、ネスペになりたいけど実は基本情報処理すら
持っていないのがバレバレです。

803 :デフォルトの名無しさん:2013/09/29(日) 10:01:31.34
>>801
もっと勉強しましょう、としか言いようがない。

804 :デフォルトの名無しさん:2013/09/29(日) 10:05:14.26
>>801
彼は韓国人だろうな。
youtubeとかで不正に再生数を増やそうとする馬鹿か、その下請け企業だよ。
ひとつのL2にコリジョンするほどぶら下げるなんて攻撃目的以外ありえない。

805 :デフォルトの名無しさん:2013/09/29(日) 10:07:49.35
スレチだし馬鹿はほっときゃいいよ

806 :デフォルトの名無しさん:2013/09/29(日) 10:11:51.27
一ついえるのはネットワーク技術者は
ものの見方が狭くバカが多いってこと

807 :デフォルトの名無しさん:2013/09/29(日) 10:16:00.40
L2にそんなに繋いてる時点で捏造でしょ。
それ以前にテーブルフローしてまもとにパケット流れないよ。

808 :デフォルトの名無しさん:2013/09/29(日) 10:23:09.57
何でL2に繋ぐ台数が関係するんだよ
やはりネスペはバカが多い

809 :デフォルトの名無しさん:2013/09/29(日) 10:25:07.74
>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

810 :デフォルトの名無しさん:2013/09/29(日) 10:26:46.07
お、ネスペが発狂した
シコらなくていいの?

811 :デフォルトの名無しさん:2013/09/29(日) 10:29:04.50
くやしいのう くやしいのう

812 :デフォルトの名無しさん:2013/09/29(日) 10:36:54.82
OpenFlowもしらないバカはでしゃばって出てくんなよw

813 :デフォルトの名無しさん:2013/09/29(日) 10:41:50.76
自分の知ってるものを挙げて
「xxも知らないのか」っていうバカは
ソフトウェア開発者に多い

814 :デフォルトの名無しさん:2013/09/29(日) 10:43:15.52
そろそろクローズしませんか?

815 :デフォルトの名無しさん:2013/09/29(日) 10:45:36.38
ボクの校門もクローズしたいです

816 :デフォルトの名無しさん:2013/09/29(日) 10:47:33.24
>OpenFlowなんか使うと、逆にMACが重複していないと困ることもあるしな。

既に運用設計が間違ってるとしか。

817 :デフォルトの名無しさん:2013/09/29(日) 10:48:32.22
これ以上は違うところでやってくれないですかね

818 :デフォルトの名無しさん:2013/09/29(日) 10:59:45.51
>>813
ソースは?

819 :デフォルトの名無しさん:2013/09/29(日) 11:03:01.34
ソースは俺!

820 :デフォルトの名無しさん:2013/09/29(日) 11:04:45.38
OpenFlowで自動生成したらトラブりましたってw

ただの馬鹿じゃん。

821 :デフォルトの名無しさん:2013/09/29(日) 11:11:48.53
>>820
OpenFlowクンと自動生成でトラぶりましたクンは別のバカ。

822 :デフォルトの名無しさん:2013/09/29(日) 11:13:25.42
誰も書いてないこと言い出すバカキターーーーーーー。

823 :デフォルトの名無しさん:2013/09/29(日) 11:17:32.16
>>820
お前がただの馬鹿だったなw

824 :デフォルトの名無しさん:2013/09/29(日) 11:19:58.92
>>825はどうしようもないバカ

825 :デフォルトの名無しさん:2013/09/29(日) 11:28:45.66
まーた初心者スレの>>70

826 :デフォルトの名無しさん:2013/09/29(日) 11:29:15.17
>>825はどうしようもないバカ

827 :デフォルトの名無しさん:2013/09/29(日) 11:30:17.81
>>825はどうしようもないバカだと聞いてきしまた。

828 :デフォルトの名無しさん:2013/09/29(日) 11:30:58.80
おいやめろバカ

829 :デフォルトの名無しさん:2013/09/29(日) 11:36:34.42
>>825は本当にどうにもならんアスペだな。

830 :デフォルトの名無しさん:2013/09/29(日) 11:45:58.78
>>825 にはがっかりだ

831 :デフォルトの名無しさん:2013/09/29(日) 11:47:45.30
これは当たってるな。ワロタw

832 :デフォルトの名無しさん:2013/09/29(日) 12:12:03.09
>大規模運用していると結構衝突するけどな。
>運用中にトラぶったおかげでうちは自動生成は禁止になっている。

大規模なのに手動設定とは大変だなwww

833 :デフォルトの名無しさん:2013/09/29(日) 12:18:08.78
おまえにシステム管理任せたら人手がかかって大変そうだな
普通に考えてAPI任せじゃなくて、規則性もたせたバッチファイルなりソフトで自動生成って意味だろ

834 :デフォルトの名無しさん:2013/09/29(日) 12:30:07.43
>>813
どこにでも居るよ!!

835 :デフォルトの名無しさん:2013/09/29(日) 12:37:34.71
COMスレでやれよカス

836 :デフォルトの名無しさん:2013/09/29(日) 12:45:03.58
スクリプトでチェックせずにプリントアウトして目視チェックしてるやつって必ずいるよな。

837 :デフォルトの名無しさん:2013/09/29(日) 12:53:28.46
スクリプトのテストが工程に加わるからな
非効率でも頑張って目視するしかないよ

838 :デフォルトの名無しさん:2013/09/29(日) 12:56:50.46
↑だってさ >>836

839 :デフォルトの名無しさん:2013/09/29(日) 13:03:03.65
そんなもんだよ
テスト自動化を進言したら
テストコードのテストで工程が増えるからって拒否される
それが老害の世界なんだ
やつらまだ機械より人間が賢いと思ってやがる

840 :デフォルトの名無しさん:2013/09/29(日) 13:07:49.55
重複チェックをスクリプトでチェックしますといって拒否る老害なんていないだろ。
COBOL世代こそperl使いだらけじゃねーか。

841 :デフォルトの名無しさん:2013/09/29(日) 13:10:30.91
実際いるだろ。便利にすると逆に怒られる。自分はこうして努力し続けてたんだって。知るかよ

842 :デフォルトの名無しさん:2013/09/29(日) 13:12:29.17
>>840
拒否はしない
スクリプトのテストを要求される
めんどくさいから僕はプリントして
残業代いっぱいもらう方を選んだ

843 :デフォルトの名無しさん:2013/09/29(日) 14:08:07.93
オタリーマンの世界だなw

844 :デフォルトの名無しさん:2013/09/29(日) 14:30:36.03
うちとはまるで逆だな
何でもいいから工数減らせってお達しが出てるわ
業績悪いから

845 :デフォルトの名無しさん:2013/09/29(日) 22:20:07.73
>>844
無駄な努力
80:20の法則でいう20の方なんだよ効率化って

846 :デフォルトの名無しさん:2013/09/29(日) 22:40:53.07
バカだなあ
契約形態が完成物に責任が伴う契約か
業務委託かで話が違ってくるのに
あ、偽装請負派遣が横行してるから区別つかないのか

847 :デフォルトの名無しさん:2013/09/30(月) 02:05:14.43
>>839
テストコードが間違ってたらテストにならねーじゃん。
プログラムってものは人間が目で見なけりゃなんねーんだよ。
見た時間に比例して不具合も見つかるし
本質的な仕様の問題も見つかるんだ
覚えとけ若いの

848 :デフォルトの名無しさん:2013/09/30(月) 02:13:05.28
覚えとけ若いのだって(笑
ロートルってやーね

849 :デフォルトの名無しさん:2013/09/30(月) 07:32:23.86
>>847
ありがたいアドバイスありがとうございます

850 :デフォルトの名無しさん:2013/09/30(月) 08:07:48.32
>>839
> やつらまだ機械より人間が賢いと思ってやがる

賢いだろ?
適当に手抜いたり、サボったりできるしな (w

冗談はさておき、確実性と速度はやつらの方がはるかに上回ってる。
テストコードの信頼性については、まともなやつらが組んでいれば、ある項目について製品とテストコードの両方が間違っている可能性は、>>847 あたりのロートルが見過ごす可能性はより低いだろ。
万が一そう言うことがあっても、テストコードを修正すればその後はほぼ確実に防げるしな。

851 :デフォルトの名無しさん:2013/09/30(月) 08:30:33.71
人の方が確実性と速度が速いのか
ならもうテストだけじゃなくてシステム全部手動にすりゃいいのに

852 :デフォルトの名無しさん:2013/09/30(月) 08:33:46.06
そうやってサボる事ばかり考えて
テストコードで全部検証しましたから。キリッ!
とか言いって全く見ない。
そしてテストコードが現状にマッチしなくなってても気が付かないわけか

853 :デフォルトの名無しさん:2013/09/30(月) 08:41:21.43
そろそろ出勤しなさい奴隷たちよ

854 :デフォルトの名無しさん:2013/09/30(月) 09:12:21.82
>>852
それやってるやつが無能なだけじゃん。そんなやつはテスト使わずに自分で検証しても結果は同じだよ

855 :デフォルトの名無しさん:2013/09/30(月) 09:53:46.03
>>854
いや。無能なのは>>852
使ってる人間(テストコード)に問題があるのか、テストシステムに問題があるのかがごっちゃになっている
このタイプの人間はトラブったときに原因の切り分けができずに詰む

856 :デフォルトの名無しさん:2013/09/30(月) 12:22:10.46
お昼だぞ〜土方集まれ〜^o^/

857 :デフォルトの名無しさん:2013/09/30(月) 13:37:57.97
>>847
>本質的な仕様の問題も見つかるんだ
コーディング段階で見つからない本質的な仕様ミスを、テストで見つけるんですか
無能なプログラマの居る会社のテスターさんは凄いですねぇ

858 :デフォルトの名無しさん:2013/09/30(月) 14:02:56.82
>>857
ちょっと意味が分らない。

859 :デフォルトの名無しさん:2013/09/30(月) 14:52:08.96
見つかるよ。
仕様自体のセキュリティリスクとか。

860 :デフォルトの名無しさん:2013/09/30(月) 14:58:35.35
仕様書作る段階でアレっ?
仕様書に目を通した段階でアレっ?
開発段階でアレっ?
テスト段階でアレっ?

本質的な仕様ミスなら最初の段階で見つけろよw

861 :デフォルトの名無しさん:2013/09/30(月) 15:05:21.39
見つからないときは見つからない。
チェックすればバグが見つかると思ってる奴は技術者失格。

862 :デフォルトの名無しさん:2013/09/30(月) 15:11:15.91
おやつ休憩〜\^o^/

863 :デフォルトの名無しさん:2013/09/30(月) 15:56:48.11
見つからないときは本気で見つからないだろうけど
テスト段階でコード見るだけでみつかる本質的な設計ミスって話だからな
設計した人間とコーディングした人間はどんだけ無能なんだって話

864 :デフォルトの名無しさん:2013/09/30(月) 16:24:50.46
まあ見つからないときはそんなもんさ。
チェックシステムのほうが効果あるかもね

865 :デフォルトの名無しさん:2013/09/30(月) 16:30:28.66
無能が9割の中で開発するのが現実。

まじ少数精鋭なんてMSぐらいでしょ。

866 :デフォルトの名無しさん:2013/09/30(月) 17:42:32.52
C#のスレかと思ったら違うようなので他のスレに行きますね

867 :デフォルトの名無しさん:2013/09/30(月) 18:46:07.13
はい

868 :デフォルトの名無しさん:2013/09/30(月) 19:02:52.56
ところでC#には規格書や仕様書はないのかね?
MSDNではあまりにも不十分だよ

869 :デフォルトの名無しさん:2013/09/30(月) 19:11:30.04
これ
http://www.microsoft.com/en-us/download/details.aspx?id=7029

ただ落としてみると4thって書いてあるのが気になる
ECMAのよりは新しいみたいだけど

870 :デフォルトの名無しさん:2013/09/30(月) 19:12:30.60
>>855
>このタイプの人間はトラブったときに原因の切り分けができずに詰む

そういう発想がすぐ浮かぶってことはお前自身がそういうタイプなわけか

871 :デフォルトの名無しさん:2013/09/30(月) 19:15:51.37
>>869
いつの版だよ
最新版は5.0だぞ

872 :デフォルトの名無しさん:2013/09/30(月) 19:17:17.36
>>871
microsoftはこれをC#5のだって言い張ってんだよw
ダウンロードページ開いてみれば分かる

目次見るとAsyncFunctionのセクションがあるからC#5.0の規格だと思う

873 :デフォルトの名無しさん:2013/09/30(月) 19:52:35.61
>>870
「お前自身がそういうタイプ」とも考えられるが、「お前のまわりにそういう奴がいる」のようにも考えれるだろ?
こういうように色々なケースを思い浮かばないタイプってことな。つまりお前みたいなやつのことだ

874 :デフォルトの名無しさん:2013/09/30(月) 20:02:38.05
人間自分のコンプレックスを書き込むという心理があるから前者だな
テストしたくないんだよな?はいはいおkおk

875 :デフォルトの名無しさん:2013/09/30(月) 20:48:25.98
マ 板 で や れ

876 :デフォルトの名無しさん:2013/09/30(月) 20:49:29.87
>>869
おじさんありがとう!

877 :デフォルトの名無しさん:2013/09/30(月) 20:52:08.10
何だこの野郎お前よりたぶん若いぞ

878 :デフォルトの名無しさん:2013/09/30(月) 21:03:33.82
25まではお兄さん
それ以後はおじさん
40過ぎたら老害

879 :デフォルトの名無しさん:2013/09/30(月) 21:37:26.34
>>875の言う通りですよー

880 :デフォルトの名無しさん:2013/10/01(火) 07:50:03.96
40は初老

881 :デフォルトの名無しさん:2013/10/01(火) 07:55:29.14
言語より.NET Frameworkの仕様書がほしい
マイクロソフトのウェブサイトは適当すぎる

882 :デフォルトの名無しさん:2013/10/01(火) 09:24:39.66
仕様書読んだことあるけど、Webの方が詳しく書いてあるよw

883 :デフォルトの名無しさん:2013/10/01(火) 12:11:29.25
>>881
ここ2、3年のマイクロソフトのドキュメントの品質が
劣化してるように感じる
言語仕様はともかく.NET Frameworkの説明はひどいね

884 :デフォルトの名無しさん:2013/10/01(火) 12:36:11.51
その点Javaは充実してるよな

885 :デフォルトの名無しさん:2013/10/01(火) 13:05:15.22
昔からM$のドキュメントはイミフだっただろ

886 :デフォルトの名無しさん:2013/10/01(火) 13:10:29.66
日本語ドキュメント=日本語になってない。分かってる奴でもイミフ
英語ドキュメント=大部分は理解可能

887 :デフォルトの名無しさん:2013/10/01(火) 13:37:35.07
自動翻訳しただけだしなぁ

888 :デフォルトの名無しさん:2013/10/01(火) 19:16:44.45
>>884
Javaはドキュメントの量が少ないから翻訳に手間かけられるだけでしょ
メソッドの説明が一行で終わりとかザラだし

889 :デフォルトの名無しさん:2013/10/01(火) 20:05:34.91
原文の話じゃないのか?

890 :デフォルトの名無しさん:2013/10/01(火) 20:17:27.21
日本語の技術資料は圧倒的にWinodws関連だよ。
MS以外のブログ、入門サイトも含めて圧倒的。

891 :デフォルトの名無しさん:2013/10/01(火) 20:24:36.54
日本語のサイトなんか見ない方がいいぞ

892 :デフォルトの名無しさん:2013/10/01(火) 20:26:21.91
原文で比べるなら尚更JavaのドキュメントがMSDNに内容で勝ってるところなんて無いだろ
日本語訳の質と検索のしやすさと軽さはJavaに分があるが

893 :デフォルトの名無しさん:2013/10/01(火) 20:54:21.22
おまえらJavaもやってるのか。スキルたけーな。

894 :デフォルトの名無しさん:2013/10/01(火) 20:57:05.28
http://msdn.microsoft.com/ja-jp/library/bb399213.aspx
未婚型

895 :デフォルトの名無しさん:2013/10/01(火) 20:57:23.32
むしろJavaできないとか不自然じゃね

896 :デフォルトの名無しさん:2013/10/01(火) 21:00:47.24
3人の役に立っただとう・・・!

897 :デフォルトの名無しさん:2013/10/01(火) 21:03:02.55
言語だけならC#ができればJavaは既にマスターしてるようなもんだろ
Javaで使えない機能を覚えるだけ

898 :デフォルトの名無しさん:2013/10/01(火) 21:13:25.38
いやー
その考えはどうかと。
やりたいことと、そのための最適なクラスライブラリを空で言えるくらいになってないと業務では使えない。

899 :デフォルトの名無しさん:2013/10/01(火) 21:13:44.78
>>894
なんかムカつくからダブル使うわ

900 :デフォルトの名無しさん:2013/10/01(火) 22:02:11.74
.NETからJavaに行くとJDKがあまりにもスカスカでカルチャーショックを受ける。
同時に、だから訳のわからんライブラリが乱立してるのかと納得もするけど

901 :デフォルトの名無しさん:2013/10/01(火) 22:03:47.32
シングルトンパターンは未婚豚パターンか

902 :デフォルトの名無しさん:2013/10/01(火) 22:13:54.90
Singleワロタwww

903 :デフォルトの名無しさん:2013/10/01(火) 22:29:30.82
その場しのぎで作ってるところは中途半端で理解に苦しむようなライブラリ・クラスが
乱立するよな。ORACLEの伝統だが。

904 :デフォルトの名無しさん:2013/10/01(火) 22:41:52.60
俺のソースがそれになってるわ。整理しないと・・・

905 :デフォルトの名無しさん:2013/10/01(火) 22:52:43.75
カオスを越えて週末が近づく

906 :デフォルトの名無しさん:2013/10/02(水) 08:03:59.91
>>898
業務で使ってるけど
MSDNとかJavadocとかないと無理だわ。

907 :デフォルトの名無しさん:2013/10/02(水) 09:44:26.47
>>894
お、俺doubleしか使わねーし(震え声)

908 :デフォルトの名無しさん:2013/10/02(水) 17:37:54.24
マルチスレッド簡単君うざい。

909 :デフォルトの名無しさん:2013/10/02(水) 17:41:14.57
>>70うざいまで読んだ

910 :デフォルトの名無しさん:2013/10/02(水) 18:48:58.56
よしよし何度も読め

911 :デフォルトの名無しさん:2013/10/02(水) 18:55:37.06
次スレ70は俺のもの

912 :デフォルトの名無しさん:2013/10/03(木) 15:04:28.84
シングルトンパターンの優位性ってなんなの?
ネットで調べてもこういうパターンだという解説だけで実務的メリットの解釈がまったくない

それよりWPがまったく普及しないからそろそろObjective-Cが必要になりそうなんだがMacやLinuxにVS提供する気はないんですかねM$さん・・・
MonoDevelopが糞過ぎてXcode使わざるを得ないんだが、Objective-Cが輪をかけて糞なんだよな
C#の出来はこんなに良いのに・・・モバイルに乗り遅れたM$マジで恨むわ

913 :デフォルトの名無しさん:2013/10/03(木) 15:28:40.09
恨む先が間違ってる

914 :デフォルトの名無しさん:2013/10/03(木) 15:38:45.93
>>912
つ Xamarin

sigletonパターンはほとんどのケースではstatic classで十分
特徴といえば初期化が遅延できるくらいか

915 :デフォルトの名無しさん:2013/10/03(木) 18:56:36.58
次はオブジェクト生成時のロックで1スレ潰すのか?

916 :デフォルトの名無しさん:2013/10/03(木) 19:18:30.53
ロックンローォォォォル!!

917 :デフォルトの名無しさん:2013/10/04(金) 08:08:29.17
RTから離脱すればWPも売れる

918 :デフォルトの名無しさん:2013/10/05(土) 11:05:41.24
>>664
この後64bitビルドして10日、バグ再発せず。
WOW64が原因かも。

919 :デフォルトの名無しさん:2013/10/05(土) 11:07:20.98
情報共有乙です

920 :デフォルトの名無しさん:2013/10/05(土) 23:01:14.01
データベースに格納されている、シングルクォーテーションやダブルクォーテーション、円記号を含む文字列を読み込みたいのですが、単純にString型の変数や配列に突っ込むとエラーを吐きそうに思います。
@をつければ円記号については回避できるでしょうが、ダブルクォーテーションに関しては、どこかに格納しないとエスケープシーケンスをつけることもできないのに格納ができないということで回避策がないように思うのですが、どうすればいいのでしょうか?

921 :デフォルトの名無しさん:2013/10/05(土) 23:02:41.99
> エラーを吐きそうに思います。
吐かない

922 :デフォルトの名無しさん:2013/10/05(土) 23:05:39.17
やってみりゃわかるだろうがよォー

923 :デフォルトの名無しさん:2013/10/05(土) 23:09:04.22
>>921
この辺りは問題ないように考えられているんでしょうかね、ともかく問題ないようで助かりました。
ありがとうございます。
>>922
取り越し苦労だったようで…

924 :デフォルトの名無しさん:2013/10/05(土) 23:13:22.42
ところが馬鹿が組むとトラブルw

925 :デフォルトの名無しさん:2013/10/05(土) 23:47:05.88
@をつけたリテラルの中では”は””と2個かさねることでエスケープする。
@をつけない文字列なら¥”でエスケープする。

926 :デフォルトの名無しさん:2013/10/05(土) 23:48:59.93
>>925=どうしようもないばか

927 :デフォルトの名無しさん:2013/10/06(日) 00:02:52.34
20KB程度のファイルをコピーした後、
すぐにFileStream で開くと例外が発生します。

File.Copy(srcFilePath, tarFilePath, true);
FileStream fs1 = new FileStream(srcFilePath, FileMode.Open);

Exceptionのメッセージは以下の通りです。
====
別のプロセスで使用されているため、プロセスはファイル XXX にアクセスできません。
====

File.Copy() 関数にて srcFilePath のアクセスを
握っているのだと思いますが、File.Copy() 関数は
戻り値が void であるため、アクセスを開放したことを
知ることができません(と思っています)。
上記の解決方法をご存知の方、お教え願えませんでしょうか。

928 :927:2013/10/06(日) 00:07:53.89
実際には、次のように記述しています。

@exe実行時にファイルをファイル選択ダイアログから読み込ませ、
 ファイルを読み込む。その際、File.Copy() 関数にて、tmpファイルを作る。
Aアプリは、ファイルの中身を編集することができる機能を持つ。
Bアプリを終了するとき、FileStreamを用いて、srcファイルと tmpファイルの
  比較を行い、必要であれば上書きし、終了する。

この仕様のアプリを作っているのですが、
exeを実行してファイルを開いたあと、すぐにアプリを閉じると
例外が発生していました。原因を追究していくと、
File.Copy() のあとですぐに FileStream で開くとNGだということが分かりました。

10秒ほど待ってからアプリを閉じれば
例外は発生せずに閉じることができます。

原因や対処方法など、分かりましでしょうか。よろしくお願いします。

929 :デフォルトの名無しさん:2013/10/06(日) 00:10:31.84
>File.Copy() 関数にて srcFilePath のアクセスを握っているのだと思いますが
それは絶対ないと思うw
ちゃんと確認した?

930 :927:2013/10/06(日) 00:18:16.41
>>929
レスありがとうございます。
絶対に無いですか、どうやって確認したら良いでしょうか?

今はテストコードとして

File.Copy(srcFilePath, tarFilePath, true);
FileStream fs1 = new FileStream(srcFilePath, FileMode.Open);
FileStream fs2 = new FileStream(tarFilePath, FileMode.Open);

のように書いてみていますが、
BreakPointを3行全部につけて実行していると、
2行目を実行する時点で例外が発生しています。

931 :デフォルトの名無しさん:2013/10/06(日) 00:23:00.60
メモ帳とかで開いてんじゃないの?w

932 :デフォルトの名無しさん:2013/10/06(日) 00:28:13.87
アクセス権なしで開いて、Closeしてないんだろ

933 :デフォルトの名無しさん:2013/10/06(日) 00:30:51.32
>>930
・1行目と2行目を入れ替えたらどうなる?
・ウイルスソフトの入ってないPCでも同じ結果になる?

934 :927:2013/10/06(日) 00:31:36.11
>>931
いえ、開いていません。

>>932
fs1.close(); fs2.close(); は行っています。
また、上でも書いていますが、
exeを開いてから10秒ほど経過してから
FileStreamでOpenした場合は、問題なくOpenできています。

exeを実行してから10秒で勝手にCloseされる処理が
どこかに入っているはず、ということでしょうか?

935 :デフォルトの名無しさん:2013/10/06(日) 00:33:50.25
>>934
単純にその3行(>>930)の処理だけのプログラム作って再現するか見てみればいいじゃん。
環境原因なら再発するだろうし。
ちなみに俺が今ためしたところ全然起きないよ。

936 :927:2013/10/06(日) 00:37:56.18
>>933
>>935
みなさまレスありがとうございます。
1行目と2行目を入れ替えたところ、
FileStream(つまりもともとの2行目)のところで
例外発生しました。

File.Copy() は無関係でした。皆様の予想通りです。

なぜ入れ替えてデバッグしなかったのか、お恥ずかしい。
もっとデバッグしてから出直してきます。

937 :デフォルトの名無しさん:2013/10/06(日) 03:15:09.57
>>928
3で、2つのファイルを比較して、
変更されていたら上書き保存するのは、面倒すぎる
比較するとは1文字ずつ、すべての文字を比較するのでしょ?

dirtyフラグを使って、1文字でも変更したら、
たとえ元に戻しても、上書き保存すれば?

それと、丸3のような環境依存文字は、使わないほうが良いのでは?

938 :デフォルトの名無しさん:2013/10/06(日) 04:25:11.04
>>937
環境依存文字とは何でしょうか?
何故使用しない方が良いのでしょうか?

939 :デフォルトの名無しさん:2013/10/06(日) 04:29:47.56
気にすんな。使って問題ない

940 :デフォルトの名無しさん:2013/10/06(日) 08:58:03.54
いまだに環境依存文字とか言うやついるのかw

941 :デフォルトの名無しさん:2013/10/06(日) 09:09:08.43
2chが未だにShift_JISなのが悪い

942 :デフォルトの名無しさん:2013/10/06(日) 09:17:21.11
えっ?
ソースは?

943 :927:2013/10/06(日) 09:44:47.69
>>937
コメントありがとうございます。
比較部分については再検討してみます。


>みなさま
ファイル選択後にファイル操作を
している部分があり、readerをclose
していない箇所がありました。
お騒がせいたしました。

944 :デフォルトの名無しさん:2013/10/06(日) 09:45:58.06
>>942
1.IEで2ちゃんねるを開きます
2.右クリックしてエンコードを見ます

945 :デフォルトの名無しさん:2013/10/06(日) 10:13:24.77
関西にいたときどのスーパーいってもブルドックがなくて往生した
だいたいカゴメしかおいてなかった

946 :デフォルトの名無しさん:2013/10/06(日) 10:18:23.58
東京に引っ越したときにソースが
ブルドックソースしかなくて
発狂しそうになったわ

>>944
見た。「シフトJIS」と書かれてた。
じゃOKだね。

947 :デフォルトの名無しさん:2013/10/06(日) 10:28:32.02
日本語フォントは全て機種依存フォントだな
アルファベットで書かないとあかんで

948 :デフォルトの名無しさん:2013/10/06(日) 11:06:34.65
ちゃんとローマ字を打って変換しているから大丈夫だよ

949 :デフォルトの名無しさん:2013/10/06(日) 12:43:45.04
>>945
オリバーソースもあっただろ

950 :デフォルトの名無しさん:2013/10/06(日) 13:03:36.43
関東では、あのエロ監督のブルドッグソースのCMまだ放映してるのかな

951 :デフォルトの名無しさん:2013/10/06(日) 13:25:04.78
ゲーム作ってて、ゲーム内のUIについてイベントドリブンを上手く実装できないので質問。

現状フォーム内のどこかがクリックされた時に、
C#のイベント機能を使って、
配置されてるボタン等のClicked関数が呼ばれるようになってる。

これだと2つのボタンが重なっていた時、上のボタンと下のボタン両方のClickedが呼ばれてしまうんだけど、
上のボタンだけクリックされたことにしたい。

これC#のイベントでうまくできませんか?

952 :デフォルトの名無しさん:2013/10/06(日) 13:34:15.20
ボタンなどのコンポートを抽象クラスで管理
このクラスはz座標と二次元当たり判定を持つ
画面のある点x,yをクリックしたらz座標が最も高くx,yを当たり判定領域に含むオブジェクトのclickedを起動させる

953 :デフォルトの名無しさん:2013/10/06(日) 13:34:20.34
「うまく」って言うのが何をさしてるか知らないけど
基本はどっちが上にあるかを自分で判定してハンドラを振り分けるだけ

一般的にUIのイベントモデルはバブルアップバブルダウンで実装される
(呼称はUIシステムの作者によって違う場合があるが、基本は同じ)
普通のFormと同じように動かしたいならこれを実装するしかない

954 :デフォルトの名無しさん:2013/10/06(日) 13:36:30.23
>2つのボタンが重なっていた時、上のボタンと下のボタン両方のClickedが呼ばれてしまう
Windows FormでもWPFでもそんなことは起こりませんw
(WPFならUIツリーによってはそういう動作も可能だけど)

何か勘違いしてないか

955 :デフォルトの名無しさん:2013/10/06(日) 13:38:00.13
>>954
勘違いしてるのはお前
恥ずかしいやつだな
切腹したら?

956 :デフォルトの名無しさん:2013/10/06(日) 13:41:01.96
>>955
実際にやってから言えよ馬鹿

957 :デフォルトの名無しさん:2013/10/06(日) 13:42:40.71
普通に実装するしかないですか/(^o^)\
C#のイベントで、event呼び出される順序の定義とか、残りの(まだ呼び出されてない)イベントを切り捨てるとか
そういうことができたらいいなあと思ったんですが無さそうですね/(^o^)\
ありがとうございます

958 :デフォルトの名無しさん:2013/10/06(日) 13:48:24.93
>>954
Formの上にボタンなんかは何もなくて
自前で描画してる状態の話だよ
さすがに察してるよね?

959 :デフォルトの名無しさん:2013/10/06(日) 13:52:38.62
察してたらあんな発言しないだろ

960 :デフォルトの名無しさん:2013/10/06(日) 13:58:30.41
上から順番にイベントハンドラが呼ばれる実装なら引数で対応できる

961 :デフォルトの名無しさん:2013/10/06(日) 14:03:32.99
addとremoveを使ってなければeventは追加順なんだっけ?
デリゲートは追加順保障してるよね

962 :デフォルトの名無しさん:2013/10/06(日) 14:07:57.72
イベントは誰が発火してるんだ?

963 :デフォルトの名無しさん:2013/10/06(日) 14:39:52.88
>>957
>event呼び出される順序の定義とか、残りの(まだ呼び出されてない)イベントを切り捨てるとか
>そういうことができたらいいなあ

void OnHoge()
{
 if( Hoge != null )
 {
  Hoge();
 }
}

とイベントを発火させてるところで

foreach( EventHandler dlg in Hoge.GetInvocationList() )
{
 if( foo )
 {
  dlg( s, e );
 }
}

みたいな感じで発火をコントロールできる

964 :デフォルトの名無しさん:2013/10/06(日) 14:49:39.35
そんなことしたら明示的にマルチキャストデリゲートを追加した場合に正しく動作しないだろ

965 :デフォルトの名無しさん:2013/10/06(日) 14:50:04.47
放火は犯罪だ

966 :デフォルトの名無しさん:2013/10/06(日) 14:55:52.99
>>963
なるほど、そんなメソッドがあるのか
ちょっとやってみますありがとう

967 :デフォルトの名無しさん:2013/10/06(日) 18:43:59.09
>>965
放屁魔乙

968 :曹操:2013/10/06(日) 21:06:24.92
自慢の艦隊が何者かに放火されて全焼してしまいました。
下手人を捕らえてください。

969 :デフォルトの名無しさん:2013/10/06(日) 22:08:14.31
邪魔

970 :デフォルトの名無しさん:2013/10/06(日) 22:43:22.13
ギャグ飛ばすなら面白い奴にしろ

971 : ◆QZaw55cn4c :2013/10/06(日) 23:02:20.83
>>968
下手人は自爆しました

972 :デフォルトの名無しさん:2013/10/07(月) 04:19:02.68
「C:\Program files\*\*.exe を指すショートカット」をProcess.Start()に食わせると

ハンドルされていない例外: System.ComponentModel.Win32Exception: 指定されたファイルが見つかりません。
場所 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)

っていう謎現象に悩まされてるんだけどどういうこと
OK File.Exists()でチェック
OK ショートカットじゃなくC:\Program files\*\*.exeを直に指定して実行
OK 他の場所のexeを指すショートカットの実行
半角スペース原因じゃなくて権限系だと思ってるけど…

やりたいのはショートカットを読み込ませるお手軽ランチャ。
ランチャなのでProgram Files以下を指定できないとお話にならない

973 :デフォルトの名無しさん:2013/10/07(月) 05:07:06.17
>>972
ショートカットの実装などネットで探せば見つかるから
それに読み込ませてパスを取得してC:\Program files\*\*.exeの形で実行すればいいだろ

974 :デフォルトの名無しさん:2013/10/07(月) 09:57:27.26
>>972
32bitプロセスがリダイレクトされてるんじゃね?

C:\Program files\...じゃなくて
C:\Program Files (x86)\...の方見に行ってファイルがないよって怒られてるとか

参考
http://msdn.microsoft.com/ja-jp/library/aa365743

975 :デフォルトの名無しさん:2013/10/07(月) 10:37:34.20
C:\Program Files (x86)無くならねーかなぁ
実際はx86で動かすしか無いのが多いから、区別する為に必要なんだろうけども

976 :デフォルトの名無しさん:2013/10/07(月) 10:39:19.64
手抜きして
System64
Program Files(x64)
を作らなかったMSがすべて悪い。

977 :デフォルトの名無しさん:2013/10/07(月) 10:52:27.45
あー、どうせ別フォルダ作るならx64用を作って欲しかったな
何度迷子になったことか

978 :デフォルトの名無しさん:2013/10/07(月) 10:57:35.99
同感だわ
regsvr32.exeも、system32に入ってるのは64ビット用で、sysWow64のが32ビット用とか罠すぎる
わざとトラブル源作ってるとしか思えん

979 :デフォルトの名無しさん:2013/10/07(月) 16:45:47.62
ファイルとフォルダのロケーションの取得について質問です
OpenFileDialogでは、OpenFileDialogコントロールをダブルクリックした場所(FileDialog_FileOk内)に
 Label.Text = openFileDialog.FileName;
などと記述すればラベルに格納されますが
folderBrowserDialogのコントロールをダブルクリックした場所(folderBrowserDialog_HelpRequest内)に
 Label.Text = folderBrowserDialog.SelectedPath;
などと記述した場合は取得されません
OpenFileDialogのように、このダイアログ内にコードを書いてしまいたいのですが、folderBrowserDialogの場合はfolderBrowserDialogを呼び出す別のコントロールに
 if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  Label.Text = folderBrowserDialog.SelectedPath;
などと記載するしかないのでしょうか?

980 :デフォルトの名無しさん:2013/10/07(月) 16:57:16.00
>>979
いかにもその通り
folderBrowserDialogのヘルプ見りゃあ何故か分かる

981 :デフォルトの名無しさん:2013/10/07(月) 17:19:38.58
>>981
早速の返答ありがとうございました

982 :デフォルトの名無しさん:2013/10/07(月) 17:30:32.44
間違えました>>980でした
ありがとうございます

ついでに次スレ立てました
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/

983 :デフォルトの名無しさん:2013/10/07(月) 19:13:38.08
>>982
おつ

984 :デフォルトの名無しさん:2013/10/07(月) 23:53:53.86
MSDNのFile.Moveメソッドの例外一覧にはFileNotFoundExceptionが載っていなくて、
そういった場合にはIOExceptionが発生すると書かれているのに、
実際に試してみたらFileNotFoundExceptionが発生したんですがなんなんでしょうこれ。
http://msdn.microsoft.com/ja-jp/library/system.io.file.move%28v=vs.110%29.aspx

FileNotFoundExceptionはIOExceptionの派生だからそれに含まれてるってことですか?

985 :デフォルトの名無しさん:2013/10/08(火) 00:11:56.35
MSDN上、日本語は4.0から、英語は3.5からIOExceptionに含む事になってるね。

この辺あんま信用してない、気にするだけ無駄かと。

986 :デフォルトの名無しさん:2013/10/08(火) 03:28:33.07
>>974
thanx
動いてたプロセスが32bitだったからx64でビルドしなおしたらうまいこと動いたので多分変換してるので正解
何かもう自分で動かすだけだからこれでいいや

987 :デフォルトの名無しさん:2013/10/08(火) 06:08:46.20
うめ

988 :デフォルトの名無しさん:2013/10/08(火) 21:06:38.72
うめ

989 :デフォルトの名無しさん:2013/10/08(火) 22:10:19.80
うめたろう

990 :デフォルトの名無しさん:2013/10/08(火) 23:35:00.61
うめざむらい

991 :デフォルトの名無しさん:2013/10/08(火) 23:46:23.40
ここ掘れわんわん

992 :デフォルトの名無しさん:2013/10/09(水) 06:05:08.01
うめてんて

993 :デフォルトの名無しさん:2013/10/09(水) 06:54:22.34
まだ質問できるだろ。
無駄に埋めるな!

994 :デフォルトの名無しさん:2013/10/09(水) 06:57:41.34
無駄なレスはやめよう!

995 :デフォルトの名無しさん:2013/10/09(水) 06:58:55.07
そうだそうだ

996 :デフォルトの名無しさん:2013/10/09(水) 07:05:27.06
ほむほむ

997 :デフォルトの名無しさん:2013/10/09(水) 09:08:04.00
VS2012とVS2013のC#の違いって、見やすくなるくらいで
出来ることは全く変わらないのでしょうか?

998 :デフォルトの名無しさん:2013/10/09(水) 12:03:03.26
畳と女房は新しい方がいい

999 :デフォルトの名無しさん:2013/10/09(水) 12:04:12.15
うまい

1000 :デフォルトの名無しさん:2013/10/09(水) 13:06:24.28
>>997
出て使ってみれば分かる1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

209 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)