ふらっとVisual C#,C♯,C#(初心者用) Part98
1 :
デフォルトの名無しさん :
2012/10/02(火) 16:31:27.02
乙 >>前999 オプションが要るけど.NET 4.5まで対応してる
そろそろWin8発売だが、あと5年はWinFormsで行くぜー!!! David Platt氏の発言はもっともだぜ!!!オラオラ!!!
6 :
デフォルトの名無しさん :2012/10/02(火) 18:59:51.11
win8ストアって儲かるのかな
ううん
でもさ、WindowsRTとか言うのが主流になると HTML5+JavaScriptとかがメインの開発言語になるんだろ? C#コミュニティとしては何とか流行らないように妨害した方が良くね?
ビジネスロジックをC#で書いて、UIをHTMLで書きたいってのが簡単に実現できるわけで 妨害より共存繁栄を目指す方がいいと思うけど?
C#コミュニティとか何一枚岩気取ってんだ死に晒せ
そうでなくてもクライアントがどんどん薄くなってサーバーに移って行ってる時代だしな C#の用途がASP.NETメインになっていくのは必至
WinRT自体、(C++/DirectXは別にして)Webサービスのクライアント動かすための環境みたいなもんだろ サーバー側はがっつり.NETでサービス書いて、 クライアントはただの窓口だからJSでも何でも手軽なのでいいって方針でしょ
サーバーサイドなら、初心者が大嫌いなリバースエンジニアリングもされなくて済むよ(ニッコリ
Webサービス使わないんならWinRTでむしろ何作るんだろ? (ゲーム以外で) 自称個人開発者お得意のちょっとしたユーティリティ類なんて 制限ガチガチのWinRTじゃほとんど何もできないし
お前もいつまでも根に持ってるな そんなに堪えたのか
仕事以外ではゲームしか作らないから問題ない
>>18 アイデアplz
エディタとかでもモバイル対応するんなら今時web同期は常識だよ
エロビデダウンローダー
html5で快適に動かしたかったら今よりずっとスペックが必要だしな html5の時代なんていつまでたっても来ないだろう
大体ブラウザが原因じゃないかと
ところで、VS2012のコンパイルオプションで、 x86と64ってのが選べるんだけど、.NETって CPU依存モジュールなんだっけ? それとも単なる最適化オプション?
24 :
デフォルトの名無しさん :2012/10/03(水) 08:29:49.83
AnyCPUがあるとおり.NET自体はどっちでもいいんだが アプリの参照するCOMとかアンマネージDLLとかがな
以前radiko用の簡易プレーヤーをwebBrowserで作った際に AnyCPUでビルドして配布したら64bitOS下でこけたことがあるな x86でビルドしておけば64bitOS下でも32bit版IEとFlashが読み込まれるので こけない感じ
WindowsMediaPlayerコントロールって、ターゲットプラットフォームが64bitだと正常に動作しないですか? なんかやたらと不安定なんですが・・・。
せめてどう不安定なのかとか、使ってるコーデック一覧ぐらいはないと…
すまぬ。 コーデック以前に、フォームに貼りつけただけで「AxHostが作成できませんでした」とか 「Interop.WMPLib.DLLが見付かりません」とか 「WMPLib.DLLが無効です」とか 勝手にDLL拾ってきて勝手にエラー出してます。
ウィルス
やっぱりDelphi最強だな
ヘルスバーグがGoogleやOracleやAppleに引き抜かれて新言語作ったら さぞ微妙な気分になることだろうな それでもC#信者でいられるだろうか
十数本ある手足のうちの一つだからどうでもいいわ むしろ一本増えるかも
彼の素晴らしさが多くの人に知れ渡ると歓喜するのがよく訓練された信者というものではないか。
35 :
デフォルトの名無しさん :2012/10/04(木) 01:09:57.28
36 :
デフォルトの名無しさん :2012/10/04(木) 15:01:33.37
EndReceivedで受け取ってるだろ
IPEndPoint.Address, IPEndPoint.Port
39 :
デフォルトの名無しさん :2012/10/04(木) 15:14:43.84
>>37 ipAnyの中に入ってますね。
ありがとうございました。
大変たすかりました。
40 :
デフォルトの名無しさん :2012/10/04(木) 15:16:12.17
>>38 こまかいプロパティの名前までありがとうございました。
42 :
デフォルトの名無しさん :2012/10/04(木) 20:36:30.87
答えて差し上げろ
30超えてからプログラミングはじめた俺でもわかる
なんやそれ オッサン自慢け
46 :
デフォルトの名無しさん :2012/10/05(金) 07:22:55.18
今までLL言語とか興味ゼロで知識ゼロだったんだけど TypeScriptが登場したので、今30分くらいjsを勉強してみたんだけど js界隈に近寄らなくて正解だと確信した、今後も関わることは無いだろう
ケドケドケドケド
Lightweight Language Language
Scroll.Valueの最大値ってScroll.Maximumと違うじゃねーかくそったれ 半日悩んだじゃねーかごるぁああああああああああああああああああ
漠然とした質問ですいません、XMLを使用したクライアント/サーバーでの
通信は一般的にどの様に行うのでしょうか?
[SOH]ヘッダー部分(ここでXMLがどの型を使うか指定)[STX]Xml本体[EOT]
のように行うのか
http://lyokato.github.com/ocean-core/xep2.htmlのように XML文内で通信をやり取りするのか・・・
C#単体であれば他にやりようがあるのですが、C++やJavaでも使用する可能性
があります。ざっくり、この記事を見ろでもかまいませんヒントになるようなものない
でしょうか?よろしくおねがいします。
http + xml inetd(or xinetd) + xml(毎回接続) inetd(or xinetd) + xml(MIMEマルチパート)
53 :
51 :2012/10/05(金) 17:41:25.99
すいません、条件をつけるのを忘れていました。 条件:Socket通信 電文方法:XML 不明点:通信データのやり取りの方法 電文XMLを送信した場合、データの終端はどの様に判断するか? 固定長ヘッダー+XML文とするのか?(固定長ヘッダー^内に電文サイズを格納するなど)
終端はコネクション断によって判断する
\0が入ったら終端とする
金の切れ目が縁の切れ目ってか、上手いこと言ったつもりか
え?
HTTPでやればいいのに
プロトコルなんて上っ面だから、後からどうとでもなる部分だしね
いきなりズラズラXMLを送っていきなり切断してもいいわけだろ
モバイルとかの業務アプリだとhttpは遅くて使いものにならない
毎回切断するからか?
誰も業務なんて言ってないのに何故いきなり業務が始まったの? ワーカーホリックなの?
うん
httpって遅いの? ちょっとやり取りした後は別になんでも送れるんじゃないの?
仕事中毒は感染するから隔離しないと駄目だよ シッシッ
送信側も受信側も単純な処理しかしてないのなら大差ないよ おせーってのはちゃんとしたRFCにあるような仕様に従って処理すればの話 それとペイロードが非常に小さくて、数送るとオーバーヘッドが無視できないような場合
そういやSOAPって今どうなってんの? 流行ってる?
>>69 2クールなのはいいがダウンロード厳罰化の10月をまたいだのはいただけないな
テレビで見られないからネットで見てたんだけど捕まったら嫌だから泣く泣く切ったよ
文化庁はストリーミングはOKって言ってるけどQ&A見る限り情弱ぷりを惜しげなく披露してるとこから
発言の効力があるとは思えないのが実情だな
もうねこの国
それはsop
これ面白いと思って書いてるんでしょ アニメなんか見るもんじゃあないよね
sopは海外サッカー見るやつだろ
エクスプローラーをファイル選択状態で開きたいんだけど 既にそのフォルダが開かれているとファイル選択してくれないんだけど Win32APIを使うしか無いですか?
うん
最近良く聞くクラウドとは何ですか?
お前のようなうすのろのことだ
うすのろって何ですか?
広辞苑より うす-のろ【薄鈍】 知能が低くて、動作や反応が にぶいこと。また、そういう人。 だそうだ
辞書から引いてくる嫌味って、パンチに欠けるよね。
今はこれが、精一杯
常に全力を出せる準備をしていない奴に価値などない
準備をしているかどうかはどうでもよい 結果がすべて
もし誤ってCドライブのファイルを全部削除するようなコーディングをしてしまった場合 「一切保障しません」と書いていれば大丈夫?
>>84 程度問題ではあるが、そのケースの場合、
その動作は意図したものでなかったと主張してそれが通ると思う?
昔みずいろだかってエロゲーがあってですね…
ReadMeに「このソフトウェアはCドライブのファイルを全部削除するかもしれません」と書いておけばおk
Silverlight で、画像データをGIF形式で出力できるライブラリ (もしくはサンプルソース) を探していますが、見つかりません。 海外サイトとかでも良いので、知っている方がいましたら、 教えていただけないでしょうか?
お断りしました
CodeProjectにNGifとかいうのがあったけど試してみたら
Silverlightならサーバーでやれよ それができないなら制限だらけなだけだからやめといた方がいいぞSilverlightなんて
やりたいんだからやらせといてやれよ gdgdでやっとこさ出来上がって最後にはゴミになるだけだから
94 :
89 :2012/10/08(月) 01:27:36.93
皆さんアドバイスありがとうございました。 NGifを試してみることにします。
string[] cmds = System.Environment.GetCommandLineArgs();
MessageBox.Show(cmds[1]);
Encoding enc = Encoding.GetEncoding("Shift_JIS");
File.WriteAllText(@"Test.txt", cmds[1], enc);
このような、引数の文字列をメッセージボックスで表示してファイルに保存するコードを書きました
デバッグの設定でコマンドライン引数をabcと設定すると、意図した通りに
abcというメッセージが表示され、abcと書かれたテキストファイルが出来上がります
しかし、Janeのコマンド機能を利用して$TEXT(Janeで選択反転した文字列)を引数として渡すと、
メッセージは正常にJaneで選択したテキストが表示されるのですが、ファイルが作成されません
これはなぜでしょうか
メッセージの表示は正常にできているのでJaneからのテキストの受け取りは成功しているようです
エラーが出ないのでよく分からない状況です
念のためJaneのコマンド機能について
http://janesoft.net/janestyle/help/option/function/command.html 返信遅くなるかもしれませんが、よろしくお願いします
絶対パスでやったら
>>95 コマンドラインのパラメータは文字数制限がある
それにひっかかっているいのかもな
普通、長い場合はクリップボード経由やD&D、ファイルを仲介して送る
WindowsMobile6.5で外部MYSQLの接続について ODBCで接続したいと思ったが、.NETCompactフレームワークではできないっぽい。 (VBAでMYSQLポート3363を開いて接続はとっくに出来てる。) HTTP通信でリクエストだして、PHPでJSON生成して受信しようと思ったけど、 .NETCompactフレームワークにJSON解析するものがない、、、困った。
>>97 表示は出来てるんだから、それはないだろ。
そもそもいつの時代の知識で止まってるんだよ。
Jane の作業フォルダに作られてるんのを見つけられてないだけだと思う。
なので、まずは
>>96 でやってみるのがいいんじゃね ⇒
>>95
コマンドプロンプトの制約は今も昔も変わっていないが?
「メッセージの表示は正常にできている」を見落とした
>>97 が悪い
そりゃ絶対パスじゃなかったら起動されたパスで ファイルが作成されるのは当たり前だろバカ
まあコマンドプロンプトの文字数制限とコマンドライン引数の文字数制限もまた別なんですけどね
なんでExcelの話?
106 :
95 :2012/10/08(月) 13:58:51.94
>Jane の作業フォルダに作られてるんのを見つけられてないだけだと思う。 その通りでした… てっきり作成したアプリと同じフォルダにできるものと勘違いしてましたorz
>>105 アプリとしての普及度合いから例として適切と思ったんだが、なんかまずかったか?
配列に配列を挿入したいのですが int[,] l = new int[5,5]; int[] t = new int[] {0,1,2,3,4,5}; l[0,0] = t; とすると「型 'int[]' を型 'int' に暗黙的に変換できません」と怒られてしまいます このようなときはどうすればいいのでしょうか?
l[0,0] これはintになっちゃってるじゃん できるかどうか知らんがやるなら l[0] = t; じゃね?
多次元配列はオワコン 配列の配列(ジャグ配列)を使えば通る
111 :
108 :2012/10/09(火) 00:16:36.78
ありがとうございます! int[,][] l = new int[5,5][]; int[] t = new int[] {0,1,2,3,4,5}; l[0,0] = t; としたらできました!
int[][] l = new int[5][5]; こんな感じだっけ? これが気持ち悪ければ List<List<int>> l = new List<List<int>>(); で行ってもいいし
>>108 var l = new int[5,5][];
var t = new int[]{0, 1, 2, 3, 4, 5};
>>110 多次元配列がダメってお前3Dゲー作ったことないだろ
C#初版以降、MSに全力でシカトされてるのは事実だし けっこう遅いよ多次元配列
遅いってGPU使ってないからだろ
GPUと配列アクセスの速度がどう関係あるんだよw それに多次元配列がなくても一次元配列のインデックスの除算と剰余で 多次元配列と似たような配列の使い方はできるし DirectXとかだと非常に一般的なやり方だと思うけど…
やべ、プロが北、にげろー
まあ、エクセルのオートメーションでもやらない限り俺も使わないな。 もっとも、遅くてメモリーの使用効率も悪いのはむしろジャグ配列の方だよね。
負けたか
多次元配列はポンタ使えるしね
右のインデックスに連続アクセスするなら 圧倒的にジャグ配列の方が速いよ
ってかLINQと多次元配列の相性が最悪
たかがアクセスに乗算が必要とかね
多次元配列もそうだけどね
でもそれは多次元配列なんてつかう情弱が悪いのでは?
CA1814: 複数次元の配列ではなくジャグ配列を使用します 使うだけで無条件に警告が出る機能って… 多くの場合メモリの無駄遣いになるからで、問題ない場合は無視していいらしいけど、 普通に使っていい機能なら、そもそも一律警告とかありえないし、 こんなわかりやすいタイトルも付けないだろうねw
ジャグ配列って何?
130 :
デフォルトの名無しさん :2012/10/09(火) 11:50:03.25
int[][] ジャグ配列 ジャグ配列[2][3] int[,] 2次元配列 2次元配列[2,3]
おおおおお
多次元配列ってunsafeやネイティブコードとの相互運用では使うけど 逆に言うと、そのくらいしか出番が…
そのくらいで十分
135 :
89 :2012/10/09(火) 17:31:32.75
nGifを使ってみましたが、残念ながらシルバーライトに対応していませんでした。 この場合、自分でサンプルソースをカスタマイズしないと いけないのでしょうか? 大変恐縮ですが、良い解決方法がありましたら(シルバーライトを使わないとかは無しで)教えて頂けないでしょうか?
136 :
デフォルトの名無しさん :2012/10/09(火) 17:33:43.26
自分で作る フォーマットはどこかに資料ない?
なんでわざわざgifなのかさっぱりわからんけど標準で使えないわけだから GDI+とかで取ってくるしかないんじゃないの
138 :
デフォルトの名無しさん :2012/10/09(火) 17:48:11.54
silverlightはFlashのAIRみたいにアプリ化を認めないと できることが限られる 独自で書くかライブラリ探すか上でもあったサーバー側だとgifもいじれるはずなので サーバー側でファイルにした上で転送してもらって出力するしかないかなあ
おまえはすべてがわかったつもりでいるのか?
先生が来たぞ
>>139 がずばり回答くれるようだ
よかったな
すべてがわかっている・・・
自演臭が
>silverlightはFlashのAIRみたいにアプリ化を認めないと〜 WPFデスクトップアプリとしてIDEの設定で出力すればいいだけだろ。 JavaのSwingでもアプレットをデスクトップアプリ化するのはたやすい。
>silverlightはFlashのAIRみたいにアプリ化を認めないと〜 SilverlightにはOutOfBrowserというブラウザ外で動かす機能があって、 それを使うと全権握って普通のローカルアプリとしてやりたい放題できる。 それを使わないと無理だと言ってるんだと思うよ。 でもそれやるんだったらWPFの方がいい。Silvelrightの意味ない。 Silverlightならサーバーで処理する一択。
147 :
146 :2012/10/09(火) 20:38:39.03
誤解されそうだから補足しとく 権限昇格モードでもフルセットの.NETの機能やDllImportが使えるわけじゃなくて、 勝手にファイルにアクセスしたり COMを使ってネイティブコンポーネントを呼び出したりできるだけ。 それを利用してGifのデコードをやろうと思うとCOMコンポーネントをインストールしたりとか いろいろ大掛かりになってしまうので、Silverlightの意味がない。 OOBが意味ないんじゃなくて、インストールが面倒になるならSilverlightの意味ないってことね。
>>135 カスタマイズって言ってもちょっと手直しする程度でいい。
nGifのGif/Componentsの中のソースコード見れ
149 :
デフォルトの名無しさん :2012/10/10(水) 00:31:26.20
visual studioで、1つのソリューションの中にサーバとクライアントのプロジェクト置いて通信とかのシミュレーションってできますか?
普通にlocalhostでやればいいんでは
151 :
デフォルトの名無しさん :2012/10/10(水) 00:34:16.29
本来数台のPCで(サーバ・クライアント)それぞれ実行するようなプログラムを作成する場合に、1台で開発できないもんかと。実際に何台かPC置いて実装する前段階として。
だからサーバー側は普通にVSの開発用サーバーで動かして クライアントからはそのポートにアクセスするだけだよ 何の問題もなく一台でやれる
>>150 の方法でやるか手持ちのマシンスペックがよくわからんのであれだが
VMware Playerあたりで仮想マシン作ってそっちでサーバーでもクライアントでもいいので
動かしてみるとか
154 :
デフォルトの名無しさん :2012/10/10(水) 00:41:41.22
なんと、、、そんな方法があるのですね…!来年から社会人なのに、開発の部署でやっていけるか心配^q^
155 :
デフォルトの名無しさん :2012/10/10(水) 00:42:24.29
片側づつならOK
156 :
デフォルトの名無しさん :2012/10/10(水) 00:48:04.08
>>153 仮想マシン作ったら、IPアドレスが一般的な通信のように割り当てられるんですか?
>>156 できる。あとスレチだからこれ以上はやめとけ。
158 :
デフォルトの名無しさん :2012/10/10(水) 01:01:09.14
ごごごめんなさい。失礼いたしやした!
ふざけるな
MenuStripについてなんですがウィンドウが2つあるアプリケーションで 非アクティブなほうのウィンドウのメニュー項目をクリックすると 1回目のクリックでウィンドウがアクティブになり 2回目のクリックでメニュー項目が選択できます。 1回目のクリックでメニュー項目が選択できるようにしたいのですが そのようなプロパティも見当たりませんでした。 何か解決策はないものでしょうか?
マウスカーソルが非アクティブなウインドウの領域に入ったときに 自分自身がアクティブになるようにすればいいんじゃないの?
>>160 OSの規定がそうなのに
それを変えて独自仕様にしたら
一般の人は混乱するだけ
>>161 なるほど。でもマウスが入ってくるだけでアクティブに
なってしまうのもあれですね。
>>162 自分も標準から外れるのは嫌いなんですが
例えばエクスプローラですらメニューには一発アクセスできます。
こちらのほうがどう見ても使いやすいんですよねー。
OK
>>166 個人的にはその動作のほうが自然だと思う
自分もWM_MOUSEACTIVATE見て同様な機能にしたとこがある
>>162 OSの規定というのは誤解ではないか
試したらXPのメモ帳, explorer, Opera, Firefox, 秀丸 は 非アクティブの状態からでもメニューが1クリックで反応する しかしExcel 2000, Visual C# 2008 は非アクティブからだとメニューが反応しない これらはWin32APIの標準メニューでなく別途実装されたコントロールで MenuStripもこっち側だな
>>168 JAVA製だからOS規定と違うのは当たり前
UIに日本語入るとだせぇ どうにかならんのかこのダサさ
漢字とかな、カナを混ぜなければいい
日本から出ていけばいい
全部アイコン toolchipで
tooltipだった・・・
tu-rutippu
多言語にするとバランスが違いすぎていらつく
Englishでガリガリ書いていったほうが変数名とか悩まなくていいな
179 :
デフォルトの名無しさん :2012/10/10(水) 21:43:25.66
ImageList.Images.Add( string key, Image image )って もしかしてkeyが重複してても上書きしてくれないの…… 小1時間はまりましたわぁ 上書きするとリークしかねないという配慮からかな(´;ω;`) private void Form1_Load( object sender, EventArgs e ) { this.imageList1.Images.Add( "key1", Resource1.image1 ); this.pictureBox1.Image = this.imageList1.Images["key1"]; } private void button1_Click( object sender, EventArgs e ) { this.imageList1.Images.Add( "key1", Resource1.image2 ); this.pictureBox2.Image = this.imageList1.Images["key1"]; } // どちらもimage1が表示される
MessageBox.Show( ( this.imageList1.Images["key1"] == this.imageList1.Images["key1"] ).ToString() ); // False あー、これはどゆこと?
キー重複は例外の場合もあるんだから先に仕様を確認しようよ…
MSDNにもなんとも書いてないんすもん
英語力がねーんだよ
単語が限界 コメントとか文章になるとお手上げ
重複してたらfalseが返るよね
>>179 重複可能なハッシュコンテナなんじゃね?
187 :
89 :2012/10/11(木) 02:21:36.47
皆さん色々とありがとうございました。 色々と方法は調べているところですが、最悪の場合nGifのカスタマイズで 対処しようと思います。 SilverLight は GDI+ がライブラリにないので(System.Drawing が使えない) カスタマイズはかなり苦労するとは思いますが・・・・・・
188 :
148 :2012/10/11(木) 02:37:49.52
いや、だからちょっとの手直しでいいって言ってるのに… GDI+はビットマップ画像読み込んでピクセルデータにアクセスするぐらいしか使ってない。 だからWriteableBitmapに置き換えればすぐ
根本的な発想が狂ってる奴はほおっておけよ
AnyCPUでコンパイルしてるアプリなんですが Win32APIを使う必要が出てきました。 この場合x86でコンパイルする必要があるでしょうか? 64bitのWindowsでも動かしたいと思っているのですが。
x86コンパイルしても64bitOS上で動くよ というか積極的にx86指定するべきだけどな AnyCPUはトラブルの元
うーん .netといえどコアの部分では結局windowsのネイティブを呼び出してるので コア機能を呼び出してるコントロールを使うとトラブル起こすんだよな 今はどうか知らんけど経験したのはwebBrowserか webBrowserの中でプラグインを使わなければ特に問題ないんだが Flashプレーヤーを呼び出すHPを表示するとコケた 理由は簡単でAnyCPUでコンパイルして64bitOS上で動かすと 64bitアプリとして動いてIEコアも64bit版が呼び出されるんだが 以前はまった当時はFlashプレーヤーが32bit版しかなくて この辺でこけてた
194 :
デフォルトの名無しさん :2012/10/12(金) 09:20:35.35
というかvsの古いバージョン使ってない? VC#2010 ExpressだけどAnyCPUの項目ないぞ x86だけだった
あ、ごめん。本当だ。 VS2008のプロジェクトと混同してた。x86しかないや。
>>190 x86でビルドするとDllImportしたWin32APIも32bit版が使われる。
AnyCPUでビルドすると64bit環境なら64bit版、32bit環境なら32bit版が使われる。
x64でビルドすると32bit環境では動かない。
Win32構造体を使う場合などで問題が出るのがAnyCPUで、
32bitと64bitで共用できないパターンがあり得る。パッキングが違ったりね。
IntPtr.Sizeで振り分ける必要があったり、パッキングを明示的に指定しないといけなくなる場合もある。
有名なのが SHFILEOPSTRUCTね。今はあんまり使わないけど。
GetWindowLong/GetWindowLongPtr とかも振り分けないといけない。
いいよね
Windows 7 64bitの氷菓版なんてものがあったからテストできた。
どうも例のウイルス事件の犯人はC#スレで質問してた可能性があるな
ID出ないスレでなぜそんなことがわかるんだ?
203 :
デフォルトの名無しさん :2012/10/12(金) 15:35:15.09
>>202 ウイルスの動きをシマンテックが公開してたんだが
ここ2年くらいの間に対応してきた質問で網羅してたなあと思ってさw
dobonを丸コピーしたりして意外とレベルが低そうだという話だな
dobonマジでありがたい。一時期つながらないときはマジで仕事にならなかった。
206 :
デフォルトの名無しさん :2012/10/12(金) 16:17:33.24
すみません。お助けください。 ageで失礼します。 ダウンロードしてきたソースを 2010 C# で実行したところ、実行することができました。 ソースを少々変更しても実行することができました。 フォームの初期値を設定しようと、numelicUpDown のValue に初期値をセットしたところ、 エラーが発生して実行およびコンパイルできなくなってしまいました。 どこを直せばいいのかわからないので教えてください。 エラー: リソース識別子 'new03.Form1.resources' はアセンブリで既に使用されています。
とりあえずプロジェクトプロパティのリソースとか見てみたら?
そのウイルスはC#で作られたのか? 逆アセンブルできてよかったじゃんッ!
>>206 です。
ソリューションエクスプローラにあった
Form1.resources
をプロジェクトから除外したところ
ビルドできるようになりました。 (よくわからないでやってます)
お騒がせしました。
inner class 使いたい! とか思ったら その時点でしばらく全体を見直してどうするべきか 考え直したほうがいいのだろうか…
普通に使えるだろ C#にはデリゲートがあるから、 Javaにあるような外のthisを引き継いでるやつや(Javaでいう)無名クラスは不要 ちょっとデータをまとめてコレクションに入れたいというようなときにしか使わん
稀にインターフェイスを内部クラスで実装することもあるな Javaに比べるとその頻度は極めて低いけど その場合は(中でしか使わないなら)外で実装するよりも内部クラスで実装して 外には見せない方が作法的にむしろベター
言葉のアレだけどC#に内部クラスは無いよ。 C#のnested classはJavaでのstatic nested classになる。
プログラムは個々の要素は難しくなくても 完成させるとなると別なんだよね…
以外に中学生ぐらいの犯行だったりしてw
ウィルスならほとんど個々の技術要素だけで作れるからな
そもそもこれウィルスなのか?と思う
OSの穴をついてとなると技術力があるなと思うけど ただ単に掲示板閲覧して書き込むだけのソフトだからな
被害が出ないだけでずっと監視されている奴らとかたくさんいるんだろうな
その掲示板を借りてるやつが犯人な可能性が高いんだろ そっから足つかないの?
海外経由とかなんとか 誰だよこんなインターネット考えたのは
string str = "(? <obj> w+)::(? <art> w+)::(? <value> %d)::%d*"; Regex p = new Regex(str); というコードを書いたら 'System.ArgumentException' のハンドルされていない例外が System.dll で発生しました。 追加情報: 解析中 "(? <obj> w+)::(? <art> w+)::(? <value> %d)::%d*" - 認識されないグループ化構造です。 って言われて止まってしまいます。 どういうことなんですか?
正規表現が間違っている %dなんだこれは
string str = "(?<obj>\w+)::(?<art>\w+)::(?<value>\d+)::\d*"; こうしたいんじゃないのか?
>>224 > (? <obj> w+)
何この謎スペース
@が抜けてた string str = @"(?<obj>\w+)::(?<art>\w+)::(?<value>\d+)::\d*";
var task = Task.Factory.StartNew( () { Console.WriteLine (0); Obj =new Obj(); if(Obj!=null) Console.WriteLine (1); }); これやっても下のWriteLineが動かない。別スレッドでのnewってなんか特殊な方法が必要? それとも俺がミスってるだけ?
struct Data { ... } static StaticClass1 {
>>230 問題なく動く
本当にそのコードで間違いないのなら、
newしてからifまでの間に別のスレッドがタイミングよくObjにnullを代入するという
奇跡が起こっているか、実はObjが変数ではなくプロパティで
常にnullを返すようになっているくらいしか考えられない
var task = Task.Factory.StartNew( () => {
Console.WriteLine (0); Obj =new Obj();
});
if(Obj!=null) Console.WriteLine (1);
もしかしてこれの間違いじゃないのか? これならifの方が先だから当然動かないよ
その「 Console.WriteLine が動かない」ってのが、 ・本当にそのコードが実行されていない/そこに到達しない ・コンソールに出力がされない のどっちなんだって疑問もあるけどな。スレタイ的に。
これPSMで書いてたんだけど到達してないっぽい。 if(Obj==null)でもうごかなっかったし。 それに単純にintの変数いじるだけなら動作する。
あまり不可思議な動作をしてるならIL見てみるのも一つの手
ソース全部だぜよ
とりあえずObjをラムダ内のローカル変数にしてみるとか
「ぽい」じゃなくて、ちゃんと確認してから来いよ。 特にそう言う動作するなら尚更だ。 それと、多分問題ないと思うけど、オブジェクトと変数名が同じなのが悪さしてたりしない?
ソース全部だぜよ
他のobjをnewしたときは普通に動いたので自作Objのコンストラクタが原因だと思いました。 変数名とObjは違う名前でした。お騒がせして申し訳ありませんでした。
死いいいいいいいいいいいねえええええええええええええええええええ
だからソース出させろよ 自分でおかしいと思ってない公開されてない部分に原因があるから 思うように動かないんだけなんだし 思い込み が最大の敵
やかましいお前は吉良か
string str = @"(?<obj>\w+)::(?<art>\w+)::(?<value>\w+)::\d*"; Regex p = new Regex(str); str line = "3::110::4.5::1136075500" Match m; m = p.Match(line); でマッチしないと言われます どういうことなんですか?
string str = @"(?<obj>\w+)::(?<art>\w+)::(?<value>\w+)::\d*"; Regex p = new Regex(str); str line = "3::110::4.5::1136075500"; Match m; m = p.Match(line); ですすいません…
文字クラスくらい把握してから使えよアンポンタンが
string str = @"(?<obj>\w+)::(?<art>\w+)::(?<value>\w+)::\d*"; Regex p = new Regex(str); string line = "3::110::4.5::1136075500"; Match m; m = p.Match(line); ですね何度もすいません^^;
500" の後ろの ; か(しょ盆)
string str = @"(?<obj>[^:]+)::(?<art>[^:]+)::(?<value>[^:]+)::[^:]*"; コロン以外全部取っちゃえばいいんじゃないの
structを使うときそのメンバーを全てpublicにしているのですが、これはダメですよね?
OK
牧場
不特定多数向けのライブラリ作るとかでなければそれでいいと思う パフォーマンス目的でstruct使うんなら、プロパティにしてたらほとんど意味無いしな
>>254 ,255,256
ありがとうございます。よかった
258 :
デフォルトの名無しさん :2012/10/14(日) 01:07:58.91
プロパティにしたらどれくらいパフォーマンス下がるの?
アクセサはインライン展開されるはずだけど値のコピーは消えなかったと思う
フィールド、プロパティ、静的プロパティでアクセス速度比較したけど ほぼ差はなかった
>>260 構造体を返すプロパティだと結構差があるよ
どれだけ激しくプロパティを叩いてるんだよ
いや少しでも速くしたいから構造体使ってるんでしょ どうでもいいなら全部クラスでいいじゃない
264 :
デフォルトの名無しさん :2012/10/14(日) 10:27:03.17
インスタンスのコピーを自動的に作成したいのなら構造体を使うってだけ パフォーマンスはI/Oや計算量オーダーの影響の方が圧倒的に大きいし
それならイミュータブルなクラスの方がよくね
windowsフォームアプリケーションで、 ツールバーに表示するアイコンってみんなどこから手に入れてるの? 保存とかファイルを開くとかの画像
>>266 OSのリソースを使うか、フリーのアイコンを利用
ToolStrip/MenuStrip系なら標準項目の挿入ってコマンドでリソースに入れてくれる Expressでも
自分が使う機能だけをつけたアプリはすぐできるけど 万人向けに作るとなると面倒だね 大半が自分が使わないような機能ばっかりだし
別に「自分が使う機能だけ」のアプリでも OK だろ。 それが使いやすければ。 万人向けの機能はもう誰かが使いやすいのを作ってるだろうし。
まあよほどのものでなければどうせ見向きもされないしな 人に使ってもらいたいならスマホに行ったほうが面白いよ
保存がFDDアイコンって、この先生き残るンかな?
視覚的に理解はしやすい。だからアイコンなわけだし。
他に保存を連想させるアイコンってどんなのがあるよ 光ディスクは何か違うよな
IntPtrとUIntPtrって、どう使い分けたらいいでしょうか。 例えば、DWORD_PTRを引数に取るWinAPIを呼ぶ場合、C#側はUIntPtrとすればいいでしょうか。
全部IntPtrでよい
おじさん世代には紙テープとかパンチカードの方が まあパピルスとかロゼッタストーンとか巻物とか、考えればいろいろあるとは思う
.jsスクリプトのアイコンはなんであんな絵柄になったんだろうな
280 :
デフォルトの名無しさん :2012/10/15(月) 10:32:07.75
プログラミング未経験からC#を学んだという方がいましたら教えてください 他人の作った簡単なプログラムのコードが読める(なにやってるか大体わかる)ようになるまで何ヶ月くらいかかりましたか?
1年やっているけど今でも読めない ライブラリが膨大過ぎ
282 :
デフォルトの名無しさん :2012/10/15(月) 13:21:21.69
テキストファイルに1行ずつ検索する単語が書かれています。 webbrowserを使ってあるサイトを表示して 最初にそのテキストファイルの1行目に書かれている単語を読んで入力して 検索結果を表示。 次にForm1を表示したまま新しくForm2を生成して2行目の単語を読み取って また検索結果を表示したいと考えています。 Form1に検索結果を表示させることはできたのですが ループさせて10個ぐらいのFormに検索結果を表示させることができません。 どういった処理にすればいいか全く思いつかないのでご教授願います。
using( StreamReader sr = new StreamReader( tekisutoFairu ) ) { string line; while( ( line = sr.ReadLine() ) != null ) { string result = kennsaku( line ); new Form2( result ).Show(); } }
284 :
デフォルトの名無しさん :2012/10/15(月) 14:43:43.36
>>285 でいけそうです!!
感動しました!涙が出ました!
ありがとうございます!!
ウイルスっていうかブラクラの類だねw
ここでいいのかな。 webkitbrowserについての質問なんですけど、webkitbrowserを使用して簡易ブラウザを作成し、User-Agentをiphoneにして mobageへログインしようと試みたんですが、「cookieを有効にして再起動してください。」なる文字が出るんですが webkitbrowserはもともとcookieが有効になっていないのでしょうか。 webbrowserやgeckowebbrowserはログインできるもののレイアウトが崩れる為、webkitbrowserを使用します。
モバゲーの運営に聞けばええんちゃう?
>>291 有効だよ
Document.Cookieにクッキー格納されてるよ
publicメンバが呼び出されてない場合に警告される属性とかないかあなあ
順序守らせたいのか?
publicメンバを用意する側が特定の順番を守らない場合は例外でとめるとか public メンバA public メンバB public メンバC ってあって A B C の順番で呼べばエラーにならないけど A C とか呼び出すとアウトとかさ
Initって言うメソッドを呼んでからじゃないと使えないんだけど Initを呼んでない場合にコンパイラ様が警告してくれるような internalだと使ってなければ警告してくれるけど publicだとしてくれないじゃない
299 :
デフォルトの名無しさん :2012/10/15(月) 21:16:49.99
その警告の趣旨は 使わないなら無駄だ 存在価値皆無 消せよ って言ってんだろうから
>>300 ああ、その警告かよ・・・
さっぱりわからんかったw
クラスに使うwhere Tと継承を同時に使うにはどうすればいいのでしょう? class A<T> where T : interface : class とか書いて見ましたが予想通りコンパイルエラーでした
class A<T> : IHoge<T> where T : class
Parallel.ForEach(z, (x) => { x.update(step); x.showInf(); } ); で、zは自作クラスのarraylistです このコードで、型引数を推論することができません、型を明示的に云々って出ます
>>305 ArrayListなんかやめてList<T>を使いなよ
framework4.5て7の自動アプデで勝手に入る?
4って入ってんの?
>>306 なんかいけたっぽいです!
ありがとうございます!
あと気になったんですが、varってメイン関数の中でしか使えないんですかね…
自作クラスの中で使うと、
型または名前空間'var'が見つかりません って言われるんですが。
>>309 varを使うときには=も同時に使わないといけない
var x = 3;
>>310 var ads = 0;
みたいなコードでvarの下に赤線が引かれて文句言われるんです
ちなみにVS2012使ってます
メイン関数の中で同じ事やっても文句言われません…
>>311 それはありえないな
正確なソースをくれよ
>>313 ありがとう
自分で確認する前にvs2012入れちゃったから確認できなかった
自動アプデで入るようになるまでは4.0で我慢しよ
VS Express for Desktopってデザイン変えただけで中身はまんま2010だね
でもなんか挙動は軽くなった感じ
操作性はほとんど一緒だから違和感なく以降できていいわこれ
>>313 >win8は.NET4.5と.NET3.5.1(オプション)
3.5で作ったものはWin8では標準では動かないのですか?
下位互換はないものと考えるのでしょうか
win8なんてMe並みにすべって消えるよ
>>315 互換性があり標準で動くが、app.configに4.xでも動作すると明示する必要がある。
.NET4.xしか入っていない環境で動くようにするには
app.configに<startup useLegacyV2RuntimeActivationPolicy="true">を指定し、supportedRuntimeにv4.0を書き足せばよい。
いえいえ
291です。 先日回答を頂いた件なんですがdocument.cookieが見当たりません。 心当たりのある方はいらっしゃいませんでしょうか。 Microsoft Visual Studio 2010 Express WebKit.NET-0.5-bin-cairo
321 :
デフォルトの名無しさん :2012/10/16(火) 12:51:16.10
WindowsアプリケーションでFormを追加する場合 ソリューション名を右クリックして追加、新しい項目の追加で フォームを追加しますが プログラム上で新しいフォーム(Form2)を作成することはできないのでしょうか?
自分で対応できないならあきらめろ
class Form2 : Form { } これでできあがり 実際に使うにはコントロールの登録とかいろいろ面倒だからお勧めしないけど
つかコードから作るんならFormを継承したクラスは作る必要ないぞ new Form()してControls.Addしていくだけ クソ面倒だけど
>>325 結局やることはかわらんよw
継承すればメソッドとか入れれるけど内部で部品を追加するコードは
Controls.Addしないとどうしようもない
プロジェクト作ったらデフォルトで用意されるForm1だって
IDEが触るもうひとつのファイルにごりごり書いてある
327 :
321 :2012/10/16(火) 13:09:12.95
回答ありがとうございます。継承でいけそうです。 継承についてまだあまりよくわかっていないのですが デフォルトのFrom1のデザインをForm2でも使用したい場合は Form1を継承すればいいのでしょうか? また、プログラム上で作ったForm2のデザインをいろいろ変えたい場合は Form1.Desiger.csみたいなものをForm2用に作って 変更していけばいいのでしょうか?
そういうのはやめた方がいい 共通部分をUserControlにするとか、 共通部分をFormで作って差し替えたい部分だけUserControlにするとか そっちの方向の方がデザイナで扱いやすい
Client Profileって微妙に足りなかったりして発狂するようなやつじゃなかったか
330 :
321 :2012/10/16(火) 13:21:28.13
>>328 なるほどなるほど
ぜひそれでやってみたいと思います。
最高にありがとうございます!!
>>329 .NET 4で普通のアプリ作る分には困ることはまずないはず
ASPなんちゃらとかがないだけっしょ?
webまわりの機能使う場合はクライアント側であっても Client Profileじゃあだめなケースあったような
そうか?
335 :
デフォルトの名無しさん :2012/10/16(火) 16:31:05.74
class Form2 : Form { } class Form3 : Form { } : class Form100 : Form { } これをループでできない?
>>335 継承しなきゃ出来ないようなことFormにはないし
337 :
デフォルトの名無しさん :2012/10/16(火) 16:39:32.75
>>337 ソースコード生成とか
動的クラス生成とか一応出来るはずだけどね
>>335 そういう断片的なやりたいことだけをいうんじゃなく
なんでそういう発想にいたったか説明してみろ
341 :
デフォルトの名無しさん :2012/10/16(火) 16:58:26.04
>>340 独立した100個のフォームがほしいから
for(int i = 0; i< 100; ++i) { form[i] = new Form(); } でええやん?
Form form1 = new Form(); Form form1 = new Form(); Form form2 = new Form(); Form form3 = new Form(); どうせこういうことしたいだけだろうと予想
344 :
355 :2012/10/16(火) 17:05:05.03
Form form1 = new Form(); form1.Show(); Form form2 = new Form(); form2.Show(); Form form3 = new Form(); form3.Show(); メインフォームを閉じちゃうと残りも全部閉じちゃう・・
Application.Run(form1); とかやってるとform1が閉じた時にアプリケーションが終わる Application.Run(); で開始して終わるときはApplication.Exit()を呼び出すようにすればいい だったかな
346 :
355 :2012/10/16(火) 17:12:54.81
Program.csをどうすればいいの?
Application.Run(form1); これを Application.Run(); こうすりゃいいんだよ
348 :
355 :2012/10/16(火) 17:14:47.27
Program.cs static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(); } にしたら何も表示されなくなった・・
>>347 それじゃあだめだろw
Formの親子関係がよくわからんけど
サブフォームを必ず親から作るのであればClosingイベントを受けとって
制御すればいいだけじゃないの?
メインフォームはサブフォームが生きてれば見えないだけにして
サブフォームの終了を待ってればいいんだし
それがいやならexeを分けろ
350 :
355 :2012/10/16(火) 17:18:27.62
メインフォームを見えなくする以外に方法はないのかな
>>348 new Form1().Show();
Application.Run();
これで
352 :
355 :2012/10/16(火) 17:20:23.52
353 :
デフォルトの名無しさん :2012/10/16(火) 17:21:07.35
Application.Run(form1); することでForm1が消えないようにループが起こってるけど Application.Run(); とすると何を動かすのかわからんし Application.Run(form1); でも Form1から作っただけのForm2などがメインフォームである Form1を閉じると消えるのは Form2などのサブフォームを維持するための Application.Run(form2); をやってないからでしょ
>>351 それだって
Application.Run();
を終了させるには
開いたFormの最後のやつが後始末として
Application.Exit();
しないとだめなんじゃないの?
その辺が面倒ならexeを分けろって
355 :
355 :2012/10/16(火) 17:23:34.99
>>353 >>Form2などのサブフォームを維持するための
>>Application.Run(form2);
>>をやってないからでしょ
サブフォームに対するApplication.Run()の仕方がわからん
357 :
355 :2012/10/16(火) 17:31:21.29
だから終了したくなったらApplication.Exit()すればいいんだよ
360 :
355 :2012/10/16(火) 17:33:14.62
>>358 どこにどういう記述をすればいいのか・・・
362 :
355 :2012/10/16(火) 17:34:31.15
>>361 private void Form1_Load(object sender, EventArgs e) {
Form form1 = new Form();
form1.Show();
Form form2 = new Form();
form2.Show();
Form form3 = new Form();
form3.Show();
}
最後のform3を閉じたときに終了させたい
363 :
355 :2012/10/16(火) 17:37:01.47
Form[] forms = new Form[3]; for(int i = 0; i < forms.Length; ++i) { forms[i] = new Form(); forms[i].Closed += (sender, e)=>{ if(forms.All(form => forn.Visible == false)){ Application.Exit(); } }; } こんな感じじゃね
365 :
デフォルトの名無しさん :2012/10/16(火) 17:43:14.53
366 :
355 :2012/10/16(火) 17:47:08.25
>>364 を
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new Form1().Show();
Application.Run();
ここに追加すればいいのかな?
}
367 :
355 :2012/10/16(火) 17:50:17.49
>>359 100個のサブフォームがあったとき
100回Cosingイベントを判定して
100回目のCosingイベントでメインフォームを閉じるということかな?
>>364 はForm1の中でしょ
というか動きが断片的すぎてアドバイスもまともにできねえw
サブフォームはどういうタイミングで作るんだよ・・・
Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form[] forms = new Form[3]; for(int i = 0; i < forms.Length; ++i) { forms[i] = new Form(); forms[i].Closed += (sender, e)=>{ if(forms.All(form => form.Visible == false)){ Application.Exit(); } }; forms[i].Show(); } Application.Run(); こんな感じかな
370 :
355 :2012/10/16(火) 18:06:52.09
>>369 閉じたフォームのVisibleって当てになるのか?
たしかにダメだったわ 試してみたら for(int i = 0; i < forms.Length; ++i) { forms[i] = new Form(); forms[i].Disposed += (sender, e)=>{ if(forms.All(form => form.Visible == false)){ Application.Exit(); } }; forms[i].Show(); } これでいけるみたいだな
373 :
355 :2012/10/16(火) 18:31:03.73
>>372 神現る
恐らくこれ以上の最高の方法はないだろう
なんかもっとまともな方法があるはずだけど・・・ forms[i].Disposed += (sender, e)=>{ if(forms.Count(form => form.IsDisposed) <= 1){ Application.Exit(); } }; ClosedとかDisposedの段階ではまだCloseもDisposeもされてなくて良く分かんないんだよなどれを見ればいいのか <=1っていう条件も怪しいし・・・
>>372 Closedで見るなら2個falseになってる状態ならExit発行していいな
タイミング的にはまだvidible=falseになってないみたい
【韓流】ブームがいきなり終焉!? K-POP「江南スタイル」がYouTubeランク外に消える“珍事"が勃発[10/16]
http://awabi.2ch.net/test/read.cgi/news4plus/1350366216/ 992:<丶`∀´>(´・ω・`)(`ハ´ )さん :2012/10/16(火) 16:30:03.73 ID:kdSMXng1
★まとめ★
1:チョーセン人が不正で異常な閲覧数を稼ぎレディガガ記録を抜く
2:気づいた奴が4ch(アメリカ版の2ch)で暴露
3:「アイツら本当にうぜーな」と4chねらーが PSYのwiki(英語版)で死んだことにする
4:チョーセン人かその関係者がwiki(英語版)での死亡を直す
5:4chねらーが PSYのwiki(英語版)で死んだことにする、チョーセン人が直す(無限ループ)
6:「こりゃ祭りだ」と4chねらーがYoutubeに”お悔やみ”(RIP)を書き込む
7:「物足ねーな、Koreanが嫌うことって何だ? 日本を褒めることか!」と4chねらー考える
9:「PSYは最高の日本人、死んで残念」「J-POP最高!」などの書き込みが始まる
10:おそらくアメリカ留学中のタイ人やマレーシア人がFaceBookで母国に拡散
11:タイ語の書き込みまで出てくる
12:「◯◯人の私もPSYのファン」というネタで意味もなく国名を目立つように書く
13:火星、木星、天国からもメッセージが届く
14:Youtube再生数より視聴時間重視に変更後ランキング1位から圏外に ←今ここ
ネトウヨきもっ、まで読んだ。
379 :
デフォルトの名無しさん :2012/10/16(火) 20:28:06.47
この流れで聞きますが 自分で作ったForm1を継承して プログラムで何個もFormを作る方法を教えてください。
ああ逆だ forms[i].Disposed += (sender, e)=>{ if(forms.Count(form => form.IsDisposed == false) <= 1){ Application.Exit(); } };
>>379 フォームでメインになるのは一個だけだが、
そのメインのフォームの中で更にフォームを何個も作るのは別に違法でもなんでもない。
フォームをnewして表示すればいいだけさね。
382 :
デフォルトの名無しさん :2012/10/16(火) 21:44:07.59
>>381 それだとForm1を継承できないんじゃないの?
継承する必要がない
インスタンスの概念がないんだろ
クラス=オブジェクトとかVB脳か
386 :
デフォルトの名無しさん :2012/10/16(火) 21:47:59.30
意味わからん
分からんでよか 寝ろ
>>382 なんで継承できないと思ったの?実装と実行はべつもんだいだよ?
継承でマズイのは再帰的に特定のある機能を呼びまくってメモリ不足で死亡するくらいだと思うんだけど。
あ、エスパーなんだけど、
最初に呼び出されるフォームはVC#だったらprogram.csだったかに記述されてて、
それを変更すれば任意のフォームをメインに出来るよ。
389 :
デフォルトの名無しさん :2012/10/16(火) 21:54:44.19
どうやって書けばいいんだ
InitializeComponent(); の次の行に new Form1().Show(); って書いてみろよカス野郎
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Hoge__ { static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1());//←ここで何をやってるか理解できれば、お望みどおりだと思いますよ? } } }
dllをimportする関係でIntPtr型を使いたいのですが 「クラス、デリゲート、列挙型、インターフェイス または構造体が必要です」 とエラーが出てしまいます。 どうすれば使えるようになるのでしょうか
怒らないからDllImportをどこに書いてるか言ってみ
継承を実現するためには設計図であるクラスを事前に書いておくしかない 事前に用意された設計図があればどうにかなる 設計図は動的にどうこうできない そもそも仕様策定が間違ってる 何をやろうとしてるのか自分で整理しろ 断片的に書き込むな
メタプログラミング舐めてんのか
398 :
デフォルトの名無しさん :2012/10/16(火) 22:52:11.20
GetFilesで特定拡張子のファイルだけを取得したいのですが 例えば「.ABC」という拡張子と「.ABCD」という拡張子のファイルが混在していて前者のみを取得したい場合はどうしたらいいでしょう? GetFiles("*.ABC")では両方でてきてしまいます・・・
*.{ABC} ではどう? C#関係なしにワイルドカードって別になるね
>>399 .ABCも.ABCDも両方でてこなくなっちゃいました・・・
取得してから弾くしかないです FindFirstFile使ってるせいなので長年の伝統です
・最近、若い女性の間でも右寄りの思想に傾倒する女子が急増している。
「K-POPや韓流ドラマは絶対視ない!」、「韓国は国ぐるみで間違った歴史を教えて、日本を悪者に仕立てている。
許せない!」、「尖閣諸島や竹島は絶対に日本のもの!」、「中韓とは断固国交断絶!」「広告代理店やマスコミが
朝鮮人と結託して、日本人に反日的な感情を植え付けようとしてる!」……などと語気が荒く語る女性が少なからず
存在するのだ。
しかも、彼女たちはいわゆる”普通の女子”。流行やブランド品を好む、 “スイーツ系女子”の相田多喜子さん
(仮名・33歳・会社員)はこう話す。
「韓国製のコスメや食品はもちろん、韓国と業務提携、協賛している日本企業の製品も購入しないようになった」
発端は知人に紹介された「2ちゃんねるまとめブログ」だという。
「それまで2ちゃんねるに関心がなかったのですが、中国や韓国の実態を伝える書き込みを初めて読んでショックを
受けました。韓流芸能人が韓国で日本を悪く言っていること、韓国の性犯罪率の高さ、商品にウジが混入すると
いった企業の衛生管理のずさんさなどを知り、さらにネットで勉強するように。日本のマスコミが偏った報道しか
しないことを知りました」
彼女たちの多くが、ネットを通して”真実”にたどり着き、日頃感じていた矛盾が解決したと語る。
それは、いわゆる「ネトウヨ」とは違うのか……?
「違います。私たちがしているのは日本人として当たり前のこと。許してはいけないことを許したくないだけ」(竹中さん)(抜粋)
http://nikkan-spa.jp/312054
404 :
デフォルトの名無しさん :2012/10/16(火) 23:31:08.19
デリゲートが意味わからない
1. インターフェイスについて学ぶ 2. Observerパターンについて学ぶ 3. イベントのadd/removeを自分で実装してみる これで完璧
処理の移譲 コントロールのイベントが発生したときに使ってるじゃん イベントが発生したときに処理を移譲するメソッドを教えてくれ!
デリゲートって2012だと非同期async/awaitに移行しちゃうの?
非同期プログラミングモデル以外にもデリゲートの用途は沢山あるから
別の機能間で移行も何もない あ、非同期デリゲートは.NET1.1までで十分です
なくはない でも隠されているし、見ても特に意味はない
412 :
デフォルトの名無しさん :2012/10/17(水) 00:58:51.71
eventって無駄な機能だな +=と-=に絞る意味がない
>>413 煽り抜きでダメな奴はだいたいそういう考え方をする。
ガチでそう考えているのならプログラマに不向きなんだよ君。
イベントの基礎ともいえる割り込みが使えなければ コンピューターは使い物にならんぞ 人間世界だって割り込みはあるだろう
デリゲートは使いまくるけどeventは自分では全く使わんな =代入できないと不便でしょうがない
同じかたのイベントなら代入できるけど? 例えばTextBoxのクリックイベントを Formのクリックベントに置き換えられる
>>417 そんな意味不明のことができても仕方ないし
そもそもできないだろそんなこと
もしかして add/remove アクセサを知らないとか?
もはや何のことやら全く意味不明だな プロパティみたいに書くadd/removeの存在は知ってるがもちろん使おうと思ったことすらない
ライブラリ製作者だったら必須機能なんだが 使うだけの人は意識しなくていいって話だろ。 お前の中ではそうなんだろ としか言えないよ。
結局=代入できるという話はどこかに消えるし・・・ デリゲート公開すればいいだけの話だし だいたいSelectedIndexChangedみたいなのは自分でインデックス入れてもいちいち反応するから使いにくいったらない eventって言う方式がそもそも間違ってる
自分が想定できる範囲が狭いと露呈しているだけ そんな初心者にムキにならなくてもいいじゃん
最初に見たものをありがたがって使ってるだけだろ ライブラリを作るなら利便性を考えるべきで eventって言う方式はまともな設計センスの持ち主なら選択肢に入らない
デリゲート公開したら外から弄られ放題
デリゲート上書きしたいケースは日常的に出てくるからその方が良い
>>424 言語設計の神様+MSの頭脳集団 vs 2chの匿名の誰か
さて、まともな設計センスを持っていないのはどっちだろうね?
使えば一瞬でわかる問題でも頭が悪いと権威に目が眩んで判断できなくなるんだよな
イベント捨ててデリゲートを公開しろってのが暴論だと思えないのなら頭おかしいよ
C#の言語機能event以外全部パクられてるけど eventをパクった言語もパクろうとしてる言語も皆無でしょ 必要ないんだよ
え、よくあるEventListener使ったObserverパターンを 言語機能として取り込んだだけなんだけど… むしろC#がパクった方
ずいぶんむちゃくちゃなことを言うね その理屈だとgetHoge setHogeは昔から使われてたからプロパティはパクっただけっていう主張になるわけ? でもプロパティはちゃんとパクられてるからね eventとは違って Observerパターンは非常に使いにくい とても面倒 だからeventなんてものも出来たけどそれも大差なかったからパクられなかった 他言語ではすぐに関数型とラムダで取って代わられるでしょう
他言語ってどれの事?
他の言語の権威でしか語れない阿呆め
>>432 有名どころだとECMAScriptにevent機構がある。
C#のものより酷く面倒ではあるけど、C#が元祖ではない。
デリゲート公開すればいいと言ってるが マルチキャストデリゲートの存在には文句ないのか? eventってマルチキャストデリゲートをラップして 外部から勝手に実行したり全削除できないようにするぐらいの機能しかないわけだが
馬鹿の考え休むに似たり
みんなケチケチしてdll作らないでexe単体だよね
439 :
デフォルトの名無しさん :2012/10/17(水) 06:37:41.20
勝手にdllファイルもってくやつ誰が書いたか言えよ。
結局不勉強なのが露見して終わったか
eventなんて単なる関数オブジェクトのリストだろ・・・ コールバックの登録とかどんだけ昔からある概念だよ
デリゲートは関数ポインタと一緒です
イベントって一つ一つ分けないでIListenerとかにまとめて登録できたほうが無駄少なくてよくないですか? subject.AddListener(listener); subject.Hoge(); // foreach IListener e in listeners do e.OnHoge(this, null) subject.Fuga(); // foreach IListener e in listeners do e.OnFuga(this, null) みたいな感じで
>>442 関数ポインタと決定的に違うのは付属のポインタがあること
この差がどれほど大きいことか
>>426 それはイベントとは要件違う。
イベントは見ず知らずの複数人が使う可能性あるぞ。
自分とは違う誰かが = で上書きしたせいで、自分が書いた側のコード動かなくなったらまずい。
個人の、プロジェクト内でしか使わないクラスでそれはいいけど、標準ライブラリとかではかなりまずい。
>>432 たいていの言語、add/removeEventHandlerだらけだよ。
関数の引数としてデリゲート/関数ポインターを渡すものはあっても、setterで上書きしてしまえるような言語ない。
上書きするケースはeventでなくowner設定の方だな
ないよね
スレチだけど今anonymous font入れてみたらエディタめちゃくちゃ読みやすいな オヌヌメ
>>443 JavaのMouseListenerみたいに複数のメンバを持ったリスナを使うってこと?
あれは後からメンバを追加できないという致命的な問題があってだな
なのでJavaでも基本的にイベントリスナにはメソッド一つだけのインターフェイス(SAMという)を使うことが好まれる
(いつになるか知らんが)導入予定のJavaのラムダ式はSAMにしか対応していない
それが導入されれば事実上全てのコールバックにはSAMを使えということになる
SAMはマルチキャストを除けば実質的にはデリゲートと全く等価
Javaの昔のリスナ方式だと、バージョンアップしたらinterface Callback2 extends Callback { 追加メンバ } でリスナがCallback2を実装してるかどうか型チェックして実装してたらCallback2のメンバを呼ぶ みたいな超頭の悪いことになるんだぜ
>>445 可能性があるってならなんだって可能性はあるわな
どんなメソッドだって間違った使い方をすればぶっ壊れる
上書きしたらまずいなら単にしなければいいだけの話
そもそもいろんなところがコントロールの生参照持ってて自由にevent登録可能みたいな設計は
根本から間違ってるが
>>446 それはオブジェクト指向の幻想を優先してコーディングの利便性を犠牲にした結果だよ
>>435 同じような字面なだけでC#のeventとは殆ど関係ないだろ
>>436 足したり引いたり出来る機能は無駄だけど別に不便はないからいいんじゃね
イベント以外でもデリゲートが積極的に使われる今、マルチキャストこそ無駄だな 本来、Observerとそのまま対応させれば List<EventHandler> hoge = new List<EventHandler>(); event Hoge { add { hoge.Add(value); } remove { hoge.Remove(hoge); } } でいいはずで、当時は呼び出しの容易さとかスレッドセーフとかも考慮した結果なんだろうけど 今再設計したらコレクションとデリゲートは別になるだろうな
>>453 add/removeでEventListener操作する概念はC#のeventと変わらん。
それと同時に、1つしか関数を入れれず、どこからでも=で破壊的な変更ができてしまうイベントハンドラも使える。
>>452 プロパティ不要論を語ってた馬鹿も「フィールドを慎重に使えばプロパティいらないじゃん」って言ってたw
>>452 C#以外の言語もまとめて全否定とは恐れ入る
世の中にはうんこに触って匂いを嗅いで臭いと言うのが趣味という 奇特な人がいるんだなぁ
C#が臭いと言い始めたら引っ込みがつかなくなって、他の言語も臭いと言い始めて こいつ頭大丈夫か?と引かれてる。
ほんとセンスないなあ Add/Remove方式のEventListenerなんて存在が許されてはいけないレベルのウンコだし それを引きずってるC#のeventなんてのも全く無駄の固まりでしょ そんなの使ってりゃすぐ分かるじゃん
eventなくす代替案がデリゲートを直接公開しろってのがもうね絶望的にセンスない。頭おかしくて笑える
挙句の果てには、直接公開しても慎重に使えば大丈夫!ってプロパティ否定派みたいな醜態晒すしww
Add/Remove方式のEventListenerなんて存在が許されてはいけないレベルのウンコ
そろそろ負け惜しみの釣り宣言して逃げ出す頃合いじゃないか
フィールドを慎重に使うことでプロパティの利点を得られるなんてことは全くないが イベントは単にデリゲートから機能を省いただけなので省かれた機能を使わなければ同等になる この2つを混同してしまうようないい加減な脳みそだとeventもマンセーしてしまうのだろうな
Javaで無名内部クラスでも作ってみれば EventListenerは存在しちゃいけないんだなってことがよく分かるよ
>>461 だからC#でdelegateをそのまま使えばいいんだよ
そう思うならお前がやればいい ただの妄想ならよそでやってくれ
>>466 eventキーワードの機能分かってる?
それprivateをpublicにしても外から呼ばなければ良いって言ってるのと同じだよ
>>470 >privateをpublicにしても外から呼ばなければ良い
その意見には概ね賛成だね
カプセル化はデメリットが大きいから
明らかにprivateなもの以外はpublicで良い
pythonも同じ考えだよね
ちょっと質問。インナークラスってどんなときに使うの? ちょっと使い道がわかんないのでみんなどうしてるか気になって・・・ public class A { Internal class B { Internal string B { get; set; } } public IEnumerable<B> BList { get; set; } } みたいな?
そのクラスの中でしか使わないプライベートなクラスで使うなあ
>>472 あるクラスのプロパティの型にするクラスによく利用する
そういうのを新たにクラスファイルで作成してたら
ファイルだらけで見づらくなるからね
それに中に入れておくほうがわかりやすいしね
476 :
デフォルトの名無しさん :2012/10/17(水) 16:51:40.83
サブフォームを閉じるまでメインフォームを 操作不可能(非表示にはせず)にすることってできますか?
480 :
472 :2012/10/17(水) 17:14:00.09
>>473 ,474,475
なるどでです。つまり外のクラスにのみ依存(または強く依存)している場合に
インナークラス(クラスの中にクラスを記述)するのがわかりやすくてよさそうですね。
実際のコストは外に出しても、中で書いても変わらない・・・ですよね?
強く依存している場合のみ使うようにしてみます。
ありがとうございました。
>>480 >外に出しても、中で書いても変わらない・・・ですよね?
変わらないよ
482 :
デフォルトの名無しさん :2012/10/17(水) 17:36:44.16
int i=0; if (i < 5) { i++; Form1 form = new Form1(); this.Text = i; ←タイトルバーにこの値を設定したいがString型に変換できない form.Show(); } どのようにすればいいでしょうか?
string.Format() 使うのがどこでも使えるかな。 ToString() というのもあるけどね
this.Text = i.ToString; だといきませんでした。 this.Text = string.Format({0},i); でいきました
なんで括弧を消すんだ
>>485 すいません
いけました。ありがとうごわます
487 :
デフォルトの名無しさん :2012/10/17(水) 18:37:32.29
namespace WindowsFormsApplication1 { public partial class Form1 : Form { static int i=0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { if (i < 5) { i++; Form1 form = new Form1(); this.Text = i.ToString(); form.Show(); } } } } 希望としては1,2,3,4,5の名前がついたFormが作成されてほしいのですが、 それプラスForm1というフォームも作成されてしまいます。 どうすればいいのでしょうか。 Program.csはデフォルトのままです。
>>487 こわいよおおおおおおおおおおおおおおおお
このソースこわいよおおおおおおおおおおおおおおおおおおおおおおおお
そのForm1は最初の 1 を作ったやつだろw 自分が1になって2を作る、とかでどうだ?
491 :
デフォルトの名無しさん :2012/10/17(水) 18:54:25.15
>>490 ありごとうございます!!
なんで使わない方がいいんですか?
局所性をぶち壊しにするから デバッグやスレッド局所記憶以外でstatic変数を使う場合は 大抵設計がおかしいか使い捨ての手抜きプログラム
http://www.tokyo-np.co.jp/s/article/2012101790072011.html http://www.tokyo-np.co.jp/s/article/images/2012101799072011.jpg 東日本大震災の復興予算が被災地の再建と無関係な事業に使われている問題で、
各府省がこれまで一般会計として扱ってきた事業に関し、復興予算に付け替えて
継続を図っていたことが分かった。一般会計の予算査定が厳しくなる中、省益優先と
ばかりに、関連性のない復興予算獲得に飛びつき、野放図に認められていたのが実情だ。
(中根政人、岩崎健太朗)
典型的な事業は、外務省の青少年国際交流事業だ。
震災発生前の二〇〇七年度からの五年間、「二十一世紀東アジア青少年大交流計画」の
名称で、中国や韓国などの若者を招いた。毎年度平均で約七十億円の事業予算が一般
会計から支出され、一一年度に終了予定だった。
ところが、復興のための一一年度三次補正予算に「アジア大洋州地域及び北米地域との
青少年交流」(七十二億円)と名称を変えて盛り込まれた。震災の実態を米国や中国、韓国など
約一万人の若者に伝えるのを目的としているが、実際は被災地での滞在は十日前後のうち
実質三日。主に東京や名古屋、京都など被災地と関係のない大都市や観光地を回る内容だった。
外務省は「震災全体の正しい姿を伝えるための事業。復興予算からの支出は適正だ」と話している。
このほか、文部科学省は一二年度予算の復興特別会計に所管する独立行政法人・日本原子力
研究開発機構の核融合エネルギー研究費として四十二億円を計上した。この事業は被災地の
復興に直接関係なく、〇七年度から一一年度までは一般会計として扱われてきた。
内閣府は復興のための一一年度三次補正予算に、自殺防止対策として「地域自殺対策緊急強化
基金」に三十七億円を盛り込んだ。事業費は被災地だけでなく、全国の相談業務に充てられる。
〇九年度に三年間分として、一般会計に計百億円が計上されていた。
ネトウヨ王に、俺はなる!まで読んだ。
ちょっと間違えたら無限にウインドウを開き続けるクラッシャーと化すな
496 :
デフォルトの名無しさん :2012/10/17(水) 19:46:39.49
デストラクタって使うことあるの?
>>496 GCに任せておくとどのタイミングでリソースが解放されるか分からない
リアルタイム性が要求される場面では自分で解放する
usingとか良く使うだろ?
>>497 それデストラクタと関係ない。
何を言ってるんだ。
デストラクタ内にGC書けば同じ事だろアホか
誰が本当なんだよwwwwwww
デストラクタというかファイナライザな
アンマネージリソースを保持するクラスなら普通に使うよ
>>497 ==
>>499 は今頃スレのログ削除して寝ちまっただろう。
恥ずかしくてw
昨日から馬鹿が常駐してるのか?
C#のデストラクタ=Finalize C++/CLIのデストラクタ=IDisposable::Dispose Finalizeはクラス利用者がアホ(IDisposableを実装しているのにDisposeを呼び忘れる) だった場合の被害を抑えるために機能する
>>452 誤用を避けれる書き方ってのは確かにあって、オブザーバーパターンもその一種。
かなり効果ある。
>>453 関係あるよ。
C#のeventは、ECMAScriptのevent機構とかと利用目的一緒。
違うように見えてるんなら本気で不勉強。
>>454 そのList使った実装じゃマルチスレッド環境での利用で安全じゃない。
webbrowserのCookieの削除をプログラム上でするには どのようにすればいいでしょうか?
wininetの機能を使えばできるはず
>>505 >かなり効果ある。
どのようなケースでどんな効果があるのか説明してみ?
>C#のeventは、ECMAScriptのevent機構とかと利用目的一緒。
C#のイベントはAddとRemoveに限定させるもの
javascriptのイベントはタグ内でイベントに対応したjavascriptを書くことで実行させる機能だろ
どう一緒で何の関係があるんだよ
こういうセンスがない人はたぶん説明しても無駄。 普通はなぜfoolproofが重要かなんて人に教わらなくても自分で分かると思うが、 人に説明されても理解できないのは馬鹿だからとしか言いようがない。
プライベートに隠すことをよしとした誤った教育を受けた結果 時間を掛けてパブリックとプライベートを峻別して無駄に階層を深くして可読性を下げコストを増やした上で 自由度が低く拡張性に乏しいライブラリを量産した挙句 パブリックなメンバもちょっと使い方を間違えば平気でぶっ壊れるような危険性は無視してフールプルーフなライブラリが出来たとか宣ってるんだから アホウというか可哀想になるやね ちゃんと理解して正しく使えるようにすること 拡張性のために内部をできるだけ見せること 必要なのはこの2つであってプライベートに隠すことではないのよ
>>513 そんなのただのAPIであって言語機能のイベントでもなんでもねーだろ
>>504 デストラクタからしかDisposeできないIDisposableというのも時折あってだな
C#からイベントアクセサーを排除すると何が嬉しいんだ? 他人の追加したデリゲートを消す嫌がらせは出来そうだが
イベントの動作をぱっと入れ替えられて便利になるってだけだわ どうしても入れ替えてほしくないならそういうクラスを作ればいいけど そんな邪魔くさいライブラリは誰も使わなくなるだろう
>>519 そう思ってるのはお前ぐらいで、他のみんなは
「どうしても入れ替えたいならそういうクラスを作ればいいけど
そんな邪魔くさいライブラリは誰も使わなくなるだろう」って思ってる。
>>512 開放的なのはいいがやりすぎて掴まんなよ
だいたいまずやることはイベントに自作デリゲート入れることだからね control.Clicked += (sender, e) => MyClicked(); senderとかキャストしてまで使うようなもんじゃないしコントロールの生参照をだれにでも与えるとかむちゃくちゃだし ほんとここはダメダメだわ ヘルズバーグもなんでこんなコトしちゃってんだアアアアアッ! とか夜中に思い出して叫んでるだろう
それeventじゃなくて、WinFormsの設計の話じゃん
そもそも参照を持っていない奴はイベントを購読できないんだけどね
それも込みで自作デリゲート入れると 入れ替えられるし引数もシンプルになって便利だなあというお話
へーすごいねー あんたの言うとおりにすればms超えちゃうね〜
>>522 そんなの他の言語のGUIライブラリでも同じだろw
class Controller{ Control control; public void SetClicked(EventHandler handler) { control.Clicked += handler; } } こんな風にしない? こうしたらControlは隠れててもイベント起動するとsenderで送られちゃうよね
しないしただの設計ミスだそれは 引数をEventHandlerじゃなくてActionとかにしろ
だから当然Actionにするわけだよ 本質的に危険で無駄で邪魔臭いわけよeventが言語機能としてもWinFormsとかのライブラリ面でも
>>509 利用側が誤用しないようにしないといけないんだよ。
たいがいなレベルの、それこそ君みたいなレベルの、そんな開発者は、
誤用したうえで問題出たらフレームワーク側のバグだって言ってくる。
それを防ぐためには、外からはaddとremoveのみできて、
呼び出しや = 上書き(clear)は中からだけしかできないようにしなきゃいけない。
下々に合わせた言語は大変だなあ
>>528 >>530 ん?デリゲートを直接公開するんじゃなくてSetClicked(Action)とか作っちゃうの??
>>533 eventのadd/removeをわざわざ手動で実装しなおしてるだけだな。
Controllerがクリックハンドラーを外に公開する設計より下はちょっと思いつかない
そもそもEventHandlerを管理クラス以外が直接触ってAddとかRemoveすること自体が誤用 責任を持った管理者が微にいり細に渡って管理しなきゃイベントハンドリングなんてうまく動かないんだから その責任を持った管理者は当然削除も出来るし起動もできて当然なわけ その管理権を自作デリゲートで取り戻すところから始めなきゃいけないから無駄に一手間増えてるだけ 多分お前ら殆どはイベントの使い方をわかっておらず誤用してるんじゃないかと思うよ 言語とライブラリがミスリードしているせいで
MVVM舐めてんのか
さっきから熱弁してる人さぁ なんでこの板にいんの? c#やってんの? 他の言語行けば? c#じゃないと死んじゃうの? そんなに詳しいのなら自分で言語作れば? できないの? 口だけなの? スレタイも読めない馬鹿はいい加減うざったいから消えて
C#だからここまで出来るんだよ C#1.0当時の経験の少ないアンダースが犯した誤りをずっと引きずってる部分があるってだけ それも最新C#のパワーを使えば簡単に克服できるの event機能に代表される悪弊を捨てればね
初心者でもうしわけないんですが イベントにラムダを追加していらなくなったら削除したいときってどうやればいいんですか? 元のラムダをずっと保持していないとダメなんでしょうか
>>540 だからまずこうするんだよ
control.Clicked += (sender, e) => MyClicked();
でMyClickedを上書きする
>>541 すいません良くわかりません
それだとイベントに追加されたラムダは永遠に残ってメモリの無駄だと思うのですが…
>>536 ControlとコードビハインドがセットになってViewになってる所を分離したいというわけか。
お前Controllerなんてクラス名使っときながらMVC分かってないのかw
なんか余計な機能ふえすぎ 2.0で作れないもんなんてない
>>542 control.Clicked += (sender, e) => if(MyClicked != null){ MyClicked(); }
じゃあこうしてnullをいれればいいんじゃないの
WinFormsの場合はM-VCという方が適切かな。 まともに分離して作りたいならWPF使え
>>545 あの、ですからそのラムダそのものを削除してメモリを開放してやりたいんですけど…
最初期の自転車でも走れなくは無い
>>542 デリゲートを直接公開してもラムダ式のイベント消すのが面倒だって事情は変わらないって分かってて言ってるの?w
VCを強引に分けようとしてるから無駄な手間が増えてる。 WinFormsはそういう設計になってないからWPF使えというのが結論。
WPF(笑)
eventをキチガイみたいに叩いてると思ったらWinFormsが気に食わなかっただけだった。
WPF息してんの?
MとVとCがわけたところで問題は何も解決しない GUIはつまりgotoで状態を行ったり来たりしてるんだからそれ自体が複雑の権化 どういう時にどうするか全パターンを書き出すようなキチガイじみた作業をどれだけわかりやすく構成し直せるかが問題 そのためにはCを目的ごとに分割してModelとViewをそれぞれのCがコントロールすることが必要 ViewはModelを反映すれば良いなんてのは絵空事でしかない まずモデルに投げた後モデルをViewが反映するみたいな余計な中間層が増えるだけ MVCなんかクッソ食らえだわ
Win8出たのに4日レスがない程度には
あれWPFじゃなくて親戚みたいなもん
>>556 gotoとイベントドリブンを同一視するのは馬鹿っぽいぞ
だいたいWPFも変わんないでしょう モデルを変更してGUIの状態をアップデートしたら そこでまたイベントが起動してモデルに変更が行ってと無限ループに陥ってしまう 根幹から設計が間違ってる
触ったこともないのに設計を語るやつなんなの
唐突に仕事を語りだす人くらいにはありがちな人種です
だって誰も使ってない破綻した失敗作に対して 「勉強してから言え」って言われても破綻した失敗作なんか勉強したくないし そもそも理解できないから誰も使ってないんで学習にかかるコストを考えたら WPFに文句をいうためだけに勉強するのはあり得ない選択だよね
564 :
デフォルトの名無しさん :2012/10/18(木) 00:50:07.17
webbrowserで表示したページの最下部まで 自動でスクロールしてくれる命令ありませんか? webBrowser1.Document.Window.ScrollTo(0,100); みたいなのはあるけど最下部の指定がわからない。
>>563 失敗から学ぶこともちょびっとあるよ。
WPF殆ど触ってないけど、Point構造体の要素がdoubleなのだけが羨ましい。
逆に状態依存プロパティはVOIDポインタのように感じてだいっきらいだ。
568 :
566 :2012/10/18(木) 01:08:00.23
データバインディング機構が全然わからないんだよなあ INotifyPropertyChangedはいいけどプロパティが変わるたびに通知していって それぞれ同期している値に変換が入ってそこで誤差が出たら 永久にプロパティチェンジ通知が終わらなくなるでしょう 怖くて使えない
571 :
デフォルトの名無しさん :2012/10/18(木) 01:14:37.79
>>570 そんなのはwinformだってサイズ変更のイベントとかで
余裕でかけるだろw
出来上がってるもんの荒拾うのは誰だってできるんだよ 一から設計して実用化に至るまで作って見ろよゴミ屑
ここだと一から全部作らないと文句言っちゃいけないらしいね
575 :
デフォルトの名無しさん :2012/10/18(木) 01:30:29.86
既存の仕組みにループを回避する仕組みがないなら そうならないようにプログラムを組めばいいだけ 悩むことはない
>>570 本当に全然分かってないね。
そんな使い方はしない。
>>560 それは設計じゃなくて、お前の頭が間違ってるわ
580 :
デフォルトの名無しさん :2012/10/18(木) 02:25:05.06
webbrowserで表示させたWebページのsubmitが押されたかどうかを 判定したい場合どのようにすればいいでしょうか?
Document.GetElementsByTagName("button")でボタン探して HtmlElement.GetAttribute("type")がsubmitになってるやつ見つけて ClickイベントにHtmlElementEventHandler突っ込めばおk Document.Clickにハンドラ設定して Document.GetElementFromPoint(e.MousePosition)でクリック位置のHtmlElement取得して TagNameとGetAttribute(string)でsubmitボタン探してもいい
>>581 うおおおおおおおおおおおおおおおおお
ありがとおおおおおおおおおおおおおおおおお
カスタムコントロールを張り付けているのですが デバッグする度に、それ以後のFormに対するデザインの変更が無効になっているらしく 変更してからデバッグすると変更が反映されていない Formを開き直すと、デバッグ前の状態に戻っている カスタムコントロールを利用する場合、コードで貼りつけたほうがいいのでしょうか? 注意点みたいなのがあれば教えて下さい
新規プロジェクト作って最小構成で試して問題があるようならプロジェクトうp
うわぁああ、ソリューションクリーンにしたら 配置してたコントロール全部消えた やっぱり独自カスタムコントロールがだめだったんだろうな 最小構成しても同じ症状だったし オーナーの表示をカスタマイズするような機能をつけたものは デザイン時に貼り付けちゃだめなの?
はて、そんな症例あったっけ…
やるとわかりますよ。 上のソースそのままコピペ デザイン画面でToolStripにこのSpringTextBoxを配置 あとは適当なコントロールをForm1上に配置してデバッグ 次にその適当なコントロールのサイズを変更してデバッグ ここでサイズ変更されないままになる あ、コントロールが消えたのはコントロールを別のフォルダ移動したからだった
いやーーちがうかった ユーザーコントロールやカスタムコントロールをフォルダ移動しただけで ネームスペースは変更していないんだからこうなるのはおかしい コントロールが消える前に巻き戻して、今度はカスタムコントロールをデザイン画面から 削除して同じようにフォルダ移動、プロジェクトのクリーンをしたら 何も問題が起きなかった やっぱこいつなだよ!この糞デザイナーが中途半端に自動化できるから M$社員は俺様の高度なプログラミングを想定してなかったんだ!
デザイン属性多すぎて把握できないからデザイナーは使わなくなった
>>592 public FormMain(){ while(true) { InitializeComponent();}}
c#っていうかさ、なんかもっと根本的なものが狂ってる奴ばっかりだよね
596 :
デフォルトの名無しさん :2012/10/18(木) 13:22:06.44
あまり変わらないファイルのパスやファイル名などを全体で使う場合 staticで変数として定義するか constで定数として定義するか どっちの方がいいんですか?
597 :
雑魚シカ :2012/10/18(木) 13:25:03.20
こんst
privateかinternalならどっちでも同じ publicかprotectedならstatic readonly
599 :
デフォルトの名無しさん :2012/10/18(木) 13:29:18.38
どれでもいいよ別に
601 :
デフォルトの名無しさん :2012/10/18(木) 13:32:08.07
そもそも韓国は中世以降に北方から侵入してきたエベンキ朝鮮人の国。 百済や新羅はおろか、高麗との関係さえない、正体不明のゴキブリ朝鮮人なんだよな。 得体の知れない正体不明のエベンキ朝鮮人が勝手にハナクソのような朝鮮半島の歴史にさえ コビリグソのように寄生しているという現実。 新羅や百済でアリランを歌い踊ってたとでも思ってるのかねバカチョンは。よく南洋からやってきた倭人に征服された 属国に過ぎなかった新羅や百済なのに、日本に文化を伝えたニダ!とか言ってるバカチョンがいるけど、それならなんで 「アリラン」は伝わらなかったのだろうね。 正体不明のエベンキ朝鮮人くん、君たちはいったいどこの何者なんだい? たとえば、お前ら自分の隣の家の「鈴木さん」がある日、突然に謎の顔エラ怪人に変わっていて「鈴木ニダ」 「お金を貸してほしいニダ」と言ってきたらどうする? 朝鮮半島ってそういう正体不明の犯罪ゴキブリ民族がひしめいてる状態だから犯罪が起きまくるのだよw だから竹島を侵略して興奮状態にしないと国としてまとまることも不可能という。
やっとメジャーになったね
exe見たらC#かVB.NETか区別できるのかね
書いてあるよ
LINQで、コレクションの射影をつくりたいんですが 条件に合う時は追加して、そうでないときは無視する場合どうしたらいいんでしょう Selectだと必ず返さないといけないみたいで .Select( i => {
途中送信ごめんなさい .Select( i => { if( i != 0 ){ return 5 / i; }else{...} ); の...のところが要らないんですが
Selectの前にWhereする
C#とウイルスってのがあまり結びつかないな 解析されにくいC++とか使えばいいのに
使えなかったんだろ・・・知識的に
ウィルスにコメントが入っていたら笑えるな
ウィルスにシリアル番号が入っていたりして
すごいな
フォルダ名が残ってて、自分の名前の下にファイル名があったりして
618 :
デフォルトの名無しさん :2012/10/18(木) 18:35:27.25
C++スレから誘導されてやってきました C# expressを使用しています フォームにTopMost=Trueを設定し、最前面に表示させながらフォームは決して アクティブウィンドウにならないようにしたいのですが、どのような方法がスマートなのでしょうか? マウスクリックは透過させているのですが、フォームの位置やサイズを変更すると 勝手にアクティブになってしまい困っています
>>618 >C++スレから誘導されてやってきました
C++やってたけどC#は初心者ってこと?
見下しに来たと思われるからこういう余計なことは書かないほうがいいんじゃね
C++ならこうなんけど、みたいな返され方すると不愉快だから答えるのやめとくわ
C++スレなら快く答えてくれるんだけどC#スレじゃこれが限界か。残念です
ビンゴ 相手にしなくて正解だったな
622 :
618 :2012/10/18(木) 18:59:21.86
>>619 いえ、マルチポストとならないようにの決まり文句で深い意味はありません
624 :
デフォルトの名無しさん :2012/10/18(木) 19:04:33.66
フォームの移動やサイズ変更を禁止すればいいんじゃない
ここは2ch初心者の巣窟 マルチポストなんて知らねーよ
無駄にさわるから馬鹿が調子に乗ってんぞ
嬉しそうに書き込みが増えてかわいいな
>>618 WM_MOUSEACTIVATE でなく WM_ACTIVATEしか来ない場合は
SetForegroundWindow(m.LParam) で
元アクティブを再度アクティブにする必要があるかもしれない
ちょっと確認なんだけど、 以下のようにしたほうがコストは低いよね? (仕様) ・長い文字列を渡して解析結果を受け取る ・引数に渡す文字列は変更しない var source = "長い文字列"; private string AnalyzeHoge(string source) { //なにかの処理 } より private string AnalyzeHoge(ref string source) { //なにかの処理 } のほうがコピーしないからコストは低いはず。 元のソース部分の変更されない担保はできないけど・・・
out
634 :
631 :2012/10/18(木) 19:25:21.94
>>632 すいません。2の「引数に渡す文字列は変更しない」とありますが、
実際は自クラスの中でしかそのメソッドは使用しないので変更することはありません。
※ただ、C++みたいに引数にconstでもつけれたら・・・少しは安心なのになー程度です。
なので、文字列の変更については加味せず、コストの面だけ見ていただいたらと・・・
>>631 stringなどのclass(≠struct)型の場合は
中身がコピーされるわけでなく参照だけが渡されるからコストは同じ
むしろ最適化の関係で前者の方が多分低コスト
>>626 ありがとうございます
WS_EX_TRANSPARENTにてマウスは透過させているのですが、BringToFront()にて
最前面に持ってこようとすると、SetForegorundWindow()みたいにアクティブ化されてしまいます
うろ覚えですがTopMoustと併用するとバグで期待通りの動作がしないってのはこの件だったのでしょうか?
>>630 現在のところそのように対処しているのですが、何か気をつけなければならない点などありますか?
こちらで確認したところ画面のチラツキとか目に見える問題は無いようでしたので
このまま実装しようかと考えています
>>636 自分でやってみたわけでないので
他の問題は特に知らない
638 :
631 :2012/10/18(木) 19:29:38.32
>>635 なるほどです!stringの場合にメソッド内で変更しても元の文字列は
変更されていないので引数で渡すときに文字列をコピーして渡している
と思っていました。
と言うことはStringの場合はメソッド内で使われるときに初めてコピー
するということなのでしょうか?
>>636 >WS_EX_TRANSPARENTにてマウスは透過させているのですが、BringToFront()にて
>最前面に持ってこようとすると、SetForegorundWindow()みたいにアクティブ化されてしまいます
>うろ覚えですがTopMoustと併用するとバグで期待通りの動作がしないってのはこの件だったのでしょうか?
この辺が再現できるソースをだせ
再現するソースを書かせる気か?
>>638 Stringは不変、インスタンスそのものは変更されず
新しい文字列を作った場合は、別のインスタンスが作られるだけ
//C#
String a = "a";
String b = "b";
a += b;
...
↓
//C++
std::string* a = new std::string("a");
std::string* b = new std::string("b");
{
std::string* tmp = new std::string(*a + *b);
delete a;
a = tmp;
}
...
delete b;
delete a;
641 :
デフォルトの名無しさん :2012/10/18(木) 20:10:39.60
windowsフォームアプリケーションで Form1 form = new Form1();をループでまわして 一度に50個ぐらいフォームを作りたいんですが 20数個目で止まってしまいます。 なぜでしょうか?
まず30回死ね
はあああああああああああああああああああああああああああああああ
03秒 (CAP) フォームそんなに作るな 04秒 枯渇するから [ヒューリスティック検知警報音 2秒間] 05秒 (COP) はい 少しだけ作ります 11秒 (CAP) 作るな 12秒 (COP) 20個目出来上がった
どーんと行こうや
647 :
641 :2012/10/19(金) 14:41:01.25
自己解決しました 500個以上開けるようになりました ありがとうございました。
ウイルス 完 成
ソフトのプラグインを作るのに、クラスライブラリで作成しているんですが、 フォームの内容をデザイナーを使わずに手書きしたときに、フォームのプレビューをするにはどうしたらいいでしょうか
不可能 カスタムコントロールとして作ってフォームに貼るとかすればデザイナ使えるから 再利用性とか考えても直接フォームとして作らないでそうやるのがおすすめ
独自のイベントを動的に追加したコントロールをFlowLayoutPanelに追加しているのですが FlowLayoutPanel.Controls.Clear()をするときに追加したイベントを削除するべきですか?
もちろんYes
削除するのはなぜなのでしょうか? 理由をぐぐってみてもそれらしいのが見つからないです
じゃあNoで
コントロールにイベントを追加した場合、 一般的にはコンテナ←コントロール の方向で参照が発生することが多い。 コントロールがイベントハンドラを通じてコンテナへの参照を保持する。 ctrl.SomeEvent += container.someMethod; コンテナの寿命の方が長い場合はイベントの削除を考えなくてよい。 ただし静的なイベントの場合は例外。
>>655 なるほど、確かにイベントが追加されたままだと参照先がなくてもイベントが発生してしまいますね
参照を保持しているとGCが効かずににメモリ上にあるということですか?
これが問題になるのなら、動的かどうか、コントロールか否かに関係なく
例えばオブジェクト同士であっても削除しないとだめみたいですね
イベントを動的に追加とか何言ってるのかそもそも分からんw
内部的にComponent.Eventsへ追加しているから間違いとは言えない
>>656 イベントが相手の参照持ちっぱなしにしてる状態だから「参照がなくても」ってのは間違い。
コントロールへの参照をClearで外してるのにイベント削除してなんか意味あんのか?
コントロール側がアホで死後もイベント送り続けてくる場合の対策では
tabcontrolの上にDataGridViewを表示して切り替えるプログラムを作っています。 この時tabcontrolの一枚一枚にDataGridViewを配置するものでしょうか。 それともDataGridViewは一つだけ置いておいて、データソースのみ入れ替える方が 普通でしょうか。
1つのほうが作るのも楽
やくにたたねー糞スレだな
はい
タブ使うならタブごとに配置するもんじゃねえの
迷うような用途ならたぶんTabControlを使うことそのものが不正解。 VB6にはページごとにコンテナを持たないタブもあったけど、 最近はタブをそういう風に使ってるソフトってほとんど見ない気がする。 RadioButtonをボタン表示にして使うとかの方がいいんじゃないの?
俺はFlowLyaoutPanelをタブボタン代わりにしてる タブコントロールは多段になると順番変わるから嫌なんだよ
質問の仕方が糞 もっと具体的に書けボケナス
初心者に嫌がらせしなければいけないほど、お前の人生って終わっているんだね
終わってる人間が調子に乗るので初心者は他で質問しましょう
他のクラスからFormのtextboxの値を使うことって出来ないの?
できるよ
参照を辿れているのならできないはずが無い 参照を辿れていないならできるはずが無い
とんちみたいな言い方するな
参照を教えてやれば使える
そのやり方を聞いているんだよバカチン
参照を教えてやればいい
だめだこれ、壊れた九官鳥ですわ
680 :
デフォルトの名無しさん :2012/10/20(土) 20:03:12.26
そうざんしょ
ひとつのプロジェクトにはmainは一つだけしか入れられないと思いますが, ファイル単位での実行とimportされたときの実行をわけることってできませんか? 例えばpythonならif __name__ == '__main__'と書くことで スクリプトファイルとして実行されるときとimportされた時の実行の範囲を決められるのですが
どういう操作を想定してるのか全然分からない exeをどこからか参照の追加で使いたいのか?
Application.ExecutablePathとかで現在の実行パスをみれば判別できるっしょ
>>672 class Form1
{
...
public string TextBoxText
{
get
{
return this.textBox1.Text;
}
}
}
---------------
使い方
Form1 form = new Form1();
...
string textBoxText = form.TextBoxText;
>>681 ソリューションにプロジェクトを複数入れればいいよ
>>685 今までLLしかやっておらずC#の作法はよくわからないのですが
1スクリプト = 1プロジェクト
という考えでいいのですか?
んなわけあるかい
[DllImport("user32.dll")] 長くなるので先にコードだけ投稿します public static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll")] public static extern IntPtr GetFocus(); [DllImport("user32.dll")] extern static bool AttachThreadInput(int idAttach, int idAttachTo, bool fAttach); [DllImport("user32.dll")] public static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId); [DllImport("kernel32.dll")] public static extern int GetCurrentThreadId(); [DllImport("Imm32.dll")] public static extern IntPtr ImmGetContext(IntPtr hWnd); [DllImport("Imm32.dll")] public static extern bool ImmGetOpenStatus(IntPtr hIMC); [DllImport("Imm32.dll")] public static extern bool ImmReleaseContext(IntPtr hWnd, IntPtr hIMC); void timer_Tick(object sender, EventArgs e) { int activeId; activeId = GetWindowThreadProcessId(GetForegroundWindow(), out activeId); if (AttachThreadInput(GetCurrentThreadId(), activeId, true)) { IntPtr hWnd = GetFocus(); var hIMC = ImmGetContext(hWnd); var status = ImmGetOpenStatus(hIMC); Console.WriteLine(status + " " + hIMC + " " + hWnd + " " + GetCurrentThreadId()); ImmReleaseContext(hWnd, hIMC); AttachThreadInput(GetCurrentThreadId(), activeId, false); } }
>>683 ApplicationはFormsのクラス
汎用性を求めるならAssembly.GetEntryAssembly
>>690 便利なサイトがあるのですね
今回は
>>689 だけで終わりなので次回から使わせてもらいます、すみません
http://www.kanazawa-net.ne.jp/~pmansato/net/net_tech_ime.htm >Windows Vista になってから IME の動作がおかしいとの
>記述をたくさん見ることができますが、実は Windows Vista
>の IME は TSF のラップでしかないことにトラブルの原因があるようです。
>ラップとは従来の IME 関係の API 関数を呼び出すと、
>TSF の該当する機能を呼び出すという意味です。
>もはや IME ではなく、TSF を使えという意味なのでしょうか。
>たとえば、次のトピックで扱う「入力した漢字のふりがなを
>取得する」ときに、ImmGetConversionList 関数を
>呼び出している人がいるようですが、Windows Vista
>でこの関数を呼び出してもエラーにはならないものの
>正常には動作しません。
TSFを使いましょう
TSF、ですか 普段こっち方面の開発はしないので初耳でした 調べてみます ありがとうございました
CodeMaid便利だな
Windows7でもImmはちゃんと動いている。キミのコードが正しく動かないのは 他プロセスのステータスを取得しようとしているから。 他プロセスの状態を取得するなんてことは考えない方がいい。
699 :
662 :2012/10/21(日) 01:11:36.88
>>663 ,666,667,668
返信ありがとうございます。
言われてみるとTabControlは違うような気がしてきました。
別のコントロールによる切り替えを検討してみます。
sharpdx使ってる人います? sharpdxってC#から.net framework以外のランタイム入れずに DirectXが使えるんでしょうか?
そんなことでつまずいてて使いこなせるんか
SlimDxはXパッドの入力が正しくないから捨てた
最近プログラミングはじめたけど、色々自動化できてたのしいです
例えば予め作っていおいたフォーマットで二分以内にレスするとか
2秒以内だろ
しかも遠隔操作で
711 :
デフォルトの名無しさん :2012/10/21(日) 22:29:01.98
>>710 windowsXPとその後ではOSのGUI周りの挙動が変わってるので
おそらくその方法だとwindowsXPだと表示されるけど・・・ってところかもね
動かしてないけどフォント名半角になってるのが気になる
>>712 それは修正してあるんじゃないの?
確かフォントねーよって例外が起きるはず
フォントは色々変えてみましたがダメでした
>>711 そうなんですか
別の方法探してみます
ありがとうございました
レイヤードウインドウっていうのがあるよ
北朝鮮は19日、同国を批判するビラが韓国の領土から北朝鮮国内に散布された場合、韓国を砲撃すると警告した。
国営の朝鮮中央通信社(KCNA)が報じた。
韓国では、北朝鮮からの亡命者や人権活動家で構成するグループが
北朝鮮政府を批判するビラの散布を22日に計画している。
KCNAによると、北朝鮮は22日にビラが散布された場合、「予告なしに軍事攻撃を行う」と表明。
韓国との軍事境界線がある非武装地帯(DMZ)に近い観光地パジュを標的とすると明らかにした。
これを受け、韓国の金寛鎮国防相は19日、北朝鮮が韓国を攻撃した場合には反撃する方針を示した。
聯合ニュースが議会委員会での同相の発言として伝えた。
金国防相は「それが起きた場合は、攻撃への完全な対応を行う」と述べた。
韓国政府はビラの散布に関与していない。
北朝鮮の報道を受け、グループのリーダーは計画を変更せずに予定通り現地時間
22日午前11時半(0230GMT)に気球からビラを散布する意向を示した。
http://jp.reuters.com/article/JPNKorea/idJPTYE89I03Y20121019
>>701 SharpDXって確か公式のドキュメントみたいなものが
皆無なんだよな
フォントを変えるとListView等のコントロールの表示速度が Meiryo UI 早い Segoe UI 遅い のですが OSが日本語仕様のせいでしょうか? それともどの国のOSでも同じでしょうか?
メイリオでアプリ作ったら、メイリオが入ってないパソコンだとエラー出る?
出るわけないだろjk
間違ってると文句言われるけど、あってるフォントがない場合は 文句言わないでデフォルトフォントになるんじゃなかったっけ?
条件に一番近いのが選ばれる
wpfでプログラムしてますです。 テキストボックスとボタンのペアが並んでるアプリを作ってます。 ---- [テキストボックス 1] 〔ボタン1〕 [テキストボックス 2] 〔ボタン2〕 [テキストボックス 3] 〔ボタン3〕 ---- [テキストボックス 1]にフォーカスがある時、Enterを押すと、〔ボタン1〕を実行し、 [テキストボックス 2]にフォーカスがある時、Enterを押すと、〔ボタン2〕を実行し、 [テキストボックス 3]にフォーカスがある時、Enterを押すと、〔ボタン3〕を実行し、 …… このようなやり方はWindowsのUI的に標準的なやり方なのでしょうか? もし、標準的なやり方であれば、どうやってやればいいでしょうか? 教えてくださいエロいひと
Windows的にはフォーム1枚につきAcceptButton1つというのが基本だが WebはSubmitが1ページに複数存在するのは普通だな まあいいんでね?
>>719 日本語を含む文字列が原因だったみたいです。
ありがとうございました。
いえいえ
WinFormsの質問 ListViewのOnDrawColumnHeaderでヘッダを描画する場合に、DrawBackground()だけだとクリック時のへこみを描画できない クリック時のヘッダ背景描画メソッドとかある? それともDrawRectangleで影を書くみたいな方法しかない?(このやり方だと、Windowsのスタイル変更時が不安)
DataGridViewを使おう
Select文の結果をDataSetのDataTableに入れたいのですが、Selectで取得する項目が 動的に変わります。 こういう時、DataTableを作るには、コード上で一列一列作成していくしかないでしょうか。 Select文を元に一発で作る方法とかないでしょうか?
DbDataAdapter.FillとかFillSchemaとかDbDataReader.GetSchemaTableとか
>>732 ありがとうございます。
よくできてるなあ(しみじみ
734 :
デフォルトの名無しさん :2012/10/23(火) 04:07:20.41
WebRequest/WebResponseクラスを使って POSTメソッドによりフォームにデータを送信したいと考えています。 データの形式は「application/x-www-form-urlencoded」です。 formのinputタグの中身をname=value&…の形式でポストデータを作成するとき、 普通はsubmitの部分はsubmit=valueで含めないと思いますが submitの部分をポストデータに含めないとうまくいかないサイトがあります。 何が原因で含めないとうまくいかないのでしょうか?
サイトがその部分を見てるからだろう
setup.exeってよく見かけるのですが 何をやってるのでしょうか? レジストリの設定、ソフトウェアのインストールをしているのでしょうか? setup.exeの中に別のexeファイルいれて それをインストールさせることは可能ですか? 教えてください
C#と関係ないだろハゲ
async/await便利すぎワロタ ってかまじでC#最強だな、洗練されすぎててもう他の言語を使う気になれんわ AndroidやるのにJavaやってると発狂しそうになる
わかる
741 :
デフォルトの名無しさん :2012/10/23(火) 13:58:08.70
助けて! ※1で作ったbitmapを 表示用にコピー(?) する時(※3)に 「指定されたパラメータが有効ではありません」とエラーがでます。 ※1では作れたのに、※3ではエラーなのはなぜですかね? 解決方法を教えてください。 private void button1_Click(object sender, EventArgs e) { Bitmap bitmap_out = new Bitmap(6376, 10805, System.Drawing.Imaging.PixelFormat.Format32bppArgb); //※1 Bitmap bitmap_out2 = new Bitmap(6376, 10805, System.Drawing.Imaging.PixelFormat.Format32bppArgb); //※2 Graphics graphics = Graphics.FromImage(bitmap_out); for (int i = 0; i < bitmap_out.Width; i += 10) { graphics.DrawLine(Pens.Black, i, 0, i, bitmap_out.Height); } if (this.pictureBox1.Image != null) { this.pictureBox1.Image.Dispose(); } this.pictureBox1.Image = null; this.pictureBox1.Image = new Bitmap(bitmap_out); //※3 指定されたパラメータが有効ではありません graphics.Dispose(); bitmap_out.Dispose(); }
742 :
741 :2012/10/23(火) 14:04:15.10
>>741 の
※2 の行をコメント化すると ※3で アウトオブメモリー が出ます。
※2 をコメントにし、※1の 6376を 5376 にすると エラーが出ずに表示されます。
VS C# 2010 Expressです。
this.pictureBox1.Image = new Bitmap(bitmap_out);
とせずに、そのまま使用して Dispose() みたいなことができるといいのですが・・。
疑問 ・bitmap_out2は使われてないようだが・・・ ・※3のところでなんでbitmap_outをベースにまたBitmapを作り直すようなコードを書いてるの?
this.pictureBox1.Image = new Bitmap(bitmap_out); これを this.pictureBox1.Image = bitmap_out; にして bitmap_out.Dispose(); これを //bitmap_out.Dispose(); でいいじゃん
.netも一応ヒープとスタックの問題って存在するんだっけ?
>>741 の場合
6376 x 10805 x 4byte = 275570720 (約263MB程度)
なのでいまどきのPCだとサイズ的には問題ないはずだが
アウトオブメモリー出るってことは・・・
>this.pictureBox1.Image.Dispose(); これって問題ないんだっけ?
>>745 32bitプロセスで260MBオーバーの連続したメモリを3つ確保するのは割と厳しい
>>746 次にOnPaintが走るまでにImageが差し替えられるなら問題ないはず
たぶん pictureBox.Imageは画像系オブジェクトの参照だから Disposeはたぶんもってると思う 確か汎用なのでObjectかなにかになってたよね?
if (this.pictureBox1.Image != null)
{
this.pictureBox1.Image.Dispose();
}
this.pictureBox1.Image = null;
this.pictureBox1.Image = bitmap_out;
}
これで表示できました。
が、
>>741 の ※2のコメントを外すと Program.cs の
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1()); //←ここでアウトオブメモリーが発生
}
タスクマネージャで test07.vshost.exe のメモリ使用量は 298.424K なので
大してメモリは使ってなさそうなのですが・・。
他のメモリを食いそうなアプリを起動してもしなくても状況は変わらずです。
IDEが悪さしてるみたいだね IDEを終了してからexeだけ実行したら実行出来る
IDEがーじゃなくてデバッグ向けと本番向けでうまくいくいかない の差もあるんじゃないの? でも部分的なコードでアプリが落ちるといわれても検証もできない以上は あーそううですか・・・としか言えない
実行したのはデバッグのexeだよ
754 :
デフォルトの名無しさん :2012/10/23(火) 14:48:55.62
なんかコピペしたら変に改行が増えてしまいましたが。
http://ideone.com/RlQlN6 ちなみにnamespace がtest06で プロジェクトがtest07なのは
06で作成して保存しようと思ったら既にあると言われたので 07で保存したためです。
環境は C# 2010 Express 32bit XP メモリ 2G です。
Dispose() が終わるまで処理を待機って 簡単に記述できそうなのか
現在 ↑これをググり中です。
>>741 >>749 です。
プロジェクトプロパティの デバッグ-Release の
□ Visual Studio ホスティングプロセスを有効にする
のチェックを外してReleaseで実行したところ、エラー出ずに表示されました。
(ただ 数値を7000にすると やはりアウトオブメモリー)
チェックを付けたままReleaseで実行は デバッグ時と同様にエラーでした。
NullReferenceExceptionが発生しました
ぬるぽ
759 :
デフォルトの名無しさん :2012/10/23(火) 16:55:17.77
DataGridViewで10×100のマスを作り、 その1000マスに入力された値をすべて外部ファイルへ保存して次回起動時も 表示されるようにしたいのですが、 どのようなやり方がスマートでしょうか。
760 :
759 :2012/10/23(火) 16:56:38.42
なお、DataGridViewに入力された値は処理に使用するので、 一旦変数を経由できるとありがたいです。
762 :
デフォルトの名無しさん :2012/10/23(火) 18:35:47.80
>>762 > Regex(@"(?:href).*");
> としてもhrefがキャプチャされてしまいます。
.*を別にグループ化してそれを取得すれば
ブクマ乞食がこんなスレにまで
どうせ過疎ってんだから誘導しないで答えてやれよ わからないんだったら仕方ないけど
以前ちょろっとやったきりでめんどくさいから誘導してるんだよw
今PCの再構築中でIDE入ってないから
>>762 のところの
正規表現チェックツールあったの思い出したので使わせてもらった
よくわからないときは複数グループで切り刻めばいい
(href=")([^\s ]+)(")
これで
あのチェックツール使えないよ エラーで落ちまくりでチェックしてられない 自分で作ったほうが早い
ここにいる人たちは正規表現はあまり使わないようですね
日常的に使わないなあ ほしい機能として入れちゃうとその後は触ることってほとんどないし
C# ,NETで簡易ブラウザを作ったりhtmlを取得したりすることが簡単にできることが分かっているのですが その取得したhtmlをテキスト処理を通じて解釈することはできますか 通常ならperlやらを使ってやるようなことですが、C#でもそう難しくないのかどうかを知りたいです。 具体的には、htmlを読み出す→そこから画像データを示すタグを抽出 →画像データを例えばそのときの時間の名前をつけて保存する (第1目標) →それを1時間あるいは1日ごとに繰り返す(第2目標)
>>774 webbrowserを内部で使えば簡単だよ
質問です。 visual basicのソースコードを開くと、下の警告欄に 「参照コンポーネント 'mscomctl' が見つかりませんでした。」 「タイプ ライブラリ "mscomctl" のラッパー アセンブリが見つかりません。」 と出てきて、ビルドを行おうとしても出来ませんでした。 どうすれば良いのでしょうか。 よろしくお願いします。m(__)m
もしかしてXmlSerializerでEncodingプロパティをシリアライズできない? 5,6時間悩んでいるんだけどInvalidOperationExceptionがちょうどEncodingプロパティで出てどうにもならない
, '´  ̄ ̄ ` 、
i r-ー-┬-‐、i
| |,,_ _,{|
N| "゚'` {"゚`lリ ソース張らないか
http://ideone.com/ ト.i ,__''_ !
/i/ l\ ー .イ|、
,.、-  ̄/ | l  ̄ / | |` ┬-、
/ ヽ. / ト-` 、ノ- | l l ヽ.
/ ∨ l |! | `> | i
/ |`二^> l. | | <__,| |
_| |.|-< \ i / ,イ____!/ \
.| {.| ` - 、 ,.---ァ^! | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
__{ ___|└―ー/  ̄´ |ヽ |___ノ____________|
}/ -= ヽ__ - 'ヽ -‐ ,r'゙ l |
__f゙// ̄ ̄ _ -' |_____ ,. -  ̄ \____|
| | -  ̄ / | _ | ̄ ̄ ̄ ̄ / \  ̄|
___`\ __ / _l - ̄ l___ / , / ヽi___.|
 ̄ ̄ ̄ | _ 二 =〒  ̄ } ̄ / l | ! ̄ ̄|
_______l -ヾ ̄ l/ l| |___|
784 :
515 :2012/10/23(火) 21:02:50.86
ネトウヨ脳の恐怖、まで読んだ。
graphics.DrawRectangle(new Pen(Color.Gray, 1f), 0, 0, 100, 100); こんな感じでただの四角を書くだけのことをやってるんですが、DrawRectangleって指定したサイズより大きく表示されるんですかね? 101x101の大きさの太さが1の線の四角形が表示されてしまうですが
バウンディングボックス分でしょ。 通常、幅と高さは-1するが吉。
>>787 引数が座標と幅や高さで扱いが変わるからそれで判断してね
>>787 (0, 0)と(1, 1)の二つのピクセルを対角線とする矩形の大きさは、2x2ですよw
あとは帰納法で
大きさ100pxの四角形に太さ1pxの枠線だから0.5+100+0.5=101なのでは
危ない危ない 納得してしまっていた
どういう挙動するか実際やってみればいいだろw 100x100のbitmap作って描画するとかさw
どうやって101*101って分かったのか気になるな 数えたのか?
うん
webbrowserでいくつものサイトを自動で巡回して htmlの情報を取得したい時に ページの読み込み完了の判定ってどのようにやればよろしいですか?
798 :
デフォルトの名無しさん :2012/10/24(水) 00:33:00.66
違いはないでしょw ネットワーク経由で情報を取ってくる以上は サーバーなどの送信次第
801 :
デフォルトの名無しさん :2012/10/24(水) 00:42:50.59
>>782 Encodingにデフォルトコンストラクタが存在しないって時点で
>>569 にその辺のイベントを使ったコードがあるのでそれを参考にして
Encoding作る時の文字列だけシリアライズしとけばええが
むしろコードページ番号じゃね
807 :
デフォルトの名無しさん :2012/10/24(水) 06:17:15.14
>>782 失敗が再現できるコードを送れ
というかシリアライズできるのは自作クラスくらいじゃないの?
標準のクラスはたぶん例外でてできないはず
やろうとするならシリアライズ用のクラスにプロパティなどのコピーをとってからじゃないと
クラス設計方法が未だによくわかりません。 以前作ったプログラムをの使う側のクラスを修正しようとすると、使われる側のクラスも大幅に修正しないといけないことがよくあります その逆で使われる側を修正すると使う側まで修正するということがよくあります クラスの設計について、どのように考えればいいのでしょうか?
それはお互いのIFに依存してるのが問題なんだろう IFを変更しなくてもいいように設計すればいい IFを変更しなくてはならなくなるのはなぜか 途中で変数が増えただの手順が変わっただのするからである 途中で変数が増えたり手順が変わったりするのはなぜか 初めの見通しが間違っているからである
表示させた玉を一定距離(300,300から500,300間)の間を移動させたいのですがどうすればいいですか?
>>802 >>805 コンストラクタがなかったとは…
検索してもこういうことで悩んだという情報がないということは
みんなこういうのはすぐわかって文字列で保存しようと切り替えているのかな
無事解決しました。ありがとうございます
移動させたいだけならforループでもタイマーでも使って 一定間隔で座標を変更して再描画する まじめにやりたいならWPF使うと幸せになれる可能性はなきにしもあらざるべけんや
forループを使うんですね! ありがとうございます!
815 :
デフォルトの名無しさん :2012/10/24(水) 11:08:51.13
継承とインターフェース 意味わからない
継承……クラスの機能を拡張したいときに インターフェイス……これこれのメソッドは必ずもってますよという制約みたいなもん
>>817 うーん 色々難しそうです…
ありがとうございます
TrackBarのようなコントロールで、二つの値を同時に扱えるコントロールは無いでしょうか?
820 :
デフォルトの名無しさん :2012/10/24(水) 13:09:33.51
>>820 Valueが二つあるような物です
最小値と最大値をコントロールしたいのですが、TrackBarやscrollBarを二つ並べるのも見栄えが良く無いかなと
自作すればいいんじゃね? 四角い枠の中をタップするとXYが取れるようなのがあればいいんでしょ?
適当なとこクリックしたときの動作が直感的じゃなさそうだな
ラベルを三つ使えば簡単
素人はおとなしくあるもん使っとけ 副産物の処理で手に負えなくなるのがオチ
それではステップアップできない。無理にでも自作すべき。
まあ自作はやって見るべきだな いきなり組み込みたいプロジェクトでやるんじゃなく 別のプロジェクト作ってそっちで単体実験すると
>>815 自分はこういう認識
◯継承は複数のクラスにたくさん機能をつけたいとき
継承はユーザーコントロールやFormを複数作るときにやったりする
インターフェイスで作るにはコード量が多すぎて面倒だから
◯インターフェイスは複数のクラスにちょっとだけ機能を足したい時
インターフェイスはA,B,C,Dという別々のクラスがあって、
それぞれからあるプロパティの値を取得したいなと思った場合
それぞれにインターフェイスをつけてやると同じ操作で取得できる
List<iHonmyo> list=new List<iHonmyo>();
list.Add((iHonmyo)a);
list.Add((iHonmyo)b);
foreach(iHonmyo h in list){}
>>828 webbrowserを貼り付けてそれを流し込むかww
SJIS、全角半角の混じった文字列の左に' 'を追加して固定長にしたいのですがどうすればいいですか?
' ' これ何? ちなみにS-JISを.netのテキスト系の読み込み機能使うと usc-2っていう2バイトの内部文字コードに変換されるよ stringもそうだし
単体exeよりWindowsサービスのほうがメリットってありますか?またはデメリットも 簡易WEBサーバみたいのを作り問題なく動いているのですがメリットがあるなら勉強がてらやりたいなと思い
835 :
デフォルトの名無しさん :2012/10/24(水) 16:32:43.36
vs2010で他で作ったクラスを継承したい時って どうやりゅの?
int bb と string cc を持つクラス AA があります。 AA data1 = new AA(); : データを入れる data1 を 文字の長さ順+intの降順にしたいのですが どんな書き方をすればいいのでしょうか?
>>834 まずコンソールアプリで作ってあとでサービスにすればいいよ。
>>836 data1はただのintとstringもってるクラスじゃないか 並べ替えも何もないだろう
839 :
836 :2012/10/24(水) 16:52:33.12
AA[0].bb=1; AA[0].cc="abc"; AA[1].bb=5; AA[1].cc="de"; AA[1].bb=5; AA[1].cc="xyz"; AA.sort(ccの長さ昇順,bbの降順); AA.表示; みたいなことをやりたいんです。
839のAAは配列なの?List<T>なの?インデクサを持ったクラスのインスタンスなの?
すこしはググレよカス
>>841 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
843 :
836 :2012/10/24(水) 17:07:00.32
すみません List<T> とかインデクサとか聞いたことなかったので出直します。
844 :
デフォルトの名無しさん :2012/10/24(水) 17:07:04.75
やーい。はーげ、はーげ。
そ〜と使ってね
>>834 サービスなら誰もログインしてない状態でも動作し続けられる
>>848 横だけどメリットってそれくらい?安定してるーとかは関係ないよね?
851 :
デフォルトの名無しさん :2012/10/24(水) 18:26:38.70
可変長の二次元intが欲しいから List<int>[,] hoge ってしたんだけど、どうやってnew すればいいの? コンパイル通らん。
どっちを多次元配列にするんだよw
>>851 二次元配列+リストで三次元になっているが大丈夫か?
んあ? そっか三次元になっちゃうのか・・ List<List<int>> hoge こんな感じ? ちょっとやってみる
var hoge = new List<int>[10,10]; for(int i = 0; i < 10; i++) for(int j = 0; j < 10; j++) hoge[i,j] = new List<int>(); こうか?
List<T>の配列なんて禍々しいものを生み出してはいかん
857 :
デフォルトの名無しさん :2012/10/24(水) 20:37:15.43
子フォームにTransparencyKeyを指定して、透過下の親フォームの ボタンとかを押せるようなしたいんだけど、そもそも透過も できん。MDIでは無理なのか?透過色は白
858 :
デフォルトの名無しさん :2012/10/24(水) 20:39:55.88
[ソース]Form1.cs public partial class Form1 : Form { Form2 form2 = new Form2(); public Form1() { InitializeComponent(); form2.TopLevel = false; form2.Parent = this; form2.Show(); } }
>>857 透過は無理だと思うけどRegionで穴を空けることは恐らく可能。
まあ普通はそんなキモいUI使いたくないが。
っていうか、MDIClientにボタンがあるってふざけたUIだねw
860 :
デフォルトの名無しさん :2012/10/24(水) 20:57:46.45
透過は完全な透明(0.0)じゃなければクリックは透過しないよ あと細かくやりたければレイヤードウインドウでやるしかない
861 :
デフォルトの名無しさん :2012/10/24(水) 21:03:55.17
[ソース]Form2.cs private void Form2_Load(object sender, EventArgs e) { this.FormBorderStyle = FormBorderStyle.None; this.Size = new Size(100, 100);
863 :
デフォルトの名無しさん :2012/10/24(水) 21:06:59.97
Bitmap bmp = new Bitmap(@"form.bmp"); Color transColor = bmp.GetPixel(0, 0); bmp.MakeTransparent(transColor); this.BackgroundImage = bmp; this.BackColor = transColor; this.TransparencyKey = transColor; }
この変数がどれだけメモリを使用しているか って調べる方法ある?
>>865 ベーシックな方法だとsizeof。表面だけだけどね。
クラスが所有している参照を追跡してサイズ表示するのってできるんかな?
おっと、勘違いしてた。 sizeofって参照型食わせれないんだね。うーん・・・。
868 :
デフォルトの名無しさん :2012/10/24(水) 23:58:04.05
コンストラクタの使いどころがわかんない
870 :
デフォルトの名無しさん :2012/10/25(木) 00:44:08.93
基底クラスに名前空間つける必要あるの?
ほう・・りつ・・??
873 :
デフォルトの名無しさん :2012/10/25(木) 02:24:05.03
staticで宣言しないといけない変数って 例えばどんなの?
>>873 変数が参照だと困る場合。
.net以外の言語と連携取る場合??
分かんないなら答えなくていいんだよ
テキストボックス等の勝手に出てくるスクロールバーの幅(横なら高さ)って環境で変わることってありますか?
あるよ
XPの頃は普通に画面の設定で変更できたな
なんてこったい
スクロールバーの幅(横なら高さ)って SystemInformation.HorizontalScrollBarHeight SystemInformation.VerticalScrollBarWidth で取得すれば環境で変化しても問題ないですか?
実行中に変更されることに目をつぶればね
ありがとう ListViewのスクロールバーの有無の確認の方法がわからず、ListViewの幅とヘッダ幅を比較して確認をとっていたのですが うまくいかなかったのでスクロールバーの幅の取得方法を疑っていました が、原因が別のところにあったみたいで、ユーザーがヘッダ幅を変更した場合に正確なヘッダ幅が取得できていなかったの原因だったみたいです スクロールバーの有無の確認の方法がわかれば何も問題ないのですが、何か良い方法はありますでしょうか?
ListViewスクロールバーの有無を確認していたコード int count = listView1.Columns.Count; int width = 0; for (int i = 0; i < count; ++i) width += listView1.Columns[i].Width; if (width > listView1.Width - 4) // スクロールバー有り else // スクロールバー無し ユーザーがヘッダ幅を変更した場合に正確な幅を取得できていなかった
GetScrollInfoが成功するかどうかとか
>> 884 ありがとう、ググってみます
882ですが、なんかデバッグ時のみのバグっぽいです ビルドしたほうは問題なく動くのでしばらく様子見してみます お騒がせしました
DataGridView使い辛いな 数値の二次元配列を表示させようと思ったけど、コラム名とか設定しないといけないし まー適当な物入れて非表示にすりゃいいんだろうけど、余計な物大杉 もっとシンプルな物は無いですか?
.NET的には二次元配列こそ余計なものなんで
自作すればいい
コントロールにケチ付ける前に自分の使い方の異常性を疑え
極一部の希少種に合わせてられねーよ
Formに複数のパネルを重ねて貼り付け使用するPanelをvisible=trueにし他をfalseにして画面遷移しています ところが親コンテナが他のパネルになっていたりして見えなくなります 毎回Form1.Designer.csを弄るのも面倒なのですがIDEから親を指定できるのでしょうか
>>892 右クリパネル選択か
ドキュメントアウトラインでパネル選択
グローバルフックを使用して非アクティブ時にもキーを取れるように したいのですがうまくいきません。どなたかわかる方おられますでしょうか? <出来ていること> ・下記のアドレスの方法を使用してキーを取得することまで出来た <出来ないこと> ・何度か実行すると突然キーが受け付けなくなる ・プログラムを再起動すると受け付けるが、何度かキーを押すと受け付けない ・Win7で300ミリ秒以内に返さないと受け付けなくなるとあったので、デリゲートの 最初からCallNextHookExまでの時間を計測したが300ミリ秒を超えるものはなかった ※平均10ミリ秒以下 <その他していること> DirectShowを使用している エラーにもならないのでまったく検討がつきません。よろしくお願いいたします。
896 :
894 :2012/10/25(木) 18:08:01.22
899 :
デフォルトの名無しさん :2012/10/25(木) 18:57:10.03
string a="" みたいにstringの変数を初期化する必要ってあるの?
いや誤解だった スルーしてください
>>899 変数は初期化しないと使えないわけだが。
フィールドの場合は暗黙的にデフォルト値(この場合はnull)で初期化される
ここはソースをネタにして揚げ足取るスレじゃないんだが
マルチスレッドプログラミングについて教えてください。 AというスレッドとBというスレッドがあり Aでリストにアイテムを追加、Bでリストを参照します。 そこでBがリストを参照している間はアイテムの追加を待たせたいのですが どうすればいいでしょうか? 参照側を優先したい感じです。
秘密です
ReaderWriterLockSlim
ヤン坊マー坊天気予報みたいな言い方すんなw
大きい画像の表示とか、pictureboxの代わりに何使ってる?
ウィンドウズフォーム
formclosingでcloseResonが取れますが、 一旦cancel=trueでキャンセルすると 以降ずっとUserCloseになってしまいます。 これは仕様なのでしょうか? 検索したのですがバグとも仕様とも見つけられませんでした。
丁寧な日本語の解説付きじゃないと即閉じなんだろwwwwww
英語読めるかコードだけで把握できるレベルならこんなところで質問しねーよwwwwwwwwwwwwwwwwwwwwwwwww
916 :
911 :2012/10/25(木) 23:55:44.59
すいません英語読めなくて・・・ これはバグだからWndProc捕まえて判断しろって ことでいいんでしょうか?
低学歴でプログラミングやろうとするか?普通…
918 :
デフォルトの名無しさん :2012/10/26(金) 00:30:15.19
継承うまくいってうれしい♪
量産型パソコン少年だった俺も低学歴ですあg・・・。
vs2010で フォームをデザインする画面の スナップ線 (コントロールを自動的に揃えてくれるガイドみたいなやつ) が表示されなくなってしまいました。 どうやって戻すのでしょうか?
プログラミングにハマりすぎて低学歴です
>>916 回避方法だけ書くと、OnFormClosingでe.Cancel = trueするとき、
FormのinternalなフィールドcloseReason の値をリフレクションを使って
CloseReason.Noneに書き換える。
試してないから本当にそれで大丈夫かどうかは知らない。
(2005の時代に試した時には上手くいった記憶はあるが...)
っていうか、そんな難しいこと書いてないから英語苦手でも気合で読めると思うが
923 :
デフォルトの名無しさん :2012/10/26(金) 01:28:47.12
visualstudio2010で 一つのクラス(例えばclassA.cs)を作ってそのファイルをいろんなプロジェクトで継承して使いたい場合 どうすればいいですか? ソリューションエクスプローラーでプロジェクト名を右クリック、追加、 既存の項目の追加でそのクラスを追加した場合は それぞれのプロジェクトでclassA.csのファイルをもっちゃってだめです・・・
リフレクションで書き換えるとか・・・
そのクラスが単体で機能していると誰が把握できるの? そのクラスが別のクラスを参照していた場合は? もしあなたが言っているようなことができたとしても 結局ビルド時にdllが付加される
単にソース共有ですむなら「リンクとして追加」でOK
>>923 思いっきり勘違いしてるかもしれないけど、
プロジェクトにクラスライブラリーを追加して、
それを使うビルド毎に参照設定すれば良いんじゃないの?
928 :
923 :2012/10/26(金) 12:03:08.00
わけわからないことを言ってしまってすいません。
>>926 の単にソース共有だけで大丈夫でした。
リンクとして追加の項目があったのがわかりませんでした。
ありがとうございました!!
結局ビルド時にdllが付加される(どや?
どうもこうもない
931 :
デフォルトの名無しさん :2012/10/26(金) 13:51:15.10
> enum プロパティまたは空間プロパティをマップするには、DbModelBuilderVersion 'V5_0' またはそれ以降を使用してください。 Visual Studio 2010 + .Net 4.0 + Entity Framework 5.0で上記のようなエラーが出てしまいます。 DbModelBuilderVersion.V5_0_Net4は「 'V5_0' またはそれ以降」に含まれないのでしょうか? また、.Net 4.5必須だったりしますか? [DbModelBuilderVersion(DbModelBuilderVersion.V5_0_Net4)] public class PrimaryContext : DbContext { //hogehoge }
932 :
デフォルトの名無しさん :2012/10/26(金) 14:39:44.10
同じくEntity Frameworkについてなのですが、DB側でDateTime型ではなくDate型にすることは出来ないのでしょうか?
そういうことしちゃうと汎用性に欠けるからしないほうがいい 固有のアプリに鋭敏になるとデータベースである必要がなくなってくる
934 :
デフォルトの名無しさん :2012/10/26(金) 16:16:47.07
>>933 日付でユニークにするとかは出来ないということでしょうか?
935 :
デフォルトの名無しさん :2012/10/26(金) 16:56:26.57
>>932 >>934 SQL Server 2008以降やMySQLなら↓でいけね?
.HasColumnType("Date")
あとユニークキーは internal sealed class Configuration : DbMigrationsConfiguration の中の
Seedメソッドで強引に作ってる。これが正解かは知らんがとりあえず動いている。
protected override void Seed(Axis.Models.Primary.PrimaryModelContext context) {
context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX /*省略*/");
}
Linq to Xml とLinq to SQLの違いはなんですか? Xmlじゃだめなんですか? DBの方が優れている点はなんですか?
データをキーで取り出したり挿入したり出来るところだろ
938 :
911 :2012/10/26(金) 20:50:38.89
>>922 リフレクション(?)を使うとReadOnlyでも書き換えられるんですね
試してみます!有難うございました。
ウィンドウとか無視してとにかく画面の最前面に画像や文字を表示したい場合は何を使ったら実現できるかな?DirectXとか??
最上層はDirectXでもだめ WinAPIを使うしか無い
C#ってそんな簡単なことも出来ないのか
うむ 小回りは全然だよ SendInputも無いしね
WinFormsでTopMost=trueじゃいかんのか?
.NET Framework "Framework"
この記事おかしいだろ 銀行が感染したみたいじゃん
C#でもWinAPIは使えるんだからいいんじゃねえの
ユーザーコントロール入れるとデザイナの更新が糞重くなるのを解消する方法はないですか?vs2010
「入れる」とはどういう意味? デザイナでフォームのクライアント領域上に置いたら、って意味で言ってるの名r 一般論を言えばそんな現象は起こらない。 VSのせいじゃなくてそのユーザーコントロールの問題じゃないのか
既存のコントロール継承して DoubleBuffered = true にしただけの単純なものっすよ
CPUを早くしろよ
根性論みたいな対処は美しくないなあ
じゃあそのコントロールのソースをアップしんさい
>既存のコントロール継承して DoubleBuffered = true にしただけ : UserControl → 継承したいコントロール コンストラクタに DoubleBuffered = true; 追加しただけなんだけど ソース貼らなきゃわからないの?
それだけって言うのならコメントアウトなりデザインモード判定なり追加してみろよ
低レベルな人の回答は必要ないっすよ
使えない連中の回答待ってる間に自力で解決したからもう結構っすよ
よかよか
結局ナニが原因だったんだよ・・・
VSの問題なら解決しようがない。
本当に解決したのなら、最初の想定どおり質問者の作ったコントロールの問題ということだろう。
っていうか、それは
>>948 みたいなガサツな文章を読んだ時点で予測はついた。
はいはい顔真っ赤乙 ふぁっびょ〜〜〜〜〜ん
んふふふふ・・・ハァイ
>>960 救いようのない馬鹿だなこいつ
こんなのが回答者のレベルならこのスレ終わってるな
中間テストが終わったからってはしゃぎ過ぎだぞ
やだ、このスレ臭い・・・
家へ帰れないのに風呂なんて入ってるわけねーだろ
マジレスするとレイアウトパネル使いすぎなんじゃねーの
もう聞いてねえからすっこんでて構わんぞ
他アプリ含めたアクティブなプログラムの情報(実行ファイル名)取得するのって どうすれば良いの?
WMI
wmic.exe process get name,workingsetsize,processid,executablepath,commandline
こんなの仕事にしてんのは9割チョン
シナチクとインド人
ここの自称PGはニートだろ
まーね
Class1.Class2.Property = 1; こういう場合、Propertyの変更をClass1のClass2のアクセサから知ることはできませんか? Propertyが変更されたらClass1に実装したイベントを実行する、みたいなことをしたいんですが
自動的にやる方法は今の所ないので IPropertyChangedを個別に実装して対処する ActionScriptは楽でいい
class Class1{ Class2 class2; public Class1(){ ... class2.PropertyChanged += Class2PropertyChanged; } void Class2PropertyChanged(){ ... } } class Class2{ public int Property{ get{ return property; } set{ if(property != value){ property = value; if(PropertyChanged != null) PropertyChanged(); } } } public event Action PropertyChanged; } なんかこんなかんじだっけ?
規制早くあけろ!
>>979 winformで使えるようになったんだっけ?
>>978-979 回答ありがとうございます
どちらの場合も、すべての変更を検知したいプロパティのsetに同じイベントの起動をを記述しなければいけないんですね…
INotifyPropertyChanged インターフェイスの説明でもそんな感じなので、979さんのやり方でやってみようと思います
あ
System.Net.Cookieクラスの二次元配列を作ろう以下のように書いたのですがうまくいきません どのよう書けばCookieクラスの二次元配列を作ることができますか?教えてください Cookie[][] cookie = { {new Cookie(), new Cookie()}, {new Cookie(), new Cookie()} };
985 :
984 :2012/10/29(月) 16:34:33.73
すいません。自己解決しました
じ
フリーのReflecterはもうないんですか?
ILSpyあるだろ
知らなかった ありがとう
自分のみで使う全部で1000行くらいのプログラムなんですが、未だに設計の仕方がわからず行き当たりばったりでコード書いてます そのため、インスタンスの取得にバグがあってNull例外で怒られたり、一部変更し忘れたり、コードを何回も変更したりして正直うんざりします 設計について調べてみても抽象的に書いてあるところばかりで、いまいちどういう風に設計したらいいのかわかりません 少しでもバグ等を減らしたいので、設計のアプローチの仕方を教えてください・・・
はいはい、釣りですね
何度も書き直しながら覚えていくんだろ うんざりならやめろよ
そんなの言語に関係ないし デザパタ本読んでデザパタ病に罹って治ったらできるようになる デザパタ病に罹ったままだと単なる迷惑者になる
たくさん書いてるとそのうちバグの少ない書き方になってくるよ 欲しい機能がネット上にありそうな気がしたらぐぐってソースコピペもいいかも
慣れてない奴でも大きなコードを書けるコツは、 どんなに非効率でも気にしないで処理単位ごとにぶった切って全く別個に作ることだな。 共通部分があっても(メソッドにまとめられるならそれでいいが)コピペで構わない。 完全に別個に作ってる限りは個々がいくら汚かろうと大して問題にならない。 極力、プログラム内の変数にはその処理単位を超えさせない。 処理単位の間を超えられるのはファイルとデータベースのみ。
996 :
デフォルトの名無しさん :2012/10/29(月) 21:38:48.31
bmp_moto を usingで使いたい & tryで読み込めないファイルはエラーにしたいんですがどうしたらいいですか? using (Bitmap bmp_moto = null) { try { bmp_moto = new Bitmap(openFileDialog.FileName); //'bmp_moto' は 'using 変数' であるため、割り当てることはできません。 } catch (Exception ex) { MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Hand); return; } Bitmap bmp_saki = new Bitmap(100, 100); using (Graphics g_base_small = Graphics.FromImage(bmp_saki)) { int wari; int saki_width; int saki_height; wari = Math.Max(bmp_moto.Width, bmp_moto.Height); saki_width = (int)Math.Round(bmp_moto.Width * 100 / (double)wari); saki_height = (int)Math.Round(bmp_moto.Height * 100 / (double)wari); g_base_small.DrawImage(bmp_moto, new Rectangle(0, 0, saki_width, saki_height), new Rectangle(0, 0, bmp_moto.Width, bmp_moto.Height), GraphicsUnit.Pixel); } }
唖然
try { using(Bitmap bmp = new Bitmap("...")){ ... } } catch(hugahuga) こんなんじゃねえの
>>996 try { using (Bitmap bmp_moto = new Bitmap(略)) { bmp_motoを使う } } catch (略) { エラー }
または
Bitmap bmp_moto = null;
try { bmp_moto = new Bitmap(略); bmp_motoを使う; }
catch (略) { エラー }
finally { if (bmp_moto == null) bmp_moto.Dispose(); }
try_catchの中にusingを入れろ >Bitmap bmp_saki = new Bitmap(100, 100); ここで出る例外も拾えてお得
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。